Merge pull request #83906 from nh2/krb5-1.18-fix-musl-build

krb5: Add patches to fix build with musl on 1.18
This commit is contained in:
Matthew Bauer 2020-04-01 15:08:08 -05:00 committed by GitHub
commit efae68aa49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 70 additions and 1 deletions

View File

@ -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

View File

@ -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

View File

@ -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"]