63 lines
1.9 KiB
Nix
63 lines
1.9 KiB
Nix
{ lib, stdenv, fetchFromGitHub, zlib, bzip2, jansson, makeWrapper }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "bedops";
|
|
version = "2.4.41";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "bedops";
|
|
repo = "bedops";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-VJBoi1+tHA4oOVOsClUfimB+mOV5ZSQsDcDq3vAZwBA=";
|
|
};
|
|
|
|
buildInputs = [ zlib bzip2 jansson ];
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
preConfigure = ''
|
|
# We use nixpkgs versions of these libraries
|
|
rm -r third-party
|
|
sed -i '/^LIBS/d' system.mk/*
|
|
sed -i 's|^LIBRARIES.*$|LIBRARIES = -lbz2 -lz -ljansson|' */*/*/*/Makefile*
|
|
|
|
# `make support` installs above libraries
|
|
substituteInPlace system.mk/* \
|
|
--replace ": support" ":"
|
|
|
|
# Variable name is different in this makefile
|
|
substituteInPlace applications/bed/sort-bed/src/Makefile.darwin \
|
|
--replace "DIST_DIR" "BINDIR"
|
|
|
|
# `mkdir -p $BINDIR` is missing
|
|
substituteInPlace applications/bed/sort-bed/src/Makefile.darwin \
|
|
--replace 'mkdir -p ''${OBJ_DIR}' 'mkdir -p ''${OBJ_DIR} ''${BINDIR}'
|
|
|
|
substituteInPlace applications/bed/starch/src/Makefile --replace '$(LIBRARIES)' ""
|
|
|
|
# Function name is different in nixpkgs provided libraries
|
|
for f in interfaces/src/data/starch/starchFileHelpers.c applications/bed/starch/src/starchcat.c ; do
|
|
substituteInPlace $f --replace deflateInit2cpp deflateInit2
|
|
done
|
|
|
|
# Don't force static
|
|
for f in */*/*/*/Makefile* ; do
|
|
substituteInPlace $f --replace '-static' ""
|
|
done
|
|
'';
|
|
|
|
makeFlags = [ "BINDIR=$(out)/bin" ];
|
|
|
|
postFixup = ''
|
|
for f in $out/bin/* ; do
|
|
wrapProgram $f --prefix PATH : "$out/bin"
|
|
done
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Suite of tools for addressing questions arising in genomics studies";
|
|
homepage = "https://github.com/bedops/bedops";
|
|
license = licenses.gpl2Only;
|
|
maintainers = with maintainers; [ jbedo ];
|
|
platforms = platforms.x86_64;
|
|
};
|
|
}
|