!jngDrdMgndWibPCYsR:nixos.org

Nix PHP

77 Members
A room for PHP developers running on Nix22 Servers

Load older messages


SenderMessageTime
17 May 2023
@Zevran:matrix.orgGaël ReyrolWell I am still stuck on the error with the hook executing the script from bash instead of python ... 14:33:32
@Zevran:matrix.orgGaël Reyrolhttps://github.com/gaelreyrol/nixpkgs/commit/d80b5eccf7191768fa18c2e917d3fba984f1aab114:33:33
@jtojnar:matrix.orgJan Tojnar
In reply to @Zevran:matrix.org
https://github.com/gaelreyrol/nixpkgs/commit/d80b5eccf7191768fa18c2e917d3fba984f1aab1
well, you are using writeScript without a shebang
14:50:59
@jtojnar:matrix.orgJan Tojnar you need writeShellScript 14:51:08
@Zevran:matrix.orgGaël Reyrol Mhhh I am using composerCreateRepositoryPythonScript not composerCreatreRepositoryScript 14:56:28
@jtojnar:matrix.orgJan Tojnar Gaël Reyrol: also you need to put the script into /bin/ otherwise stdenv will think it is a setup hook and try to run it or something 14:56:33
@jtojnar:matrix.orgJan Tojnarbut it is probably better to use substitutions rather than propagation anyway14:57:59
@jtojnar:matrix.orgJan Tojnarsince propagation will pollute the closure of dependents14:58:21
@jtojnar:matrix.orgJan Tojnar

Something like this:

diff --git a/pkgs/build-support/php/hooks/composer-setup-hook.sh b/pkgs/build-support/php/hooks/composer-setup-hook.sh
index 90e51c3659a..1bbc0991f3f 100644
--- a/pkgs/build-support/php/hooks/composer-setup-hook.sh
+++ b/pkgs/build-support/php/hooks/composer-setup-hook.sh
@@ -44,6 +44,8 @@ composerSetupConfigureHook() {
 
 composerSetupBuildHook() {
     echo "Executing composerSetupBuildHook"
+    PATH_original="$PATH"
+    export PATH="@path@"
 
     # argstr=("--no-interaction" "--download-only")
 
@@ -73,6 +75,7 @@ composerSetupBuildHook() {
     composer-create-repository-python ${argstr[@]}
 
     echo "Finished composerSetupBuildHook"
+    export PATH="$PATH_original"
 }
 
 composerSetupInstallHook() {
diff --git a/pkgs/build-support/php/hooks/default.nix b/pkgs/build-support/php/hooks/default.nix
index 5f51c77b75a..02fa8ca3421 100644
--- a/pkgs/build-support/php/hooks/default.nix
+++ b/pkgs/build-support/php/hooks/default.nix
@@ -12,7 +12,7 @@
 
 let
   # Can be call with composer-create-repository-python [-h] [--include-dev] lockfile_path output_path
-  composerCreateRepositoryPythonScript = writers.makePythonWriter python311 python3Packages buildPackages.python3Packages "composer-create-repository-python" {
+  composerCreateRepositoryPythonScript = writers.makePythonWriter python311 python3Packages buildPackages.python3Packages "/bin/composer-create-repository-python" {
     flakeIgnore = ["E501"];
   } ./composer-create-repository.py;
 
@@ -24,7 +24,16 @@ in
 {
   composerSetupHook = makeSetupHook {
       name = "composer-setup-hook.sh";
-      propagatedBuildInputs = [ php unzip xz git jq composerCreateRepositoryPythonScript ];
+      substitutions = {
+        path = lib.makeBinPath [
+          php
+          unzip
+          xz
+          git
+          jq
+          composerCreateRepositoryPythonScript
+        ];
+      }
     } ./composer-setup-hook.sh;
 
   composerInstallHook = makeSetupHook {
15:05:14
@Zevran:matrix.orgGaël ReyrolLike this? https://github.com/gaelreyrol/nixpkgs/commit/350cb0132980494f4bc174db4f0e6f3f5bdc23f315:22:51
@Zevran:matrix.orgGaël Reyrol It seems to work but then I get an SSL error while the script execute git fetch origin $rev : atal: unable to access 'https://github.com/composer/ca-bundle.git/': OpenSSL/3.0.8: error:16000069:STORE routines::unregistered scheme 15:25:09
@Zevran:matrix.orgGaël Reyrol I think I need pkgs.cacert 😅 15:28:23
@Zevran:matrix.orgGaël ReyrolYep :P15:29:56
@drupol:matrix.orgPolAllright15:30:02
@drupol:matrix.orgPolI stand here: https://github.com/NixOS/nixpkgs/pull/23245015:30:08
@drupol:matrix.orgPolI'm looking for a bit of help15:30:14
@drupol:matrix.orgPolThe composer plugin is hooked in, 15:30:19
@drupol:matrix.orgPolI just can't use it's output for some unknown Nix reasons15:30:30
@drupol:matrix.orgPol When I try to do ls -la ${composerVendorCache}, it breaks 15:30:49
@drupol:matrix.orgPolCan you please have a quick look, I've been working on this the whole afternoon, my head is in the fog now.15:31:11
@Zevran:matrix.orgGaël Reyrol Have you tried to not directly run composer build-local-repo in $out/repo but another and then copy it ? 15:34:25
@drupol:matrix.orgPol No. But if I do that, the path to the repository in package.json will not be valid anymore. 15:35:12
@drupol:matrix.orgPol * No. But if I do that, the paths to the repositories in package.json will not be valid anymore. 15:35:30
@drupol:matrix.orgPolI'm kinda stick15:35:50
@drupol:matrix.orgPol * I'm kinda stuck 15:35:53
@Zevran:matrix.orgGaël ReyrolI see :/15:39:20
@drupol:matrix.orgPolMaybe the solution will come along after a quick nap... Or maybe if Jan has an idea 💡!15:40:05
@Zevran:matrix.orgGaël Reyrol For some reason on my side when I build psalm, I get a hash mismatch, which is good but the one specified is not from psalm vendorHash but composer one. 😁 15:41:59
@Zevran:matrix.orgGaël Reyrol I tried your branch Pol I don't have any errors 15:44:49
@Zevran:matrix.orgGaël Reyrol Only the same mismatch from composer vendorHash. 15:45:26

Show newer messages


Back to Room ListRoom Version: 6