80 lines
1.8 KiB
Nix
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;
|
|
};
|
|
}
|