biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / build-managers / build2 / bpkg.nix
blobe395322df420fdd80d5a2ff50792fa4412e17ada
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
14 stdenv.mkDerivation rec {
15   pname = "bpkg";
16   version = "0.16.0";
18   outputs = [ "out" "doc" "man" ];
20   src = fetchurl {
21     url = "https://pkg.cppget.org/1/alpha/build2/bpkg-${version}.tar.gz";
22     hash = "sha256-sxzVidVL8dpoH82IevcwjcIWj4LQzliGv9zasTYqeok=";
23   };
25   strictDeps = true;
26   nativeBuildInputs = [
27     build2
28   ];
29   buildInputs = [
30     build2
31     libbpkg
32     libbutl
33     libodb
34     libodb-sqlite
35   ];
36   nativeCheckInputs = [
37     git
38     openssl
39   ];
41   doCheck = !stdenv.isDarwin; # tests hang
43   # Failing test
44   postPatch = ''
45     rm tests/rep-create.testscript
46   '';
48   build2ConfigureFlags = [
49     "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}"
50   ];
52   postInstall = lib.optionalString stdenv.isDarwin ''
53     install_name_tool -add_rpath '${lib.getLib build2}/lib' "''${!outputBin}/bin/bpkg"
54   '';
56   meta = with lib; {
57     description = "build2 package dependency manager";
58     mainProgram = "bpkg";
59     # https://build2.org/bpkg/doc/bpkg.xhtml
60     longDescription = ''
61       The build2 package dependency manager is used to manipulate build
62       configurations, packages, and repositories.
63     '';
64     homepage = "https://build2.org/";
65     changelog = "https://git.build2.org/cgit/bpkg/tree/NEWS";
66     license = licenses.mit;
67     maintainers = with maintainers; [ r-burns ];
68     platforms = platforms.all;
69   };