summary refs log tree commit diff
path: root/pkgs/top-level/php-packages.nix
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2022-11-20 18:32:41 +0100
committerGitHub <noreply@github.com>2022-11-20 18:32:41 +0100
commit2580440389de71ae590fbb3b9cfeee8a8743eebb (patch)
treeea4ad72cb635d52579f63931b94a1de092477a73 /pkgs/top-level/php-packages.nix
parent8c6c94de4cf1d529079113efda85ad43a0d1556d (diff)
parent35b146ca31ea5f6cfdeee11dc7ca737fa9fbc1dd (diff)
downloadnixpkgs-2580440389de71ae590fbb3b9cfeee8a8743eebb.tar
nixpkgs-2580440389de71ae590fbb3b9cfeee8a8743eebb.tar.gz
nixpkgs-2580440389de71ae590fbb3b9cfeee8a8743eebb.tar.bz2
nixpkgs-2580440389de71ae590fbb3b9cfeee8a8743eebb.tar.lz
nixpkgs-2580440389de71ae590fbb3b9cfeee8a8743eebb.tar.xz
nixpkgs-2580440389de71ae590fbb3b9cfeee8a8743eebb.tar.zst
nixpkgs-2580440389de71ae590fbb3b9cfeee8a8743eebb.zip
Merge pull request #198470 from RaitoBezarius/nc25-openssl
nextcloud25: use openssl 1.1 as a PHP extension to fix RC4 encryption
Diffstat (limited to 'pkgs/top-level/php-packages.nix')
-rw-r--r--pkgs/top-level/php-packages.nix19
1 files changed, 15 insertions, 4 deletions
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 69d849f2208..53f29b00ac5 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -73,16 +73,17 @@ lib.makeScope pkgs.newScope (self: with self; {
   # will mark the extension as a zend extension or not.
   mkExtension = lib.makeOverridable
     ({ name
-    , configureFlags ? [ "--enable-${name}" ]
+    , configureFlags ? [ "--enable-${extName}" ]
     , internalDeps ? [ ]
     , postPhpize ? ""
     , buildInputs ? [ ]
     , zendExtension ? false
     , doCheck ? true
+    , extName ? name
     , ...
     }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // {
       pname = "php-${name}";
-      extensionName = name;
+      extensionName = extName;
 
       outputs = [ "out" "dev" ];
 
@@ -105,7 +106,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
       cdToExtensionRootPhase = ''
         # Go to extension source root.
-        cd "ext/${name}"
+        cd "ext/${extName}"
       '';
 
       preConfigure = ''
@@ -141,7 +142,7 @@ lib.makeScope pkgs.newScope (self: with self; {
         runHook preInstall
 
         mkdir -p $out/lib/php/extensions
-        cp modules/${name}.so $out/lib/php/extensions/${name}.so
+        cp modules/${extName}.so $out/lib/php/extensions/${extName}.so
         mkdir -p $dev/include
         ${rsync}/bin/rsync -r --filter="+ */" \
                               --filter="+ *.h" \
@@ -416,6 +417,16 @@ lib.makeScope pkgs.newScope (self: with self; {
           configureFlags = [ "--with-openssl" ];
           doCheck = false;
         }
+        # This provides a legacy OpenSSL PHP extension
+        # For situations where OpenSSL 3 do not support a set of features
+        # without a specific openssl.cnf file
+        {
+          name = "openssl-legacy";
+          extName = "openssl";
+          buildInputs = [ openssl_1_1 ];
+          configureFlags = [ "--with-openssl" ];
+          doCheck = false;
+        }
         { name = "pcntl"; }
         { name = "pdo"; doCheck = false; }
         {