Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)

Merge branch 'i3-tests'.

The reason I went through this whole journey of gathering dependencies
and debugging just in order to get i3 tests working was because I wanted
to supply test cases to a small patch I wrote for the upstream project.

This adds/updates quite a few Perl packages and a X dummy helper, which
are all needed in order to successfully run the test suite.

aszlig 57781346 181cdb7c

+289 -16
+16 -3
pkgs/applications/window-managers/i3/default.nix
··· 1 { fetchurl, stdenv, which, pkgconfig, libxcb, xcbutilkeysyms, xcbutil, 2 xcbutilwm, libstartup_notification, libX11, pcre, libev, yajl, 3 - xcb-util-cursor, coreutils, perl, pango }: 4 5 stdenv.mkDerivation rec { 6 name = "i3-${version}"; ··· 11 sha256 = "0sqvd8yqf9vwqrrvbpbf8k93b3qfa3q9289m82xq15r31wlk8b2h"; 12 }; 13 14 - buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm 15 - libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango ]; 16 17 patchPhase = '' 18 patchShebangs . 19 ''; 20 21 configurePhase = "makeFlags=PREFIX=$out";
··· 1 { fetchurl, stdenv, which, pkgconfig, libxcb, xcbutilkeysyms, xcbutil, 2 xcbutilwm, libstartup_notification, libX11, pcre, libev, yajl, 3 + xcb-util-cursor, coreutils, perl, pango, perlPackages, xdummy }: 4 5 stdenv.mkDerivation rec { 6 name = "i3-${version}"; ··· 11 sha256 = "0sqvd8yqf9vwqrrvbpbf8k93b3qfa3q9289m82xq15r31wlk8b2h"; 12 }; 13 14 + buildInputs = [ 15 + which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm 16 + libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango 17 + perlPackages.AnyEventI3 perlPackages.X11XCB perlPackages.IPCRun 18 + perlPackages.ExtUtilsPkgConfig perlPackages.TestMore perlPackages.InlineC 19 + perlPackages.CarpAlways 20 + ]; 21 22 patchPhase = '' 23 patchShebangs . 24 + ''; 25 + 26 + doCheck = true; 27 + 28 + checkPhase = '' 29 + ln -sf "${xdummy}/bin/xdummy" testcases/Xdummy 30 + (cd testcases && perl complete-run.pl) 31 + ! grep -q '^not ok' testcases/latest/complete-run.log 32 ''; 33 34 configurePhase = "makeFlags=PREFIX=$out";
+83
pkgs/tools/misc/xdummy/default.nix
···
··· 1 + { stdenv, writeText, writeScriptBin, xorg, xkeyboard_config }: 2 + 3 + let 4 + xorgConfig = writeText "dummy-xorg.conf" '' 5 + Section "ServerLayout" 6 + Identifier "dummy_layout" 7 + Screen 0 "dummy_screen" 8 + InputDevice "dummy_keyboard" "CoreKeyboard" 9 + InputDevice "dummy_mouse" "CorePointer" 10 + EndSection 11 + 12 + Section "ServerFlags" 13 + Option "DontVTSwitch" "true" 14 + Option "AllowMouseOpenFail" "true" 15 + Option "PciForceNone" "true" 16 + Option "AutoEnableDevices" "false" 17 + Option "AutoAddDevices" "false" 18 + EndSection 19 + 20 + Section "Files" 21 + ModulePath "${xorg.xorgserver}/lib/xorg/modules" 22 + ModulePath "${xorg.xf86videodummy}/lib/xorg/modules" 23 + XkbDir "${xkeyboard_config}/share/X11/xkb" 24 + FontPath "${xorg.fontadobe75dpi}/lib/X11/fonts/75dpi" 25 + FontPath "${xorg.fontadobe100dpi}/lib/X11/fonts/100dpi" 26 + FontPath "${xorg.fontbhlucidatypewriter75dpi}/lib/X11/fonts/75dpi" 27 + FontPath "${xorg.fontbhlucidatypewriter100dpi}/lib/X11/fonts/100dpi" 28 + FontPath "${xorg.fontbh100dpi}/lib/X11/fonts/100dpi" 29 + FontPath "${xorg.fontmiscmisc}/lib/X11/fonts/misc" 30 + FontPath "${xorg.fontcursormisc}/lib/X11/fonts/misc" 31 + EndSection 32 + 33 + Section "Module" 34 + Load "dbe" 35 + Load "extmod" 36 + Load "freetype" 37 + Load "glx" 38 + EndSection 39 + 40 + Section "InputDevice" 41 + Identifier "dummy_mouse" 42 + Driver "void" 43 + EndSection 44 + 45 + Section "InputDevice" 46 + Identifier "dummy_keyboard" 47 + Driver "void" 48 + EndSection 49 + 50 + Section "Monitor" 51 + Identifier "dummy_monitor" 52 + HorizSync 30.0 - 130.0 53 + VertRefresh 50.0 - 250.0 54 + Option "DPMS" 55 + EndSection 56 + 57 + Section "Device" 58 + Identifier "dummy_device" 59 + Driver "dummy" 60 + VideoRam 192000 61 + EndSection 62 + 63 + Section "Screen" 64 + Identifier "dummy_screen" 65 + Device "dummy_device" 66 + Monitor "dummy_monitor" 67 + DefaultDepth 24 68 + SubSection "Display" 69 + Depth 24 70 + Modes "1280x1024" 71 + EndSubSection 72 + EndSection 73 + ''; 74 + 75 + in writeScriptBin "xdummy" '' 76 + #!${stdenv.shell} 77 + export XKB_BINDIR="${xorg.xkbcomp}/bin" 78 + exec ${xorg.xorgserver}/bin/Xorg \ 79 + -noreset \ 80 + -logfile /dev/null \ 81 + "$@" \ 82 + -config "${xorgConfig}" 83 + ''
+2
pkgs/top-level/all-packages.nix
··· 2458 2459 xdelta = callPackage ../tools/compression/xdelta { }; 2460 2461 xfsprogs = callPackage ../tools/filesystems/xfsprogs { }; 2462 2463 xmlroff = callPackage ../tools/typesetting/xmlroff {
··· 2458 2459 xdelta = callPackage ../tools/compression/xdelta { }; 2460 2461 + xdummy = callPackage ../tools/misc/xdummy { }; 2462 + 2463 xfsprogs = callPackage ../tools/filesystems/xfsprogs { }; 2464 2465 xmlroff = callPackage ../tools/typesetting/xmlroff {
+188 -13
pkgs/top-level/perl-packages.nix
··· 116 }; 117 }; 118 119 AnyEventRabbitMQ = buildPerlPackage { 120 name = "AnyEvent-RabbitMQ-1.15"; 121 src = fetchurl { ··· 133 }; 134 135 AnyMoose = buildPerlPackage rec { 136 - name = "Any-Moose-0.10"; 137 src = fetchurl { 138 - url = "mirror://cpan/authors/id/S/SA/SARTAK/${name}.tar.gz"; 139 - sha256 = "1kgksln1vykh0xynawv3pc3nw1yp7kjwbxbb5lh2hm21a4l4h61x"; 140 }; 141 - propagatedBuildInputs = [Mouse]; 142 }; 143 144 ApacheLogFormatCompiler = buildPerlModule { ··· 556 }; 557 }; 558 559 CarpAssert = buildPerlPackage { 560 name = "Carp-Assert-0.20"; 561 src = fetchurl { ··· 1825 sha256 = "1f0i5y99ly39vf86jpzwqz8mkz1460vryv85jgqmfx007p781s0l"; 1826 }; 1827 makeMakerFlags = "--lib=${pkgs.openssl}/lib"; 1828 }; 1829 1830 DataClone = buildPerlPackage { ··· 3390 }; 3391 }; 3392 3393 # From CPAN[1]: 3394 # This module exists merely as a compatibility wrapper around 3395 # ExtUtils::Typemaps. In a nutshell, ExtUtils::Typemap was renamed to ··· 4558 }; 4559 4560 Inline = buildPerlPackage rec { 4561 - name = "Inline-0.45"; 4562 4563 src = fetchurl { 4564 - url = "mirror://cpan/authors/id/S/SI/SISYPHUS/${name}.tar.gz"; 4565 - sha256 = "1k5nrb3nh2y33bs944ri78m1ni60v4cl67ffhxx88azj542y5c9x"; 4566 }; 4567 4568 propagatedBuildInputs = [ ParseRecDescent ]; 4569 4570 meta = { ··· 4583 }; 4584 }; 4585 4586 InlineJava = buildPerlPackage rec { 4587 name = "Inline-Java-0.52"; 4588 ··· 5348 sha256 = "0d39fjg9c0n820bk3fb50vvlwhdny4hdl69xmlyzql5xzp4cicsk"; 5349 }; 5350 propagatedBuildInputs = [ ExtUtilsXSpp ExtUtilsCppGuess ]; 5351 }; 5352 5353 ModuleCoreList = buildPerlPackage { ··· 6156 }; 6157 }; 6158 6159 - Mouse = buildPerlPackage rec { 6160 - name = "Mouse-0.26"; 6161 src = fetchurl { 6162 - url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz"; 6163 - sha256 = "0dpf5qmf1vc8dq5nj6yiriz8v4wl8s9g519v1hnz4yf11n2lnr4x"; 6164 }; 6165 - propagatedBuildInputs = [TestException]; 6166 - doCheck = false; # check can't find its own Mouse::Tiny module 6167 }; 6168 6169 MozillaCA = buildPerlPackage { ··· 8425 }; 8426 }; 8427 8428 TestLongString = buildPerlPackage rec { 8429 name = "Test-LongString-0.15"; 8430 src = fetchurl { ··· 9590 doCheck = false; # requires an X server 9591 }; 9592 9593 XMLDOM = buildPerlPackage { 9594 name = "XML-DOM-1.44"; 9595 src = fetchurl { ··· 9711 propagatedBuildInputs = [XMLParser]; 9712 }; 9713 9714 XMLTwig = buildPerlPackage { 9715 name = "XML-Twig-3.44"; 9716 src = fetchurl { ··· 9726 src = fetchurl { 9727 url = "mirror://cpan/authors/id/J/JO/JOSEPHW/${name}.tar.gz"; 9728 sha256 = "0yyz0dh9b4clailbxyi90dfrqpyc6py77rmmz6qmkx7ynlpyxk46"; 9729 }; 9730 }; 9731
··· 116 }; 117 }; 118 119 + AnyEventI3 = buildPerlPackage rec { 120 + name = "AnyEvent-I3-0.15"; 121 + src = fetchurl { 122 + url = "mirror://cpan/authors/id/M/MS/MSTPLBG/${name}.tar.gz"; 123 + sha256 = "0x8zi06667bdgaxn7driqx0d71mp6021r51hdzmj5m5qbhi2hvqi"; 124 + }; 125 + propagatedBuildInputs = [ AnyEvent JSONXS ]; 126 + meta = { 127 + description = "Communicate with the i3 window manager"; 128 + license = "perl"; 129 + }; 130 + }; 131 + 132 AnyEventRabbitMQ = buildPerlPackage { 133 name = "AnyEvent-RabbitMQ-1.15"; 134 src = fetchurl { ··· 146 }; 147 148 AnyMoose = buildPerlPackage rec { 149 + name = "Any-Moose-0.24"; 150 src = fetchurl { 151 + url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz"; 152 + sha256 = "0g4w11chpnspnksw80jbdn5wp2m5hqzcyjzcy2hsjz9rkk2ncdbk"; 153 }; 154 + propagatedBuildInputs = [ Mouse ]; 155 }; 156 157 ApacheLogFormatCompiler = buildPerlModule { ··· 569 }; 570 }; 571 572 + CarpAlways = buildPerlPackage rec { 573 + name = "Carp-Always-0.13"; 574 + src = fetchurl { 575 + url = "mirror://cpan/authors/id/F/FE/FERREIRA/${name}.tar.gz"; 576 + sha256 = "0i2rifkr7ybfcdsqana52487z7vxp2l5qdra0f6ik0ddhn6rzii1"; 577 + }; 578 + meta = { 579 + description = "Warns and dies noisily with stack backtraces"; 580 + license = "perl"; 581 + }; 582 + }; 583 + 584 CarpAssert = buildPerlPackage { 585 name = "Carp-Assert-0.20"; 586 src = fetchurl { ··· 1850 sha256 = "1f0i5y99ly39vf86jpzwqz8mkz1460vryv85jgqmfx007p781s0l"; 1851 }; 1852 makeMakerFlags = "--lib=${pkgs.openssl}/lib"; 1853 + }; 1854 + 1855 + CwdGuard = buildPerlModule rec { 1856 + name = "Cwd-Guard-0.04"; 1857 + src = fetchurl { 1858 + url = "mirror://cpan/authors/id/K/KA/KAZEBURO/${name}.tar.gz"; 1859 + sha256 = "071k50n1yr48122jjjg50i1s2kwp06dmrisv35f3wjry8m6cqchm"; 1860 + }; 1861 + meta = { 1862 + description = "Temporary changing working directory (chdir)"; 1863 + license = "perl"; 1864 + }; 1865 }; 1866 1867 DataClone = buildPerlPackage { ··· 3427 }; 3428 }; 3429 3430 + ExtUtilsPkgConfig = buildPerlPackage rec { 3431 + name = "ExtUtils-PkgConfig-1.15"; 3432 + src = fetchurl { 3433 + url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz"; 3434 + sha256 = "1cxh6w8vmyqmhl6afys2q6z6jkp1m6zvacpk70196zmk48p1kcv9"; 3435 + }; 3436 + propagatedBuildInputs = [ pkgs.pkgconfig ]; 3437 + meta = { 3438 + description = "Simplistic interface to pkg-config"; 3439 + license = licenses.lgpl21Plus; 3440 + }; 3441 + }; 3442 + 3443 # From CPAN[1]: 3444 # This module exists merely as a compatibility wrapper around 3445 # ExtUtils::Typemaps. In a nutshell, ExtUtils::Typemap was renamed to ··· 4608 }; 4609 4610 Inline = buildPerlPackage rec { 4611 + name = "Inline-0.64"; 4612 4613 src = fetchurl { 4614 + url = "mirror://cpan/authors/id/E/ET/ETJ/${name}.tar.gz"; 4615 + sha256 = "17n3gbc9jigpfwqfhgmxpvbgr9rkdrij8jayxqpzw611ixcxrplw"; 4616 }; 4617 4618 + buildInputs = [ TestWarn ]; 4619 propagatedBuildInputs = [ ParseRecDescent ]; 4620 4621 meta = { ··· 4634 }; 4635 }; 4636 4637 + InlineC = buildPerlPackage rec { 4638 + name = "Inline-C-0.62"; 4639 + 4640 + src = fetchurl { 4641 + url = "mirror://cpan/authors/id/E/ET/ETJ/${name}.tar.gz"; 4642 + sha256 = "0clggdpj5mmi35vm2991f9jsgv2a3s8r4f1bd88xxk8akv5b8i3r"; 4643 + }; 4644 + 4645 + postPatch = '' 4646 + # this test will fail with chroot builds 4647 + rm -f t/08taint.t 4648 + ''; 4649 + 4650 + buildInputs = [ TestWarn FileCopyRecursive ]; 4651 + propagatedBuildInputs = [ Inline ]; 4652 + 4653 + meta = { 4654 + description = "Write Perl Subroutines in C"; 4655 + license = "perl"; 4656 + }; 4657 + }; 4658 + 4659 InlineJava = buildPerlPackage rec { 4660 name = "Inline-Java-0.52"; 4661 ··· 5421 sha256 = "0d39fjg9c0n820bk3fb50vvlwhdny4hdl69xmlyzql5xzp4cicsk"; 5422 }; 5423 propagatedBuildInputs = [ ExtUtilsXSpp ExtUtilsCppGuess ]; 5424 + }; 5425 + 5426 + ModuleBuildXSUtil = buildPerlModule rec { 5427 + name = "Module-Build-XSUtil-0.10"; 5428 + src = fetchurl { 5429 + url = "mirror://cpan/authors/id/H/HI/HIDEAKIO/${name}.tar.gz"; 5430 + sha256 = "1323vxp8vf5xdz66lbc1wfciaks93mrbqfsjgb9nz1w9bb21xj36"; 5431 + }; 5432 + buildInputs = [ FileCopyRecursive CwdGuard CaptureTiny ]; 5433 + meta = { 5434 + description = "A Module::Build class for building XS modules"; 5435 + license = "perl"; 5436 + }; 5437 }; 5438 5439 ModuleCoreList = buildPerlPackage { ··· 6242 }; 6243 }; 6244 6245 + Mouse = buildPerlModule rec { 6246 + name = "Mouse-2.3.0"; 6247 + src = fetchurl { 6248 + url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz"; 6249 + sha256 = "0ycl521mmc5989934502730rzsi9xqihdpnjihrkhflqmrzmaqwq"; 6250 + }; 6251 + buildInputs = [ 6252 + ModuleBuildXSUtil TestException TestLeakTrace TestRequires TestOutput 6253 + TestFatal 6254 + ]; 6255 + }; 6256 + 6257 + MouseXNativeTraits = buildPerlPackage rec { 6258 + name = "MouseX-NativeTraits-1.09"; 6259 src = fetchurl { 6260 + url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz"; 6261 + sha256 = "0pnbchkxfz9fwa8sniyjqp0mz75b3k2fafq9r09znbbh51dbz9gq"; 6262 + }; 6263 + buildInputs = [ TestFatal ]; 6264 + propagatedBuildInputs = [ AnyMoose ]; 6265 + meta = { 6266 + description = "Extend attribute interfaces for Mouse"; 6267 + license = "perl"; 6268 }; 6269 }; 6270 6271 MozillaCA = buildPerlPackage { ··· 8527 }; 8528 }; 8529 8530 + TestLeakTrace = buildPerlPackage rec { 8531 + name = "Test-LeakTrace-0.14"; 8532 + src = fetchurl { 8533 + url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz"; 8534 + sha256 = "06cn4g35l2gi9vbsdi2j49cxsji9fvfi7xp4xgdyxxds9vrxydia"; 8535 + }; 8536 + meta = { 8537 + description = "Traces memory leaks"; 8538 + license = "perl"; 8539 + }; 8540 + }; 8541 + 8542 TestLongString = buildPerlPackage rec { 8543 name = "Test-LongString-0.15"; 8544 src = fetchurl { ··· 9704 doCheck = false; # requires an X server 9705 }; 9706 9707 + X11XCB = buildPerlPackage rec { 9708 + name = "X11-XCB-0.11"; 9709 + src = fetchurl { 9710 + url = "mirror://cpan/authors/id/M/MS/MSTPLBG/${name}.tar.gz"; 9711 + sha256 = "18i3z1fzw76kl9n5driys12r6vhp3r6rmb2pjn5nc7m9n4bwgh38"; 9712 + }; 9713 + AUTOMATED_TESTING = false; 9714 + buildInputs = [ 9715 + ExtUtilsDepends ExtUtilsPkgConfig DataDump 9716 + XMLSimple XMLDescent TestDeep TestException 9717 + pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm 9718 + ]; 9719 + propagatedBuildInputs = [ XSObjectMagic Mouse MouseXNativeTraits TryTiny ]; 9720 + NIX_CFLAGS_LINK = [ "-lxcb" "-lxcb-util" "-lxcb-xinerama" "-lxcb-icccm" ]; 9721 + doCheck = false; # requires an X server 9722 + meta = { 9723 + description = "XCB bindings for X"; 9724 + license = "perl"; 9725 + }; 9726 + }; 9727 + 9728 + XMLDescent = buildPerlPackage rec { 9729 + name = "XML-Descent-1.04"; 9730 + src = fetchurl { 9731 + url = "mirror://cpan/authors/id/A/AN/ANDYA/${name}.tar.gz"; 9732 + sha256 = "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7"; 9733 + }; 9734 + buildInputs = [ TestDifferences ]; 9735 + propagatedBuildInputs = [ XMLTokeParser ]; 9736 + meta = { 9737 + description = "Recursive descent XML parsing"; 9738 + license = "perl"; 9739 + }; 9740 + }; 9741 + 9742 XMLDOM = buildPerlPackage { 9743 name = "XML-DOM-1.44"; 9744 src = fetchurl { ··· 9860 propagatedBuildInputs = [XMLParser]; 9861 }; 9862 9863 + XMLTokeParser = buildPerlPackage rec { 9864 + name = "XML-TokeParser-0.05"; 9865 + src = fetchurl { 9866 + url = "mirror://cpan/authors/id/P/PO/PODMASTER/${name}.tar.gz"; 9867 + sha256 = "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5"; 9868 + }; 9869 + propagatedBuildInputs = [ XMLParser ]; 9870 + meta = { 9871 + description = "Simplified interface to XML::Parser"; 9872 + license = "perl"; 9873 + }; 9874 + }; 9875 + 9876 XMLTwig = buildPerlPackage { 9877 name = "XML-Twig-3.44"; 9878 src = fetchurl { ··· 9888 src = fetchurl { 9889 url = "mirror://cpan/authors/id/J/JO/JOSEPHW/${name}.tar.gz"; 9890 sha256 = "0yyz0dh9b4clailbxyi90dfrqpyc6py77rmmz6qmkx7ynlpyxk46"; 9891 + }; 9892 + }; 9893 + 9894 + XSObjectMagic = buildPerlPackage rec { 9895 + name = "XS-Object-Magic-0.04"; 9896 + src = fetchurl { 9897 + url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz"; 9898 + sha256 = "03fghj7hq0fiicmfdxhmzfm4mzv7s097pgkd32ji7jnljvhm9six"; 9899 + }; 9900 + buildInputs = [ ExtUtilsDepends TestFatal Testuseok ]; 9901 + meta = { 9902 + description = "XS pointer backed objects using sv_magic"; 9903 + license = "perl"; 9904 }; 9905 }; 9906