diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/tools/misc/blackfire/php-probe.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/tools/misc/blackfire/php-probe.nix | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/tools/misc/blackfire/php-probe.nix b/infra/libkookie/nixpkgs/pkgs/development/tools/misc/blackfire/php-probe.nix new file mode 100644 index 000000000000..97b5f9ed82c5 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/tools/misc/blackfire/php-probe.nix @@ -0,0 +1,64 @@ +{ stdenv +, lib +, fetchurl +, dpkg +, autoPatchelfHook +, php +, writeShellScript +, curl +, jq +, common-updater-scripts +}: + +let + soFile = { + "7.3" = "blackfire-20180731"; + "7.4" = "blackfire-20190902"; + "8.0" = "blackfire-20200930"; + }.${lib.versions.majorMinor php.version} or (throw "Unsupported PHP version."); +in stdenv.mkDerivation rec { + pname = "php-blackfire"; + version = "1.46.4"; + + src = fetchurl { + url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_amd64.deb"; + sha256 = "1p46zi1hh9calkcfgqz60c6rdi9i7i16ylj84iibi6k0pc690fjy"; + }; + + nativeBuildInputs = [ + dpkg + autoPatchelfHook + ]; + + unpackPhase = '' + runHook preUnpack + + dpkg-deb -x $src pkg + sourceRoot=pkg + + runHook postUnpack + ''; + + installPhase = '' + runHook preInstall + + install -D usr/lib/blackfire-php/amd64/${soFile}${lib.optionalString php.ztsSupport "-zts"}.so $out/lib/php/extensions/blackfire.so + + runHook postInstall + ''; + + passthru = { + updateScript = writeShellScript "update-${pname}" '' + export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}" + update-source-version "$UPDATE_NIX_ATTR_PATH" "$(curl https://blackfire.io/api/v1/releases | jq .probe.php --raw-output)" + ''; + }; + + meta = with lib; { + description = "Blackfire Profiler PHP module"; + homepage = "https://blackfire.io/"; + license = licenses.unfree; + maintainers = with maintainers; [ jtojnar ]; + platforms = [ "x86_64-linux" ]; + }; +} |