!jngDrdMgndWibPCYsR:nixos.org

Nix PHP

71 Members
A room for PHP developers running on Nix21 Servers

Load older messages


SenderMessageTime
23 Jul 2023
@drupol:matrix.orgPol To reproduce the issue on a Darwin machine: nix build github:loophp/nix-shell/update_flake_lock_action#php56 08:04:57
@drupol:matrix.orgPolProblem solved.09:04:02
@drupol:matrix.orgPol The problem is the mysqlnd which requires openssl. 09:04:13
@drupol:matrix.orgPolOpenSSL version 1! Not 3.09:04:23
@drupol:matrix.orgPol Going to push a patch to fossar/nix-phps. 09:04:33
@drupol:matrix.orgPol False alarm. Compiling openssl extension with PHP 5.6 on Darwin still requires Openssl 3. Weird. 09:41:36
@jtojnar:matrix.orgJan Tojnar
In reply to @drupol:matrix.org
Hey, I've got a weird behavior in a Nix project of mine. The project aim to maintain old versions of the PHP language.
For some reason, the builds running on Darwin are picking the newest version of OpenSSL (3), not the old one (1) despite the fact that we are doing it (https://github.com/fossar/nix-phps/blob/9d00fd85709bcd48c80530cc71fbace99c375038/pkgs/package-overrides.nix#L510).
See the Github actions run, almost all the Darwin builds are failing for the same reason: https://github.com/loophp/nix-shell/actions/runs/5635189875

Do you have a clue what it could be?
Maybe try using builtins.trace for debugging
10:25:56
@drupol:matrix.orgPolI opened an issue in nix-phps, I can reproduce the issue there10:35:26
@drupol:matrix.orgPolIf anyone with a Darwin machine could have a look at https://github.com/fossar/nix-phps/pull/282 it would be nice.14:45:38
@drupol:matrix.orgPol
In reply to @jtojnar:matrix.org
Maybe try using builtins.trace for debugging
Without Darwin machine, it's a bit complicated :(
14:50:34
@drupol:matrix.orgPol

I applied this patch:

diff --git i/pkgs/package-overrides.nix w/pkgs/package-overrides.nix
index 6cd988d..1691c5e 100644
--- i/pkgs/package-overrides.nix
+++ w/pkgs/package-overrides.nix
@@ -507,17 +507,21 @@ in
         in
         ourPatches ++ upstreamPatches;
 
-      buildInputs =
-        let
-          replaceOpenssl = pkg:
-            if pkg == pkgs.openssl && lib.versionOlder prev.php.version "8.1" then
-              pkgs.openssl_1_1.overrideAttrs (old: {
-                meta = builtins.removeAttrs old.meta [ "knownVulnerabilities" ];
-              })
-            else
-              pkg;
-        in
-        builtins.map replaceOpenssl attrs.buildInputs;
+      buildInputs =let
+        a =
+          let
+            replaceOpenssl = pkg:
+              if pkg == pkgs.openssl && lib.versionOlder prev.php.version "8.1" then
+                pkgs.openssl_1_1.overrideAttrs (old: {
+                  meta = builtins.removeAttrs old.meta [ "knownVulnerabilities" ];
+                })
+              else
+                pkg;
+          in
+            builtins.map replaceOpenssl attrs.buildInputs;
+        b = (lib.elemAt a 0).version;
+      in
+        builtins.trace b a;
     });
 
     openswoole =

And then I run: nix build .#php74.extensions.openssl -L

I can see: 1.1.1u.

It would be nice to do the same on a Darwin machine.

14:59:56
@drupol:matrix.orgPol *

I applied this patch:

diff --git i/pkgs/package-overrides.nix w/pkgs/package-overrides.nix
index 6cd988d..1691c5e 100644
--- i/pkgs/package-overrides.nix
+++ w/pkgs/package-overrides.nix
@@ -507,17 +507,21 @@ in
         in
         ourPatches ++ upstreamPatches;
 
-      buildInputs =
-        let
-          replaceOpenssl = pkg:
-            if pkg == pkgs.openssl && lib.versionOlder prev.php.version "8.1" then
-              pkgs.openssl_1_1.overrideAttrs (old: {
-                meta = builtins.removeAttrs old.meta [ "knownVulnerabilities" ];
-              })
-            else
-              pkg;
-        in
-        builtins.map replaceOpenssl attrs.buildInputs;
+      buildInputs =let
+        a =
+          let
+            replaceOpenssl = pkg:
+              if pkg == pkgs.openssl && lib.versionOlder prev.php.version "8.1" then
+                pkgs.openssl_1_1.overrideAttrs (old: {
+                  meta = builtins.removeAttrs old.meta [ "knownVulnerabilities" ];
+                })
+              else
+                pkg;
+          in
+            builtins.map replaceOpenssl attrs.buildInputs;
+        b = (lib.elemAt a 0).name
+      in
+        builtins.trace b a;
     });
 
     openswoole =

And then I run: nix build .#php74.extensions.openssl -L

I can see: 1.1.1u.

It would be nice to do the same on a Darwin machine.

15:04:32
@drupol:matrix.orgPol *

I applied this patch:

diff --git i/pkgs/package-overrides.nix w/pkgs/package-overrides.nix
index 6cd988d..1691c5e 100644
--- i/pkgs/package-overrides.nix
+++ w/pkgs/package-overrides.nix
@@ -507,17 +507,21 @@ in
         in
         ourPatches ++ upstreamPatches;
 
-      buildInputs =
-        let
-          replaceOpenssl = pkg:
-            if pkg == pkgs.openssl && lib.versionOlder prev.php.version "8.1" then
-              pkgs.openssl_1_1.overrideAttrs (old: {
-                meta = builtins.removeAttrs old.meta [ "knownVulnerabilities" ];
-              })
-            else
-              pkg;
-        in
-        builtins.map replaceOpenssl attrs.buildInputs;
+      buildInputs =let
+        a =
+          let
+            replaceOpenssl = pkg:
+              if pkg == pkgs.openssl && lib.versionOlder prev.php.version "8.1" then
+                pkgs.openssl_1_1.overrideAttrs (old: {
+                  meta = builtins.removeAttrs old.meta [ "knownVulnerabilities" ];
+                })
+              else
+                pkg;
+          in
+            builtins.map replaceOpenssl attrs.buildInputs;
+        b = (lib.elemAt a 0).name
+      in
+        builtins.trace b a;
     });
 
     openswoole =

And then I run: nix build .#php74.extensions.openssl -L

I can see: openssl-1.1.1u, so the replacement works. But it seems it is not on Darwin... any available to verify ?

It would be nice to do the same on a Darwin machine.

15:05:08
@drupol:matrix.orgPol Maybe Stéphan ? ** 15:11:21
@drupol:matrix.orgPol * Maybe Stéphan ? ^^ 15:11:37
@drupol:matrix.orgPolI've describe the procedure here: https://github.com/fossar/nix-phps/pull/28215:13:42
@drupol:matrix.orgPolThe issue has been found by the Darwin maintainer team16:44:44
@drupol:matrix.orgPolApparently, there are two different version of OpenSSL 3 and this patch should fix the issue: https://github.com/fossar/nix-phps/pull/282/commits/6712008dcaccb7f74a7b7c5bc376713d01f64e8516:45:25
25 Jul 2023
@drupol:matrix.orgPol There has been an update of libxml2 in nixpkgs and it's breaking some tests in the PHP dom extension. Do you think this approach to fix the issue is the best one ?
https://github.com/fossar/nix-phps/pull/286#issuecomment-1649651146 Comments are welcome.
14:28:20
@pederbs:pvv.ntnu.nopbsds changed their display name from pbsds to pbsds (UTC+1).19:03:43
27 Jul 2023
@ribosomerocker:matrix.orgribosomerocker joined the room.03:04:31
29 Jul 2023
@lstrojny:matrix.orgLars StrojnyHow is the PHP interpreter selected that is used inside of the pecl script? Certain commands like pecl package require an extension, in this case, zlib but building PHP with zlib extension enabled doesn’t change the interpreter. Any way to fix that?09:26:34
@lstrojny:matrix.orgLars Strojny This is my PHP: pkgs.php82.withExtensions ({ enabled, all }: enabled ++ [ all.zlib all.gd ])) 09:26:57
@lstrojny:matrix.orgLars Strojny But still pecl package complains about missing zlib 09:27:08
@lstrojny:matrix.orgLars Strojny I found a workaround by setting PHP_PEAR_PHP_BIN=which php`` but that’s not ideal 09:28:49
@lstrojny:matrix.orgLars Strojny * I found a workaround by setting PHP_PEAR_PHP_BIN=\which php`` but that’s not ideal 09:29:02
@lstrojny:matrix.orgLars Strojny * I found a workaround by setting `PHP_PEAR_PHP_BIN=``which php``` but that’s not ideal09:29:18
@lstrojny:matrix.orgLars Strojny * I found a workaround by setting PHP_PEAR_PHP_BIN=which php but that’s not ideal 09:29:39
@drupol:matrix.orgPol
In reply to @lstrojny:matrix.org
But still pecl package complains about missing zlib
What is doing that command, I don't know it yet.
10:49:32
@lstrojny:matrix.orgLars Strojny Pol: it’s for package maintainers to generate new release archives for PECL extensions 12:36:27

Show newer messages


Back to Room ListRoom Version: 6