
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
71 lines
1.5 KiB
Nix
71 lines
1.5 KiB
Nix
{ lib, stdenv
|
|
, build2
|
|
, fetchurl
|
|
, git
|
|
, libbpkg
|
|
, libbutl
|
|
, libodb
|
|
, libodb-sqlite
|
|
, openssl
|
|
, enableShared ? !stdenv.hostPlatform.isStatic
|
|
, enableStatic ? !enableShared
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "bpkg";
|
|
version = "0.16.0";
|
|
|
|
outputs = [ "out" "doc" "man" ];
|
|
|
|
src = fetchurl {
|
|
url = "https://pkg.cppget.org/1/alpha/build2/bpkg-${version}.tar.gz";
|
|
hash = "sha256-sxzVidVL8dpoH82IevcwjcIWj4LQzliGv9zasTYqeok=";
|
|
};
|
|
|
|
strictDeps = true;
|
|
nativeBuildInputs = [
|
|
build2
|
|
];
|
|
buildInputs = [
|
|
build2
|
|
libbpkg
|
|
libbutl
|
|
libodb
|
|
libodb-sqlite
|
|
];
|
|
nativeCheckInputs = [
|
|
git
|
|
openssl
|
|
];
|
|
|
|
doCheck = !stdenv.isDarwin; # tests hang
|
|
|
|
# Failing test
|
|
postPatch = ''
|
|
rm tests/rep-create.testscript
|
|
'';
|
|
|
|
build2ConfigureFlags = [
|
|
"config.bin.lib=${build2.configSharedStatic enableShared enableStatic}"
|
|
];
|
|
|
|
postInstall = lib.optionalString stdenv.isDarwin ''
|
|
install_name_tool -add_rpath '${lib.getLib build2}/lib' "''${!outputBin}/bin/bpkg"
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "build2 package dependency manager";
|
|
mainProgram = "bpkg";
|
|
# https://build2.org/bpkg/doc/bpkg.xhtml
|
|
longDescription = ''
|
|
The build2 package dependency manager is used to manipulate build
|
|
configurations, packages, and repositories.
|
|
'';
|
|
homepage = "https://build2.org/";
|
|
changelog = "https://git.build2.org/cgit/bpkg/tree/NEWS";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ r-burns ];
|
|
platforms = platforms.all;
|
|
};
|
|
}
|