aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/tools/misc/blackfire/php-probe.nix
diff options
context:
space:
mode:
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.nix64
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" ];
+ };
+}