diff options
Diffstat (limited to 'vcpkg/ports/gmime')
| -rw-r--r-- | vcpkg/ports/gmime/msvc-ssize_t.diff | 33 | ||||
| -rw-r--r-- | vcpkg/ports/gmime/portfile.cmake | 70 | ||||
| -rw-r--r-- | vcpkg/ports/gmime/subdirs.diff | 16 | ||||
| -rw-r--r-- | vcpkg/ports/gmime/vcpkg.json | 30 |
4 files changed, 149 insertions, 0 deletions
diff --git a/vcpkg/ports/gmime/msvc-ssize_t.diff b/vcpkg/ports/gmime/msvc-ssize_t.diff new file mode 100644 index 0000000..677187d --- /dev/null +++ b/vcpkg/ports/gmime/msvc-ssize_t.diff @@ -0,0 +1,33 @@ +diff --git a/configure.ac b/configure.ac +index 9d368e0..c534a09 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -168,6 +168,13 @@ AC_TYPE_MODE_T + AC_TYPE_OFF_T + AC_TYPE_SIZE_T + AC_TYPE_SSIZE_T ++AH_BOTTOM([ ++#ifdef _MSC_VER ++#undef ssize_t; ++#include <BaseTsd.h> ++typedef SSIZE_T ssize_t; ++#endif ++]) + AC_TYPE_UINT32_T + AC_TYPE_UINT64_T + AC_TYPE_UINT8_T +diff --git a/gmime/gmime.h b/gmime/gmime.h +index ef6b93e..d3696ac 100644 +--- a/gmime/gmime.h ++++ b/gmime/gmime.h +@@ -22,6 +22,10 @@ + #ifndef __GMIME_H__ + #define __GMIME_H__ + ++#ifdef _MSC_VER ++#include <BaseTsd.h> ++typedef SSIZE_T ssize_t; ++#endif + #include <glib.h> + #include <gmime/gmime-version.h> + #include <gmime/gmime-error.h> diff --git a/vcpkg/ports/gmime/portfile.cmake b/vcpkg/ports/gmime/portfile.cmake new file mode 100644 index 0000000..beab3f4 --- /dev/null +++ b/vcpkg/ports/gmime/portfile.cmake @@ -0,0 +1,70 @@ +vcpkg_download_distfile(ARCHIVE + URLS https://github.com/jstedfast/gmime/releases/download/${VERSION}/gmime-${VERSION}.tar.xz + FILENAME "gmime-${VERSION}.tar.xz" + SHA512 cafb89854b2441508bf940fd6f991739d30fb137b8928ad33e8e4d2a0293a6460e4d1318e73c3ee9e5a964b692f36e7a4eb5f2930c6998698bd9edf866629655 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + subdirs.diff + msvc-ssize_t.diff +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/aclocal/\"") # for glib +set(ENV{GTKDOCIZE} true) + +vcpkg_list(SET options) +set(iconv_detect_h "${CURRENT_HOST_INSTALLED_DIR}/share/${PORT}/iconv-detect-${VCPKG_CMAKE_SYSTEM_NAME}.h") +if(EXISTS "${iconv_detect_h}") + vcpkg_list(APPEND options "ac_cv_have_iconv_detect_h=yes") +elseif(VCPKG_CROSSCOMPILING) + vcpkg_list(APPEND options "ac_cv_have_iconv_detect_h=no") +endif() + +if("crypto" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-crypto") +else() + vcpkg_list(APPEND options "--disable-crypto") +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + ADD_BIN_TO_PATH # for iconv-detect + OPTIONS + ${options} + --disable-glibtest + --disable-introspection + --disable-vala +) + +if(EXISTS "${iconv_detect_h}") + file(COPY_FILE "${iconv_detect_h}" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/iconv-detect.h") + if(NOT VCPKG_BUILD_TYPE) + file(COPY_FILE "${iconv_detect_h}" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/iconv-detect.h") + endif() +endif() + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + file(COPY "${SOURCE_PATH}/build/vs2017/unistd.h" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${SOURCE_PATH}/build/vs2017/unistd.h" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + endif() +endif() + +vcpkg_install_make() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +if(NOT VCPKG_CROSSCOMPILING) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/iconv-detect.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME "iconv-detect-${VCPKG_CMAKE_SYSTEM_NAME}.h" + ) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/vcpkg/ports/gmime/subdirs.diff b/vcpkg/ports/gmime/subdirs.diff new file mode 100644 index 0000000..24ef508 --- /dev/null +++ b/vcpkg/ports/gmime/subdirs.diff @@ -0,0 +1,16 @@ +diff --git a/Makefile.am b/Makefile.am +index c004167..0fafe72 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2,10 +2,9 @@ + + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = m4 build util gmime tests docs ++SUBDIRS = m4 build util gmime + + if !PLATFORM_WIN32 +-SUBDIRS += examples + endif + + SUBDIRS += tools . diff --git a/vcpkg/ports/gmime/vcpkg.json b/vcpkg/ports/gmime/vcpkg.json new file mode 100644 index 0000000..c483396 --- /dev/null +++ b/vcpkg/ports/gmime/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "gmime", + "version": "3.2.15", + "port-version": 1, + "description": "GMime is a C/C++ library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME).", + "homepage": "https://github.com/jstedfast/gmime", + "license": "LGPL-2.1-or-later", + "supports": "!xbox", + "dependencies": [ + "glib", + { + "name": "gmime", + "host": true + }, + "libiconv", + "libidn2", + "zlib" + ], + "features": { + "crypto": { + "description": "PGP and S/MIME support", + "dependencies": [ + { + "name": "gpgme", + "default-features": false + } + ] + } + } +} |