Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / libbutl / default.nix
blob01ff0412b632c958948d5b64237f4d22c1089068
1 { lib, stdenv
2 , build2
3 , fetchurl
4 , libuuid
5 , enableShared ? !stdenv.hostPlatform.isStatic
6 , enableStatic ? !enableShared
7 }:
9 stdenv.mkDerivation rec {
10   pname = "libbutl";
11   version = "0.15.0";
13   outputs = [ "out" "dev" "doc" ];
15   src = fetchurl {
16     url = "https://pkg.cppget.org/1/alpha/build2/libbutl-${version}.tar.gz";
17     sha256 = "sha256-yzs6DFt6peJPPaMQ3rtx+kiYu7H+bUuShcdnEN90WWI=";
18   };
20   nativeBuildInputs = [
21     build2
22   ];
24   strictDeps = true;
26   # Should be true for anything built with build2,
27   # but especially important when bootstrapping
28   disallowedReferences = [ build2 ];
30   postPatch = lib.optionalString stdenv.isLinux ''
31     substituteInPlace libbutl/uuid-linux.cxx \
32       --replace '"libuuid.so' '"${lib.getLib libuuid}/lib/libuuid.so'
33   '';
35   build2ConfigureFlags = [
36     "config.bin.lib=${build2.configSharedStatic enableShared enableStatic}"
37   ];
39   doCheck = true;
41   meta = with lib; {
42     description = "build2 utility library";
43     longDescription = ''
44       This library is a collection of utilities that are used throughout the
45       build2 toolchain.
46     '';
47     homepage = "https://build2.org/";
48     changelog = "https://git.build2.org/cgit/libbutl/log";
49     license = licenses.mit;
50     maintainers = with maintainers; [ r-burns ];
51     platforms = platforms.all;
52   };