From 80dee500e88cfb56984062b2d376b9423a7c9507 Mon Sep 17 00:00:00 2001 Message-ID: <80dee500e88cfb56984062b2d376b9423a7c9507.1725233445.git.carlo@zancanaro.id.au> From: Carlo Zancanaro Date: Sun, 1 Sep 2024 22:34:17 +1000 Subject: [PATCH] gnu: gd: Restore patch to fix pkg-config finding libgd dependencies. This patch is restoring a patch that was erroneously removed in 6d7f9294dd62ef428d7ce79ef299b536fab0da30. * gnu/packages/gd.scm (gd)[source]: Include gd-Revert-fix-303-gdlib.pc.patch patch. * gnu/packages/patches/gd-Revert-fix-303-gdlib.pc.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Change-Id: I8102b414f6eacdc2c271ebd4f65855fa7d175692 --- gnu/local.mk | 1 + gnu/packages/gd.scm | 9 +- .../patches/gd-Revert-fix-303-gdlib.pc.patch | 179 ++++++++++++++++++ 3 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gd-Revert-fix-303-gdlib.pc.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0c4ab96bf3..679d87fcf4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1356,6 +1356,7 @@ dist_patch_DATA = \ %D%/packages/patches/gcolor3-update-libportal-usage.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-brect-bounds.patch \ + %D%/packages/patches/gd-Revert-fix-303-gdlib.pc.patch \ %D%/packages/patches/gdm-default-session.patch \ %D%/packages/patches/gdm-elogind-support.patch \ %D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \ diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 98d34cfa71..d1dab2880e 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -56,7 +56,14 @@ (define-public gd "0qas3q9xz3wgw06dm2fj0i189rain6n60z1vyq50d5h7wbn25s1z")) (patches (search-patches "gd-fix-tests-on-i686.patch" - "gd-brect-bounds.patch")))) + "gd-brect-bounds.patch" + ;; This is needed due to an issue where PHP + ;; cannot find libgd's dependencies. See + ;; https://github.com/libgd/libgd/issues/691 + ;; and the linked + ;; https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/28 + ;; for more details. + "gd-Revert-fix-303-gdlib.pc.patch")))) (build-system gnu-build-system) (arguments ;; As recommended by github.com/libgd/libgd/issues/278 to fix rounding diff --git a/gnu/packages/patches/gd-Revert-fix-303-gdlib.pc.patch b/gnu/packages/patches/gd-Revert-fix-303-gdlib.pc.patch new file mode 100644 index 0000000000..6329b129d3 --- /dev/null +++ b/gnu/packages/patches/gd-Revert-fix-303-gdlib.pc.patch @@ -0,0 +1,179 @@ +From 9b31dfda73ee2d1b56b3f0dcfd3246c2faa592fe Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= +Date: Sun, 28 Mar 2021 19:47:25 +0200 +Subject: [PATCH] Revert "fix #303: gdlib.pc: use Requires instead of Libs + (#537)" + +This reverts commit 28ecfe77c817aff8ce56422d3e4e8533a281bc76. +--- + CMakeLists.txt | 12 ------------ + config/gdlib.pc.cmake | 4 +--- + config/gdlib.pc.in | 4 +--- + configure.ac | 11 +---------- + src/CMakeLists.txt | 6 ------ + 5 files changed, 3 insertions(+), 34 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 57cd95d..6bd0c73 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,8 +53,6 @@ SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY + "Single Directory for all static libraries." + ) + +-SET(PKG_REQUIRES_PRIVATES "") +- + if (USE_EXT_GD) + message("Using GD at: ${USE_EXT_GD}") + INCLUDE_DIRECTORIES(BEFORE ${GD_INCLUDE_DIR}) +@@ -170,13 +168,11 @@ else (USE_EXT_GD) + INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIRS}) + SET(HAVE_FT2BUILD_H 1) + SET(HAVE_LIBFREETYPE 1) +- LIST(APPEND PKG_REQUIRES_PRIVATES freetype2) + ENDIF(FREETYPE_FOUND) + + IF(ZLIB_FOUND) + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) + SET(HAVE_LIBZ 1) +- LIST(APPEND PKG_REQUIRES_PRIVATES zlib) + ENDIF(ZLIB_FOUND) + + IF(WEBP_FOUND) +@@ -192,7 +188,6 @@ else (USE_EXT_GD) + IF(PNG_FOUND) + INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR}) + SET(HAVE_LIBPNG 1) +- LIST(APPEND PKG_REQUIRES_PRIVATES libpng) + ENDIF(PNG_FOUND) + + IF(ICONV_FOUND) +@@ -209,25 +204,21 @@ else (USE_EXT_GD) + IF(XPM_FOUND) + INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR}) + SET(HAVE_LIBXPM 1) +- LIST(APPEND PKG_REQUIRES_PRIVATES xpm) + ENDIF(XPM_FOUND) + + IF(JPEG_FOUND) + INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) + SET(HAVE_LIBJPEG 1) +- LIST(APPEND PKG_REQUIRES_PRIVATES libjpeg) + ENDIF(JPEG_FOUND) + + IF(TIFF_FOUND) + INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR}) + SET(HAVE_LIBTIFF 1) +- LIST(APPEND PKG_REQUIRES_PRIVATES libtiff-4) + ENDIF(TIFF_FOUND) + + IF(FONTCONFIG_FOUND) + INCLUDE_DIRECTORIES(${FONTCONFIG_INCLUDE_DIR}) + SET(HAVE_LIBFONTCONFIG 1) +- LIST(APPEND PKG_REQUIRES_PRIVATES fontconfig) + ELSE (FONTCONFIG_FOUND) + SET(FONTCONFIG_LIBRARY "") + SET(FONTCONFIG_INCLUDE_DIR "") +@@ -236,11 +227,8 @@ else (USE_EXT_GD) + + IF(RAQM_FOUND) + INCLUDE_DIRECTORIES(${RAQM_INCLUDE_DIR}) +- SET(HAVE_RAQM 1) +- LIST(APPEND PKG_REQUIRES_PRIVAES raqm) + ENDIF(RAQM_FOUND) + +- string(REPLACE ";" ", " PKG_REQUIRES_PRIVATES "${PKG_REQUIRES_PRIVATES}") + SET(HAVE_CONFIG_H 1) + + ADD_DEFINITIONS(-DHAVE_CONFIG_H) +diff --git a/config/gdlib.pc.cmake b/config/gdlib.pc.cmake +index 5fc8af4..d1a0dda 100644 +--- a/config/gdlib.pc.cmake ++++ b/config/gdlib.pc.cmake +@@ -6,8 +6,6 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ + Name: gd + Description: GD graphics library + Version: @GDLIB_VERSION@ +-Requires: +-Requires.private: @PKG_REQUIRES_PRIVATES@ + Cflags: -I${includedir} +-Libs.private: @LIBS_PRIVATES@ ++Libs.private: @LIBGD_DEP_LIBS@ + Libs: -L${libdir} -lgd +diff --git a/config/gdlib.pc.in b/config/gdlib.pc.in +index d6bc375..b980a60 100644 +--- a/config/gdlib.pc.in ++++ b/config/gdlib.pc.in +@@ -6,8 +6,6 @@ includedir=@includedir@ + Name: gd + Description: GD graphics library + Version: @VERSION@ +-Requires: +-Requires.private: @PKG_REQUIRES_PRIVATES@ + Cflags: -I${includedir} +-Libs.private: @LIBS_PRIVATES@ @LIBICONV@ ++Libs.private: @LIBS@ @LIBICONV@ + Libs: -L${libdir} -lgd +diff --git a/configure.ac b/configure.ac +index 535db68..329c99c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -33,9 +33,6 @@ AC_SUBST(GDLIB_LT_CURRENT) + AC_SUBST(GDLIB_LT_REVISION) + AC_SUBST(GDLIB_LT_AGE) + +-AC_SUBST(LIBS_PRIVATES) +-AC_SUBST(PKG_REQUIRES_PRIVATES) +- + AM_INIT_AUTOMAKE([1.11 foreign dist-xz -Wall -Werror subdir-objects]) + AC_CONFIG_HEADERS([src/config.h:src/config.hin]) + +@@ -133,7 +130,6 @@ m4_define([GD_LIB_CHECK], [dnl + AC_MSG_RESULT([$gd_with_lib]) + + gd_found_lib=no +- gd_require_pkg_name="" + if test "$gd_with_lib" != "no"; then + save_CPPFLAGS=$CPPFLAGS + save_LDFLAGS=$LDFLAGS +@@ -165,11 +161,6 @@ m4_define([GD_LIB_CHECK], [dnl + $1][_CFLAGS="$gd_lib_cflags $][$1][_CFLAGS" + AS_VAR_APPEND([LIBS], [" $][$1][_LIBS"]) + AS_VAR_APPEND([CPPFLAGS], [" $][$1][_CFLAGS"]) +- if test -z "$gd_require_pkg_name"; then +- AS_VAR_APPEND([LIBS_PRIVATES], [" $][$1][_LIBS"]) +- else +- AS_VAR_APPEND([PKG_REQUIRES_PRIVATES], [" $gd_require_pkg_name"]) +- fi + elif test "$gd_with_lib" = "yes"; then + AC_MSG_ERROR([$3 requested but not found]) + else +@@ -189,7 +180,7 @@ dnl $4 - pkg-config module to look for + dnl $5 - fallback test for the feature + m4_define([GD_LIB_PKG_CHECK], [dnl + GD_LIB_CHECK([$1], [$2], [$3], [dnl +- PKG_CHECK_MODULES([$1], [$4], [gd_found_lib=yes gd_require_pkg_name="$4"], [$5]) ++ PKG_CHECK_MODULES([$1], [$4], [gd_found_lib=yes], [$5]) + ]) + ]) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 509c422..49adbd6 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -142,12 +142,6 @@ if (BUILD_STATIC_LIBS) + target_link_libraries(${GD_LIB_STATIC} ${LIBGD_DEP_LIBS}) + endif() + +-SET(LIBS_PRIVATES +- ${ICONV_LIBRARIES} +- ${LIQ_LIBRARIES} +- ${WEBP_LIBRARIES} +-) +- + set(GD_PROGRAMS gdcmpgif) + + if (PNG_FOUND) +-- +2.31.1 + base-commit: e1c92c98f7afff13fb7060199ba0dd4d9c5c2c53 -- 2.45.2