tuicam: init at 0.0.2 (#377825)
[NixPkgs.git] / pkgs / by-name / li / libpkgconf / package.nix
blobfb9e541fb242bce312ae6123ffe9b757a7faaa85
2   lib,
3   stdenv,
4   fetchurl,
5   removeReferencesTo,
6   gitUpdater,
7 }:
9 stdenv.mkDerivation (finalAttrs: {
10   pname = "pkgconf";
11   version = "2.3.0";
13   src = fetchurl {
14     url = "https://distfiles.dereferenced.org/pkgconf/pkgconf-${finalAttrs.version}.tar.xz";
15     hash = "sha256-OpCArFHQNhXnwZEKCiqN8IQkiStfE7BiiiBNP8zg6os=";
16   };
18   outputs = [
19     "out"
20     "lib"
21     "dev"
22     "man"
23     "doc"
24   ];
26   nativeBuildInputs = [ removeReferencesTo ];
28   enableParallelBuilding = true;
30   # Debian has outputs like these too
31   # (https://packages.debian.org/source/bullseye/pkgconf), so it is safe to
32   # remove those references
33   postFixup =
34     ''
35       remove-references-to \
36         -t "${placeholder "out"}" \
37         "${placeholder "lib"}"/lib/*
38       remove-references-to \
39         -t "${placeholder "dev"}" \
40         "${placeholder "lib"}"/lib/* \
41         "${placeholder "out"}"/bin/*
42     ''
43     # Move back share/aclocal. Yes, this normally goes in the dev output for good
44     # reason, but in this case the dev output is for the `libpkgconf` library,
45     # while the aclocal stuff is for the tool. The tool is already for use during
46     # development, so there is no reason to have separate "dev-bin" and "dev-lib"
47     # outputs or something.
48     + ''
49       mv ${placeholder "dev"}/share ${placeholder "out"}
50     '';
52   passthru.updateScript = gitUpdater {
53     url = "https://gitea.treehouse.systems/ariadne/pkgconf";
54     rev-prefix = "pkgconf-";
55   };
57   meta = {
58     homepage = "https://gitea.treehouse.systems/ariadne/pkgconf";
59     description = "Package compiler and linker metadata toolkit";
60     longDescription = ''
61       pkgconf is a program which helps to configure compiler and linker flags
62       for development libraries. It is similar to pkg-config from
63       freedesktop.org.
65       libpkgconf is a library which provides access to most of pkgconf's
66       functionality, to allow other tooling such as compilers and IDEs to
67       discover and use libraries configured by pkgconf.
68     '';
69     changelog = "https://gitea.treehouse.systems/ariadne/pkgconf/src/tag/pkgconf-${finalAttrs.version}/NEWS";
70     license = lib.licenses.isc;
71     mainProgram = "pkgconf";
72     maintainers = with lib.maintainers; [
73       zaninime
74       AndersonTorres
75     ];
76     platforms = lib.platforms.all;
77   };