core/pkgs/by-name/li/libpkgconf/default.nix
2024-06-30 09:12:46 +01:00

73 lines
2.1 KiB
Nix

{
lib,
stdenv,
fetchurl,
removeReferencesTo,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "pkgconf";
version = "2.1.1";
src = fetchurl {
url = "https://distfiles.dereferenced.org/pkgconf/pkgconf-${finalAttrs.version}.tar.xz";
hash = "sha256-OiJPKszwkbd6V4Exbie57juoLAg8wuU54IlAtopE/sU=";
};
outputs = [
"out"
"lib"
"dev"
"man"
"doc"
];
nativeBuildInputs = [ removeReferencesTo ];
enableParallelBuilding = true;
# Debian has outputs like these too
# (https://packages.debian.org/source/bullseye/pkgconf), so it is safe to
# remove those references
postFixup =
''
remove-references-to \
-t "${placeholder "out"}" \
"${placeholder "lib"}"/lib/*
remove-references-to \
-t "${placeholder "dev"}" \
"${placeholder "lib"}"/lib/* \
"${placeholder "out"}"/bin/*
''
# Move back share/aclocal. Yes, this normally goes in the dev output for good
# reason, but in this case the dev output is for the `libpkgconf` library,
# while the aclocal stuff is for the tool. The tool is already for use during
# development, so there is no reason to have separate "dev-bin" and "dev-lib"
# outputs or something.
+ ''
mv ${placeholder "dev"}/share ${placeholder "out"}
'';
meta = {
homepage = "https://github.com/pkgconf/pkgconf";
description = "Package compiler and linker metadata toolkit";
longDescription = ''
pkgconf is a program which helps to configure compiler and linker flags
for development libraries. It is similar to pkg-config from
freedesktop.org.
libpkgconf is a library which provides access to most of pkgconf's
functionality, to allow other tooling such as compilers and IDEs to
discover and use libraries configured by pkgconf.
'';
changelog = "https://github.com/pkgconf/pkgconf/blob/pkgconf-${finalAttrs.version}/NEWS";
license = lib.licenses.isc;
mainProgram = "pkgconf";
maintainers = with lib.maintainers; [
zaninime
AndersonTorres
];
platforms = lib.platforms.all;
};
})