Files
2026-04-29 12:06:45 +02:00

63 lines
1.8 KiB
Nix

{
stdenv,
lib,
fetchurl,
php,
}:
let
source =
{
"aarch64-darwin" = {
url = "https://web.archive.org/web/20260428124658/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_mac_arm64.tar.gz";
sha256 = "sha256-KzBF5ufljAjjP2V1lUJgW9Z+7G1evafV7pvfADFMkMM=";
};
"aarch64-linux" = {
url = "https://web.archive.org/web/20260428121019/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_aarch64.tar.gz";
sha256 = "sha256-TNw9y8dapjNdNKdW0FpY6pHBrq7oqSK1Ao5oqhy3dvs=";
};
"x86_64-linux" = {
url = "https://web.archive.org/web/20260313061550/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz";
sha256 = "sha256-uCBEHux1R4FdC7aQa9oJJYgmwTTl3w5JQi+0KBDLZMc=";
};
}
.${stdenv.hostPlatform.system};
phpVersion = lib.versions.majorMinor php.version;
systemPrefix =
if stdenv.hostPlatform.isDarwin then
"mac"
else
lib.substring 0 3 stdenv.hostPlatform.parsed.kernel.name; # lin, fre
filename = "ioncube_loader_${systemPrefix}_${phpVersion}${lib.optionalString php.ztsSupport "_ts"}.so";
in
stdenv.mkDerivation {
pname = "ioncube-loader";
version = "15.5.0";
extensionName = "ioncube-loader";
src = fetchurl source;
installPhase = ''
runHook preInstall
install -Dm755 '${filename}' $out/lib/php/extensions/ioncube-loader.so
runHook postInstall
'';
meta = {
description = "Use ionCube-encoded files on a web server";
changelog = "https://www.ioncube.com/loaders.php";
homepage = "https://www.ioncube.com";
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ neverbehave ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
];
};
}