lol
at v206 55 lines 1.8 kB view raw
1{ fetchurl, stdenv, expect, makeWrapper }: 2 3stdenv.mkDerivation rec { 4 name = "dejagnu-1.5.3"; 5 6 src = fetchurl { 7 url = "mirror://gnu/dejagnu/${name}.tar.gz"; 8 sha256 = "069z3qrdv35cm2sbnfr5yjzplrqj9f61cchxis7j9mm19hv8x6q9"; 9 }; 10 11 patches = [ ./wrapped-runtest-program-name.patch ]; 12 13 buildInputs = [ expect makeWrapper ]; 14 15 doCheck = true; 16 17 # Note: The test-suite *requires* /dev/pts among the `build-chroot-dirs' of 18 # the build daemon when building in a chroot. See 19 # <http://thread.gmane.org/gmane.linux.distributions.nixos/1036> for 20 # details. 21 22 # The test-suite needs to have a non-empty stdin: 23 # http://lists.gnu.org/archive/html/bug-dejagnu/2003-06/msg00002.html 24 checkPhase = '' 25 # Provide `runtest' with a log name, otherwise it tries to run 26 # `whoami', which fails when in a chroot. 27 LOGNAME="nix-build-daemon" make check < /dev/zero 28 ''; 29 30 postInstall = '' 31 wrapProgram "$out/bin/runtest" \ 32 --prefix PATH ":" "${expect}/bin" 33 ''; 34 35 meta = with stdenv.lib; { 36 description = "Framework for testing other programs"; 37 38 longDescription = '' 39 DejaGnu is a framework for testing other programs. Its purpose 40 is to provide a single front end for all tests. Think of it as a 41 custom library of Tcl procedures crafted to support writing a 42 test harness. A test harness is the testing infrastructure that 43 is created to support a specific program or tool. Each program 44 can have multiple testsuites, all supported by a single test 45 harness. DejaGnu is written in Expect, which in turn uses Tcl -- 46 Tool command language. 47 ''; 48 49 homepage = http://www.gnu.org/software/dejagnu/; 50 license = licenses.gpl2Plus; 51 52 platforms = platforms.linux; 53 maintainers = with maintainers; [ wkennington ]; 54 }; 55}