nixpkgs/pkgs/development/tools/misc/pkgconf/default.nix

60 lines
1.9 KiB
Nix

{ lib
, stdenv
, fetchurl
, removeReferencesTo
}:
stdenv.mkDerivation rec {
pname = "pkgconf";
version = "1.9.4";
src = fetchurl {
url = "https://distfiles.dereferenced.org/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-2szxu+WjDRSbVWx9L//+r9dte1FOJJJxq91QFTPB2K4=";
};
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 someting.
+ ''
mv ${placeholder "dev"}/share ${placeholder "out"}
'';
meta = with lib; {
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.
'';
license = licenses.isc;
maintainers = with maintainers; [ zaninime AndersonTorres ];
platforms = platforms.all;
};
}