diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2024-05-05 14:20:07 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2024-05-05 14:50:32 +0200 |
commit | 100509c030faf7cca1582c5a7197b8d3a815d600 (patch) | |
tree | d55f8944fd90a3dd0d86e0f495f3d0bbdf795060 /pkgs/build-support | |
parent | 5434ca3ba0d0db2de14cfb9a0818ea8718f696ad (diff) | |
parent | 5dc079ed333c755fe000f2b86e97bf11f6f069a4 (diff) |
Merge branch 'staging-next' into staging
Conflicts in luaPackages.luarocks-nix: - 8b563cd9f923cdf009b3864a358d912103703320 switched to the new version format (prefixed by 0 since there was no relevant last tag in the branch). bc4f6fa54321533b250984f7b3813f8d343dfde1 bumped version and switched to the new version format. But the tag used is not part of the branch the commit comes from (master). Used the new version but replaced the tag prefix with 0. - b73ec84b9eed8de7e9095e779ee3d4066ceb091e removed meta (it is already set in the overridden luarocks). But that would cause the update script to try to update the overridden luarocks (as did the previously used old.meta). bf311d950e4c5d65fae66717c7c3d4f085ff6415 modified meta to fix the update script properly. Kept the meta from the latter since it allows update script to work.
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/php/build-composer-project.nix | 77 | ||||
-rw-r--r-- | pkgs/build-support/php/build-composer-repository.nix | 77 | ||||
-rw-r--r-- | pkgs/build-support/php/build-pecl.nix | 98 | ||||
-rw-r--r-- | pkgs/build-support/php/hooks/default.nix | 61 | ||||
-rw-r--r-- | pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix | 21 | ||||
-rw-r--r-- | pkgs/build-support/php/pkgs/composer-phar.nix | 37 |
6 files changed, 228 insertions, 143 deletions
diff --git a/pkgs/build-support/php/build-composer-project.nix b/pkgs/build-support/php/build-composer-project.nix index 80c63bcde71b9..5a21eda03544a 100644 --- a/pkgs/build-support/php/build-composer-project.nix +++ b/pkgs/build-support/php/build-composer-project.nix @@ -1,7 +1,17 @@ -{ callPackage, stdenvNoCC, lib, writeTextDir, php, makeBinaryWrapper, fetchFromGitHub, fetchurl }: +{ + callPackage, + stdenvNoCC, + lib, + writeTextDir, + php, + makeBinaryWrapper, + fetchFromGitHub, + fetchurl, +}: let - buildComposerProjectOverride = finalAttrs: previousAttrs: + buildComposerProjectOverride = + finalAttrs: previousAttrs: let phpDrv = finalAttrs.php or php; @@ -22,49 +32,58 @@ let phpDrv.composerHooks.composerInstallHook ]; - buildInputs = (previousAttrs.buildInputs or [ ]) ++ [ - phpDrv - ]; + buildInputs = (previousAttrs.buildInputs or [ ]) ++ [ phpDrv ]; patches = previousAttrs.patches or [ ]; strictDeps = previousAttrs.strictDeps or true; # Should we keep these empty phases? - configurePhase = previousAttrs.configurePhase or '' - runHook preConfigure + configurePhase = + previousAttrs.configurePhase or '' + runHook preConfigure - runHook postConfigure - ''; + runHook postConfigure + ''; - buildPhase = previousAttrs.buildPhase or '' - runHook preBuild + buildPhase = + previousAttrs.buildPhase or '' + runHook preBuild - runHook postBuild - ''; + runHook postBuild + ''; doCheck = previousAttrs.doCheck or true; - checkPhase = previousAttrs.checkPhase or '' - runHook preCheck + checkPhase = + previousAttrs.checkPhase or '' + runHook preCheck - runHook postCheck - ''; + runHook postCheck + ''; - installPhase = previousAttrs.installPhase or '' - runHook preInstall + installPhase = + previousAttrs.installPhase or '' + runHook preInstall - runHook postInstall - ''; + runHook postInstall + ''; doInstallCheck = previousAttrs.doInstallCheck or false; - installCheckPhase = previousAttrs.installCheckPhase or '' - runHook preInstallCheck + installCheckPhase = + previousAttrs.installCheckPhase or '' + runHook preInstallCheck - runHook postInstallCheck - ''; + runHook postInstallCheck + ''; composerRepository = phpDrv.mkComposerRepository { inherit composer composer-local-repo-plugin; - inherit (finalAttrs) patches pname src vendorHash version; + inherit (finalAttrs) + patches + pname + src + vendorHash + version + ; composerLock = previousAttrs.composerLock or null; composerNoDev = previousAttrs.composerNoDev or true; @@ -73,9 +92,9 @@ let composerStrictValidation = previousAttrs.composerStrictValidation or true; }; - COMPOSER_CACHE_DIR="/dev/null"; - COMPOSER_DISABLE_NETWORK="1"; - COMPOSER_MIRROR_PATH_REPOS="1"; + COMPOSER_CACHE_DIR = "/dev/null"; + COMPOSER_DISABLE_NETWORK = "1"; + COMPOSER_MIRROR_PATH_REPOS = "1"; meta = previousAttrs.meta or { } // { platforms = lib.platforms.all; diff --git a/pkgs/build-support/php/build-composer-repository.nix b/pkgs/build-support/php/build-composer-repository.nix index e359c0829aaf7..a5b02fd95e04a 100644 --- a/pkgs/build-support/php/build-composer-repository.nix +++ b/pkgs/build-support/php/build-composer-repository.nix @@ -1,4 +1,11 @@ -{ callPackage, stdenvNoCC, lib, writeTextDir, fetchFromGitHub, php }: +{ + callPackage, + stdenvNoCC, + lib, + writeTextDir, + fetchFromGitHub, + php, +}: let mkComposerRepositoryOverride = @@ -22,12 +29,24 @@ let composer-local-repo-plugin = callPackage ./pkgs/composer-local-repo-plugin.nix { }; in assert (lib.assertMsg (previousAttrs ? src) "mkComposerRepository expects src argument."); - assert (lib.assertMsg (previousAttrs ? vendorHash) "mkComposerRepository expects vendorHash argument."); + assert ( + lib.assertMsg (previousAttrs ? vendorHash) "mkComposerRepository expects vendorHash argument." + ); assert (lib.assertMsg (previousAttrs ? version) "mkComposerRepository expects version argument."); assert (lib.assertMsg (previousAttrs ? pname) "mkComposerRepository expects pname argument."); - assert (lib.assertMsg (previousAttrs ? composerNoDev) "mkComposerRepository expects composerNoDev argument."); - assert (lib.assertMsg (previousAttrs ? composerNoPlugins) "mkComposerRepository expects composerNoPlugins argument."); - assert (lib.assertMsg (previousAttrs ? composerNoScripts) "mkComposerRepository expects composerNoScripts argument."); + assert ( + lib.assertMsg (previousAttrs ? composerNoDev) "mkComposerRepository expects composerNoDev argument." + ); + assert ( + lib.assertMsg ( + previousAttrs ? composerNoPlugins + ) "mkComposerRepository expects composerNoPlugins argument." + ); + assert ( + lib.assertMsg ( + previousAttrs ? composerNoScripts + ) "mkComposerRepository expects composerNoScripts argument." + ); { composerNoDev = previousAttrs.composerNoDev or true; composerNoPlugins = previousAttrs.composerNoPlugins or true; @@ -51,37 +70,42 @@ let strictDeps = previousAttrs.strictDeps or true; # Should we keep these empty phases? - configurePhase = previousAttrs.configurePhase or '' - runHook preConfigure + configurePhase = + previousAttrs.configurePhase or '' + runHook preConfigure - runHook postConfigure - ''; + runHook postConfigure + ''; - buildPhase = previousAttrs.buildPhase or '' - runHook preBuild + buildPhase = + previousAttrs.buildPhase or '' + runHook preBuild - runHook postBuild - ''; + runHook postBuild + ''; doCheck = previousAttrs.doCheck or true; - checkPhase = previousAttrs.checkPhase or '' - runHook preCheck + checkPhase = + previousAttrs.checkPhase or '' + runHook preCheck - runHook postCheck - ''; + runHook postCheck + ''; - installPhase = previousAttrs.installPhase or '' - runHook preInstall + installPhase = + previousAttrs.installPhase or '' + runHook preInstall - runHook postInstall - ''; + runHook postInstall + ''; doInstallCheck = previousAttrs.doInstallCheck or false; - installCheckPhase = previousAttrs.installCheckPhase or '' - runHook preInstallCheck + installCheckPhase = + previousAttrs.installCheckPhase or '' + runHook preInstallCheck - runHook postInstallCheck - ''; + runHook postInstallCheck + ''; COMPOSER_CACHE_DIR = "/dev/null"; COMPOSER_MIRROR_PATH_REPOS = "1"; @@ -89,7 +113,8 @@ let COMPOSER_DISABLE_NETWORK = "0"; outputHashMode = "recursive"; - outputHashAlgo = if (finalAttrs ? vendorHash && finalAttrs.vendorHash != "") then null else "sha256"; + outputHashAlgo = + if (finalAttrs ? vendorHash && finalAttrs.vendorHash != "") then null else "sha256"; outputHash = finalAttrs.vendorHash or ""; }; in diff --git a/pkgs/build-support/php/build-pecl.nix b/pkgs/build-support/php/build-pecl.nix index 6f38a668f3a34..16913a85c63de 100644 --- a/pkgs/build-support/php/build-pecl.nix +++ b/pkgs/build-support/php/build-pecl.nix @@ -1,45 +1,69 @@ -{ stdenv, lib, php, autoreconfHook, fetchurl, re2c, nix-update-script }: +{ + stdenv, + lib, + php, + autoreconfHook, + fetchurl, + re2c, + nix-update-script, +}: -{ pname -, version -, internalDeps ? [ ] -, peclDeps ? [ ] -, buildInputs ? [ ] -, nativeBuildInputs ? [ ] -, postPhpize ? "" -, makeFlags ? [ ] -, src ? fetchurl ({ - url = "https://pecl.php.net/get/${pname}-${version}.tgz"; - } // lib.filterAttrs (attrName: _: lib.elem attrName [ "sha256" "hash" ]) args) -, passthru ? { } -, ... +{ + pname, + version, + internalDeps ? [ ], + peclDeps ? [ ], + buildInputs ? [ ], + nativeBuildInputs ? [ ], + postPhpize ? "", + makeFlags ? [ ], + src ? fetchurl ( + { + url = "https://pecl.php.net/get/${pname}-${version}.tgz"; + } + // lib.filterAttrs ( + attrName: _: + lib.elem attrName [ + "sha256" + "hash" + ] + ) args + ), + passthru ? { }, + ... }@args: -stdenv.mkDerivation (args // { - name = "php-${pname}-${version}"; - extensionName = pname; +stdenv.mkDerivation ( + args + // { + name = "php-${pname}-${version}"; + extensionName = pname; - inherit src; + inherit src; - nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs; - buildInputs = [ php ] ++ peclDeps ++ buildInputs; + nativeBuildInputs = [ + autoreconfHook + re2c + ] ++ nativeBuildInputs; + buildInputs = [ php ] ++ peclDeps ++ buildInputs; - makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags; + makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags; - autoreconfPhase = '' - phpize - ${postPhpize} - ${lib.concatMapStringsSep "\n" - (dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}") - internalDeps} - ''; - checkPhase = "NO_INTERACTON=yes make test"; + autoreconfPhase = '' + phpize + ${postPhpize} + ${lib.concatMapStringsSep "\n" ( + dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}" + ) internalDeps} + ''; + checkPhase = "NO_INTERACTON=yes make test"; - passthru = passthru // { - # Thes flags were introduced for `nix-update` so that it can update - # PHP extensions correctly. - # See the corresponding PR: https://github.com/Mic92/nix-update/pull/123 - isPhpExtension = true; - updateScript = nix-update-script {}; - }; -}) + passthru = passthru // { + # Thes flags were introduced for `nix-update` so that it can update + # PHP extensions correctly. + # See the corresponding PR: https://github.com/Mic92/nix-update/pull/123 + isPhpExtension = true; + updateScript = nix-update-script { }; + }; + } +) diff --git a/pkgs/build-support/php/hooks/default.nix b/pkgs/build-support/php/hooks/default.nix index ca96b1056db9d..1bdc4d3e92805 100644 --- a/pkgs/build-support/php/hooks/default.nix +++ b/pkgs/build-support/php/hooks/default.nix @@ -1,11 +1,12 @@ -{ lib -, makeSetupHook -, diffutils -, jq -, writeShellApplication -, moreutils -, cacert -, buildPackages +{ + lib, + makeSetupHook, + diffutils, + jq, + writeShellApplication, + moreutils, + cacert, + buildPackages, }: let @@ -16,24 +17,30 @@ let }; in { - composerRepositoryHook = makeSetupHook - { - name = "composer-repository-hook.sh"; - propagatedBuildInputs = [ jq moreutils cacert ]; - substitutions = { - phpScriptUtils = lib.getExe php-script-utils; - }; - } ./composer-repository-hook.sh; + composerRepositoryHook = makeSetupHook { + name = "composer-repository-hook.sh"; + propagatedBuildInputs = [ + jq + moreutils + cacert + ]; + substitutions = { + phpScriptUtils = lib.getExe php-script-utils; + }; + } ./composer-repository-hook.sh; - composerInstallHook = makeSetupHook - { - name = "composer-install-hook.sh"; - propagatedBuildInputs = [ jq moreutils cacert ]; - substitutions = { - # Specify the stdenv's `diff` by abspath to ensure that the user's build - # inputs do not cause us to find the wrong `diff`. - cmp = "${lib.getBin buildPackages.diffutils}/bin/cmp"; - phpScriptUtils = lib.getExe php-script-utils; - }; - } ./composer-install-hook.sh; + composerInstallHook = makeSetupHook { + name = "composer-install-hook.sh"; + propagatedBuildInputs = [ + jq + moreutils + cacert + ]; + substitutions = { + # Specify the stdenv's `diff` by abspath to ensure that the user's build + # inputs do not cause us to find the wrong `diff`. + cmp = "${lib.getBin buildPackages.diffutils}/bin/cmp"; + phpScriptUtils = lib.getExe php-script-utils; + }; + } ./composer-install-hook.sh; } diff --git a/pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix b/pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix index bfdc3d4f98d1b..5351a3e51f4dc 100644 --- a/pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix +++ b/pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix @@ -1,9 +1,14 @@ -{ php, callPackage, stdenvNoCC, lib, fetchFromGitHub, makeBinaryWrapper }: +{ + php, + callPackage, + stdenvNoCC, + lib, + fetchFromGitHub, + makeBinaryWrapper, +}: let - composer = callPackage ./composer-phar.nix { - inherit (php.packages.composer) version pharHash; - }; + composer = callPackage ./composer-phar.nix { inherit (php.packages.composer) version pharHash; }; composerKeys = stdenvNoCC.mkDerivation (finalComposerKeysAttrs: { pname = "composer-keys"; @@ -43,13 +48,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { COMPOSER_HTACCESS_PROTECT = "0"; COMPOSER_DISABLE_NETWORK = "1"; - nativeBuildInputs = [ - makeBinaryWrapper - ]; + nativeBuildInputs = [ makeBinaryWrapper ]; - buildInputs = [ - composer - ]; + buildInputs = [ composer ]; configurePhase = '' runHook preConfigure diff --git a/pkgs/build-support/php/pkgs/composer-phar.nix b/pkgs/build-support/php/pkgs/composer-phar.nix index f281334ab2d9f..a03adc6e6ab0b 100644 --- a/pkgs/build-support/php/pkgs/composer-phar.nix +++ b/pkgs/build-support/php/pkgs/composer-phar.nix @@ -1,17 +1,17 @@ { - _7zz - , cacert - , curl - , fetchurl - , git - , lib - , makeBinaryWrapper - , php - , stdenvNoCC - , unzip - , xz - , version - , pharHash + _7zz, + cacert, + curl, + fetchurl, + git, + lib, + makeBinaryWrapper, + php, + stdenvNoCC, + unzip, + xz, + version, + pharHash, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -34,7 +34,16 @@ stdenvNoCC.mkDerivation (finalAttrs: { install -D $src $out/libexec/composer/composer.phar makeWrapper ${php}/bin/php $out/bin/composer \ --add-flags "$out/libexec/composer/composer.phar" \ - --prefix PATH : ${lib.makeBinPath [ _7zz cacert curl git unzip xz ]} + --prefix PATH : ${ + lib.makeBinPath [ + _7zz + cacert + curl + git + unzip + xz + ] + } runHook postInstall ''; |