about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/php-packages/grumphp/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-10-22 08:39:18 +0000
committerAlyssa Ross <hi@alyssa.is>2023-10-22 08:39:18 +0000
commit403acf82248d3cdbc0beda0c5c373c1b46b9b636 (patch)
treee3913fd47e374b9525858fa1e61064fd1113e475 /nixpkgs/pkgs/development/php-packages/grumphp/default.nix
parentb5faee77a2dceb31545db209ebee1476acb71198 (diff)
parent8dfad603247387df1df4826b8bea58efc5d012d8 (diff)
downloadnixlib-403acf82248d3cdbc0beda0c5c373c1b46b9b636.tar
nixlib-403acf82248d3cdbc0beda0c5c373c1b46b9b636.tar.gz
nixlib-403acf82248d3cdbc0beda0c5c373c1b46b9b636.tar.bz2
nixlib-403acf82248d3cdbc0beda0c5c373c1b46b9b636.tar.lz
nixlib-403acf82248d3cdbc0beda0c5c373c1b46b9b636.tar.xz
nixlib-403acf82248d3cdbc0beda0c5c373c1b46b9b636.tar.zst
nixlib-403acf82248d3cdbc0beda0c5c373c1b46b9b636.zip
Merge commit '8dfad603247387df1df4826b8bea58efc5d012d8'
Diffstat (limited to 'nixpkgs/pkgs/development/php-packages/grumphp/default.nix')
-rw-r--r--nixpkgs/pkgs/development/php-packages/grumphp/default.nix54
1 files changed, 35 insertions, 19 deletions
diff --git a/nixpkgs/pkgs/development/php-packages/grumphp/default.nix b/nixpkgs/pkgs/development/php-packages/grumphp/default.nix
index c7c2d9fc323e..6367dd996bf2 100644
--- a/nixpkgs/pkgs/development/php-packages/grumphp/default.nix
+++ b/nixpkgs/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;
   };
 })