diff options
Diffstat (limited to 'pkgs/development/libraries/libbsd')
-rw-r--r-- | pkgs/development/libraries/libbsd/default.nix | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix index 44a1fd5b3e2b2..9cef18471abec 100644 --- a/pkgs/development/libraries/libbsd/default.nix +++ b/pkgs/development/libraries/libbsd/default.nix @@ -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; }; } |