nixpkgs/pkgs/development/tools/build-managers/redo-apenwarr/default.nix
2019-09-20 22:31:08 +02:00

80 lines
1.8 KiB
Nix

{ stdenv, lib, python27, fetchFromGitHub, mkdocs, which, findutils, coreutils
, perl
, doCheck ? true
}: let
# copy from
# pkgs/applications/networking/pyload/beautifulsoup.nix
beautifulsoup = python27.pkgs.callPackage ./beautifulsoup.nix {
pythonPackages = python27.pkgs;
};
mkdocs-exclude = python27.pkgs.callPackage ./mkdocs-exclude.nix {
pythonPackages = python27.pkgs;
};
in stdenv.mkDerivation rec {
pname = "redo-apenwarr";
version = "0.42";
src = fetchFromGitHub rec {
owner = "apenwarr";
repo = "redo";
rev = "${repo}-${version}";
sha256 = "1060yb7hrxm8c7bfvb0y4j0acpxsj6hbykw1d9549zpkxxr9nsgm";
};
postPatch = ''
patchShebangs minimal/do
'' + lib.optionalString doCheck ''
unset CC CXX
substituteInPlace minimal/do.test \
--replace "/bin/pwd" "${coreutils}/bin/pwd"
substituteInPlace t/105-sympath/all.do \
--replace "/bin/pwd" "${coreutils}/bin/pwd"
substituteInPlace t/all.do \
--replace "/bin/ls" "ls"
substituteInPlace t/110-compile/hello.o.do \
--replace "/usr/include" "${stdenv.lib.getDev stdenv.cc.libc}/include"
substituteInPlace t/200-shell/nonshelltest.do \
--replace "/usr/bin/env perl" "${perl}/bin/perl"
'';
inherit doCheck;
checkTarget = "test";
outputs = [ "out" "man" ];
installFlags = [
"PREFIX=$(out)"
"DESTDIR=/"
];
nativeBuildInputs = [
python27
beautifulsoup
mkdocs
mkdocs-exclude
which
findutils
];
meta = with lib; {
description = "Smaller, easier, more powerful, and more reliable than make. An implementation of djb's redo.";
homepage = https://github.com/apenwarr/redo;
maintainers = with maintainers; [
andrewchambers
ck3d
];
license = licenses.asl20;
};
}