Merge pull request #37809 from dtzWill/fix/zfs-tirpc-musl

tirpc, zfs: fixups, support using tirpc w/zfs
This commit is contained in:
Will Dietz 2018-03-25 20:38:31 -05:00 committed by GitHub
commit 9d0bc503b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 7 deletions

View File

@ -8,14 +8,12 @@ stdenv.mkDerivation rec {
sha256 = "0ppxl3k3nsz0qdakq844i2kj4fvh9h937lhx26bgmpmxq67sghw6";
};
patches = stdenv.lib.optional stdenv.hostPlatform.isMusl
(fetchpatch {
url = "https://raw.githubusercontent.com/openembedded/openembedded-core/2be873301420ec6ca2c70d899b7c49a7e2b0954d/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch";
sha256 = "1jmbn0j2bnjp0j9z5vzz5xiwyv3kd28w5pixbqsy2lz6q8nii7cf";
});
postPatch = ''
sed '1i#include <stdint.h>' -i src/xdr_sizeof.c
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
substituteInPlace tirpc/rpc/types.h \
--replace '#if defined __APPLE_CC__ || defined __FreeBSD__' \
'#if defined __APPLE_CC__ || defined __FreeBSD__ || !defined __GLIBC__'
'';
nativeBuildInputs = [ autoreconfHook ];

View File

@ -4,6 +4,7 @@
# Userspace dependencies
, zlib, libuuid, python, attr, openssl
, libtirpc
# Kernel dependencies
, kernel ? null, spl ? null, splUnstable ? null, splLegacyCrypto ? null
@ -42,6 +43,9 @@ let
postPatch = optionalString buildKernel ''
patchShebangs scripts
'' + optionalString stdenv.hostPlatform.isMusl ''
substituteInPlace config/user-libtirpc.m4 \
--replace /usr/include/tirpc ${libtirpc}/include/tirpc
'';
nativeBuildInputs = [ autoreconfHook nukeReferences ]
@ -49,7 +53,8 @@ let
buildInputs =
optionals buildKernel [ spl ]
++ optionals buildUser [ zlib libuuid python attr ]
++ optionals (buildUser && (isUnstable || isLegacyCrypto)) [ openssl ];
++ optionals (buildUser && (isUnstable || isLegacyCrypto)) [ openssl ]
++ optional stdenv.hostPlatform.isMusl [ libtirpc ];
# for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
NIX_CFLAGS_LINK = "-lgcc_s";