2021-01-15 13:21:58 +00:00
|
|
|
{ lib, stdenv, fetchurl, perl, gperf, bison, groff
|
2021-01-19 06:50:56 +00:00
|
|
|
, pkg-config, libXft, pcre
|
2018-07-21 01:44:44 +01:00
|
|
|
, libtomcrypt, libtommath, lz4 }:
|
2016-07-18 10:58:59 +01:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 13:41:18 +01:00
|
|
|
pname = "bitkeeper";
|
2016-11-10 03:45:02 +00:00
|
|
|
version = "7.3.1ce";
|
2016-07-18 10:58:59 +01:00
|
|
|
|
|
|
|
src = fetchurl {
|
2016-11-10 03:45:02 +00:00
|
|
|
url = "https://www.bitkeeper.org/downloads/${version}/bk-${version}.src.tar.gz";
|
|
|
|
sha256 = "0l6jwvcg4s1q00vb01hdv58jgv03l8x5mhjl73cwgfiff80zx147";
|
2016-07-18 10:58:59 +01:00
|
|
|
};
|
|
|
|
|
2016-08-02 16:49:08 +01:00
|
|
|
hardeningDisable = [ "fortify" ];
|
|
|
|
|
2016-07-18 10:58:59 +01:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2021-01-19 06:50:56 +00:00
|
|
|
nativeBuildInputs = [ pkg-config ];
|
2016-07-18 10:58:59 +01:00
|
|
|
buildInputs = [
|
2017-09-14 20:24:37 +01:00
|
|
|
perl gperf bison groff libXft
|
2016-07-18 10:58:59 +01:00
|
|
|
pcre libtomcrypt libtommath lz4
|
|
|
|
];
|
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
substituteInPlace port/unix_platform.sh \
|
|
|
|
--replace /bin/rm rm
|
|
|
|
substituteInPlace ./undo.c \
|
|
|
|
--replace /bin/cat cat
|
|
|
|
'';
|
|
|
|
|
|
|
|
sourceRoot = "bk-${version}/src";
|
|
|
|
buildPhase = ''
|
|
|
|
make -j6 V=1 p
|
|
|
|
make image
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
./utils/bk-* $out/bitkeeper
|
|
|
|
mkdir -p $out/bin
|
|
|
|
$out/bitkeeper/bk links $out/bin
|
|
|
|
chmod g-w $out
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "A distributed version control system";
|
|
|
|
longDescription = ''
|
|
|
|
BitKeeper is a fast, enterprise-ready, distributed SCM that
|
|
|
|
scales up to very large projects and down to tiny ones.
|
|
|
|
'';
|
2020-04-01 02:11:51 +01:00
|
|
|
homepage = "https://www.bitkeeper.org/";
|
2021-01-15 13:21:58 +00:00
|
|
|
license = lib.licenses.asl20;
|
|
|
|
platforms = lib.platforms.linux;
|
|
|
|
maintainers = with lib.maintainers; [ wscott thoughtpolice ];
|
2017-08-27 01:54:08 +01:00
|
|
|
broken = true; # seems to fail on recent glibc versions
|
2016-07-18 10:58:59 +01:00
|
|
|
};
|
|
|
|
}
|