diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/by-name/ph/phpstan/package.nix similarity index 64% rename from pkgs/development/php-packages/phpstan/default.nix rename to pkgs/by-name/ph/phpstan/package.nix index 34104291c42d..4b80a9c2c136 100644 --- a/pkgs/development/php-packages/phpstan/default.nix +++ b/pkgs/by-name/ph/phpstan/package.nix @@ -1,23 +1,37 @@ { - fetchFromGitHub, + stdenv, lib, + fetchFromGitHub, php, versionCheckHook, + makeBinaryWrapper, }: -php.buildComposerProject2 (finalAttrs: { +stdenv.mkDerivation (finalAttrs: { pname = "phpstan"; - version = "2.1.32"; + version = "2.1.34"; src = fetchFromGitHub { owner = "phpstan"; - repo = "phpstan-src"; + repo = "phpstan"; tag = finalAttrs.version; - hash = "sha256-fP+R22TN3I/Afn+N/6sqlYuN0GxTzPt3bSZjtFrkr1A="; + hash = "sha256-/SSOLJiZunLDoxsKmVxICjymFLLu0aOXCTn2jNklTyA="; }; - composerStrictValidation = false; - vendorHash = "sha256-NW5yx9jD7aXmqq9kzSNr/U1CkW0VN8qm0yHOQlxVi0c="; + nativeBuildInputs = [ + makeBinaryWrapper + ]; + + postInstall = '' + install -D ./phpstan.phar $out/libexec/phpstan/phpstan.phar + makeWrapper ${lib.getExe php} $out/bin/phpstan \ + --add-flags "$out/libexec/phpstan/phpstan.phar" \ + --prefix PATH : ${ + lib.makeBinPath [ + php + ] + } + ''; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index b11347318543..bcbccf76333f 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -251,14 +251,13 @@ lib.makeScope pkgs.newScope ( phpspy = callPackage ../development/php-packages/phpspy { }; - phpstan = callPackage ../development/php-packages/phpstan { }; - psalm = callPackage ../development/php-packages/psalm { }; } // lib.optionalAttrs config.allowAliases { deployer = throw "`php8${lib.versions.minor php.version}Packages.deployer` has been removed, use `deployer`"; phpcbf = throw "`php8${lib.versions.minor php.version}Packages.phpcbf` has been removed, use `php-codesniffer` instead which contains both `phpcs` and `phpcbf`."; phpcs = throw "`php8${lib.versions.minor php.version}Packages.phpcs` has been removed, use `php-codesniffer` instead which contains both `phpcs` and `phpcbf`."; + phpstan = throw "`php8${lib.versions.minor php.version}Packages.phpstan` has been removed, use `phpstan` instead."; psysh = throw "`php8${lib.versions.minor php.version}Packages.psysh` has been removed, use `psysh`"; };