From 6ab0a8d0a8314d005375b6cfb19c56acd9590868 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 30 Jul 2014 04:30:16 +0200 Subject: [PATCH 01/11] perl-packages: Add AnyEvent::I3, version 0.15. This is needed in order to run the i3 test suite. Signed-off-by: aszlig --- pkgs/top-level/perl-packages.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1e8433cec7f7..6ad4379185a1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -116,6 +116,19 @@ let self = _self // overrides; _self = with self; { }; }; + AnyEventI3 = buildPerlPackage rec { + name = "AnyEvent-I3-0.15"; + src = fetchurl { + url = "mirror://cpan/authors/id/M/MS/MSTPLBG/${name}.tar.gz"; + sha256 = "0x8zi06667bdgaxn7driqx0d71mp6021r51hdzmj5m5qbhi2hvqi"; + }; + propagatedBuildInputs = [ AnyEvent JSONXS ]; + meta = { + description = "Communicate with the i3 window manager"; + license = "perl"; + }; + }; + AnyEventRabbitMQ = buildPerlPackage { name = "AnyEvent-RabbitMQ-1.15"; src = fetchurl { From cf6bb72c6a0578e0d3b8e9d65bf9839ef9ef9c37 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 30 Jul 2014 04:32:38 +0200 Subject: [PATCH 02/11] perl-packages: Add X11-XCB and dependencies. This is another requirement for running the i3 test suite. Signed-off-by: aszlig --- pkgs/top-level/perl-packages.nix | 74 ++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6ad4379185a1..540a19ca19cb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3403,6 +3403,19 @@ let self = _self // overrides; _self = with self; { }; }; + ExtUtilsPkgConfig = buildPerlPackage rec { + name = "ExtUtils-PkgConfig-1.15"; + src = fetchurl { + url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz"; + sha256 = "1cxh6w8vmyqmhl6afys2q6z6jkp1m6zvacpk70196zmk48p1kcv9"; + }; + propagatedBuildInputs = [ pkgs.pkgconfig ]; + meta = { + description = "Simplistic interface to pkg-config"; + license = licenses.lgpl21Plus; + }; + }; + # From CPAN[1]: # This module exists merely as a compatibility wrapper around # ExtUtils::Typemaps. In a nutshell, ExtUtils::Typemap was renamed to @@ -9603,6 +9616,41 @@ let self = _self // overrides; _self = with self; { doCheck = false; # requires an X server }; + X11XCB = buildPerlPackage rec { + name = "X11-XCB-0.11"; + src = fetchurl { + url = "mirror://cpan/authors/id/M/MS/MSTPLBG/${name}.tar.gz"; + sha256 = "18i3z1fzw76kl9n5driys12r6vhp3r6rmb2pjn5nc7m9n4bwgh38"; + }; + AUTOMATED_TESTING = false; + buildInputs = [ + ExtUtilsDepends ExtUtilsPkgConfig DataDump + XMLSimple XMLDescent TestDeep TestException + pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm + ]; + propagatedBuildInputs = [ XSObjectMagic Mouse TryTiny ]; + NIX_CFLAGS_LINK = [ "-lxcb" "-lxcb-util" "-lxcb-xinerama" "-lxcb-icccm" ]; + doCheck = false; # requires an X server + meta = { + description = "XCB bindings for X"; + license = "perl"; + }; + }; + + XMLDescent = buildPerlPackage rec { + name = "XML-Descent-1.04"; + src = fetchurl { + url = "mirror://cpan/authors/id/A/AN/ANDYA/${name}.tar.gz"; + sha256 = "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7"; + }; + buildInputs = [ TestDifferences ]; + propagatedBuildInputs = [ XMLTokeParser ]; + meta = { + description = "Recursive descent XML parsing"; + license = "perl"; + }; + }; + XMLDOM = buildPerlPackage { name = "XML-DOM-1.44"; src = fetchurl { @@ -9724,6 +9772,19 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [XMLParser]; }; + XMLTokeParser = buildPerlPackage rec { + name = "XML-TokeParser-0.05"; + src = fetchurl { + url = "mirror://cpan/authors/id/P/PO/PODMASTER/${name}.tar.gz"; + sha256 = "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5"; + }; + propagatedBuildInputs = [ XMLParser ]; + meta = { + description = "Simplified interface to XML::Parser"; + license = "perl"; + }; + }; + XMLTwig = buildPerlPackage { name = "XML-Twig-3.44"; src = fetchurl { @@ -9742,6 +9803,19 @@ let self = _self // overrides; _self = with self; { }; }; + XSObjectMagic = buildPerlPackage rec { + name = "XS-Object-Magic-0.04"; + src = fetchurl { + url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz"; + sha256 = "03fghj7hq0fiicmfdxhmzfm4mzv7s097pgkd32ji7jnljvhm9six"; + }; + buildInputs = [ ExtUtilsDepends TestFatal Testuseok ]; + meta = { + description = "XS pointer backed objects using sv_magic"; + license = "perl"; + }; + }; + YAML = buildPerlPackage { name = "YAML-0.90"; src = fetchurl { From d49f15251304056a1a4136572916fba7fe7a302f Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 30 Jul 2014 04:36:22 +0200 Subject: [PATCH 03/11] perl-packages: Update Inline to version 0.64. Also tested whether all references (InlineJava, Autodia) are built successfully. Signed-off-by: aszlig --- pkgs/top-level/perl-packages.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 540a19ca19cb..86190f7fb35a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4584,13 +4584,14 @@ let self = _self // overrides; _self = with self; { }; Inline = buildPerlPackage rec { - name = "Inline-0.45"; + name = "Inline-0.64"; src = fetchurl { - url = "mirror://cpan/authors/id/S/SI/SISYPHUS/${name}.tar.gz"; - sha256 = "1k5nrb3nh2y33bs944ri78m1ni60v4cl67ffhxx88azj542y5c9x"; + url = "mirror://cpan/authors/id/E/ET/ETJ/${name}.tar.gz"; + sha256 = "17n3gbc9jigpfwqfhgmxpvbgr9rkdrij8jayxqpzw611ixcxrplw"; }; + buildInputs = [ TestWarn ]; propagatedBuildInputs = [ ParseRecDescent ]; meta = { From 4a412e9561daf76fda8028f1d9ea68cfa79758ff Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 1 Aug 2014 05:07:20 +0200 Subject: [PATCH 04/11] perl-packages: Update Any-Moose to version 0.24. This has required to update a few dependencies, including Mouse (to version 2.3.0). Signed-off-by: aszlig --- pkgs/top-level/perl-packages.nix | 59 ++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 86190f7fb35a..f93f65d46be8 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -146,12 +146,12 @@ let self = _self // overrides; _self = with self; { }; AnyMoose = buildPerlPackage rec { - name = "Any-Moose-0.10"; + name = "Any-Moose-0.24"; src = fetchurl { - url = "mirror://cpan/authors/id/S/SA/SARTAK/${name}.tar.gz"; - sha256 = "1kgksln1vykh0xynawv3pc3nw1yp7kjwbxbb5lh2hm21a4l4h61x"; + url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz"; + sha256 = "0g4w11chpnspnksw80jbdn5wp2m5hqzcyjzcy2hsjz9rkk2ncdbk"; }; - propagatedBuildInputs = [Mouse]; + propagatedBuildInputs = [ Mouse ]; }; ApacheLogFormatCompiler = buildPerlModule { @@ -1840,6 +1840,18 @@ let self = _self // overrides; _self = with self; { makeMakerFlags = "--lib=${pkgs.openssl}/lib"; }; + CwdGuard = buildPerlModule rec { + name = "Cwd-Guard-0.04"; + src = fetchurl { + url = "mirror://cpan/authors/id/K/KA/KAZEBURO/${name}.tar.gz"; + sha256 = "071k50n1yr48122jjjg50i1s2kwp06dmrisv35f3wjry8m6cqchm"; + }; + meta = { + description = "Temporary changing working directory (chdir)"; + license = "perl"; + }; + }; + DataClone = buildPerlPackage { name = "Data-Clone-0.003"; src = fetchurl { @@ -5377,6 +5389,19 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ ExtUtilsXSpp ExtUtilsCppGuess ]; }; + ModuleBuildXSUtil = buildPerlModule rec { + name = "Module-Build-XSUtil-0.10"; + src = fetchurl { + url = "mirror://cpan/authors/id/H/HI/HIDEAKIO/${name}.tar.gz"; + sha256 = "1323vxp8vf5xdz66lbc1wfciaks93mrbqfsjgb9nz1w9bb21xj36"; + }; + buildInputs = [ FileCopyRecursive CwdGuard CaptureTiny ]; + meta = { + description = "A Module::Build class for building XS modules"; + license = "perl"; + }; + }; + ModuleCoreList = buildPerlPackage { name = "Module-CoreList-3.01"; src = fetchurl { @@ -6183,14 +6208,16 @@ let self = _self // overrides; _self = with self; { }; }; - Mouse = buildPerlPackage rec { - name = "Mouse-0.26"; + Mouse = buildPerlModule rec { + name = "Mouse-2.3.0"; src = fetchurl { - url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz"; - sha256 = "0dpf5qmf1vc8dq5nj6yiriz8v4wl8s9g519v1hnz4yf11n2lnr4x"; + url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz"; + sha256 = "0ycl521mmc5989934502730rzsi9xqihdpnjihrkhflqmrzmaqwq"; }; - propagatedBuildInputs = [TestException]; - doCheck = false; # check can't find its own Mouse::Tiny module + buildInputs = [ + ModuleBuildXSUtil TestException TestLeakTrace TestRequires TestOutput + TestFatal + ]; }; MozillaCA = buildPerlPackage { @@ -8452,6 +8479,18 @@ let self = _self // overrides; _self = with self; { }; }; + TestLeakTrace = buildPerlPackage rec { + name = "Test-LeakTrace-0.14"; + src = fetchurl { + url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz"; + sha256 = "06cn4g35l2gi9vbsdi2j49cxsji9fvfi7xp4xgdyxxds9vrxydia"; + }; + meta = { + description = "Traces memory leaks"; + license = "perl"; + }; + }; + TestLongString = buildPerlPackage rec { name = "Test-LongString-0.15"; src = fetchurl { From 8851638ea7b7156b587686139ff784e5e466bb32 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 1 Aug 2014 05:11:16 +0200 Subject: [PATCH 05/11] perl-packages: Add new package CarpAlways, v0.13. This has been proven to be VERY handy for providing useful stacktraces in Perl. Just invoke it using: perl -MCarp::Always yourshinyscript.pl Signed-off-by: aszlig --- pkgs/top-level/perl-packages.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f93f65d46be8..6d12eb7de1f5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -569,6 +569,18 @@ let self = _self // overrides; _self = with self; { }; }; + CarpAlways = buildPerlPackage rec { + name = "Carp-Always-0.13"; + src = fetchurl { + url = "mirror://cpan/authors/id/F/FE/FERREIRA/${name}.tar.gz"; + sha256 = "0i2rifkr7ybfcdsqana52487z7vxp2l5qdra0f6ik0ddhn6rzii1"; + }; + meta = { + description = "Warns and dies noisily with stack backtraces"; + license = "perl"; + }; + }; + CarpAssert = buildPerlPackage { name = "Carp-Assert-0.20"; src = fetchurl { From dff91a009de9135657ef99c7d36fbf66848b3085 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 1 Aug 2014 05:13:54 +0200 Subject: [PATCH 06/11] perl-packages: Add new package MouseXNativeTraits. This is actually needed by X11-XCB, but I only found out after hours of digging through Perl code from the stone age. Signed-off-by: aszlig --- pkgs/top-level/perl-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6d12eb7de1f5..0d7b798d5bee 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6232,6 +6232,20 @@ let self = _self // overrides; _self = with self; { ]; }; + MouseXNativeTraits = buildPerlPackage rec { + name = "MouseX-NativeTraits-1.09"; + src = fetchurl { + url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz"; + sha256 = "0pnbchkxfz9fwa8sniyjqp0mz75b3k2fafq9r09znbbh51dbz9gq"; + }; + buildInputs = [ TestFatal ]; + propagatedBuildInputs = [ AnyMoose ]; + meta = { + description = "Extend attribute interfaces for Mouse"; + license = "perl"; + }; + }; + MozillaCA = buildPerlPackage { name = "Mozilla-CA-20130114"; src = fetchurl { From bae7da07d8baf5ce63cacc79cabc07a7268b0716 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 1 Aug 2014 05:15:43 +0200 Subject: [PATCH 07/11] perl-packages: Add MouseXNativeTraits to X11-XCB. Signed-off-by: aszlig --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0d7b798d5bee..ed9e5d298607 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9694,7 +9694,7 @@ let self = _self // overrides; _self = with self; { XMLSimple XMLDescent TestDeep TestException pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm ]; - propagatedBuildInputs = [ XSObjectMagic Mouse TryTiny ]; + propagatedBuildInputs = [ XSObjectMagic Mouse MouseXNativeTraits TryTiny ]; NIX_CFLAGS_LINK = [ "-lxcb" "-lxcb-util" "-lxcb-xinerama" "-lxcb-icccm" ]; doCheck = false; # requires an X server meta = { From b02d72f754248c89323e79d88d570e054bdd062a Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 1 Aug 2014 05:16:20 +0200 Subject: [PATCH 08/11] perl-packages: Add new package Inline-C, v0.62. This is needed for running the test suite of the i3 window manager. Signed-off-by: aszlig --- pkgs/top-level/perl-packages.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ed9e5d298607..eb0bd52dbead 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4634,6 +4634,28 @@ let self = _self // overrides; _self = with self; { }; }; + InlineC = buildPerlPackage rec { + name = "Inline-C-0.62"; + + src = fetchurl { + url = "mirror://cpan/authors/id/E/ET/ETJ/${name}.tar.gz"; + sha256 = "0clggdpj5mmi35vm2991f9jsgv2a3s8r4f1bd88xxk8akv5b8i3r"; + }; + + postPatch = '' + # this test will fail with chroot builds + rm -f t/08taint.t + ''; + + buildInputs = [ TestWarn FileCopyRecursive ]; + propagatedBuildInputs = [ Inline ]; + + meta = { + description = "Write Perl Subroutines in C"; + license = "perl"; + }; + }; + InlineJava = buildPerlPackage rec { name = "Inline-Java-0.52"; From feeb5bae2317e054eb307f6c998058eea8ae9fcd Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 1 Aug 2014 05:17:23 +0200 Subject: [PATCH 09/11] Add new package xdummy, a dummy X server. This is actually a small script which just starts an X server without any real display. Right now only needed for running the test suite of the i3 window manager within the Nix chroot, but might be useful for running other tests needing a DISPLAY. Usage is just like a regular X server, so in order to start an instance for display :666, you just run it like this: xdummy :666 Signed-off-by: aszlig --- pkgs/tools/misc/xdummy/default.nix | 83 ++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 85 insertions(+) create mode 100644 pkgs/tools/misc/xdummy/default.nix diff --git a/pkgs/tools/misc/xdummy/default.nix b/pkgs/tools/misc/xdummy/default.nix new file mode 100644 index 000000000000..30aba19930c7 --- /dev/null +++ b/pkgs/tools/misc/xdummy/default.nix @@ -0,0 +1,83 @@ +{ stdenv, writeText, writeScriptBin, xorg, xkeyboard_config }: + +let + xorgConfig = writeText "dummy-xorg.conf" '' + Section "ServerLayout" + Identifier "dummy_layout" + Screen 0 "dummy_screen" + InputDevice "dummy_keyboard" "CoreKeyboard" + InputDevice "dummy_mouse" "CorePointer" + EndSection + + Section "ServerFlags" + Option "DontVTSwitch" "true" + Option "AllowMouseOpenFail" "true" + Option "PciForceNone" "true" + Option "AutoEnableDevices" "false" + Option "AutoAddDevices" "false" + EndSection + + Section "Files" + ModulePath "${xorg.xorgserver}/lib/xorg/modules" + ModulePath "${xorg.xf86videodummy}/lib/xorg/modules" + XkbDir "${xkeyboard_config}/share/X11/xkb" + FontPath "${xorg.fontadobe75dpi}/lib/X11/fonts/75dpi" + FontPath "${xorg.fontadobe100dpi}/lib/X11/fonts/100dpi" + FontPath "${xorg.fontbhlucidatypewriter75dpi}/lib/X11/fonts/75dpi" + FontPath "${xorg.fontbhlucidatypewriter100dpi}/lib/X11/fonts/100dpi" + FontPath "${xorg.fontbh100dpi}/lib/X11/fonts/100dpi" + FontPath "${xorg.fontmiscmisc}/lib/X11/fonts/misc" + FontPath "${xorg.fontcursormisc}/lib/X11/fonts/misc" + EndSection + + Section "Module" + Load "dbe" + Load "extmod" + Load "freetype" + Load "glx" + EndSection + + Section "InputDevice" + Identifier "dummy_mouse" + Driver "void" + EndSection + + Section "InputDevice" + Identifier "dummy_keyboard" + Driver "void" + EndSection + + Section "Monitor" + Identifier "dummy_monitor" + HorizSync 30.0 - 130.0 + VertRefresh 50.0 - 250.0 + Option "DPMS" + EndSection + + Section "Device" + Identifier "dummy_device" + Driver "dummy" + VideoRam 192000 + EndSection + + Section "Screen" + Identifier "dummy_screen" + Device "dummy_device" + Monitor "dummy_monitor" + DefaultDepth 24 + SubSection "Display" + Depth 24 + Modes "1280x1024" + EndSubSection + EndSection + ''; + +in writeScriptBin "xdummy" '' + #!${stdenv.shell} + export XKB_BINDIR="${xorg.xkbcomp}/bin" + exec ${xorg.xorgserver}/bin/Xorg \ + -noreset \ + -logfile /dev/null \ + "$@" \ + -config "${xorgConfig}" +'' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0093566949e1..b56e7659ca71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2454,6 +2454,8 @@ let xdelta = callPackage ../tools/compression/xdelta { }; + xdummy = callPackage ../tools/misc/xdummy { }; + xfsprogs = callPackage ../tools/filesystems/xfsprogs { }; xmlroff = callPackage ../tools/typesetting/xmlroff { From 2c1d04a563c0e5bd5ff6256e5bd716ebaa72512d Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 1 Aug 2014 05:22:08 +0200 Subject: [PATCH 10/11] i3: Enable running test suite by default. Finally, after going through the journey of debugging and gathering dependencies, we now have tests for i3, hooray! Signed-off-by: aszlig --- .../window-managers/i3/default.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index 17a287f8aae2..56b11df72e23 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, which, pkgconfig, libxcb, xcbutilkeysyms, xcbutil, xcbutilwm, libstartup_notification, libX11, pcre, libev, yajl, - xcb-util-cursor, coreutils, perl, pango }: + xcb-util-cursor, coreutils, perl, pango, perlPackages, xdummy }: stdenv.mkDerivation rec { name = "i3-${version}"; @@ -11,13 +11,25 @@ stdenv.mkDerivation rec { sha256 = "0sqvd8yqf9vwqrrvbpbf8k93b3qfa3q9289m82xq15r31wlk8b2h"; }; - buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm - libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango ]; + buildInputs = [ + which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm + libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango + perlPackages.AnyEventI3 perlPackages.X11XCB perlPackages.IPCRun + perlPackages.ExtUtilsPkgConfig perlPackages.TestMore perlPackages.InlineC + perlPackages.CarpAlways + ]; patchPhase = '' patchShebangs . ''; + doCheck = true; + + checkPhase = '' + ln -sf "${xdummy}/bin/xdummy" testcases/Xdummy + (cd testcases && perl complete-run.pl) + ''; + configurePhase = "makeFlags=PREFIX=$out"; meta = with stdenv.lib; { From 31e77f5096fe8bce81d4d520cee9ccac9b81d7f0 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 1 Aug 2014 05:45:14 +0200 Subject: [PATCH 11/11] i3: Abort build if test suite is failing. The exit code of the i3 test runner is always 0, regardless of whether tests were failing or not, so let's quickly grep for a "not ok" in the test logfile and if it occurs, the whole build is failing now. Signed-off-by: aszlig --- pkgs/applications/window-managers/i3/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index 56b11df72e23..38e6b63dd5e4 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -28,6 +28,7 @@ stdenv.mkDerivation rec { checkPhase = '' ln -sf "${xdummy}/bin/xdummy" testcases/Xdummy (cd testcases && perl complete-run.pl) + ! grep -q '^not ok' testcases/latest/complete-run.log ''; configurePhase = "makeFlags=PREFIX=$out";