phpExtensions.ioncube-loader: 13.0.2 -> 14.4.1

- x86_64-darwin is no longer supported by upstream
- added support for Zend Thread Safety

Serg 6ad4c1dd 842e9cdf

Changed files
+26 -33
pkgs
development
php-packages
ioncube-loader
+26 -33
pkgs/development/php-packages/ioncube-loader/default.nix
···
{
stdenv,
lib,
-
fetchzip,
+
fetchurl,
php,
}:
let
+
source =
+
{
+
"aarch64-darwin" = {
+
url = "https://web.archive.org/web/20250614103627/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_dar_arm64.tar.gz";
+
sha256 = "sha256-Dji4PIX5GqU6mOC7ZrSEu3dAZtsiVVuvKQ9Z5aGiuQ4=";
+
};
+
"aarch64-linux" = {
+
url = "https://web.archive.org/web/20250614103715/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_aarch64.tar.gz";
+
sha256 = "sha256-zushkH7g3L62bDdjgTZamWcxOp35xQisOjSG6e2EEHg=";
+
};
+
"x86_64-linux" = {
+
url = "https://web.archive.org/web/20250614103238/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz";
+
sha256 = "sha256-W8AXulfQx2nkT9nznCCx2lrayKA3R+n2TyhU1ScNjMg=";
+
};
+
}
+
.${stdenv.hostPlatform.system};
+
phpVersion = lib.versions.majorMinor php.version;
+
systemPrefix = lib.substring 0 3 stdenv.hostPlatform.parsed.kernel.name; # lin, dar, fre
-
variant = {
-
"aarch64-darwin" = {
-
url = "https://web.archive.org/web/20240209234707/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_dar_arm64.tar.gz";
-
sha256 = "sha256-J6+bOXX9uRdrGouMAxt7nROjjfH4P2txb1hmPoHUmdM=";
-
prefix = "dar";
-
};
-
"aarch64-linux" = {
-
url = "https://web.archive.org/web/20240209234617/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_aarch64.tar.gz";
-
sha256 = "sha256-oOO4zr0CssxVGIUIfmAujILqOfQf8dJPADkr03a8HAs=";
-
prefix = "lin";
-
};
-
"x86_64-linux" = {
-
url = "https://web.archive.org/web/20240209052345if_/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz";
-
sha256 = "sha256-rsXKgxKHldBKDjJTsOdJP4SxfxLmMPDY+GizBpuDeyw=";
-
prefix = "lin";
-
};
-
"x86_64-darwin" = {
-
url = "https://web.archive.org/web/20240209234406/https://downloads.ioncube.com/loader_downloads/ioncube_loaders_mac_x86-64.tar.gz";
-
sha256 = "sha256-bz2hQOaFbXePa8MhAZHESpZMRjjBH51IgvbR2EfBYMg=";
-
prefix = "mac";
-
};
-
};
+
filename = "ioncube_loader_${systemPrefix}_${phpVersion}${lib.optionalString php.ztsSupport "_ts"}.so";
in
stdenv.mkDerivation {
-
version = "13.0.2";
pname = "ioncube-loader";
+
version = "14.4.1";
+
extensionName = "ioncube-loader";
-
src = fetchzip {
-
url = variant.${stdenv.hostPlatform.system}.url;
-
sha256 = variant.${stdenv.hostPlatform.system}.sha256;
-
};
+
src = fetchurl source;
installPhase = ''
-
mkdir -p $out/lib/php/extensions
-
cp $src/ioncube_loader_${
-
variant.${stdenv.hostPlatform.system}.prefix
-
}_${phpVersion}.so $out/lib/php/extensions/ioncube-loader.so
+
runHook preInstall
+
install -Dm755 '${filename}' $out/lib/php/extensions/ioncube-loader.so
+
runHook postInstall
'';
meta = with lib; {
···
platforms = [
"x86_64-linux"
"aarch64-linux"
-
"x86_64-darwin"
"aarch64-darwin"
];
};