[PATCH] gnu: php: Fix build.

  • Done
  • quality assurance status badge
Details
3 participants
  • Andreas Enge
  • Noé Lopez
  • Rutherther
Owner
unassigned
Submitted by
Noé Lopez
Severity
normal
N
N
Noé Lopez wrote on 2 Sep 16:42 +0200
(address . bug-guix@gnu.org)
87a5gq2k3m.fsf@xn--no-cja.eu
Hi,

Here is a patch to fix the PHP build.

Have a good day,
Noé Lopez
From 225bbd80ed6d67f4c9157ad31a344bae42ffb998 Mon Sep 17 00:00:00 2001
Message-ID: <225bbd80ed6d67f4c9157ad31a344bae42ffb998.1725287764.git.noelopez@free.fr>
From: =?UTF-8?q?No=C3=A9=20Lopez?= <noelopez@free.fr>
Date: Mon, 2 Sep 2024 15:54:29 +0200
Subject: [PATCH] gnu: php: Fix build.

* gnu/packages/php.scm (php): Add missing dependencies and
disable failing tests.

Change-Id: I3ddc47e5ad121a8177e3a12c5dfe154a8d6029b6
---
gnu/packages/php.scm | 8 ++++++++
1 file changed, 8 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index 8f879dbdca..2f031ecd3d 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -252,6 +252,10 @@ (define-public php
"ext/gd/tests/bug72339.phpt"
;; AVIF support disabled
"ext/gd/tests/imagecreatefromstring_avif.phpt"
+ ;; No idea why
+ "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.
@@ -306,6 +310,10 @@ (define-public php
("bzip2" ,bzip2)
("curl" ,curl)
("cyrus-sasl" ,cyrus-sasl)
+ ("freetype" ,freetype)
+ ("fontconfig" ,fontconfig)
+ ("libjpeg-turbo" ,libjpeg-turbo)
+ ("libpng" ,libpng)
("gd" ,gd)
("gdbm" ,gdbm)
("gmp" ,gmp)

base-commit: e1c92c98f7afff13fb7060199ba0dd4d9c5c2c53
--
2.45.2
R
R
Rutherther wrote on 2 Sep 18:54 +0200
(address . 72968@debbugs.gnu.org)
87seui2dys.fsf@protonmail.com
Hello Noé,

thanks for your patch. Unfortunately, I don't think this is the
way to go. The issue here is that gd package has these in Requires.private
in the pkg-config file. That means every package that wants libgd
also has to get these inputs. Not only php. So gd has to be fixed here.
See issue #72943 where I sent a patch to make gd propagated inputs
and Carlo Zancanaro proposed returning code that was mistakenly
removed as part of core-updates.

The other part are the tests, where I think we should look into why they
are failing, and figure out if there is any issue in Guix or not
rather than removing them without investigating the cause.

Regards,
Ruther
A
A
Andreas Enge wrote on 5 Sep 22:41 +0200
Patches applied
ZtoXlEjn2BP-uDLu@jurong
Hello,

I have applied Carlos's second patch of
which gives an explanation why we skip the tests,
and Noᅵ's patch of
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
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 72968@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 72968
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch