summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPol Dellaiera <pol.dellaiera@protonmail.com>2023-08-10 09:10:00 +0200
committerPol Dellaiera <pol.dellaiera@protonmail.com>2023-09-10 12:13:24 +0200
commite83be6bb3064457ae5b1832d2cf1e137f4ad50f3 (patch)
treeb77acfabe4b56a8874509d96dc515ce325c9733d
parentphp: Fix shellcheck string warnings in composer-install-hook (diff)
downloadnixpkgs-e83be6bb3064457ae5b1832d2cf1e137f4ad50f3.tar.gz
builder: move internal tools in `php/build-support/php/pkgs`
-rw-r--r--pkgs/build-support/php/build-composer-project.nix2
-rw-r--r--pkgs/build-support/php/build-composer-repository.nix2
-rw-r--r--pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix (renamed from pkgs/build-support/php/composer-local-repo-plugin.nix)2
-rw-r--r--pkgs/build-support/php/pkgs/composer-phar.nix48
-rw-r--r--pkgs/development/php-packages/composer/default.nix2
5 files changed, 52 insertions, 4 deletions
diff --git a/pkgs/build-support/php/build-composer-project.nix b/pkgs/build-support/php/build-composer-project.nix
index a56720b801b8..b0be330205fa 100644
--- a/pkgs/build-support/php/build-composer-project.nix
+++ b/pkgs/build-support/php/build-composer-project.nix
@@ -6,7 +6,7 @@ let
let
phpDrv = finalAttrs.php or php;
composer = finalAttrs.composer or phpDrv.packages.composer;
- composer-local-repo-plugin = callPackage ./composer-local-repo-plugin.nix { };
+ composer-local-repo-plugin = callPackage ./pkgs/composer-local-repo-plugin.nix { };
composerLock = finalAttrs.composerLock or null;
in
{
diff --git a/pkgs/build-support/php/build-composer-repository.nix b/pkgs/build-support/php/build-composer-repository.nix
index 95681104e234..86362f151f09 100644
--- a/pkgs/build-support/php/build-composer-repository.nix
+++ b/pkgs/build-support/php/build-composer-repository.nix
@@ -19,7 +19,7 @@ let
let
phpDrv = finalAttrs.php or php;
composer = finalAttrs.composer or phpDrv.packages.composer;
- composer-local-repo-plugin = callPackage ./composer-local-repo-plugin.nix { };
+ 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.");
diff --git a/pkgs/build-support/php/composer-local-repo-plugin.nix b/pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix
index f93e13150654..03b5f4eb5809 100644
--- a/pkgs/build-support/php/composer-local-repo-plugin.nix
+++ b/pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix
@@ -1,7 +1,7 @@
{ callPackage, stdenvNoCC, lib, fetchFromGitHub, makeBinaryWrapper }:
let
- composer = callPackage ../../development/tools/misc/composer { };
+ composer = callPackage ./composer-phar.nix { };
composerKeys = stdenvNoCC.mkDerivation (finalComposerKeysAttrs: {
pname = "composer-keys";
diff --git a/pkgs/build-support/php/pkgs/composer-phar.nix b/pkgs/build-support/php/pkgs/composer-phar.nix
new file mode 100644
index 000000000000..e85d581d096a
--- /dev/null
+++ b/pkgs/build-support/php/pkgs/composer-phar.nix
@@ -0,0 +1,48 @@
+{
+ _7zz
+ , cacert
+ , curl
+ , fetchurl
+ , git
+ , lib
+ , makeBinaryWrapper
+ , php
+ , stdenvNoCC
+ , unzip
+ , xz
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+ pname = "composer-phar";
+ version = "2.6.2";
+
+ src = fetchurl {
+ url = "https://github.com/composer/composer/releases/download/${finalAttrs.version}/composer.phar";
+ hash = "sha256-iMhNSlP88cJ9Z2Lh1da3DVfG3J0uIxT9Cdv4a/YeGu8=";
+ };
+
+ dontUnpack = true;
+
+ nativeBuildInputs = [ makeBinaryWrapper ];
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/bin
+ 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 ]}
+
+ runHook postInstall
+ '';
+
+ meta = {
+ changelog = "https://github.com/composer/composer/releases/tag/${finalAttrs.version}";
+ description = "Dependency Manager for PHP, shipped from the PHAR file";
+ homepage = "https://getcomposer.org/";
+ license = lib.licenses.mit;
+ maintainers = lib.teams.php.members;
+ platforms = lib.platforms.all;
+ };
+})
diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix
index 49ad9448bd6c..5b738357e814 100644
--- a/pkgs/development/php-packages/composer/default.nix
+++ b/pkgs/development/php-packages/composer/default.nix
@@ -1,7 +1,7 @@
{ lib, callPackage, fetchFromGitHub, php, unzip, _7zz, xz, git, curl, cacert, makeBinaryWrapper }:
php.buildComposerProject (finalAttrs: {
- composer = callPackage ../../tools/misc/composer { };
+ composer = callPackage ../../../build-support/php/pkgs/composer-phar.nix { };
pname = "composer";
version = "2.6.2";