Merge pull request #69107 from matthewbauer/libressl-static
Add static override for libressl
This commit is contained in:
commit
c2092f6f38
@ -1,8 +1,8 @@
|
|||||||
{ stdenv, fetchurl, lib, cmake, cacert }:
|
{ stdenv, fetchurl, lib, cmake, cacert, fetchpatch, buildShared ? true }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
generic = { version, sha256 }: stdenv.mkDerivation rec {
|
generic = { version, sha256, patches ? [] }: stdenv.mkDerivation rec {
|
||||||
pname = "libressl";
|
pname = "libressl";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
|
||||||
@ -15,7 +15,6 @@ let
|
|||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DENABLE_NC=ON"
|
"-DENABLE_NC=ON"
|
||||||
"-DBUILD_SHARED_LIBS=ON"
|
|
||||||
# Ensure that the output libraries do not require an executable stack.
|
# Ensure that the output libraries do not require an executable stack.
|
||||||
# Without this define, assembly files in libcrypto do not include a
|
# Without this define, assembly files in libcrypto do not include a
|
||||||
# .note.GNU-stack section, and if that section is missing from any object,
|
# .note.GNU-stack section, and if that section is missing from any object,
|
||||||
@ -23,7 +22,7 @@ let
|
|||||||
"-DCMAKE_C_FLAGS=-DHAVE_GNU_STACK"
|
"-DCMAKE_C_FLAGS=-DHAVE_GNU_STACK"
|
||||||
# libressl will append this to the regular prefix for libdir
|
# libressl will append this to the regular prefix for libdir
|
||||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||||
];
|
] ++ lib.optional buildShared "-DBUILD_SHARED_LIBS=ON";
|
||||||
|
|
||||||
# The autoconf build is broken as of 2.9.1, resulting in the following error:
|
# The autoconf build is broken as of 2.9.1, resulting in the following error:
|
||||||
# libressl-2.9.1/tls/.libs/libtls.a', needed by 'handshake_table'.
|
# libressl-2.9.1/tls/.libs/libtls.a', needed by 'handshake_table'.
|
||||||
@ -33,6 +32,8 @@ let
|
|||||||
rm configure
|
rm configure
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
inherit patches;
|
||||||
|
|
||||||
# Since 2.9.x the default location can't be configured from the build using
|
# Since 2.9.x the default location can't be configured from the build using
|
||||||
# DEFAULT_CA_FILE anymore, instead we have to patch the default value.
|
# DEFAULT_CA_FILE anymore, instead we have to patch the default value.
|
||||||
postPatch = lib.optionalString (lib.versionAtLeast version "2.9.2") ''
|
postPatch = lib.optionalString (lib.versionAtLeast version "2.9.2") ''
|
||||||
@ -71,6 +72,12 @@ in {
|
|||||||
libressl_2_9 = generic {
|
libressl_2_9 = generic {
|
||||||
version = "2.9.2";
|
version = "2.9.2";
|
||||||
sha256 = "1m6mz515dcbrbnyz8hrpdfjzdmj1c15vbgnqxdxb89g3z9kq3iy4";
|
sha256 = "1m6mz515dcbrbnyz8hrpdfjzdmj1c15vbgnqxdxb89g3z9kq3iy4";
|
||||||
|
patches = stdenv.lib.optional stdenv.hostPlatform.isMusl [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/libressl-portable/portable/pull/529/commits/a747aacc23607c993cc481378782b2c7dd5bc53b.patch";
|
||||||
|
sha256 = "0wbrcscdkjpk4mhh7f3saghi4smia4lhf7fl6la3ahhgx1krn5zm";
|
||||||
|
})
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
libressl_3_0 = generic {
|
libressl_3_0 = generic {
|
||||||
|
@ -161,6 +161,9 @@ in {
|
|||||||
enableShared = false;
|
enableShared = false;
|
||||||
enableStatic = true;
|
enableStatic = true;
|
||||||
};
|
};
|
||||||
|
libressl = super.libressl.override {
|
||||||
|
buildShared = false;
|
||||||
|
};
|
||||||
|
|
||||||
darwin = super.darwin // {
|
darwin = super.darwin // {
|
||||||
libiconv = super.darwin.libiconv.override {
|
libiconv = super.darwin.libiconv.override {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user