nixpkgs/pkgs/development/libraries/libbsd/default.nix
2023-12-19 14:34:26 +01:00

66 lines
1.8 KiB
Nix

{ lib
, stdenv
, fetchFromGitLab
, fetchpatch
, autoreconfHook
, libmd
, gitUpdater
}:
# Run `./get-version` for the new value when bumping the Git revision.
let gitVersion = "0.11.7-55-g73b2"; in
stdenv.mkDerivation {
pname = "libbsd";
version = "unstable-2023-04-29";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "libbsd";
repo = "libbsd";
rev = "73b25a8f871b3a20f6ff76679358540f95d7dbfd";
hash = "sha256-LS28taIMjRCl6xqg75eYOIrTDl8PzSa+OvrdiEOP1+U=";
};
outputs = [ "out" "dev" "man" ];
enableParallelBuilding = true;
doCheck = true;
nativeBuildInputs = [ autoreconfHook ];
propagatedBuildInputs = [ libmd ];
patches = [
# Fix `{get,set}progname(3bsd)` conditionalization
# https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/24
(fetchpatch {
url = "https://github.com/emilazy/libbsd/commit/0381f8d92873c5a19ced3ff861ee8ffe7825953e.patch";
hash = "sha256-+RMg5eHLgC4gyX9zXM0ttNf7rd9E3UzJX/7UVCYGXx4=";
})
] ++ lib.optionals stdenv.isDarwin [
# Temporary build system hack from upstream maintainer
# https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/19#note_2017684
./darwin-fix-libbsd.sym.patch
];
postPatch = ''
substituteInPlace configure.ac \
--replace 'm4_esyscmd([./get-version])' '[${gitVersion}]'
'';
passthru.updateScript = gitUpdater {
# No nicer place to find latest release.
url = "https://gitlab.freedesktop.org/libbsd/libbsd.git";
};
meta = with lib; {
description = "Common functions found on BSD systems";
homepage = "https://libbsd.freedesktop.org/";
license = with licenses; [ beerware bsd2 bsd3 bsdOriginal isc mit ];
platforms = platforms.unix;
# See architectures defined in src/local-elf.h.
badPlatforms = lib.platforms.microblaze;
maintainers = with maintainers; [ matthewbauer ];
};
}