about summary refs log tree commit diff
path: root/pkgs/development/php-packages
diff options
context:
space:
mode:
authorPol Dellaiera <pol.dellaiera@protonmail.com>2023-10-21 16:52:55 +0200
committerPol Dellaiera <pol.dellaiera@protonmail.com>2023-10-21 16:56:31 +0200
commitb247b1e07d3d6dbeacdf709106ac85abd15b80ff (patch)
treee731214258517554980091311342e8f85f56eb29 /pkgs/development/php-packages
parent56720599ce446fddaa63cfd3f2ca0824646de8d2 (diff)
downloadnixlib-b247b1e07d3d6dbeacdf709106ac85abd15b80ff.tar
nixlib-b247b1e07d3d6dbeacdf709106ac85abd15b80ff.tar.gz
nixlib-b247b1e07d3d6dbeacdf709106ac85abd15b80ff.tar.bz2
nixlib-b247b1e07d3d6dbeacdf709106ac85abd15b80ff.tar.lz
nixlib-b247b1e07d3d6dbeacdf709106ac85abd15b80ff.tar.xz
nixlib-b247b1e07d3d6dbeacdf709106ac85abd15b80ff.tar.zst
nixlib-b247b1e07d3d6dbeacdf709106ac85abd15b80ff.zip
php.packages.grumphp: 1.15.0 -> 2.1.0
Diffstat (limited to 'pkgs/development/php-packages')
-rw-r--r--pkgs/development/php-packages/grumphp/composer-json.patch27
-rw-r--r--pkgs/development/php-packages/grumphp/composer-lock.patch24
-rw-r--r--pkgs/development/php-packages/grumphp/default.nix54
3 files changed, 86 insertions, 19 deletions
diff --git a/pkgs/development/php-packages/grumphp/composer-json.patch b/pkgs/development/php-packages/grumphp/composer-json.patch
new file mode 100644
index 000000000000..7fd7441612cc
--- /dev/null
+++ b/pkgs/development/php-packages/grumphp/composer-json.patch
@@ -0,0 +1,27 @@
+From 2f53794374e0d32e1f322202c6668655792f745d Mon Sep 17 00:00:00 2001
+From: Pol Dellaiera <pol.dellaiera@protonmail.com>
+Date: Sat, 21 Oct 2023 16:46:59 +0200
+Subject: [PATCH] composer.json
+
+---
+ composer.json | 5 +-
+ 1 file changed, 4 insertion(+), 1 deletion(-)
+
+diff --git i/composer.json w/composer.json
+index 6ac54420..69b75a51 100644
+--- i/composer.json
++++ w/composer.json
+@@ -96,7 +96,10 @@
+         "bin/grumphp"
+     ],
+     "config": {
+-        "sort-packages": true
++        "sort-packages": true,
++        "platform": {
++            "php": "8.1"
++        }
+     },
+     "extra": {
+         "class": "GrumPHP\\Composer\\GrumPHPPlugin"
+--
+2.42.0
diff --git a/pkgs/development/php-packages/grumphp/composer-lock.patch b/pkgs/development/php-packages/grumphp/composer-lock.patch
new file mode 100644
index 000000000000..2fc801557c4f
--- /dev/null
+++ b/pkgs/development/php-packages/grumphp/composer-lock.patch
@@ -0,0 +1,24 @@
+From 2f53794374e0d32e1f322202c6668655792f745d Mon Sep 17 00:00:00 2001
+From: Pol Dellaiera <pol.dellaiera@protonmail.com>
+Date: Sat, 21 Oct 2023 16:46:59 +0200
+Subject: [PATCH] composer.lock
+
+---
+ phar.composer.lock | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/phar.composer.lock b/phar.composer.lock
+index 96b692c3..a8cb2a87 100644
+--- a/phar.composer.lock
++++ b/phar.composer.lock
+@@ -4,7 +4,7 @@
+         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+         "This file is @generated automatically"
+     ],
+-    "content-hash": "8a069c630e6ddbc4475db9a992430539",
++    "content-hash": "0474062650b24a22c63007631cf35f1e",
+     "packages": [
+         {
+             "name": "amphp/amp",
+--
+2.42.0
diff --git a/pkgs/development/php-packages/grumphp/default.nix b/pkgs/development/php-packages/grumphp/default.nix
index c7c2d9fc323e..6367dd996bf2 100644
--- a/pkgs/development/php-packages/grumphp/default.nix
+++ b/pkgs/development/php-packages/grumphp/default.nix
@@ -1,32 +1,48 @@
-{ mkDerivation, fetchurl, makeWrapper, lib, php }:
+{ fetchFromGitHub, stdenvNoCC, lib, php }:
 
-mkDerivation (finalAttrs: {
+php.buildComposerProject (finalAttrs: {
   pname = "grumphp";
-  version = "1.15.0";
+  version = "2.1.0";
 
-  src = fetchurl {
-    url = "https://github.com/phpro/grumphp/releases/download/v${finalAttrs.version}/grumphp.phar";
-    sha256 = "sha256-EqzJb7DYZb7PnebErLVI/EZLxj0m26cniZlsu1feif0=";
+  src = fetchFromGitHub {
+    owner = "phpro";
+    repo = "grumphp";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-RVgreCspdz+A6mdE2H4i8ajmdH8AZ9BOIw2OqLw7HfI=";
   };
 
-  dontUnpack = true;
+  patches = [
+    ./composer-json.patch
+  ];
 
-  nativeBuildInputs = [ makeWrapper ];
+  composerLock = stdenvNoCC.mkDerivation (finalComposerLockAttrs: {
+    name = "grumphp-composer-lock";
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    install -D $src $out/libexec/grumphp/grumphp.phar
-    makeWrapper ${php}/bin/php $out/bin/grumphp \
-      --add-flags "$out/libexec/grumphp/grumphp.phar"
-    runHook postInstall
-  '';
+    src = fetchFromGitHub {
+      owner = "phpro";
+      repo = "grumphp-shim";
+      rev = "v${finalAttrs.version}";
+      hash = "sha256-JxgRd0p/o3ouZ4MPke8cHqvAPuepY8ax0wx4t8+2dME=";
+    };
 
-  meta = with lib; {
+    patches = [
+      ./composer-lock.patch
+    ];
+
+    installPhase = ''
+      runHook preInstall
+      cp phar.composer.lock $out
+      runHook postInstall
+    '';
+  });
+
+  vendorHash = "sha256-yefamPAzIabDCzZ9ghKq9iPH7AoCdgCCQ8PKrUN9ifQ=";
+
+  meta = {
     changelog = "https://github.com/phpro/grumphp/releases/tag/v${finalAttrs.version}";
     description = "A PHP code-quality tool";
     homepage = "https://github.com/phpro/grumphp";
-    license = licenses.mit;
-    maintainers = teams.php.members;
+    license = lib.licenses.mit;
+    maintainers = lib.teams.php.members;
   };
 })