aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/gpgmepp
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/gpgmepp
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/gpgmepp')
-rw-r--r--vcpkg/ports/gpgmepp/cmake-config.diff30
-rw-r--r--vcpkg/ports/gpgmepp/dependencies.diff63
-rw-r--r--vcpkg/ports/gpgmepp/disable-docs.patch13
-rw-r--r--vcpkg/ports/gpgmepp/portfile.cmake37
-rw-r--r--vcpkg/ports/gpgmepp/vcpkg.json19
5 files changed, 162 insertions, 0 deletions
diff --git a/vcpkg/ports/gpgmepp/cmake-config.diff b/vcpkg/ports/gpgmepp/cmake-config.diff
new file mode 100644
index 0000000..599dc9d
--- /dev/null
+++ b/vcpkg/ports/gpgmepp/cmake-config.diff
@@ -0,0 +1,30 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index c121025..1f0554f 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -194,14 +194,14 @@ configure_package_config_file(GpgmeppConfig.cmake.in
+ )
+
+ if(ENABLE_SHARED)
+- if (MSVC)
++ if (0)
+ install(TARGETS Gpgmepp EXPORT GpgmeppTargets "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}")
+ else()
+ install(TARGETS Gpgmepp EXPORT GpgmeppTargets)
+ endif()
+ endif()
+ if(ENABLE_STATIC)
+- install(TARGETS GpgmeppStatic)
++ install(TARGETS GpgmeppStatic EXPORT GpgmeppTargets)
+ endif()
+
+ set(pkgconfig_host_line "")
+@@ -224,7 +224,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gpgmepp_version.h
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gpgme++)
+
+ # for now we install the cmake config files only for the shared library
+-if(ENABLE_SHARED)
++if(1)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GpgmeppConfigVersion.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/GpgmeppConfig.cmake
+ DESTINATION ${CMAKECONFIG_INSTALL_DIR})
diff --git a/vcpkg/ports/gpgmepp/dependencies.diff b/vcpkg/ports/gpgmepp/dependencies.diff
new file mode 100644
index 0000000..d3c0e59
--- /dev/null
+++ b/vcpkg/ports/gpgmepp/dependencies.diff
@@ -0,0 +1,63 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 33a55c7..ed169aa 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -62,10 +62,8 @@ include(ECMUninstallTarget)
+ include(FeatureSummary)
+ include(GNUInstallDirs)
+
+-find_package(LibGpgError ${GPG_ERROR_REQUIRED_VERSION})
+-set_package_properties(LibGpgError PROPERTIES TYPE REQUIRED)
+-find_package(Gpgme ${GPGME_REQUIRED_VERSION})
+-set_package_properties(Gpgme PROPERTIES TYPE REQUIRED)
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(Gpgme "gpgme>=${GPGME_REQUIRED_VERSION}" "gpg-error>=${GPG_ERROR_REQUIRED_VERSION}" REQUIRED)
+
+ g10_get_full_version()
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index d28ed8f..989a011 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -126,11 +126,11 @@ if(ENABLE_SHARED)
+ target_sources(Gpgmepp PRIVATE ${Gpgmepp_SOURCES})
+
+ target_include_directories(Gpgmepp
+- PRIVATE ${LibGpgError_INCLUDE_DIRS}
++ PRIVATE ${Gpgme_INCLUDE_DIRS}
+ INTERFACE $<INSTALL_INTERFACE:include>
+ )
+
+- target_link_libraries(Gpgmepp Gpgme::Gpgme)
++ target_link_libraries(Gpgmepp PRIVATE ${Gpgme_LINK_LIBRARIES})
+
+ set_target_properties(Gpgmepp PROPERTIES
+ OUTPUT_NAME gpgmepp
+@@ -142,11 +142,11 @@ if(ENABLE_STATIC)
+ target_sources(GpgmeppStatic PRIVATE ${Gpgmepp_SOURCES})
+
+ target_include_directories(GpgmeppStatic
+- PRIVATE ${LibGpgError_INCLUDE_DIRS}
++ PRIVATE ${Gpgme_INCLUDE_DIRS}
+ INTERFACE $<INSTALL_INTERFACE:include>
+ )
+
+- target_link_libraries(GpgmeppStatic Gpgme::Gpgme)
++ target_link_libraries(GpgmeppStatic PRIVATE ${Gpgme_LINK_LIBRARIES})
+
+ set_target_properties(GpgmeppStatic PROPERTIES
+ OUTPUT_NAME gpgmepp
+diff --git a/src/GpgmeppConfig.cmake.in b/src/GpgmeppConfig.cmake.in
+index 8969602..4d5fedd 100644
+--- a/src/GpgmeppConfig.cmake.in
++++ b/src/GpgmeppConfig.cmake.in
+@@ -20,9 +20,5 @@
+
+ @PACKAGE_INIT@
+
+-include(CMakeFindDependencyMacro)
+-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
+-find_dependency(LibGpgError "@GPG_ERROR_REQUIRED_VERSION@")
+-find_dependency(Gpgme "@GPGME_REQUIRED_VERSION@")
+
+ include("${CMAKE_CURRENT_LIST_DIR}/GpgmeppTargets.cmake")
diff --git a/vcpkg/ports/gpgmepp/disable-docs.patch b/vcpkg/ports/gpgmepp/disable-docs.patch
new file mode 100644
index 0000000..b45ca6e
--- /dev/null
+++ b/vcpkg/ports/gpgmepp/disable-docs.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.am b/Makefile.am
+index 1772d69..9bf9863 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -45,7 +45,7 @@ else
+ tests =
+ endif
+
+-SUBDIRS = src ${tests} doc lang
++SUBDIRS = src ${tests} lang
+
+ # Fix the version of the spec file.
+ dist-hook: gen-ChangeLog
diff --git a/vcpkg/ports/gpgmepp/portfile.cmake b/vcpkg/ports/gpgmepp/portfile.cmake
new file mode 100644
index 0000000..09a3c0a
--- /dev/null
+++ b/vcpkg/ports/gpgmepp/portfile.cmake
@@ -0,0 +1,37 @@
+vcpkg_download_distfile(tarball
+ URLS "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/gpgmepp/gpgmepp-${VERSION}.tar.xz"
+ "https://gnupg.org/ftp/gcrypt/gpgme/gpgmepp-${VERSION}.tar.xz"
+ FILENAME "gpgmepp-${VERSION}.tar.xz"
+ SHA512 ed98f5dfd45efa216d0fc983ad650b46235b28a8e4faaf4349bc8e14cf76758e3099cfdc61e549f07e57d663e82550f373641f67303c5f2891b00fa5b419e927
+)
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${tarball}"
+ PATCHES
+ cmake-config.diff
+ dependencies.diff
+)
+file(WRITE "${SOURCE_PATH}/VERSION" "${VERSION}")
+
+vcpkg_find_acquire_program(PKGCONFIG)
+set(ENV{PKG_CONFIG} "${PKGCONFIG}")
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
+ -DENABLE_SHARED=${ENABLE_SHARED}
+ -DENABLE_STATIC=${ENABLE_STATIC}
+)
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_fixup_pkgconfig()
+vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Gpgmepp")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LIB")
diff --git a/vcpkg/ports/gpgmepp/vcpkg.json b/vcpkg/ports/gpgmepp/vcpkg.json
new file mode 100644
index 0000000..e4280aa
--- /dev/null
+++ b/vcpkg/ports/gpgmepp/vcpkg.json
@@ -0,0 +1,19 @@
+{
+ "name": "gpgmepp",
+ "version": "2.0.0",
+ "description": "A C++ binding for gpgme",
+ "homepage": "https://gnupg.org/software/gpgme/",
+ "license": "LGPL-2.0-or-later",
+ "dependencies": [
+ "gpgme",
+ "libgpg-error",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}