# HG changeset patch # User Mark Brand # Date 1352753875 -3600 # Node ID 7836cad5a0758694cb2bbb3d0fb66aef082aa8b8 # Parent d37122aa7a106e9610f55f99a992a47880764eee update package vmime build system changed to cmake diff -r d37122aa7a10 -r 7836cad5a075 index.html --- a/index.html Mon Nov 12 21:56:00 2012 +0100 +++ b/index.html Mon Nov 12 21:57:55 2012 +0100 @@ -1920,7 +1920,7 @@ vmime - 794afe9 + 6ae75bc VMime diff -r d37122aa7a10 -r 7836cad5a075 src/vmime-1-fixes.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/vmime-1-fixes.patch Mon Nov 12 21:57:55 2012 +0100 @@ -0,0 +1,177 @@ +This file is part of MXE. +See index.html for further information. + +From 7ffec86f76c8ac83dbff12a949f25484f01c14a8 Mon Sep 17 00:00:00 2001 +From: Mark Brand +Date: Mon, 12 Nov 2012 12:22:03 +0100 +Subject: [PATCH 1/3] add missing wincrypt.h + +taken from https://github.com/kisli/vmime/pull/14 + +diff --git a/src/platforms/windows/windowsHandler.cpp b/src/platforms/windows/windowsHandler.cpp +index 9a3a85e..6d1f414 100644 +--- a/src/platforms/windows/windowsHandler.cpp ++++ b/src/platforms/windows/windowsHandler.cpp +@@ -36,6 +36,7 @@ + #include + #include // for winnls.h + #include // for WSAStartup() ++#include + + #ifdef VMIME_HAVE_MLANG_H + # include +-- +1.7.10.4 + + +From 567015bf151eb845c3b88b42560e8e83c88d2d58 Mon Sep 17 00:00:00 2001 +From: Mark Brand +Date: Mon, 12 Nov 2012 12:28:25 +0100 +Subject: [PATCH 2/3] disable shared libs + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5be9ca3..ce0fc09 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -81,21 +81,6 @@ IF(UNIX AND NOT APPLE AND NOT CMAKE_CROSSCOMPILING AND NOT EXISTS "/etc/debian_v + ENDIF() + ENDIF() + +-# Shared library +-ADD_LIBRARY( +- ${VMIME_LIBRARY_NAME} +- SHARED +- ${VMIME_LIBRARY_SRC_FILES} +- ${VMIME_LIBRARY_INCLUDE_FILES} +-) +- +-SET_TARGET_PROPERTIES( +- ${VMIME_LIBRARY_NAME} +- PROPERTIES +- VERSION "${VMIME_VERSION}" +- SOVERSION "${VMIME_API_VERSION}" +-) +- + # Static library + # + # Note: cannot have two targets with the same name so the static version has +@@ -115,19 +100,12 @@ SET_TARGET_PROPERTIES( + + # These next two lines are required but it is unclear exactly what they do. + # The CMake FAQ mentions they are necessary and it does not work otherwise. +-SET_TARGET_PROPERTIES(${VMIME_LIBRARY_NAME} PROPERTIES CLEAN_DIRECT_OUTPUT 1) + SET_TARGET_PROPERTIES(${VMIME_LIBRARY_NAME}-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) + + SET(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Output directory for libraries") + + # Installation of libraries + INSTALL( +- TARGETS ${VMIME_LIBRARY_NAME} +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT sharedlibs +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT sharedlibs +-) +- +-INSTALL( + TARGETS ${VMIME_LIBRARY_NAME}-static + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT staticlibs + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT staticlibs +@@ -215,11 +193,7 @@ SET(CPACK_SOURCE_IGNORE_FILES "\\\\.git;~$;build/") + SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}) + + # Set components +-SET(CPACK_COMPONENTS_ALL sharedlibs staticlibs headers) +- +-SET(CPACK_COMPONENT_SHAREDLIBS_DISPLAY_NAME "Shared libraries") +-SET(CPACK_COMPONENT_SHAREDLIBS_DESCRIPTION +- "Shared library for general use.") ++SET(CPACK_COMPONENTS_ALL staticlibs headers) + + SET(CPACK_COMPONENT_STATICLIBS_DISPLAY_NAME "Static libraries") + SET(CPACK_COMPONENT_STATICLIBS_DESCRIPTION +@@ -229,7 +203,6 @@ SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ Headers") + SET(CPACK_COMPONENT_HEADERS_DESCRIPTION + "C/C++ header files.") + +-SET(CPACK_COMPONENT_SHAREDLIBS_GROUP "Development") + SET(CPACK_COMPONENT_STATICLIBS_GROUP "Development") + SET(CPACK_COMPONENT_HEADERS_GROUP "Development") + SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION "") +@@ -431,12 +404,6 @@ IF(VMIME_HAVE_SASL_SUPPORT) + ${GSASL_INCLUDE_DIR} + ) + +- TARGET_LINK_LIBRARIES( +- ${VMIME_LIBRARY_NAME} +- ${TARGET_LINK_LIBRARIES} +- ${GSASL_LIBRARIES} +- ) +- + SET(VMIME_PKGCONFIG_LIBS "${VMIME_PKGCONFIG_LIBS} ${GSASL_LIBRARIES}") + SET(VMIME_PKGCONFIG_CFLAGS "${VMIME_PKGCONFIG_CFLAGS} ${GSASL_INCLUDE_DIR}") + SET(VMIME_PKGCONFIG_REQUIRES "${VMIME_PKGCONFIG_REQUIRES} libgsasl") +@@ -488,12 +455,6 @@ IF(VMIME_HAVE_TLS_SUPPORT) + ${GNUTLS_LIBRARY_DIRS} + ) + +- TARGET_LINK_LIBRARIES( +- ${VMIME_LIBRARY_NAME} +- ${TARGET_LINK_LIBRARIES} +- ${GNUTLS_LIBRARY} +- ) +- + SET(VMIME_PKGCONFIG_LIBS "${VMIME_PKGCONFIG_LIBS} ${GNUTLS_LIBRARY_DIRS} ${GNUTLS_LIBRARY}") + SET(VMIME_PKGCONFIG_CFLAGS "${VMIME_PKGCONFIG_CFLAGS} ${GNUTLS_INCLUDE_DIR}") + SET(VMIME_PKGCONFIG_REQUIRES "${VMIME_PKGCONFIG_REQUIRES} libgnutls") +@@ -505,12 +466,6 @@ IF(VMIME_HAVE_TLS_SUPPORT) + ${OPENSSL_INCLUDE_DIR} + ) + +- TARGET_LINK_LIBRARIES( +- ${VMIME_LIBRARY_NAME} +- ${TARGET_LINK_LIBRARIES} +- ${OPENSSL_LIBRARIES} +- ) +- + SET(VMIME_PKGCONFIG_LIBS "${VMIME_PKGCONFIG_LIBS} ${OPENSSL_LIBRARIES}") + SET(VMIME_PKGCONFIG_CFLAGS "${VMIME_PKGCONFIG_CFLAGS} ${OPENSSL_INCLUDE_DIR}") + SET(VMIME_PKGCONFIG_REQUIRES "${VMIME_PKGCONFIG_REQUIRES} libopenssl") +@@ -534,12 +489,6 @@ INCLUDE_DIRECTORIES( + ${ICONV_INCLUDE_DIR} + ) + +-TARGET_LINK_LIBRARIES( +- ${VMIME_LIBRARY_NAME} +- ${TARGET_LINK_LIBRARIES} +- ${ICONV_LIBRARIES} +-) +- + + ############################################################################## + # Platform +-- +1.7.10.4 + + +From 941b09447486a86918f65ddbb42e055a610350f5 Mon Sep 17 00:00:00 2001 +From: Mark Brand +Date: Mon, 12 Nov 2012 13:58:12 +0100 +Subject: [PATCH 3/3] add private dependencies to .pc file + + +diff --git a/libvmime.pc.in b/libvmime.pc.in +index 5745c52..cea2927 100644 +--- a/libvmime.pc.in ++++ b/libvmime.pc.in +@@ -7,6 +7,8 @@ Name: @VMIME_LIBRARY_NAME@ + Description: @VMIME_PACKAGE_DESCRIPTION@ + Version: @VMIME_PACKAGE_VERSION@ + Requires: @VMIME_PKGCONFIG_REQUIRES@ ++Requires.private: gnutls libgsasl + Libs: -L${libdir} -lvmime @VMIME_PKGCONFIG_LIBS@ ++Libs.private: -liconv + Cflags: -I${includedir}/ @VMIME_PKGCONFIG_CFLAGS@ + +-- +1.7.10.4 + diff -r d37122aa7a10 -r 7836cad5a075 src/vmime.mk --- a/src/vmime.mk Mon Nov 12 21:56:00 2012 +0100 +++ b/src/vmime.mk Mon Nov 12 21:57:55 2012 +0100 @@ -3,7 +3,7 @@ PKG := vmime $(PKG)_IGNORE := -$(PKG)_CHECKSUM := 24a32dcc2eaf78d4a53541936ef72e4cf4f0a6ff +$(PKG)_CHECKSUM := c33ca934b341ba6e145bb152c83ff4f31a49ba89 $(PKG)_SUBDIR := kisli-vmime-$($(PKG)_VERSION) $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz $(PKG)_URL := https://github.com/kisli/vmime/tarball/$($(PKG)_VERSION)/$(PKG)_FILE @@ -16,24 +16,11 @@ endef define $(PKG)_BUILD - $(SED) -i 's/pkg-config/$(TARGET)-pkg-config/g;' '$(1)/SConstruct' - - # The configure script will make the real configuration, but - # we need scons to generate configure.in, Makefile.am etc. - cd '$(1)' && scons autotools \ - prefix='$(PREFIX)/$(TARGET)' \ - target='$(TARGET)' \ - sendmail_path=/sbin/sendmail - - cd '$(1)' && ./bootstrap - cd '$(1)' && ./configure \ - --prefix='$(PREFIX)/$(TARGET)' \ - --host='$(TARGET)' \ - --build="`config.guess`" \ - --disable-shared \ - --enable-platform-windows \ - --disable-rpath \ - --disable-dependency-tracking + cd '$(1)' && cmake \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ + -DCMAKE_AR='$(PREFIX)/bin/$(TARGET)-ar' \ + -DCMAKE_RANLIB='$(PREFIX)/bin/$(TARGET)-ranlib' \ + . # Disable VMIME_HAVE_MLANG_H # We have the header, but there is no implementation for IMultiLanguage in MinGW @@ -41,10 +28,11 @@ $(MAKE) -C '$(1)' -j '$(JOBS)' $(MAKE) -C '$(1)' install + $(INSTALL) -m644 '$(1)/vmime/config.hpp' '$(PREFIX)/$(TARGET)/include/vmime/' $(SED) -i 's/posix/windows/g;' '$(1)/examples/example6.cpp' $(TARGET)-g++ -s -o '$(1)/examples/test-vmime.exe' \ '$(1)/examples/example6.cpp' \ - `'$(TARGET)-pkg-config' vmime --cflags --libs` + `'$(TARGET)-pkg-config' libvmime --cflags --libs` $(INSTALL) -m755 '$(1)/examples/test-vmime.exe' '$(PREFIX)/$(TARGET)/bin/' endef