about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/quictls
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-12-06 19:57:55 +0000
committerAlyssa Ross <hi@alyssa.is>2023-02-08 13:48:30 +0000
commitbf3aadfdd39aa197e18bade671fab6726349ffa4 (patch)
tree698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/development/libraries/quictls
parentf4afc5a01d9539ce09e47494e679c51f80723d07 (diff)
parent99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff)
downloadnixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/quictls')
-rw-r--r--nixpkgs/pkgs/development/libraries/quictls/default.nix35
1 files changed, 22 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/development/libraries/quictls/default.nix b/nixpkgs/pkgs/development/libraries/quictls/default.nix
index 3d5741ccba55..22981bfef7af 100644
--- a/nixpkgs/pkgs/development/libraries/quictls/default.nix
+++ b/nixpkgs/pkgs/development/libraries/quictls/default.nix
@@ -7,22 +7,18 @@
 # This will cause c_rehash to refer to perl via the environment, but otherwise
 # will produce a perfectly functional openssl binary and library.
 , withPerl ? stdenv.hostPlatform == stdenv.buildPlatform
+, removeReferencesTo
 }:
 
-assert (
-  lib.assertMsg (!withPerl -> stdenv.hostPlatform != stdenv.buildPlatform)
-  "withPerl should not be disabled unless cross compiling"
-);
-
 stdenv.mkDerivation rec {
   pname = "quictls";
-  version = "3.0.1+quick_unstable-2021-12.14";
+  version = "3.0.5+quick_unstable-2022-07.05";
 
   src = fetchFromGitHub {
     owner = "quictls";
     repo = "openssl";
-    rev = "ab8b87bdb436b11bf2a10a2a57a897722224f828";
-    sha256 = "sha256-835oZgoM1CTS+JLxPO3oGSTnhLmJXGT1cFaJhCJK++8=";
+    rev = "75e940831d0570d6b020cfebf128ae500f424867";
+    sha256 = "sha256-1HBGKafcCbM0RZWLvyl3vpSfGBsAcGDgjz1Nm/qclWM=";
   };
 
   patches = [
@@ -56,7 +52,7 @@ stdenv.mkDerivation rec {
     !(stdenv.hostPlatform.useLLVM or false) &&
     stdenv.cc.isGNU;
 
-  nativeBuildInputs = [ perl ];
+  nativeBuildInputs = [ perl removeReferencesTo ];
   buildInputs = lib.optional withCryptodev cryptodev
     # perl is included to allow the interpreter path fixup hook to set the
     # correct interpreter in c_rehash.
@@ -73,6 +69,12 @@ stdenv.mkDerivation rec {
       x86_64-linux = "./Configure linux-x86_64";
       x86_64-solaris = "./Configure solaris64-x86_64-gcc";
       riscv64-linux = "./Configure linux64-riscv64";
+      mips64el-linux =
+        if stdenv.hostPlatform.isMips64n64
+        then "./Configure linux64-mips64"
+        else if stdenv.hostPlatform.isMips64n32
+        then "./Configure linux-mips64"
+        else throw "unsupported ABI for ${stdenv.hostPlatform.system}";
     }.${stdenv.hostPlatform.system} or (
       if stdenv.hostPlatform == stdenv.buildPlatform
         then "./config"
@@ -110,7 +112,11 @@ stdenv.mkDerivation rec {
     # OpenSSL needs a specific `no-shared` configure flag.
     # See https://wiki.openssl.org/index.php/Compilation_and_Installation#Configure_Options
     # for a comprehensive list of configuration options.
-    ++ lib.optional static "no-shared";
+    ++ lib.optional static "no-shared"
+    # This introduces a reference to the CTLOG_FILE which is undesired when
+    # trying to build binaries statically.
+    ++ lib.optional static "no-ct"
+    ;
 
   makeFlags = [
     "MANDIR=$(man)/share/man"
@@ -123,13 +129,16 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  postInstall = lib.optionalString (!static) ''
+  postInstall = (if static then ''
+    # OPENSSLDIR has a reference to self
+    ${removeReferencesTo}/bin/remove-references-to -t $out $out/lib/*.a
+  '' else ''
     # If we're building dynamic libraries, then don't install static
     # libraries.
     if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
         rm "$out/lib/"*.a
     fi
-  '' + lib.optionalString (!stdenv.hostPlatform.isWindows)
+  '') + lib.optionalString (!stdenv.hostPlatform.isWindows)
     # Fix bin/c_rehash's perl interpreter line
     #
     # - openssl 1_0_2: embeds a reference to buildPackages.perl
@@ -161,7 +170,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://quictls.github.io/openssl/";
+    homepage = "https://quictls.github.io";
     description = "TLS/SSL and crypto library with QUIC APIs";
     license = licenses.openssl;
     platforms = platforms.all;