GNU bug report logs -
#72943
[PATCH] gnu: gd: Requires.private to propagated inputs
Previous Next
To reply to this bug, email your comments to 72943 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Sun, 01 Sep 2024 21:48:05 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Rutherther <rutherther <at> protonmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sun, 01 Sep 2024 21:48:05 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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
Merged 72940 72943.
Request was from
Tobias Geerinckx-Rice <me <at> tobias.gr>
to
control <at> debbugs.gnu.org
.
(Sun, 01 Sep 2024 22:26:03 GMT)
Full text and
rfc822 format available.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Sun, 01 Sep 2024 23:35:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 72943 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
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
[0001-gnu-gd-Restore-patch-to-fix-pkg-config-finding-libgd.patch (text/x-patch, inline)]
From 80dee500e88cfb56984062b2d376b9423a7c9507 Mon Sep 17 00:00:00 2001
Message-ID: <80dee500e88cfb56984062b2d376b9423a7c9507.1725233445.git.carlo <at> zancanaro.id.au>
From: Carlo Zancanaro <carlo <at> 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 <at> 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
Merged 72940 72943 72962.
Request was from
Tobias Geerinckx-Rice <me <at> tobias.gr>
to
control <at> debbugs.gnu.org
.
(Mon, 02 Sep 2024 11:55:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Mon, 02 Sep 2024 21:56:02 GMT)
Full text and
rfc822 format available.
Message #15 received at 72943 <at> debbugs.gnu.org (full text, mbox):
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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Tue, 03 Sep 2024 00:21:01 GMT)
Full text and
rfc822 format available.
Message #18 received at 72943 <at> debbugs.gnu.org (full text, mbox):
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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Tue, 03 Sep 2024 01:57:02 GMT)
Full text and
rfc822 format available.
Message #21 received at 72943 <at> debbugs.gnu.org (full text, mbox):
From: Rutherther <rutherther <at> 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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Tue, 03 Sep 2024 01:57:02 GMT)
Full text and
rfc822 format available.
Message #24 received at 72943 <at> debbugs.gnu.org (full text, mbox):
* 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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Wed, 04 Sep 2024 07:25:03 GMT)
Full text and
rfc822 format available.
Message #27 received at 72943 <at> debbugs.gnu.org (full text, mbox):
Carlo Zancanaro <carlo <at> 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?
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Wed, 04 Sep 2024 07:29:01 GMT)
Full text and
rfc822 format available.
Message #30 received at 72943 <at> debbugs.gnu.org (full text, mbox):
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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Wed, 04 Sep 2024 12:33:02 GMT)
Full text and
rfc822 format available.
Message #33 received at 72943 <at> debbugs.gnu.org (full text, mbox):
Carlo Zancanaro <carlo <at> 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.
=
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Wed, 04 Sep 2024 12:33:03 GMT)
Full text and
rfc822 format available.
Message #36 received at 72943 <at> debbugs.gnu.org (full text, mbox):
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.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Wed, 04 Sep 2024 12:33:03 GMT)
Full text and
rfc822 format available.
Message #39 received at 72943 <at> debbugs.gnu.org (full text, mbox):
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?
Information forwarded
to
guix-patches <at> gnu.org
:
bug#72943
; Package
guix-patches
.
(Thu, 05 Sep 2024 20:44:02 GMT)
Full text and
rfc822 format available.
Message #42 received at 72943 <at> debbugs.gnu.org (full text, mbox):
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
This bug report was last modified 284 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.