From 6ad4c1dd312a806d08aabdfd7d0dc90392506b04 Mon Sep 17 00:00:00 2001 From: Serg Date: Sat, 14 Jun 2025 18:11:56 +0000 Subject: [PATCH] phpExtensions.ioncube-loader: 13.0.2 -> 14.4.1 - x86_64-darwin is no longer supported by upstream - added support for Zend Thread Safety --- .../php-packages/ioncube-loader/default.nix | 61 ++++++++----------- 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/pkgs/development/php-packages/ioncube-loader/default.nix b/pkgs/development/php-packages/ioncube-loader/default.nix index 4c691a913ddd..8d3f6a3bb914 100644 --- a/pkgs/development/php-packages/ioncube-loader/default.nix +++ b/pkgs/development/php-packages/ioncube-loader/default.nix @@ -1,51 +1,45 @@ { stdenv, lib, - fetchzip, + fetchurl, php, }: let - phpVersion = lib.versions.majorMinor php.version; + 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}; - 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"; - }; - }; + phpVersion = lib.versions.majorMinor php.version; + systemPrefix = lib.substring 0 3 stdenv.hostPlatform.parsed.kernel.name; # lin, dar, fre + + 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; { @@ -58,7 +52,6 @@ stdenv.mkDerivation { platforms = [ "x86_64-linux" "aarch64-linux" - "x86_64-darwin" "aarch64-darwin" ]; };