summary refs log tree commit diff
path: root/pkgs/development/libraries/kerberos
diff options
context:
space:
mode:
authorNiklas Hambüchen <mail@nh2.me>2020-04-01 01:45:49 +0200
committerNiklas Hambüchen <mail@nh2.me>2020-04-01 02:23:13 +0200
commit5676e6df1ff86eccb28adc11f6bdc50fa1e28643 (patch)
treebbb9b4480d82671b97363ca87622061194f14aa3 /pkgs/development/libraries/kerberos
parentabe5f7070a50f99a6338f11397cf29d9611d7490 (diff)
downloadnixpkgs-5676e6df1ff86eccb28adc11f6bdc50fa1e28643.tar
nixpkgs-5676e6df1ff86eccb28adc11f6bdc50fa1e28643.tar.gz
nixpkgs-5676e6df1ff86eccb28adc11f6bdc50fa1e28643.tar.bz2
nixpkgs-5676e6df1ff86eccb28adc11f6bdc50fa1e28643.tar.lz
nixpkgs-5676e6df1ff86eccb28adc11f6bdc50fa1e28643.tar.xz
nixpkgs-5676e6df1ff86eccb28adc11f6bdc50fa1e28643.tar.zst
nixpkgs-5676e6df1ff86eccb28adc11f6bdc50fa1e28643.zip
krb5: Add patches to fix build with musl on 1.18
Diffstat (limited to 'pkgs/development/libraries/kerberos')
-rw-r--r--pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch32
-rw-r--r--pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch28
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix11
3 files changed, 70 insertions, 1 deletions
diff --git a/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch b/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch
new file mode 100644
index 00000000000..0f33815b6e9
--- /dev/null
+++ b/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch
@@ -0,0 +1,32 @@
+From cbdbc8d00d31344fafe00e0fdf984e04e631f7c4 Mon Sep 17 00:00:00 2001
+From: TBK <tbk@jjtc.eu>
+Date: Wed, 26 Feb 2020 21:12:45 +0100
+Subject: [PATCH] Fix Linux build error with musl libc
+
+Commit bf5953c549a6d279977df69ffe89b2ba51460eaf caused a build failure
+on non-glibc Linux build environments.  Change the conditionalization
+so that __GLIBC_PREREQ will only be used if it is defined.
+
+[ghudson@mit.edu: simplified conditionals; rewrote commit message]
+
+ticket: 8880 (new)
+tags: pullup
+target_version: 1.18-next
+---
+ src/util/support/plugins.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/util/support/plugins.c b/src/util/support/plugins.c
+index 3329db7dc3..1644d16fd0 100644
+--- a/src/util/support/plugins.c
++++ b/src/util/support/plugins.c
+@@ -62,8 +62,7 @@
+  * dlopen() with RTLD_NODELETE, we weren't going to unload the plugin objects
+  * anyway.
+  */
+-#ifdef __linux__
+-#include <features.h>
++#ifdef __GLIBC__PREREQ
+ #if ! __GLIBC_PREREQ(2, 25)
+ #define dlclose(x)
+ #endif
diff --git a/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch b/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch
new file mode 100644
index 00000000000..f8718606a7f
--- /dev/null
+++ b/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch
@@ -0,0 +1,28 @@
+From b009cca2026b615ef5386faa4c0230bc27c4161d Mon Sep 17 00:00:00 2001
+From: Greg Hudson <ghudson@mit.edu>
+Date: Thu, 12 Mar 2020 00:44:10 -0400
+Subject: [PATCH] Fix typo in musl build fix
+
+Commit cbdbc8d00d31344fafe00e0fdf984e04e631f7c4 checked for
+__GLIBC__PREREQ instead of __GLIBC_PREREQ, thus accidentally reverting
+the workaround introduced in commit
+bf5953c549a6d279977df69ffe89b2ba51460eaf.  Fix the typo.
+
+ticket: 8880
+---
+ src/util/support/plugins.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/util/support/plugins.c b/src/util/support/plugins.c
+index 1644d16fd0..1ff10c354d 100644
+--- a/src/util/support/plugins.c
++++ b/src/util/support/plugins.c
+@@ -62,7 +62,7 @@
+  * dlopen() with RTLD_NODELETE, we weren't going to unload the plugin objects
+  * anyway.
+  */
+-#ifdef __GLIBC__PREREQ
++#ifdef __GLIBC_PREREQ
+ #if ! __GLIBC_PREREQ(2, 25)
+ #define dlclose(x)
+ #endif
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index 42965c0ad07..5ff3f313dcf 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -14,7 +14,7 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "${type}krb5-${version}";
-  majorVersion = "1.18";
+  majorVersion = "1.18"; # remove patches below with next upgrade
   version = majorVersion;
 
   src = fetchurl {
@@ -22,6 +22,15 @@ stdenv.mkDerivation rec {
     sha256 = "121c5xsy3x0i4wdkrpw62yhvji6virbh6n30ypazkp0isws3k4bk";
   };
 
+  patches = optionals stdenv.hostPlatform.isMusl [
+    # TODO: Remove with next release > 1.18
+    # Patches to fix musl build with 1.18.
+    # Not using `fetchpatch` for these for now to avoid infinite recursion
+    # errors in downstream projects (unclear if it's a nixpkgs issue so far).
+    ./krb5-Fix-Linux-build-error-with-musl-libc.patch
+    ./krb5-Fix-typo-in-musl-build-fix.patch
+  ];
+
   outputs = [ "out" "dev" ];
 
   configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]