unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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#72962] php-8.3.10 build failure guix-patches--- via
  1 sibling, 1 reply; 13+ 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] 13+ messages in thread

* [bug#72962] php-8.3.10 build failure
  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       ` guix-patches--- via
  2024-09-04  6:50         ` [bug#72943] bug#72962: " guix-patches--- via
  2024-09-04  7:27         ` Carlo Zancanaro
  0 siblings, 2 replies; 13+ 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] 13+ messages in thread

* [bug#72943] bug#72962: php-8.3.10 build failure
  2024-09-04  6:50       ` [bug#72962] php-8.3.10 build failure guix-patches--- via
@ 2024-09-04  6:50         ` guix-patches--- via
  2024-09-04  7:27         ` Carlo Zancanaro
  1 sibling, 0 replies; 13+ 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] 13+ messages in thread

* [bug#72943] bug#72962: php-8.3.10 build failure
  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
                             ` (2 more replies)
  1 sibling, 3 replies; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ messages in thread

end of thread, other threads:[~2024-09-05 20:43 UTC | newest]

Thread overview: 13+ 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

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).