update package vmime

build system changed to cmake
pull/92/merge
Mark Brand 12 years ago
parent 34dee5aa63
commit 1cee5a1d98

@ -1920,7 +1920,7 @@ USE_OSGPLUGIN(<plugin2>)
</tr>
<tr>
<td id="vmime-package">vmime</td>
<td id="vmime-version">794afe9</td>
<td id="vmime-version">6ae75bc</td>
<td id="vmime-website"><a href="http://www.vmime.org/">VMime</a></td>
</tr>
<tr>

@ -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 <mabrand@mabrand.nl>
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 <process.h>
#include <windows.h> // for winnls.h
#include <winsock2.h> // for WSAStartup()
+#include <wincrypt.h>
#ifdef VMIME_HAVE_MLANG_H
# include <mlang.h>
--
1.7.10.4
From 567015bf151eb845c3b88b42560e8e83c88d2d58 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
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 <mabrand@mabrand.nl>
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

@ -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 @@ define $(PKG)_UPDATE
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 @@ define $(PKG)_BUILD
$(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

Loading…
Cancel
Save