* [bug#72943] [PATCH] gnu: gd: Requires.private to propagated inputs @ 2024-09-01 19:11 Rutherther via Guix-patches via 2024-09-01 23:33 ` Carlo Zancanaro ` (2 more replies) 0 siblings, 3 replies; 15+ messages in thread From: Rutherther via Guix-patches via @ 2024-09-01 19:11 UTC (permalink / raw) To: 72943; +Cc: Rutherther The package gd provides a pkg-config file with all its inputs in Requires.private. I think that this means that packages that depend on gd also need these as inputs to build. This is causing trouble for example in php, failing in configure phase with ``` checking for gdlib >= 2.1.0... no configure: error: Package requirements (gdlib >= 2.1.0) were not met: Package 'freetype2', required by 'gdlib', not found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. ``` After this, php is able to configure, though it still fails in the check phase, where 3 tests fail. These tests are related to gd, so there seems to be other problem as well, but I see also other tests for gd disabled, so maybe it will be fine also disabling these three to fix this, I am not sure. --- gnu/packages/gd.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 98d34cfa71..7ced0774bd 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -85,7 +85,7 @@ (define-public gd "\\.la$"))))))) (native-inputs (list pkg-config)) - (inputs + (propagated-inputs (list fontconfig freetype libjpeg-turbo -- 2.45.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [bug#72943] [PATCH] gnu: gd: Requires.private to propagated inputs 2024-09-01 19:11 [bug#72943] [PATCH] gnu: gd: Requires.private to propagated inputs Rutherther via Guix-patches via @ 2024-09-01 23:33 ` Carlo Zancanaro 2024-09-02 17:23 ` Rutherther via Guix-patches via 2024-09-05 20:41 ` [bug#72943] Patches applied Andreas Enge 2 siblings, 0 replies; 15+ messages in thread From: Carlo Zancanaro @ 2024-09-01 23:33 UTC (permalink / raw) To: Rutherther; +Cc: 72943 [-- Attachment #1: Type: text/plain, Size: 613 bytes --] Hi Rutherther, I ran into the same issue with PHP, and prepared a slightly different patch, which I have attached. Rather than propagating the inputs, I reinstated a patch that we used to have, but which got removed in the core-updates merge. My assumption is that it was removed because the referenced GitHub issue was closed, but the issue is not actually resolved upstream. They claim it's a pkg-config bug (which has been open for 18 years), so I'm not holding my breath for an upstream fix. I also noticed the three failing tests, all related to libgd, but ran out of time to investigate further. Carlo [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-gnu-gd-Restore-patch-to-fix-pkg-config-finding-libgd.patch --] [-- Type: text/x-patch, Size: 8433 bytes --] From 80dee500e88cfb56984062b2d376b9423a7c9507 Mon Sep 17 00:00:00 2001 Message-ID: <80dee500e88cfb56984062b2d376b9423a7c9507.1725233445.git.carlo@zancanaro.id.au> From: Carlo Zancanaro <carlo@zancanaro.id.au> 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?= <lle-bout@zaclys.net> +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 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [bug#72943] [PATCH] gnu: gd: Requires.private to propagated inputs 2024-09-01 19:11 [bug#72943] [PATCH] gnu: gd: Requires.private to propagated inputs Rutherther via Guix-patches via 2024-09-01 23:33 ` Carlo Zancanaro @ 2024-09-02 17:23 ` Rutherther via Guix-patches via 2024-09-03 0:19 ` Carlo Zancanaro 2024-09-05 20:41 ` [bug#72943] Patches applied Andreas Enge 2 siblings, 1 reply; 15+ messages in thread From: Rutherther via Guix-patches via @ 2024-09-02 17:23 UTC (permalink / raw) To: 72943; +Cc: Rutherther, Carlo Zancanaro, Tobias Geerinckx-Rice Hello Carlo, thank you for finding that! That explains why this issue was caused in the first place, I was wondering how this could've been unspotted till now. It seems much better to me to not use propagated-inputs whenever possible, so I prefer your solution to this one. However, I do wonder about this: other packages that have Requires.private do provide the libraries in these as propagated-inputs. Also the cookbook shows to do this with such libraries. What is the correct approach here then? Maybe every package that has Requires.private could be patched like this, possibly somehow automatically instead of manual patches? I am quite new here, this is my first patch. So I am not really sure how to go about this. Will you open a new issue with your patch, and maintainers will decide patch from which issue to use? Or is it enough it's in this issue? I am sending an updated patch with a comment for why specifying propagates-inputs would be necessary in the meantime, as Tobias suggested me in a review in #guix IRC channel. --- gnu/packages/gd.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 98d34cfa71..1380493c44 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -85,7 +85,8 @@ (define-public gd "\\.la$"))))))) (native-inputs (list pkg-config)) - (inputs + ;; These libraries are in 'Requires.private' in libgd.pc. + (propagated-inputs (list fontconfig freetype libjpeg-turbo -- 2.45.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [bug#72943] [PATCH] gnu: gd: Requires.private to propagated inputs 2024-09-02 17:23 ` Rutherther via Guix-patches via @ 2024-09-03 0:19 ` Carlo Zancanaro 2024-09-03 1:54 ` [bug#72943] [PATCH 1/2] " Carlo Zancanaro 2024-09-03 1:54 ` [bug#72943] [PATCH 2/2] gnu: php: Disable tests relating to BICUBIC interpolation Carlo Zancanaro 0 siblings, 2 replies; 15+ messages in thread From: Carlo Zancanaro @ 2024-09-03 0:19 UTC (permalink / raw) To: Rutherther; +Cc: Tobias Geerinckx-Rice, 72943 On Mon, Sep 02 2024, Rutherther via Guix-patches via wrote: > It seems much better to me to not use propagated-inputs whenever possible, > so I prefer your solution to this one. However, I do wonder about this: other packages that > have Requires.private do provide the libraries in these as propagated-inputs. Also > the cookbook shows to do this with such libraries. What is the correct approach here > then? Maybe every package that has Requires.private could be patched like this, possibly > somehow automatically instead of manual patches? Ah, I didn't look into it, so I didn't know that other packages in the same situation just propagate their inputs. If that's more consistent with the rest of Guix's packages then it would probably be better to do that than restoring the patch. > I am quite new here, this is my first patch. So I am not really sure how to go about this. > Will you open a new issue with your patch, and maintainers will decide patch from which > issue to use? Or is it enough it's in this issue? I wasn't planning to open a new issue. Ideally I think we would agree on which change is more appropriate, then someone with commit access would apply it. If this problem is solved elsewhere in Guix with propagated-inputs, then I think your change is a better idea than mine. This still leaves the issue of the failing tests, though. I investigated a bit and looking at [1] and [2], I believe the issue is that our version of libgd doesn't support the BICUBIC interpolation method. I'm rebuilding PHP now with those tests removed. I'll send through some patches soon. Carlo [1]: https://github.com/php/php-src/issues/11252 [2]: https://github.com/libgd/libgd/issues/847 ^ permalink raw reply [flat|nested] 15+ messages in thread
* [bug#72943] [PATCH 1/2] gnu: gd: Requires.private to propagated inputs 2024-09-03 0:19 ` Carlo Zancanaro @ 2024-09-03 1:54 ` Carlo Zancanaro 2024-09-03 1:54 ` [bug#72943] [PATCH 2/2] gnu: php: Disable tests relating to BICUBIC interpolation Carlo Zancanaro 1 sibling, 0 replies; 15+ messages in thread From: Carlo Zancanaro @ 2024-09-03 1:54 UTC (permalink / raw) To: 72943; +Cc: Rutherther From: Rutherther <rutherther@protonmail.com> * gnu/packages/gd.scm (gd): Change inputs to propagated-inputs. Change-Id: Icb821d36a8250e7eee7d174dae8387949ac219a1 --- gnu/packages/gd.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 98d34cfa71..1380493c44 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -85,7 +85,8 @@ (define-public gd "\\.la$"))))))) (native-inputs (list pkg-config)) - (inputs + ;; These libraries are in 'Requires.private' in libgd.pc. + (propagated-inputs (list fontconfig freetype libjpeg-turbo base-commit: b833aaaee7c95ec0339428a6b602f26831494798 -- 2.45.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [bug#72943] [PATCH 2/2] gnu: php: Disable tests relating to BICUBIC interpolation. 2024-09-03 0:19 ` Carlo Zancanaro 2024-09-03 1:54 ` [bug#72943] [PATCH 1/2] " Carlo Zancanaro @ 2024-09-03 1:54 ` Carlo Zancanaro 2024-09-04 6:50 ` [bug#72943] bug#72962: " guix-patches--- via 1 sibling, 1 reply; 15+ messages in thread From: Carlo Zancanaro @ 2024-09-03 1:54 UTC (permalink / raw) To: 72943; +Cc: Rutherther * gnu/packages/php.scm (php)[arguments]: Delete three tests that are known to fail. Change-Id: Ib684328654c75f37111d252fb0f9fb3356daff9a --- gnu/packages/php.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 8f879dbdca..ce7458d0e5 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -253,6 +253,13 @@ (define-public php ;; AVIF support disabled "ext/gd/tests/imagecreatefromstring_avif.phpt" + ;; These tests fail due to issues in upstream gd + ;; 2.3.3 around BICUBIC interpolation. See + ;; https://github.com/libgd/libgd/issues/847 + "ext/gd/tests/bug79676.phpt" + "ext/gd/tests/imageinterpolation_basic.phpt" + "ext/gd/tests/imagescale_preserve_ratio.phpt" + ;; XXX: These test failures appear legitimate, needs investigation. ;; open_basedir() restriction failure. "ext/curl/tests/curl_setopt_ssl.phpt" -- 2.45.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [bug#72962] php-8.3.10 build failure @ 2024-09-04 6:50 ` guix-patches--- via 0 siblings, 0 replies; 15+ messages in thread From: guix-patches--- via @ 2024-09-04 6:50 UTC (permalink / raw) To: Carlo Zancanaro; +Cc: Rutherther, 72962, 72943 Carlo Zancanaro <carlo@zancanaro.id.au> writes: > * gnu/packages/php.scm (php)[arguments]: Delete three tests that are known to > fail. > This is my first time composing a patch review — I am not sure if I am doing it correctly. I attempted to build php with the following command: = guix build php --with-patch=gd=patch-1.txt --with-patch=php=patch-2.txt = The text files are files saved by using the “download” option of the web interface of Guix Issues. My understanding is that the patch to gd applies cleanly, but the patch to php does not: = source is at 'php-8.3.10' applying '/gnu/store/f2zxspb49cbcmcla3mbjrikl48kmbf52-patch-2.txt'... can't find file to patch at input line 13 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |* gnu/packages/php.scm (php)[arguments]: Delete three tests that are known to |fail. | |Change-Id: Ib684328654c75f37111d252fb0f9fb3356daff9a |--- | gnu/packages/php.scm | 7 +++++++ | 1 file changed, 7 insertions(+) | |diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm |index 8f879dbdca..ce7458d0e5 100644 |--- a/gnu/packages/php.scm |+++ b/gnu/packages/php.scm -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored patch unexpectedly ends in middle of line = Is this helpful? ^ permalink raw reply [flat|nested] 15+ messages in thread
* [bug#72943] bug#72962: php-8.3.10 build failure @ 2024-09-04 6:50 ` guix-patches--- via 0 siblings, 0 replies; 15+ messages in thread From: guix-patches--- via @ 2024-09-04 6:50 UTC (permalink / raw) To: Carlo Zancanaro; +Cc: Rutherther, 72962, 72943 Carlo Zancanaro <carlo@zancanaro.id.au> writes: > * gnu/packages/php.scm (php)[arguments]: Delete three tests that are known to > fail. > This is my first time composing a patch review — I am not sure if I am doing it correctly. I attempted to build php with the following command: = guix build php --with-patch=gd=patch-1.txt --with-patch=php=patch-2.txt = The text files are files saved by using the “download” option of the web interface of Guix Issues. My understanding is that the patch to gd applies cleanly, but the patch to php does not: = source is at 'php-8.3.10' applying '/gnu/store/f2zxspb49cbcmcla3mbjrikl48kmbf52-patch-2.txt'... can't find file to patch at input line 13 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |* gnu/packages/php.scm (php)[arguments]: Delete three tests that are known to |fail. | |Change-Id: Ib684328654c75f37111d252fb0f9fb3356daff9a |--- | gnu/packages/php.scm | 7 +++++++ | 1 file changed, 7 insertions(+) | |diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm |index 8f879dbdca..ce7458d0e5 100644 |--- a/gnu/packages/php.scm |+++ b/gnu/packages/php.scm -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored patch unexpectedly ends in middle of line = Is this helpful? ^ permalink raw reply [flat|nested] 15+ messages in thread
* [bug#72943] bug#72962: php-8.3.10 build failure 2024-09-04 6:50 ` [bug#72943] bug#72962: " guix-patches--- via (?) @ 2024-09-04 7:27 ` Carlo Zancanaro 2024-09-04 7:43 ` [bug#72962] " guix-patches--- via ` (2 more replies) -1 siblings, 3 replies; 15+ messages in thread From: Carlo Zancanaro @ 2024-09-04 7:27 UTC (permalink / raw) To: Marek Paśnikowski; +Cc: Rutherther, 72943 Hi Marek! On Wed, Sep 04 2024, Marek Paśnikowski wrote: > This is my first time composing a patch review — I am not sure if I am > doing it correctly. Thanks for taking a look at my patch! > I attempted to build php with the following command: > = > guix build php --with-patch=gd=patch-1.txt --with-patch=php=patch-2.txt > = I don't expect this command to work. The --with-patch argument expects to apply the patch to the source of the package, whereas the patches I have prepared should be applied on a checkout of the Guix git repository (which you can clone from https://git.savannah.gnu.org/git/guix.git). You should be able to apply them in a fresh clone of the repository with "git am $patch-name". To build, you can follow the instructions in the manual "(guix) Building from Git". After that, you can build PHP with these patches with "./pre-inst-env guix build php". This can take a bit of time, but things are easier once you're set up with a working Guix clone. Carlo ^ permalink raw reply [flat|nested] 15+ messages in thread
* [bug#72962] php-8.3.10 build failure 2024-09-04 7:27 ` Carlo Zancanaro @ 2024-09-04 7:43 ` guix-patches--- via 2024-09-04 7:59 ` guix-patches--- via 2024-09-04 10:32 ` guix-patches--- via 2 siblings, 0 replies; 15+ messages in thread From: guix-patches--- via @ 2024-09-04 7:43 UTC (permalink / raw) To: Carlo Zancanaro; +Cc: Rutherther, 72962, 72943 Carlo Zancanaro <carlo@zancanaro.id.au> writes: >> I attempted to build php with the following command: >> = >> guix build php --with-patch=gd=patch-1.txt --with-patch=php=patch-2.txt >> = > > You should be able to apply them in a fresh clone of the repository with > "git am $patch-name". To build, you can follow the instructions in the > manual "(guix) Building from Git". After that, you can build PHP with > these patches with "./pre-inst-env guix build php". > I had a guix clone from previous attempts to patch things, so I proceeded to apply the patches. Patch 1 returned a message along the lines (translation) of "apply: * gnu/packages/gd.scm (gd): Change inputs to propagated-inputs". However, = LC_ALL=C git am ../Downloads/patch-2.txt Patch format detection failed. = ^ permalink raw reply [flat|nested] 15+ messages in thread
* [bug#72962] php-8.3.10 build failure 2024-09-04 7:27 ` Carlo Zancanaro 2024-09-04 7:43 ` [bug#72962] " guix-patches--- via @ 2024-09-04 7:59 ` guix-patches--- via 2024-09-04 10:32 ` guix-patches--- via 2 siblings, 0 replies; 15+ messages in thread From: guix-patches--- via @ 2024-09-04 7:59 UTC (permalink / raw) To: Carlo Zancanaro; +Cc: Rutherther, 72962, 72943 Upon further inspection, I noticed the second patch is missing the From: <email> header. I copied it from the first patch and it applied. The build is now in progress on my slow laptop, so I am sending this report immediately. ^ permalink raw reply [flat|nested] 15+ messages in thread
* [bug#72962] php-8.3.10 build failure 2024-09-04 7:27 ` Carlo Zancanaro 2024-09-04 7:43 ` [bug#72962] " guix-patches--- via 2024-09-04 7:59 ` guix-patches--- via @ 2024-09-04 10:32 ` guix-patches--- via 2 siblings, 0 replies; 15+ messages in thread From: guix-patches--- via @ 2024-09-04 10:32 UTC (permalink / raw) To: Carlo Zancanaro; +Cc: Rutherther, 72962, 72943 The build completed and passed all the tests. Is this the right moment to say reviewed-looks-good? Would I do it by writing the usertag followed by thanks in the beginning of the message? Or am I confusing concepts? ^ permalink raw reply [flat|nested] 15+ messages in thread
* [bug#72943] Patches applied 2024-09-01 19:11 [bug#72943] [PATCH] gnu: gd: Requires.private to propagated inputs Rutherther via Guix-patches via 2024-09-01 23:33 ` Carlo Zancanaro 2024-09-02 17:23 ` Rutherther via Guix-patches via @ 2024-09-05 20:41 ` Andreas Enge 2 siblings, 0 replies; 15+ messages in thread From: Andreas Enge @ 2024-09-05 20:41 UTC (permalink / raw) To: 72968-done, 72943 Hello, I have applied Carlos's second patch of https://issues.guix.gnu.org/72943 which gives an explanation why we skip the tests, and Noé's patch of https://issues.guix.gnu.org/72968 adding the missing inputs. As php currently does not build after the core-updates merge and this issue has been turning up regularly over the past few days, I have taken the liberty to push the commits directly without going through QA; I have tested that the package builds and works with one of my local php projects. I am closing the second issue, which is thus handled. And I am leaving the first issue open; while the immediate php problem is (hopefully) solved, it remains to be discussed whether we should propagate the gd inputs in the longer term. My understanding is that given the pkg-config file, we normally would propagate the inputs. On the other hand, propagated inputs tend to create problems (for instance, when two different packages propagate two different versions of the same input library); and I do not quite understand why with over 5000 packages depending on gd, most of them do not seem to be affected. Maybe these do not use pkg-config to check for gd? So it may be a better option to only patch the affected packages (if any are left) and leave gd as it is. Andreas ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#72962: php-8.3.10 build failure @ 2024-09-02 11:04 Marek Paśnikowski via Bug reports for GNU Guix 2024-09-02 17:27 ` [bug#72962] " Rutherther via Guix-patches via 2024-09-11 3:29 ` Nathan Dehnel 0 siblings, 2 replies; 15+ messages in thread From: Marek Paśnikowski via Bug reports for GNU Guix @ 2024-09-02 11:04 UTC (permalink / raw) To: 72962 Good morning or afternoon. I am not able to update my system due to the following build failure: standard output context ~ The following derivations will be built: /gnu/store/m7jd9csjwb8yvznassm2mgkx8nyx9m0q-easyeffects-7.1.7.drv /gnu/store/1gr6a27wls2xlykjqkgy51pxv8c5hfmi-lsp-plugins-1.2.15.drv /gnu/store/gxjs8dzg8gmif2gj1ybkxxzv623qpq4q-php-8.3.10.drv ~ build log context ~ configure: error: Package requirements (gdlib >= 2.1.0) were not met: Package 'freetype2', required by 'gdlib', not found ~ I checked with the source code of (gnu packages php) — freetype does not exist in the file. I apologize for not posting a patch, but I am still wrapping my head around concepts more fundamental than patch submission. For example, I think it is a good idea to Cc the PHP team here, but failed to find documentation on how to identify the team’s email address. ^ permalink raw reply [flat|nested] 15+ messages in thread
* [bug#72962] php-8.3.10 build failure 2024-09-02 11:04 bug#72962: php-8.3.10 build failure Marek Paśnikowski via Bug reports for GNU Guix @ 2024-09-02 17:27 ` Rutherther via Guix-patches via 2024-09-11 3:29 ` Nathan Dehnel 1 sibling, 0 replies; 15+ messages in thread From: Rutherther via Guix-patches via @ 2024-09-02 17:27 UTC (permalink / raw) To: 72962; +Cc: Tobias Geerinckx-Rice Hello everyone, note that the linked issue solves this only partially. It fixes gd itself, but then there are still three failing tests in php. I suggest this as current workaround locally: --- (use-modules (guix packages) (gnu packages gd) (gnu packages php)) (define gd-fixed (package/inherit gd (name "gd-fixed") (propagated-inputs (package-inputs gd)))) (define php (package/inherit php (inputs (modify-inputs (package-inputs php) (replace "gd" gd-fixed))))) php ^ permalink raw reply [flat|nested] 15+ messages in thread
* [bug#72962] php-8.3.10 build failure 2024-09-02 11:04 bug#72962: php-8.3.10 build failure Marek Paśnikowski via Bug reports for GNU Guix 2024-09-02 17:27 ` [bug#72962] " Rutherther via Guix-patches via @ 2024-09-11 3:29 ` Nathan Dehnel 1 sibling, 0 replies; 15+ messages in thread From: Nathan Dehnel @ 2024-09-11 3:29 UTC (permalink / raw) To: 72962 ping ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2024-09-11 3:32 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-09-01 19:11 [bug#72943] [PATCH] gnu: gd: Requires.private to propagated inputs Rutherther via Guix-patches via 2024-09-01 23:33 ` Carlo Zancanaro 2024-09-02 17:23 ` Rutherther via Guix-patches via 2024-09-03 0:19 ` Carlo Zancanaro 2024-09-03 1:54 ` [bug#72943] [PATCH 1/2] " Carlo Zancanaro 2024-09-03 1:54 ` [bug#72943] [PATCH 2/2] gnu: php: Disable tests relating to BICUBIC interpolation Carlo Zancanaro 2024-09-04 6:50 ` [bug#72962] php-8.3.10 build failure guix-patches--- via 2024-09-04 6:50 ` [bug#72943] bug#72962: " guix-patches--- via 2024-09-04 7:27 ` Carlo Zancanaro 2024-09-04 7:43 ` [bug#72962] " guix-patches--- via 2024-09-04 7:59 ` guix-patches--- via 2024-09-04 10:32 ` guix-patches--- via 2024-09-05 20:41 ` [bug#72943] Patches applied Andreas Enge -- strict thread matches above, loose matches on Subject: below -- 2024-09-02 11:04 bug#72962: php-8.3.10 build failure Marek Paśnikowski via Bug reports for GNU Guix 2024-09-02 17:27 ` [bug#72962] " Rutherther via Guix-patches via 2024-09-11 3:29 ` Nathan Dehnel
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.