1{ 2 stdenv, 3 lib, 4 fetchurl, 5 php, 6}: 7 8let 9 source = 10 { 11 "aarch64-darwin" = { 12 url = "https://web.archive.org/web/20250614103627/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_dar_arm64.tar.gz"; 13 sha256 = "sha256-Dji4PIX5GqU6mOC7ZrSEu3dAZtsiVVuvKQ9Z5aGiuQ4="; 14 }; 15 "aarch64-linux" = { 16 url = "https://web.archive.org/web/20250614103715/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_aarch64.tar.gz"; 17 sha256 = "sha256-zushkH7g3L62bDdjgTZamWcxOp35xQisOjSG6e2EEHg="; 18 }; 19 "x86_64-linux" = { 20 url = "https://web.archive.org/web/20250614103238/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz"; 21 sha256 = "sha256-W8AXulfQx2nkT9nznCCx2lrayKA3R+n2TyhU1ScNjMg="; 22 }; 23 } 24 .${stdenv.hostPlatform.system}; 25 26 phpVersion = lib.versions.majorMinor php.version; 27 systemPrefix = lib.substring 0 3 stdenv.hostPlatform.parsed.kernel.name; # lin, dar, fre 28 29 filename = "ioncube_loader_${systemPrefix}_${phpVersion}${lib.optionalString php.ztsSupport "_ts"}.so"; 30in 31stdenv.mkDerivation { 32 pname = "ioncube-loader"; 33 version = "14.4.1"; 34 35 extensionName = "ioncube-loader"; 36 37 src = fetchurl source; 38 39 installPhase = '' 40 runHook preInstall 41 install -Dm755 '${filename}' $out/lib/php/extensions/ioncube-loader.so 42 runHook postInstall 43 ''; 44 45 meta = with lib; { 46 description = "Use ionCube-encoded files on a web server"; 47 changelog = "https://www.ioncube.com/loaders.php"; 48 homepage = "https://www.ioncube.com"; 49 sourceProvenance = [ sourceTypes.binaryNativeCode ]; 50 license = licenses.unfree; 51 maintainers = with maintainers; [ neverbehave ]; 52 platforms = [ 53 "x86_64-linux" 54 "aarch64-linux" 55 "aarch64-darwin" 56 ]; 57 }; 58}