libbsd: fixup on darwin

This is my attempt to get libbsd workin on Darwin. It's kind of a mess
right now with patches. Most of it are ugly hacks but at least it builds!
This commit is contained in:
Matthew Bauer 2017-04-20 17:55:47 -05:00
parent 1d84a914f5
commit 8316eb5a5f
No known key found for this signature in database
GPG Key ID: E04D0AD9469141C3

View File

@ -1,18 +1,33 @@
{ stdenv, fetchurl }:
{ stdenv, fetchFromGitHub, autoreconfHook }:
stdenv.mkDerivation rec {
name = "libbsd-${version}";
version = "0.8.3";
src = fetchurl {
url = "http://libbsd.freedesktop.org/releases/${name}.tar.xz";
sha256 = "1a1l7afchlvvj2zfi7ajcg26bbkh5i98y2v5h9j5p1px9m7n6jwk";
nativeBuildInputs = [ autoreconfHook ];
preAutoreconf = "mkdir m4";
patchPhase = ''
substituteInPlace configure.ac \
--replace "m4_esyscmd([./get-version])" "${version}"
sed -i '38i#undef strlcpy' include/bsd/string.h
sed -i '38i#undef strlcat' include/bsd/string.h
substituteInPlace src/setproctitle.c \
--replace 'extern typeof(setproctitle_impl) setproctitle_stub __attribute__((weak, alias("setproctitle_impl")));' ""
'';
src = fetchFromGitHub {
owner = "JackieXie168";
repo = "libbsd";
rev = "macosx-${version}";
sha256 = "1g5h6d7i297m0hs2l0dxvsx6p0z96959pzgp75drbb7mkrf32p2z";
};
meta = with stdenv.lib; {
description = "Common functions found on BSD systems";
homepage = http://libbsd.freedesktop.org/;
license = licenses.bsd3;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
};
}