!jngDrdMgndWibPCYsR:nixos.org

Nix PHP

74 Members
A room for PHP developers running on Nix21 Servers

Load older messages


SenderMessageTime
10 Jul 2023
@drupol:matrix.orgPolWhen doing this: https://github.com/NixOS/nixpkgs/blob/fb8cc2484eb3cfff4934b834d6d9cd6b80426d23/pkgs/development/php-packages/mongodb/default.nix#L1714:18:56
@drupol:matrix.orgPol Basically, I'm calling buildPecl from php. 14:19:08
@drupol:matrix.orgPol However, when used in fossar/nix-phps as such: nix build .#php74.extensions.mongodb, the PHP version in use is always 8.2. 14:19:36
@drupol:matrix.orgPol

I changed the way the builder is called, from: buildPecl rec {...} to php.buildPecl rec {...}.
At first I though that the behavior would be the same as the original one, but it's not. The php version is always the same, no matter wich one I specify: nix build .#php81.extensions.mongodb or nix build .#php83.extensions.mongodb. It is still picking PHP 8.2.
How can I do to use the old behavior and just use buildPecl rec {...} ? I tried and I get this issue:

❯ nix build .#php83.extensions.mongodb -L
error: evaluation aborted with the following error message: 'Function called without required argument "buildPecl" at /nix/store/ij8r2bhqxjqahyrn09wb69hy871d6ssg-source/pkgs/development/php-packages/mongodb/default.nix:2'
~/C/N/nixpkgs > php/extension/bump-mongodb-extension +2 -2 [!] ✘ 
14:31:59
@drupol:matrix.orgPolA solution has been found, PR is up at https://github.com/NixOS/nixpkgs/pull/24265515:14:03
@drupol:matrix.orgPolHey got some news ! https://phpconference.com/web-development/leveraging-nix-php-ecosystem/16:05:27
@drupol:matrix.orgPolGoing to have some fun :)16:18:02
@shyim:matrix.orgShyimnice one! :D if you need help or something let me know!16:34:28
@drupol:matrix.orgPolOh thanks :)16:34:55
@drupol:matrix.orgPolI will most probably16:35:00
@shyim:matrix.orgShyimimage.png
Download image.png
16:36:08
@shyim:matrix.orgShyimDid someone discovered too that php-fpm is ignoring signals? 16:36:11
@shyim:matrix.orgShyim * Did someone discovered too that php-fpm is ignoring signals? We didn't updated I guess for 1-2 months our flake.lock. It's hard to find what causes it 😅16:36:35
@drupol:matrix.orgPolWow... no clue16:43:05
@shyim:matrix.orgShyimokay it was devenv related 😅 https://github.com/cachix/devenv/pull/71217:47:25
23 Jul 2023
@drupol:matrix.orgPolHey, 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?07:56:08
@drupol:matrix.orgPolI was not having the issue before: https://github.com/loophp/nix-shell/actions/runs/556347728907:58:53
@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

Show newer messages


Back to Room ListRoom Version: 6