From 51380fe77515452fafa0463d24d621ddcb68e1ee Mon Sep 17 00:00:00 2001 From: Kai Pastor Date: Mon, 30 Dec 2024 16:33:59 +0100 Subject: [PATCH] [libgpg-error] Update to 1.51, [libsecret] Fix platforms (#42984) --- ports/libgpg-error/android.diff | 12 ++++++++++++ ports/libgpg-error/mingw.diff | 15 +++++++++++++++ ports/libgpg-error/portfile.cmake | 11 +++++++++-- ports/libgpg-error/vcpkg.json | 6 +++--- ports/libgpg-error/win32-nls.diff | 25 +++++++++++++++++++++++++ ports/libsecret/portfile.cmake | 5 ++--- ports/libsecret/vcpkg.json | 3 ++- scripts/ci.baseline.txt | 5 ++--- versions/baseline.json | 4 ++-- versions/l-/libgpg-error.json | 5 +++++ versions/l-/libsecret.json | 5 +++++ 11 files changed, 82 insertions(+), 14 deletions(-) create mode 100644 ports/libgpg-error/android.diff create mode 100644 ports/libgpg-error/mingw.diff create mode 100644 ports/libgpg-error/win32-nls.diff diff --git a/ports/libgpg-error/android.diff b/ports/libgpg-error/android.diff new file mode 100644 index 0000000000..81389098a7 --- /dev/null +++ b/ports/libgpg-error/android.diff @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index ce369af..95cbba2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -633,6 +633,7 @@ if test x"$gl_use_threads" = xno; then + AC_MSG_NOTICE([generated src/lock-obj-pub.native.h for $host]) + elif test x$cross_compiling = xyes; then + case $host in ++ *-*-linux-android* | \ + *-*-gnu* | *-*-linux-gnu* | *-*-linux-musl*) + AC_CHECK_TOOL(OBJDUMP, [objdump]) + if test -n "$OBJDUMP"; then diff --git a/ports/libgpg-error/mingw.diff b/ports/libgpg-error/mingw.diff new file mode 100644 index 0000000000..b1f25c89c2 --- /dev/null +++ b/ports/libgpg-error/mingw.diff @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index 4de263a..9aa0f69 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -200,6 +200,10 @@ esac + AX_CC_FOR_BUILD + + AH_BOTTOM([ ++#if defined(__MINGW32__) && !defined(_WIN32_WINNT) ++#define _WIN32_WINNT 0x0600 /* for STARTUPINFOEX */ ++#endif ++ + /* Force using of NLS for W32 even if no libintl has been found. This is + okay because we have our own gettext implementation for W32. */ + #if defined(HAVE_W32_SYSTEM) && !defined(ENABLE_NLS) diff --git a/ports/libgpg-error/portfile.cmake b/ports/libgpg-error/portfile.cmake index 9c85d1191d..4530f7b745 100644 --- a/ports/libgpg-error/portfile.cmake +++ b/ports/libgpg-error/portfile.cmake @@ -4,15 +4,18 @@ vcpkg_download_distfile(tarball "https://mirrors.dotsrc.org/gcrypt/libgpg-error/libgpg-error-${VERSION}.tar.bz2" "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${VERSION}.tar.bz2" FILENAME "libgpg-error-${VERSION}.tar.bz2" - SHA512 bbb4b15dae75856ee5b1253568674b56ad155524ae29a075cb5b0a7e74c4af685131775c3ea2226fff2f84ef80855e77aa661645d002b490a795c7ae57b66a30 + SHA512 4489f615c6a0389577a7d1fd7d3917517bb2fe032abd9a6d87dfdbd165dabcf53f8780645934020bf27517b67a064297475888d5b368176cf06bc22f1e735e2b ) vcpkg_extract_source_archive( SOURCE_PATH ARCHIVE "${tarball}" PATCHES + android.diff cross-tools.patch gpgrt-config.patch + mingw.diff pkgconfig-libintl.patch + win32-nls.diff ) vcpkg_list(SET options) @@ -27,13 +30,17 @@ if(VCPKG_CROSSCOMPILING) set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") endif() +if(VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_list(APPEND options "--disable-threads") +endif() + vcpkg_configure_make( AUTOCONFIG SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${options} - --disable-tests --disable-doc + --disable-tests ) vcpkg_install_make() diff --git a/ports/libgpg-error/vcpkg.json b/ports/libgpg-error/vcpkg.json index eb5a83e664..f2c13e5a29 100644 --- a/ports/libgpg-error/vcpkg.json +++ b/ports/libgpg-error/vcpkg.json @@ -1,8 +1,8 @@ { "name": "libgpg-error", - "version": "1.47", - "description": "A common dependency of all GnuPG components", - "homepage": "https://gnupg.org/software/libgpg-error/index.html", + "version": "1.51", + "description": "A runtime library for GnuPG and other software which likes to use it.", + "homepage": "https://gnupg.org/software/libgpg-error/", "license": "LGPL-2.1-or-later", "supports": "!windows | mingw", "dependencies": [ diff --git a/ports/libgpg-error/win32-nls.diff b/ports/libgpg-error/win32-nls.diff new file mode 100644 index 0000000000..82f6546f29 --- /dev/null +++ b/ports/libgpg-error/win32-nls.diff @@ -0,0 +1,25 @@ +diff --git a/Makefile.am b/Makefile.am +index 0f07509..65e058a 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -105,6 +105,7 @@ gen-ChangeLog: + + if HAVE_W32_SYSTEM + install-data-hook: ++install-data-hook-orig: + set -e; \ + for i in $$(sed -e '/^#/d' -e 's/#.*//' $(top_srcdir)/po/LINGUAS); do \ + $(MKDIR_P) "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES" || true; \ +diff --git a/configure.ac b/configure.ac +index 9aa0f69..ce369af 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -207,7 +207,7 @@ AH_BOTTOM([ + /* Force using of NLS for W32 even if no libintl has been found. This is + okay because we have our own gettext implementation for W32. */ + #if defined(HAVE_W32_SYSTEM) && !defined(ENABLE_NLS) +-#define ENABLE_NLS 1 ++/* keep NLS controlled by libgpg-error[nls] */ + #endif + + /* Connect the generic estream-printf.c to our framework. */ diff --git a/ports/libsecret/portfile.cmake b/ports/libsecret/portfile.cmake index 1a3295f8cf..5265db578f 100644 --- a/ports/libsecret/portfile.cmake +++ b/ports/libsecret/portfile.cmake @@ -20,9 +20,8 @@ vcpkg_configure_meson( ) vcpkg_install_meson() vcpkg_fixup_pkgconfig() +vcpkg_copy_tools(TOOL_NAMES secret-tool AUTO_CLEAN) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# There is no option to disable building secret-tool, so remove the executable. -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libsecret/vcpkg.json b/ports/libsecret/vcpkg.json index 0b35e6701e..482e3df467 100644 --- a/ports/libsecret/vcpkg.json +++ b/ports/libsecret/vcpkg.json @@ -1,10 +1,11 @@ { "name": "libsecret", "version": "0.21.4", + "port-version": 1, "description": "libsecret is a GObject-based library for accessing the Secret Service API of the freedesktop.org project, a cross-desktop effort to access passwords, tokens and other types of secrets. libsecret provides a convenient wrapper for these methods so consumers do not have to call the low-level DBus methods.", "homepage": "https://gitlab.gnome.org/GNOME/libsecret/", "license": "LGPL-2.1-or-later", - "supports": "!(windows | uwp | osx)", + "supports": "!android & !ios & !osx & !windows", "dependencies": [ "glib", { diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 27ef17c35b..b22875b352 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -536,6 +536,8 @@ libdc1394:x64-android=fail libdc1394:arm64-android=fail # 32-bit needs android-24 libflac:arm-neon-android=fail +# inline assembly requires more registers than available +libgcrypt:x64-android=fail # error: call to undeclared function 'mktime_z' libgnutls:arm-neon-android=fail libgnutls:arm64-android=fail @@ -543,9 +545,6 @@ libgnutls:x64-android=fail # Fails to build due to incompatible delcaration of select in macOS 14.2 libgo:x64-osx=fail libgo:x64-android=fail -libgpg-error:arm-neon-android=fail -libgpg-error:arm64-android=fail -libgpg-error:x64-android=fail # Missing system libraries on linux to run/prepare autoconf libgpod:x64-linux=fail libfreenect2:arm64-windows=fail diff --git a/versions/baseline.json b/versions/baseline.json index d66e3c3844..be26ecea8d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4621,7 +4621,7 @@ "port-version": 5 }, "libgpg-error": { - "baseline": "1.47", + "baseline": "1.51", "port-version": 0 }, "libgpiod": { @@ -5098,7 +5098,7 @@ }, "libsecret": { "baseline": "0.21.4", - "port-version": 0 + "port-version": 1 }, "libsercomm": { "baseline": "1.3.2", diff --git a/versions/l-/libgpg-error.json b/versions/l-/libgpg-error.json index e49bc86166..b1276d7ada 100644 --- a/versions/l-/libgpg-error.json +++ b/versions/l-/libgpg-error.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "241874200d1c1a5f852359a972a6d00c17275669", + "version": "1.51", + "port-version": 0 + }, { "git-tree": "4375cd3cc867a96a2d8b5e99a425b9b3efb4f863", "version": "1.47", diff --git a/versions/l-/libsecret.json b/versions/l-/libsecret.json index a6b0fc25ae..b105fc600d 100644 --- a/versions/l-/libsecret.json +++ b/versions/l-/libsecret.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bf507b0397b2917c2c12e615f94e577a3f35564d", + "version": "0.21.4", + "port-version": 1 + }, { "git-tree": "fe57a1ceea0f28f2945dab68cca4e29358ca5e71", "version": "0.21.4",