git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #139347 from r-burns/build2

build2: split out dependencies

commit8b5982c9a7dc2f2d7bde247e205ce913d0129731 authorRyan Burns <52847440+r-burns@users.noreply.github.com> dateFri 22 Oct 2021, 17:31 (5 years ago) parent08a0d493332be9
12 files changed+589−11
pkgs/development/libraries/libbpkg/default.nix+47 pkgs/development/libraries/libbutl/default.nix+54 pkgs/development/libraries/libodb-sqlite/default.nix+56 pkgs/development/libraries/libodb/default.nix+45 pkgs/development/tools/build-managers/build2/bdep.nix+49 pkgs/development/tools/build-managers/build2/bootstrap.nix+44 pkgs/development/tools/build-managers/build2/bpkg.nix+63 pkgs/development/tools/build-managers/build2/default.nix+74−10 pkgs/development/tools/build-managers/build2/nix-ldflags-sysdirs.patch+42 pkgs/development/tools/build-managers/build2/remove-config-store-paths.patch+14 pkgs/development/tools/build-managers/build2/setup-hook.sh+85 pkgs/top-level/all-packages.nix+16−1
pkgs/development/libraries/libbpkg/default.nixnew file+47
@@ -0,0 +1,47 @@
1+{ lib, stdenv
2+, build2
3+, fetchurl
4+, libbutl
5+, enableShared ? !stdenv.hostPlatform.isStatic
6+, enableStatic ? !enableShared
7+}:
8+
9+stdenv.mkDerivation rec {
10+ pname = "libbpkg";
11+ version = "0.13.0";
12+ outputs = [ "out" "dev" "doc" ];
13+
14+ src = fetchurl {
15+ url = "https://pkg.cppget.org/1/alpha/build2/libbpkg-${version}.tar.gz";
16+ sha256 = "732849cdd5d773c589dd0ac220002fa41424784df10617adc4dea729faafb22b";
17+ };
18+
19+ nativeBuildInputs = [
20+ build2
21+ ];
22+ buildInputs = [
23+ libbutl
24+ ];
25+
26+ build2ConfigureFlags = [
27+ "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}"
28+ ];
29+
30+ strictDeps = true;
31+
32+ doCheck = true;
33+
34+ meta = with lib; {
35+ description = "build2 package dependency manager utility library";
36+ longDescription = ''
37+ This library defines the types and utilities for working with build2 packages.
38+ In particular, it provides C++ classes as well as the parser and serializer
39+ implementations that can be used to read, manipulate, and write package,
40+ repository and signature manifests.
41+ '';
42+ homepage = "https://build2.org/";
43+ changelog = "https://git.build2.org/cgit/libbpkg/log";
44+ license = licenses.mit;
45+ maintainers = with maintainers; [ r-burns ];
46+ };
47+}
pkgs/development/libraries/libbutl/default.nixnew file+54
@@ -0,0 +1,54 @@
1+{ lib, stdenv
2+, build2
3+, fetchurl
4+, libuuid
5+, enableShared ? !stdenv.hostPlatform.isStatic
6+, enableStatic ? !enableShared
7+}:
8+
9+stdenv.mkDerivation rec {
10+ pname = "libbutl";
11+ version = "0.13.0";
12+
13+ outputs = [ "out" "dev" "doc" ];
14+
15+ src = fetchurl {
16+ url = "https://pkg.cppget.org/1/alpha/build2/libbutl-${version}.tar.gz";
17+ sha256 = "d7944637ab4a17d3a299c04ff6f146e89b2a0f433ddd9d08d8632a25bae9c9cb";
18+ };
19+
20+ nativeBuildInputs = [
21+ build2
22+ ];
23+
24+ strictDeps = true;
25+
26+ # Should be true for anything built with build2,
27+ # but especially important when bootstrapping
28+ disallowedReferences = [ build2 ];
29+
30+ postPatch = lib.optionalString stdenv.isLinux ''
31+ substituteInPlace libbutl/uuid-linux.cxx \
32+ --replace '"libuuid.so' '"${lib.getLib libuuid}/lib/libuuid.so'
33+ '';
34+
35+ build2ConfigureFlags = [
36+ "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}"
37+ ];
38+
39+ # tests broken with -DNDEBUG
40+ # https://github.com/build2/libbutl/issues/4
41+ # doCheck = true;
42+
43+ meta = with lib; {
44+ description = "build2 utility library";
45+ longDescription = ''
46+ This library is a collection of utilities that are used throughout the
47+ build2 toolchain.
48+ '';
49+ homepage = "https://build2.org/";
50+ changelog = "https://git.build2.org/cgit/libbutl/log";
51+ license = licenses.mit;
52+ maintainers = with maintainers; [ r-burns ];
53+ };
54+}
pkgs/development/libraries/libodb-sqlite/default.nixnew file+56
@@ -0,0 +1,56 @@
1+{ lib, stdenv
2+, build2
3+, fetchurl
4+, libodb
5+, sqlite
6+, enableShared ? !stdenv.hostPlatform.isStatic
7+, enableStatic ? !enableShared
8+}:
9+stdenv.mkDerivation rec {
10+ pname = "libodb-sqlite";
11+ version = "2.5.0-b.19";
12+
13+ outputs = [ "out" "dev" "doc" ];
14+
15+ src = fetchurl {
16+ url = "https://pkg.cppget.org/1/beta/odb/libodb-sqlite-${version}.tar.gz";
17+ sha256 = "9443653bfc31d02d0d723f18072f6b04083d090e6580844e33c1e769db122494";
18+ };
19+
20+ nativeBuildInputs = [
21+ build2
22+ ];
23+ buildInputs = [
24+ libodb
25+ ];
26+ propagatedBuildInputs = [
27+ sqlite
28+ ];
29+
30+ build2ConfigureFlags = [
31+ "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}"
32+ ];
33+
34+ doCheck = true;
35+
36+ meta = with lib; {
37+ description = "SQLite ODB runtime library";
38+ longDescription = ''
39+ ODB is an object-relational mapping (ORM) system for C++. It provides
40+ tools, APIs, and library support that allow you to persist C++ objects
41+ to a relational database (RDBMS) without having to deal with tables,
42+ columns, or SQL and without manually writing any of the mapping code.
43+ For more information see:
44+
45+ http://www.codesynthesis.com/products/odb/
46+
47+ This package contains the SQLite ODB runtime library. Every application
48+ that includes code generated for the SQLite database will need to link
49+ to this library.
50+ '';
51+ homepage = "https://www.codesynthesis.com/products/odb/";
52+ changelog = "https://git.codesynthesis.com/cgit/odb/libodb-sqlite/tree/NEWS";
53+ license = licenses.gpl2Only;
54+ maintainers = with maintainers; [ r-burns ];
55+ };
56+}
pkgs/development/libraries/libodb/default.nixnew file+45
@@ -0,0 +1,45 @@
1+{ lib, stdenv
2+, build2
3+, fetchurl
4+, enableShared ? !stdenv.hostPlatform.isStatic
5+, enableStatic ? !enableShared
6+}:
7+stdenv.mkDerivation rec {
8+ pname = "libodb";
9+ version = "2.5.0-b.19";
10+
11+ outputs = [ "out" "dev" "doc" ];
12+
13+ src = fetchurl {
14+ url = "https://pkg.cppget.org/1/beta/odb/libodb-${version}.tar.gz";
15+ sha256 = "8180d9d40d8e74ed25b1712953f19379a29abdee3896ae98ba9ade35846adb39";
16+ };
17+
18+ nativeBuildInputs = [ build2 ];
19+ build2ConfigureFlags = [
20+ "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}"
21+ ];
22+
23+ doCheck = true;
24+
25+ meta = with lib; {
26+ description = "Common ODB runtime library";
27+ longDescription = ''
28+ ODB is an object-relational mapping (ORM) system for C++. It provides
29+ tools, APIs, and library support that allow you to persist C++ objects
30+ to a relational database (RDBMS) without having to deal with tables,
31+ columns, or SQL and without manually writing any of the mapping code.
32+ For more information see:
33+
34+ http://www.codesynthesis.com/products/odb/
35+
36+ This package contains the common ODB runtime library. Every application
37+ that includes code generated by the ODB compiler will need to link to
38+ this library.
39+ '';
40+ homepage = "https://www.codesynthesis.com/products/odb/";
41+ changelog = "https://git.codesynthesis.com/cgit/odb/libodb/tree/NEWS";
42+ license = licenses.gpl2Only;
43+ maintainers = with maintainers; [ r-burns ];
44+ };
45+}
pkgs/development/tools/build-managers/build2/bdep.nixnew file+49
@@ -0,0 +1,49 @@
1+{ lib, stdenv
2+, build2
3+, fetchurl
4+, libbpkg
5+, libbutl
6+, libodb
7+, libodb-sqlite
8+, enableShared ? !stdenv.hostPlatform.isStatic
9+, enableStatic ? !enableShared
10+}:
11+
12+stdenv.mkDerivation rec {
13+ pname = "bdep";
14+ version = "0.13.0";
15+
16+ outputs = [ "out" "doc" "man" ];
17+ src = fetchurl {
18+ url = "https://pkg.cppget.org/1/alpha/build2/bdep-${version}.tar.gz";
19+ sha256 = "8e11b469d875d05c4eb7a228416b78a61c68a49310e5e41db78ed6d048f6ba2a";
20+ };
21+
22+ strictDeps = true;
23+ nativeBuildInputs = [
24+ build2
25+ ];
26+ buildInputs = [
27+ libbpkg
28+ libbutl
29+ libodb
30+ libodb-sqlite
31+ ];
32+
33+ build2ConfigureFlags = [
34+ "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}"
35+ ];
36+
37+ meta = with lib; {
38+ description = "build2 project dependency manager";
39+ # https://build2.org/bdep/doc/bdep.xhtml
40+ longDescription = ''
41+ The build2 project dependency manager is used to manage the dependencies
42+ of a project during development.
43+ '';
44+ homepage = "https://build2.org/";
45+ changelog = "https://git.build2.org/cgit/bdep/tree/NEWS";
46+ license = licenses.mit;
47+ maintainers = with maintainers; [ r-burns ];
48+ };
49+}
pkgs/development/tools/build-managers/build2/bootstrap.nixnew file+44
@@ -0,0 +1,44 @@
1+{ lib, stdenv
2+, fetchurl
3+, pkgs
4+, fixDarwinDylibNames
5+}:
6+stdenv.mkDerivation rec {
7+ pname = "build2-bootstrap";
8+ version = "0.13.0";
9+ src = fetchurl {
10+ url = "https://download.build2.org/${version}/build2-toolchain-${version}.tar.xz";
11+ sha256 = "01hmr5y8aa28qchwy9ci8x5q746flwxmlxarmy4w9zay9nmvryms";
12+ };
13+ patches = [
14+ # Pick up sysdirs from NIX_LDFLAGS
15+ ./nix-ldflags-sysdirs.patch
16+ ];
17+
18+ sourceRoot = "build2-toolchain-${version}/build2";
19+ makefile = "bootstrap.gmake";
20+ enableParallelBuilding = true;
21+
22+ setupHook = ./setup-hook.sh;
23+
24+ strictDeps = true;
25+
26+ propagatedBuildInputs = lib.optionals stdenv.targetPlatform.isDarwin [
27+ fixDarwinDylibNames
28+ ];
29+
30+ doCheck = true;
31+ checkPhase = ''
32+ runHook preCheck
33+ build2/b-boot --version
34+ runHook postCheck
35+ '';
36+
37+ installPhase = ''
38+ runHook preInstall
39+ install -D build2/b-boot $out/bin/b
40+ runHook postInstall
41+ '';
42+
43+ inherit (pkgs.build2) passthru;
44+}
pkgs/development/tools/build-managers/build2/bpkg.nixnew file+63
@@ -0,0 +1,63 @@
1+{ lib, stdenv
2+, build2
3+, fetchurl
4+, git
5+, libbpkg
6+, libbutl
7+, libodb
8+, libodb-sqlite
9+, openssl
10+, enableShared ? !stdenv.hostPlatform.isStatic
11+, enableStatic ? !enableShared
12+}:
13+
14+stdenv.mkDerivation rec {
15+ pname = "bpkg";
16+ version = "0.13.0";
17+
18+ outputs = [ "out" "doc" "man" ];
19+
20+ src = fetchurl {
21+ url = "https://pkg.cppget.org/1/alpha/build2/bpkg-${version}.tar.gz";
22+ sha256 = "fec41e171c8ea7967bfc44850568cd624def544fd866c383bd413c5b4349e282";
23+ };
24+
25+ strictDeps = true;
26+ nativeBuildInputs = [
27+ build2
28+ ];
29+ buildInputs = [
30+ libbpkg
31+ libbutl
32+ libodb
33+ libodb-sqlite
34+ ];
35+ checkInputs = [
36+ git
37+ openssl
38+ ];
39+
40+ doCheck = !stdenv.isDarwin; # tests hang
41+
42+ # Failing test
43+ postPatch = ''
44+ rm tests/rep-create.testscript
45+ '';
46+
47+ build2ConfigureFlags = [
48+ "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}"
49+ ];
50+
51+ meta = with lib; {
52+ description = "build2 package dependency manager";
53+ # https://build2.org/bpkg/doc/bpkg.xhtml
54+ longDescription = ''
55+ The build2 package dependency manager is used to manipulate build
56+ configurations, packages, and repositories.
57+ '';
58+ homepage = "https://build2.org/";
59+ changelog = "https://git.build2.org/cgit/bpkg/tree/NEWS";
60+ license = licenses.mit;
61+ maintainers = with maintainers; [ r-burns ];
62+ };
63+}
pkgs/development/tools/build-managers/build2/default.nix+74−10
@@ -1,23 +1,86 @@
1−{ stdenv, lib, fetchurl }:
2−
1+{ stdenv, lib
2+, build2
3+, fetchurl
4+, fetchpatch
5+, fixDarwinDylibNames
6+, libbutl
7+, libpkgconf
8+, enableShared ? !stdenv.hostPlatform.isStatic
9+, enableStatic ? !enableShared
10+}:
11+let
12+ configSharedStatic = enableShared: enableStatic:
13+ if enableShared && enableStatic then "both"
14+ else if enableShared then "shared"
15+ else if enableStatic then "static"
16+ else throw "neither shared nor static libraries requested";
17+in
318stdenv.mkDerivation rec {
419 pname = "build2";
520 version = "0.13.0";
621
22+ outputs = [ "out" "dev" "doc" "man" ];
23+
24+ setupHook = ./setup-hook.sh;
25+
726 src = fetchurl {
8− url = "https://download.build2.org/${version}/build2-toolchain-${version}.tar.xz";
9− sha256 = "01hmr5y8aa28qchwy9ci8x5q746flwxmlxarmy4w9zay9nmvryms";
27+ url = "https://pkg.cppget.org/1/alpha/build2/build2-${version}.tar.gz";
28+ sha256 = "aff53a87c23534e0232b5cf746e0be4b2aaa840c3de4e668b98e382a3973c45e";
1029 };
1130
12− dontConfigure = true;
13− dontInstall = true;
31+ patches = [
32+ # Remove any build/host config entries which refer to nix store paths
33+ ./remove-config-store-paths.patch
34+ # Pick up sysdirs from NIX_LDFLAGS
35+ ./nix-ldflags-sysdirs.patch
36+ # Fix stray '-l' linker flags in pkg-config files (remove in next release)
37+ (fetchpatch {
38+ url = "https://github.com/build2/build2/commit/d51892e33a0fe69e743e02d9620312133a7ac61d.patch";
39+ sha256 = "0xzm084bxnfi8lqng0cwxvz8ylbfzk0didbr2wf385gssv4fva81";
40+ })
41+ ];
42+
43+ strictDeps = true;
44+ nativeBuildInputs = [
45+ build2
46+ ];
47+ disallowedReferences = [
48+ build2
49+ libbutl.dev
50+ libpkgconf.dev
51+ ];
52+ buildInputs = [
53+ libbutl
54+ libpkgconf
55+ ];
56+
57+ # Build2 uses @rpath on darwin
58+ # https://github.com/build2/build2/issues/166
59+ # N.B. this only adjusts the install_name after all libraries are installed;
60+ # packages containing multiple interdependent libraries may have
61+ # LC_LOAD_DYLIB entries containing @rpath, requiring manual fixup
62+ propagatedBuildInputs = lib.optionals stdenv.targetPlatform.isDarwin [
63+ fixDarwinDylibNames
64+ ];
1465
15− buildPhase = ''
16− runHook preBuild
17− ./build.sh --local --trust yes --install-dir "$out" "$CXX"
18− runHook postBuild
66+ postPatch = ''
67+ patchShebangs --build tests/bash/testscript
1968 '';
2069
70+ build2ConfigureFlags = [
71+ "config.bin.lib=${configSharedStatic enableShared enableStatic}"
72+ "config.cc.poptions+=-I${lib.getDev libpkgconf}/include/pkgconf"
73+ ];
74+
75+ postInstall = lib.optionalString stdenv.isDarwin ''
76+ install_name_tool -add_rpath "''${!outputLib}/lib" "''${!outputBin}/bin/b"
77+ '';
78+
79+ passthru = {
80+ bootstrap = build2;
81+ inherit configSharedStatic;
82+ };
83+
2184 meta = with lib; {
2285 homepage = "https://www.build2.org/";
2386 description = "build2 build system";
@@ -34,6 +97,7 @@ stdenv.mkDerivation rec {
3497 at C/C++ projects as well as mixed-language projects involving
3598 one of these languages (see bash and rust modules, for example).
3699 '';
100+ changelog = "https://git.build2.org/cgit/build2/tree/NEWS";
37101 platforms = platforms.all;
38102 maintainers = with maintainers; [ hiro98 r-burns ];
39103 };
pkgs/development/tools/build-managers/build2/nix-ldflags-sysdirs.patchnew file+42
@@ -0,0 +1,42 @@
1+diff --git a/libbuild2/cc/common.cxx b/libbuild2/cc/common.cxx
2+index f848003c..0f14f9a5 100644
3+--- a/libbuild2/cc/common.cxx
4++++ b/libbuild2/cc/common.cxx
5+@@ -966,6 +966,17 @@ namespace build2
6+ void
7+ msvc_extract_library_search_dirs (const strings&, dir_paths&); // msvc.cxx
8+
9++ static strings split (const string& s, const char delim) {
10++ stringstream ss (s);
11++ string item;
12++ strings result;
13++
14++ while (getline (ss, item, delim)) {
15++ result.push_back (item);
16++ }
17++ return result;
18++ }
19++
20+ dir_paths common::
21+ extract_library_search_dirs (const scope& bs) const
22+ {
23+@@ -987,8 +998,19 @@ namespace build2
24+ msvc_extract_library_search_dirs (v, r);
25+ else
26+ gcc_extract_library_search_dirs (v, r);
27++
28+ };
29+
30++ // NIX_LDFLAGS are implicitly used when linking,
31++ // so its -L flags effectively specify system dirs.
32++ // However, they are only enabled when actually linking and are thus
33++ // not detected by build2, so we need to manually pick them up here.
34++ if (auto s = getenv ("NIX_LDFLAGS")) {
35++ // TODO: do we need more robust args splitting here? e.g. shlex.split
36++ auto args = split (s.value (), ' ');
37++ gcc_extract_library_search_dirs (args, r);
38++ }
39++
40+ // Note that the compiler mode options are in sys_lib_dirs.
41+ //
42+ if (auto l = bs[c_loptions]) extract (*l, c_loptions);
pkgs/development/tools/build-managers/build2/remove-config-store-paths.patchnew file+14
@@ -0,0 +1,14 @@
1+--- a/libbuild2/buildfile
2++++ b/libbuild2/buildfile
3+@@ -68,7 +68,11 @@ config/cxx{host-config}: config/in{host-config}
4+ #
5+ build2_config = $regex.replace_lines( \
6++ $regex.replace_lines( \
7+ $config.save(), \
8+ '^ *(#|config\.dist\.|config\.install\.chroot).*$', \
9+ [null], \
10++ return_lines), \
11++ '^.*'$getenv(NIX_STORE)'/[a-z0-9]{32}-.*$', \
12++ [null], \
13+ return_lines)
14+
pkgs/development/tools/build-managers/build2/setup-hook.shnew file+85
@@ -0,0 +1,85 @@
1+build2ConfigurePhase() {
2+ runHook preConfigure
3+
4+ local flagsArray=(
5+ "config.c=$CC"
6+ "config.cxx=$CXX"
7+ "config.cc.coptions+=-O2"
8+ "config.cc.poptions+=-DNDEBUG"
9+ "config.install.root=$prefix"
10+ "config.install.bin=${!outputBin}/bin"
11+ "config.install.doc=${!outputDoc}/share/doc/${shareDocName}"
12+ "config.install.exec_root=${!outputBin}"
13+ "config.install.include=${!outputInclude}/include"
14+ "config.install.lib=${!outputLib}/lib"
15+ "config.install.libexec=${!outputLib}/libexec"
16+ "config.install.man=${!outputDoc}/share/man"
17+ "config.install.sbin=${!outputBin}/sbin"
18+ "config.install.bin.mode=755"
19+ $build2ConfigureFlags "${build2ConfigureFlagsArray[@]}"
20+ )
21+
22+ echo 'configure flags' "${flagsArray[@]}"
23+
24+ b configure "${flagsArray[@]}"
25+
26+ runHook postConfigure
27+}
28+
29+build2BuildPhase() {
30+ runHook preBuild
31+
32+ local flagsArray=(
33+ $build2BuildFlags "${build2BuildFlagsArray[@]}"
34+ )
35+
36+ echo 'build flags' "${flagsArray[@]}"
37+ b "${flagsArray[@]}"
38+
39+ runHook postBuild
40+}
41+
42+build2CheckPhase() {
43+ runHook preCheck
44+
45+ local flagsArray=(
46+ $build2CheckFlags "${build2CheckFlags[@]}"
47+ )
48+
49+ echo 'check flags' "${flagsArray[@]}"
50+
51+ b test ${build2Dir:-.} "${flagsArray[@]}"
52+
53+ runHook postCheck
54+}
55+
56+build2InstallPhase() {
57+ runHook preInstall
58+
59+ local flagsArray=(
60+ $build2InstallFlags "${build2InstallFlagsArray[@]}"
61+ ${installTargets:-}
62+ )
63+
64+ echo 'install flags' "${flagsArray[@]}"
65+ b install "${flagsArray[@]}"
66+
67+ runHook postInstall
68+}
69+
70+if [ -z "${dontUseBuild2Configure-}" -a -z "${configurePhase-}" ]; then
71+ setOutputFlags=
72+ configurePhase=build2ConfigurePhase
73+fi
74+
75+if [ -z "${dontUseBuild2Build-}" -a -z "${buildPhase-}" ]; then
76+ buildPhase=build2BuildPhase
77+fi
78+
79+if [ -z "${dontUseBuild2Check-}" -a -z "${checkPhase-}" ]; then
80+ checkPhase=build2CheckPhase
81+fi
82+
83+if [ -z "${dontUseBuild2Install-}" -a -z "${installPhase-}" ]; then
84+ installPhase=build2InstallPhase
85+fi
pkgs/top-level/all-packages.nix+16−1
@@ -13982,7 +13982,21 @@ with pkgs;
1398213982
1398313983 buck = callPackage ../development/tools/build-managers/buck { };
1398413984
13985− build2 = callPackage ../development/tools/build-managers/build2 { };
13985+ build2 = callPackage ../development/tools/build-managers/build2 {
13986+ # Break cycle by using self-contained toolchain for bootstrapping
13987+ build2 = buildPackages.callPackage ../development/tools/build-managers/build2/bootstrap.nix { };
13988+ };
13989+
13990+ # Dependency of build2, must also break cycle for this
13991+ libbutl = callPackage ../development/libraries/libbutl {
13992+ build2 = build2.bootstrap;
13993+ };
13994+
13995+ libbpkg = callPackage ../development/libraries/libbpkg { };
13996+ libodb = callPackage ../development/libraries/libodb { };
13997+ libodb-sqlite = callPackage ../development/libraries/libodb-sqlite { };
13998+ bdep = callPackage ../development/tools/build-managers/build2/bdep.nix { };
13999+ bpkg = callPackage ../development/tools/build-managers/build2/bpkg.nix { };
1398614000
1398714001 buildkite-agent = callPackage ../development/tools/continuous-integration/buildkite-agent { };
1398814002
@@ -14852,6 +14866,7 @@ with pkgs;
1485214866 pkg-config = pkgconf-unwrapped;
1485314867 baseBinName = "pkgconf";
1485414868 };
14869+ libpkgconf = pkgconf-unwrapped;
1485514870
1485614871 pkg-config-unwrapped = callPackage ../development/tools/misc/pkg-config { };
1485714872 pkg-config = callPackage ../build-support/pkg-config-wrapper {