Added basic tests
commite399434d50b87c1a614cdfd49cdeac5d6099a14a
authoriko <ilyakooo0@gmail.com>
dateWed 3 Mar 2021, 12:51 (6 years ago)
parent0ca3c6a
5862 files changed+253786−4
2862 more files changed are not listed.
.gitignore−1
@@ -1,4 +1,3 @@
11.stack-work/
22*~
33tix.cabal
4−importless
package.yaml+5−1
@@ -37,6 +37,7 @@ dependencies:
3737 - bytestring
3838 - prettyprinter
3939 - range-set-list
40+
4041library:
4142 source-dirs: src
4243
@@ -53,7 +54,7 @@ executables:
5354
5455tests:
5556 tix-test:
56− main: Spec.hs
57+ main: Main.hs
5758 source-dirs: test
5859 ghc-options:
5960 - -threaded
@@ -61,6 +62,9 @@ tests:
6162 - -with-rtsopts=-N
6263 dependencies:
6364 - tix
65+ - tasty
66+ - tasty-golden
67+ - filepath
6468
6569default-extensions:
6670 - GADTs
test/Main.hsnew file+36
@@ -0,0 +1,36 @@
1+module Main (main) where
2+
3+import qualified Data.ByteString.Lazy as BSL
4+import Data.Functor
5+import qualified Data.Text.Encoding as T
6+import qualified Data.Text.IO as T
7+import Nix
8+import System.FilePath
9+import Test.Tasty
10+import Test.Tasty.Golden
11+import Tix.Typechecker
12+
13+main :: IO ()
14+main = defaultMain =<< tests
15+
16+tests :: IO TestTree
17+tests = do
18+ let testDirectory :: FilePath
19+ testDirectory = "test/golden/importless"
20+ findByExtension [".nix"] testDirectory
21+ <&> localOption (mkTimeout 1000000) . testGroup "Importless tests"
22+ . fmap
23+ ( \file ->
24+ goldenVsStringDiff
25+ file
26+ (\ref new -> ["diff", "-u", ref, new])
27+ (replaceExtension file ".txt")
28+ ( do
29+ inp <- T.readFile file
30+ case parseNixTextLoc inp of
31+ Failure err -> error $ show err
32+ Success r -> do
33+ let (t, _, _, _) = getType r
34+ return . BSL.fromStrict . T.encodeUtf8 $ showNType t
35+ )
36+ )
test/Spec.hsdeleted−2
@@ -1,2 +0,0 @@
1−main :: IO ()
2−main = putStrLn "Test suite not yet implemented"
test/golden/importless/0.1.nixnew file+47
@@ -0,0 +1,47 @@
1+{ stdenv
2+, lib
3+, fetchFromGitHub
4+, autoreconfHook
5+, patchelf
6+, pkgconfig
7+, libusb1
8+}:
9+
10+stdenv.mkDerivation rec {
11+ pname = "libusb-compat";
12+ version = "0.1.7";
13+
14+ outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
15+ outputBin = "dev";
16+
17+ nativeBuildInputs = [ autoreconfHook patchelf pkgconfig ];
18+
19+ buildInputs = [ libusb1 ];
20+
21+ src = fetchFromGitHub {
22+ owner = "libusb";
23+ repo = "libusb-compat-0.1";
24+ rev = "v${version}";
25+ sha256 = "1nybccgjs14b3phhaycq2jx1gym4nf6sghvnv9qdfmlqxacx0jz5";
26+ };
27+
28+ patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ./fix-headers.patch;
29+
30+ # without this, libusb-compat is unable to find libusb1
31+ postFixup = ''
32+ find $out/lib -name \*.so\* -type f -exec \
33+ patchelf --set-rpath ${lib.makeLibraryPath buildInputs} {} \;
34+ '';
35+
36+ meta = with stdenv.lib; {
37+ homepage = "https://libusb.info/";
38+ repositories.git = "https://github.com/libusb/libusb-compat-0.1";
39+ description = "cross-platform user-mode USB device library";
40+ longDescription = ''
41+ libusb is a cross-platform user-mode library that provides access to USB devices.
42+ The current API is of 1.0 version (libusb-1.0 API), this library is a wrapper exposing the legacy API.
43+ '';
44+ license = licenses.lgpl2Plus;
45+ platforms = platforms.unix;
46+ };
47+}
test/golden/importless/0.1.txtnew file
No changes to the content.
test/golden/importless/0.10.nixnew file+39
@@ -0,0 +1,39 @@
1+{ stdenv, fetchurl, boost, zlib, libevent, openssl, python, pkgconfig, bison
2+, flex, twisted
3+}:
4+
5+stdenv.mkDerivation rec {
6+ pname = "thrift";
7+ version = "0.10.0";
8+
9+ src = fetchurl {
10+ url = "https://archive.apache.org/dist/thrift/${version}/${pname}-${version}.tar.gz";
11+ sha256 = "02x1xw0l669idkn6xww39j60kqxzcbmim4mvpb5h9nz8wqnx1292";
12+ };
13+
14+ #enableParallelBuilding = true; problems on hydra
15+
16+ # Workaround to make the python wrapper not drop this package:
17+ # pythonFull.buildEnv.override { extraLibs = [ thrift ]; }
18+ pythonPath = [];
19+
20+ nativeBuildInputs = [ pkgconfig ];
21+ buildInputs = [
22+ boost zlib libevent openssl python bison flex twisted
23+ ];
24+
25+ preConfigure = "export PY_PREFIX=$out";
26+
27+ # TODO: package boost-test, so we can run the test suite. (Currently it fails
28+ # to find libboost_unit_test_framework.a.)
29+ configureFlags = [ "--enable-tests=no" ];
30+ doCheck = false;
31+
32+ meta = with stdenv.lib; {
33+ description = "Library for scalable cross-language services";
34+ homepage = "http://thrift.apache.org/";
35+ license = licenses.asl20;
36+ platforms = platforms.linux ++ platforms.darwin;
37+ maintainers = [ maintainers.bjornfor ];
38+ };
39+}
test/golden/importless/0.10.txtnew file
No changes to the content.
test/golden/importless/0.11.1.nixnew file+22
@@ -0,0 +1,22 @@
1+{ stdenv, fetchurl, gmp }:
2+
3+stdenv.mkDerivation {
4+ name = "isl-0.11.1"; # CLooG 0.16.3 fails to build with ISL 0.08.
5+
6+ src = fetchurl {
7+ url = "https://src.fedoraproject.org/repo/pkgs/gcc/isl-0.11.1.tar.bz2/bce1586384d8635a76d2f017fb067cd2/isl-0.11.1.tar.bz2";
8+ sha256 = "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9";
9+ };
10+
11+ buildInputs = [ gmp ];
12+ patches = [ ./fix-gcc-build.diff ];
13+
14+ enableParallelBuilding = true;
15+
16+ meta = {
17+ homepage = "https://www.kotnet.org/~skimo/isl/";
18+ license = stdenv.lib.licenses.lgpl21;
19+ description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
20+ platforms = stdenv.lib.platforms.all;
21+ };
22+}
test/golden/importless/0.11.1.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; gmp = γ; stdenv = δ } -> { buildInputs = [γ]; enableParallelBuilding = Bool; meta = { description = String; homepage = String; license = ∀ α. α; platforms = ∀ α. α }; name = String; patches = [Path]; src = { sha256 = String; url = String } }
test/golden/importless/0.11.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage }:
2+
3+callPackage ./generic.nix {
4+ version = "0.11.4";
5+ sha256 = "1sykp9sji6f564s7bz0cvnr9w5x92n0l1r1djf1bl7jvv2mi1mcb";
6+}
test/golden/importless/0.11.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { sha256 = String; version = String }
test/golden/importless/0.12.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage }:
2+
3+callPackage ./generic.nix {
4+ version = "0.12.2";
5+ sha256 = "1gc286ag6plk5kxw7jzr32cp3n5rwydj1z7rds1rfd0fyq7an404";
6+}
test/golden/importless/0.12.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { sha256 = String; version = String }
test/golden/importless/0.13.nixnew file+514
@@ -0,0 +1,514 @@
1+{ janePackage
2+, ctypes
3+, dune-configurator
4+, num
5+, octavius
6+, ppxlib
7+, re
8+, openssl
9+}:
10+
11+rec {
12+
13+ ocaml-compiler-libs = janePackage {
14+ pname = "ocaml-compiler-libs";
15+ version = "0.12.1";
16+ hash = "0hpk54fcsfcjp536fgwr80mjjf88hjk58q7jwnyrhk2ljd8xzgiv";
17+ meta.description = "OCaml compiler libraries repackaged";
18+ };
19+
20+ sexplib0 = janePackage {
21+ pname = "sexplib0";
22+ hash = "1b1bk0xs1hqa12qs5y4h1yl3mq6xml4ya2570dyhdn1j0fbw4g3y";
23+ meta.description = "Library containing the definition of S-expressions and some base converters";
24+ };
25+
26+ base = janePackage {
27+ pname = "base";
28+ version = "0.13.1";
29+ hash = "08a5aymcgr5svvm8v0v20msd5cad64m6maakfbhz4172g7kd9jzw";
30+ meta.description = "Full standard library replacement for OCaml";
31+ propagatedBuildInputs = [ sexplib0 ];
32+ };
33+
34+ stdio = janePackage {
35+ pname = "stdio";
36+ hash = "1hkj9vh8n8p3n5pvx7053xis1pfmqd8p7shjyp1n555xzimfxzgh";
37+ meta.description = "Standard IO library for OCaml";
38+ propagatedBuildInputs = [ base ];
39+ };
40+
41+ ppx_sexp_conv = janePackage {
42+ pname = "ppx_sexp_conv";
43+ hash = "0jkhwmkrfq3ss6bv6i3m871alcr4xpngs6ci6bmzv3yfl7s8bwdf";
44+ meta.description = "[@@deriving] plugin to generate S-expression conversion functions";
45+ propagatedBuildInputs = [ ppxlib ];
46+ };
47+
48+ ppx_here = janePackage {
49+ pname = "ppx_here";
50+ hash = "1ahidrrjsyi0al06bhv5h6aqmdk7ryz8dybfhqjsn1zp9q056q35";
51+ meta.description = "Expands [%here] into its location";
52+ propagatedBuildInputs = [ ppxlib ];
53+ };
54+
55+ ppx_compare = janePackage {
56+ pname = "ppx_compare";
57+ hash = "14pnqa47gsvq93z1b8wb5pyq8zw90aaw71j4pwlyid4s86px454j";
58+ meta.description = "Generation of comparison functions from types";
59+ propagatedBuildInputs = [ ppxlib ];
60+ };
61+
62+ ppx_cold = janePackage {
63+ pname = "ppx_cold";
64+ hash = "0wnfwsgbzk4i5aqjlcaqp6lkvrq5345vazryvx2klbbrd4759h9f";
65+ meta.description = "Expands [@cold] into [@inline never][@specialise never][@local never]";
66+ propagatedBuildInputs = [ ppxlib ];
67+ };
68+
69+ ppx_assert = janePackage {
70+ pname = "ppx_assert";
71+ hash = "08dada2xcp3w5mir90z56qrdyd317lygml4qlfssj897534bwiqr";
72+ meta.description = "Assert-like extension nodes that raise useful errors on failure";
73+ propagatedBuildInputs = [ ppx_cold ppx_compare ppx_here ppx_sexp_conv ];
74+ };
75+
76+ ppx_inline_test = janePackage {
77+ pname = "ppx_inline_test";
78+ hash = "135qzbhqy33lmigbq1rakr9i3y59y3pczh4laanqjyss9b9kfs60";
79+ meta.description = "Syntax extension for writing in-line tests in ocaml code";
80+ propagatedBuildInputs = [ ppxlib ];
81+ };
82+
83+ ppx_custom_printf = janePackage {
84+ pname = "ppx_custom_printf";
85+ hash = "0kvfkdk4wg2z8x705bajvl1f8wiyy3aya203wdzc9425h73nqm5p";
86+ meta.description = "Printf-style format-strings for user-defined string conversion";
87+ propagatedBuildInputs = [ ppx_sexp_conv ];
88+ };
89+
90+ fieldslib = janePackage {
91+ pname = "fieldslib";
92+ hash = "0nsl0i9vjk73pr70ksxqa65rd5v84jzdaazryfdy6i4a5sfg7bxa";
93+ meta.description = "Syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values";
94+ propagatedBuildInputs = [ base ];
95+ };
96+
97+ ppx_fields_conv = janePackage {
98+ pname = "ppx_fields_conv";
99+ hash = "0biw0fgphj522bj9wgjk263i2w92vnpaabzr5zn0grihp4yqy8w4";
100+ meta.description = "Generation of accessor and iteration functions for ocaml records";
101+ propagatedBuildInputs = [ fieldslib ppxlib ];
102+ };
103+
104+ variantslib = janePackage {
105+ pname = "variantslib";
106+ hash = "04nps65v1n0nv9n1c1kj5k9jyqsfsxb6h2w3vf6cibhjr5m7z8xc";
107+ meta.description = "Part of Jane Street's Core library";
108+ propagatedBuildInputs = [ base ];
109+ };
110+
111+ ppx_variants_conv = janePackage {
112+ pname = "ppx_variants_conv";
113+ hash = "1ssinizz11bws06qzjky486cj1zrflij1f7hi16d02j40qmyjz7b";
114+ meta.description = "Generation of accessor and iteration functions for ocaml variant types";
115+ propagatedBuildInputs = [ variantslib ppxlib ];
116+ };
117+
118+ ppx_expect = janePackage {
119+ pname = "ppx_expect";
120+ hash = "1hhcga960wjvhcx5pk7rcywl1p9n2ycvqa294n24m8dhzqia6i47";
121+ meta.description = "Cram like framework for OCaml";
122+ propagatedBuildInputs = [ ppx_assert ppx_custom_printf ppx_fields_conv ppx_inline_test ppx_variants_conv re ];
123+ };
124+
125+ ppx_enumerate = janePackage {
126+ pname = "ppx_enumerate";
127+ hash = "0hsg6f2nra1mb35jdgym5rf7spm642bs6qqifbikm9hg8f7z3ql4";
128+ meta.description = "Generate a list containing all values of a finite type";
129+ propagatedBuildInputs = [ ppxlib ];
130+ };
131+
132+ ppx_hash = janePackage {
133+ pname = "ppx_hash";
134+ hash = "1f7mfyx4wgk67hchi57w3142m61ka3vgy1969cbkwr3akv6ifly2";
135+ meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
136+ propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
137+ };
138+
139+ ppx_js_style = janePackage {
140+ pname = "ppx_js_style";
141+ hash = "1zlhcn0an5k9xjymk5z5m2vqi8zajy6nvcbl5sdn19pjl3zv645x";
142+ meta.description = "Code style checker for Jane Street Packages";
143+ propagatedBuildInputs = [ octavius ppxlib ];
144+ };
145+
146+ ppx_base = janePackage {
147+ pname = "ppx_base";
148+ hash = "0dkqc85x7bgbb6lgx9rghvj1q4dpdgy9qgjl88ywi4c8l9rgnnkz";
149+ meta.description = "Base set of ppx rewriters";
150+ propagatedBuildInputs = [ ppx_cold ppx_enumerate ppx_hash ppx_js_style ];
151+ };
152+
153+ ppx_bench = janePackage {
154+ pname = "ppx_bench";
155+ hash = "0snmy05d3jgihmppixx3dzamkykijqa2v43vpd7q4z8dpnip620g";
156+ meta.description = "Syntax extension for writing in-line benchmarks in ocaml code";
157+ propagatedBuildInputs = [ ppx_inline_test ];
158+ };
159+
160+ ppx_sexp_message = janePackage {
161+ pname = "ppx_sexp_message";
162+ hash = "03jhx3ajcv22iwxkg1jf1jjvd14gyrwi1yc6c5ryqi5ha0fywfw6";
163+ meta.description = "A ppx rewriter for easy construction of s-expressions";
164+ propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
165+ };
166+
167+ splittable_random = janePackage {
168+ pname = "splittable_random";
169+ hash = "1kgcd6k31vsd7638g8ip77bp1b7vzgkbvgvij4jm2igl09132r85";
170+ meta.description = "PRNG that can be split into independent streams";
171+ propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ];
172+ };
173+
174+ ppx_let = janePackage {
175+ pname = "ppx_let";
176+ hash = "0qplsvbv10h7kwf6dhhgvi001gfphv1v66s83zjr5zbypyaarg5y";
177+ meta.description = "Monadic let-bindings";
178+ propagatedBuildInputs = [ ppxlib ];
179+ };
180+
181+ base_quickcheck = janePackage {
182+ pname = "base_quickcheck";
183+ hash = "0ik8llm01m2xap4gia0vpsh7yq311hph7a2kf5109ag4988s8p0w";
184+ meta.description = "Randomized testing framework, designed for compatibility with Base";
185+ propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let splittable_random ];
186+ };
187+
188+ ppx_stable = janePackage {
189+ pname = "ppx_stable";
190+ hash = "0h7ls1bs0bsd8c4na4aj0nawwhvfy50ybm7sza7yz3qli9jammjk";
191+ meta.description = "Stable types conversions generator";
192+ propagatedBuildInputs = [ ppxlib ];
193+ };
194+
195+ bin_prot = janePackage {
196+ pname = "bin_prot";
197+ hash = "1nnr21rljlfglmhiji27d7c1d6gg5fk4cc5rl3750m98w28mfdjw";
198+ meta.description = "A binary protocol generator";
199+ propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
200+ };
201+
202+ ppx_bin_prot = janePackage {
203+ pname = "ppx_bin_prot";
204+ hash = "14nfjgqisdqqg8wg4qzvc859zil82y0qpr8fm4nhq05mgxp37iyc";
205+ meta.description = "Generation of bin_prot readers and writers from types";
206+ propagatedBuildInputs = [ bin_prot ppx_here ];
207+ };
208+
209+ ppx_fail = janePackage {
210+ pname = "ppx_fail";
211+ hash = "165mikjg4a1lahq3n9q9y2h36jbln5g3l2hapx17irvf0l0c3vn5";
212+ meta.description = "Add location to calls to failwiths";
213+ propagatedBuildInputs = [ ppx_here ];
214+ };
215+
216+ jst-config = janePackage {
217+ pname = "jst-config";
218+ hash = "15lj6f83hz555xhjy9aayl3adqwgl1blcjnja693a1ybi3ca8w0y";
219+ meta.description = "Compile-time configuration for Jane Street libraries";
220+ buildInputs = [ ppx_assert ];
221+ };
222+
223+ ppx_optcomp = janePackage {
224+ pname = "ppx_optcomp";
225+ hash = "13db395swqf7v87pgl9qiyj4igmvj57hpl8blx3kkrzj6ddh38a8";
226+ meta.description = "Optional compilation for OCaml";
227+ propagatedBuildInputs = [ ppxlib ];
228+ };
229+
230+ jane-street-headers = janePackage {
231+ pname = "jane-street-headers";
232+ hash = "1qjg2ari0xn40dlbk0h9xkwr37k97ldkxpkv792fbl6wc2jlv3x5";
233+ meta.description = "Jane Street C header files";
234+ };
235+
236+ time_now = janePackage {
237+ pname = "time_now";
238+ hash = "1if234kz1ssmv22c0vh1cwhbivab6yy3xvy37ny1q4k5ibjc3v0n";
239+ meta.description = "Reports the current time";
240+ buildInputs = [ jst-config ppx_optcomp ];
241+ propagatedBuildInputs = [ jane-street-headers base ppx_base ];
242+ };
243+
244+ ppx_module_timer = janePackage {
245+ pname = "ppx_module_timer";
246+ hash = "13kv5fzwf41wsaksj41hnvcpx8pnbmzcainlq6f5shj9671hpnhb";
247+ meta.description = "Ppx rewriter that records top-level module startup times";
248+ propagatedBuildInputs = [ time_now ];
249+ };
250+
251+ ppx_optional = janePackage {
252+ pname = "ppx_optional";
253+ hash = "1nwb9jvmszxddj9wxgv9g02qhr10yymm2q1w1gjfqd97m2m1mx4n";
254+ meta.description = "Pattern matching on flat options";
255+ propagatedBuildInputs = [ ppxlib ];
256+ };
257+
258+ ppx_pipebang = janePackage {
259+ pname = "ppx_pipebang";
260+ hash = "0ybj0flsi95pf13ayzz1lcrqhqvkv1lm2dz6y8w49f12583496mc";
261+ meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`";
262+ propagatedBuildInputs = [ ppxlib ];
263+ };
264+
265+ ppx_sexp_value = janePackage {
266+ pname = "ppx_sexp_value";
267+ hash = "18k5015awv9yjl44cvdmp3pn894cgsxmn5s7picxapm9675xqcg9";
268+ meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values";
269+ propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
270+ };
271+
272+ typerep = janePackage {
273+ pname = "typerep";
274+ hash = "116hlifww2cqq1i9vwpl7ziwkc1na7p9icqi9srpdxnvn8ibcsas";
275+ meta.description = "Typerep is a library for runtime types";
276+ propagatedBuildInputs = [ base ];
277+ };
278+
279+ ppx_typerep_conv = janePackage {
280+ pname = "ppx_typerep_conv";
281+ hash = "1jlmga9i79inr412l19n4vvmgafzp1bznqxwhy42x309wblbhxx9";
282+ meta.description = "Generation of runtime types from type declarations";
283+ propagatedBuildInputs = [ ppxlib typerep ];
284+ };
285+
286+ ppx_jane = janePackage {
287+ pname = "ppx_jane";
288+ hash = "1a86rvnry8lvjhsg2k73f5bgz7l2962k5i49yzmzn8w66kj0yz60";
289+ meta.description = "Standard Jane Street ppx rewriters";
290+ propagatedBuildInputs = [ base_quickcheck ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_sexp_value ppx_stable ppx_typerep_conv ];
291+ };
292+
293+ base_bigstring = janePackage {
294+ pname = "base_bigstring";
295+ hash = "1i3zr8bn71l442vl5rrvjpwphx20frp2vaw1qc05d348j76sxfp7";
296+ meta.description = "String type based on [Bigarray], for use in I/O and C-bindings";
297+ propagatedBuildInputs = [ ppx_jane ];
298+ };
299+
300+ parsexp = janePackage {
301+ pname = "parsexp";
302+ hash = "0fsxy5lpsvfadj8m2337j8iprs294dfikqxjcas7si74nskx6l38";
303+ meta.description = "S-expression parsing library";
304+ propagatedBuildInputs = [ base sexplib0 ];
305+ };
306+
307+ sexplib = janePackage {
308+ pname = "sexplib";
309+ hash = "059ypcyirw00x6dqa33x49930pwxcr3i72qz5pf220js2ai2nzhn";
310+ meta.description = "Library for serializing OCaml values to and from S-expressions";
311+ propagatedBuildInputs = [ num parsexp ];
312+ };
313+
314+ core_kernel = janePackage {
315+ version = "0.13.1";
316+ pname = "core_kernel";
317+ hash = "1ynyz6jkf23q0cwbn6kv06mgyjd644qxb0qkrydq0cglcaa4kjhp";
318+ meta.description = "System-independent part of Core";
319+ buildInputs = [ jst-config ];
320+ propagatedBuildInputs = [ base_bigstring sexplib ];
321+ };
322+
323+ spawn = janePackage {
324+ pname = "spawn";
325+ hash = "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf";
326+ meta.description = "Spawning sub-processes";
327+ buildInputs = [ ppx_expect ];
328+ };
329+
330+ core = janePackage {
331+ pname = "core";
332+ hash = "1i5z9myl6i7axd8dz4b71gdsz9la6k07ib9njr4bn12yn0y76b1m";
333+ meta.description = "System-independent part of Core";
334+ buildInputs = [ jst-config ];
335+ propagatedBuildInputs = [ core_kernel spawn ];
336+ };
337+
338+ async_kernel = janePackage {
339+ pname = "async_kernel";
340+ hash = "1rrbyy3pyh31qwv0jiarhpgdyq2z2gx6axmaplgpxshk4qx6gsld";
341+ meta.description = "Monadic concurrency library";
342+ propagatedBuildInputs = [ core_kernel ];
343+ };
344+
345+ protocol_version_header = janePackage {
346+ pname = "protocol_version_header";
347+ hash = "19wscd81jlj355f9din1sg21m3af456a0id2a37bx38r390wrghc";
348+ meta.description = "Protocol versioning";
349+ propagatedBuildInputs = [ core_kernel ];
350+ };
351+
352+ async_rpc_kernel = janePackage {
353+ pname = "async_rpc_kernel";
354+ hash = "1k3f2psyd1xcf7nkk0q1fq57yyhfqbzyynsz821n7mrnm37simac";
355+ meta.description = "Platform-independent core of Async RPC library";
356+ propagatedBuildInputs = [ async_kernel protocol_version_header ];
357+ };
358+
359+ async_unix = janePackage {
360+ pname = "async_unix";
361+ version = "0.13.1";
362+ hash = "1sb8grbj4bv6ih3yfdihxhn5c9rqczr56b5bhl85wy2mi92m17xv";
363+ meta.description = "Monadic concurrency library";
364+ propagatedBuildInputs = [ async_kernel core ];
365+ };
366+
367+ async_extra = janePackage {
368+ pname = "async_extra";
369+ hash = "06q1farx7dwi4h490xi1azq7ym57ih2d23sq17g2jfvw889kf4n1";
370+ meta.description = "Monadic concurrency library";
371+ propagatedBuildInputs = [ async_rpc_kernel async_unix ];
372+ };
373+
374+ textutils = janePackage {
375+ pname = "textutils";
376+ hash = "1wnyqj9dzfgl0kddmdl4n9rkl16hwy432dd2i4ksvk2z5g9kkb0d";
377+ meta.description = "Text output utilities";
378+ propagatedBuildInputs = [ core ];
379+ };
380+
381+ async = janePackage {
382+ pname = "async";
383+ hash = "002j9yxpw0ghi12a84163vaqa3n9h8j35f4i72nbxnilxwvy95sr";
384+ meta.description = "Monadic concurrency library";
385+ propagatedBuildInputs = [ async_rpc_kernel async_unix textutils ];
386+ };
387+
388+ async_find = janePackage {
389+ pname = "async_find";
390+ hash = "0l8cfhyrx2rb2avdcfx5m70aj6rx2d57qxqvfycad5afqz4xx2n9";
391+ meta.description = "Directory traversal with Async";
392+ propagatedBuildInputs = [ async ];
393+ };
394+
395+ re2 = janePackage {
396+ pname = "re2";
397+ hash = "0hmizznlzilynn5kh6149bbpkfw2l0xi7zi1y1fxfww2ma3wpim0";
398+ meta.description = "OCaml bindings for RE2, Google's regular expression library";
399+ propagatedBuildInputs = [ core_kernel ];
400+ prePatch = ''
401+ substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++'
402+ substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))'
403+ '';
404+ };
405+
406+ shell = janePackage {
407+ pname = "shell";
408+ hash = "190ymhm0z9b7hngbcpg88wwrfxwfcdh339d7rd2xhmrhi4z99r18";
409+ meta.description = "Yet another implementation of fork&exec and related functionality";
410+ buildInputs = [ jst-config ];
411+ propagatedBuildInputs = [ re2 textutils ];
412+ };
413+
414+ async_shell = janePackage {
415+ pname = "async_shell";
416+ hash = "0bfxyvdmyv23zfr49pb4c3bgfkjr4s3nb3z07xrw6szia3j1kp4j";
417+ meta.description = "Shell helpers for Async";
418+ propagatedBuildInputs = [ async shell ];
419+ };
420+
421+ async_ssl = janePackage {
422+ pname = "async_ssl";
423+ useDune2 = true;
424+ hash = "0z5dbiam5k7ipx9ph4r8nqv0a1ldx1ymxw3xjxgrdjda90lmwf2k";
425+ meta.description = "Async wrappers for SSL";
426+ buildInputs = [ dune-configurator ];
427+ propagatedBuildInputs = [ async ctypes openssl ];
428+ };
429+
430+ core_bench = janePackage {
431+ pname = "core_bench";
432+ hash = "1nk0i3z8rqrljbf4bc7ljp71g0a4361nh85s2ang0lgxri74zacm";
433+ meta.description = "Benchmarking library";
434+ propagatedBuildInputs = [ textutils ];
435+ };
436+
437+ core_extended = janePackage {
438+ pname = "core_extended";
439+ hash = "0zh1wwkg5cxkz633dl9zbbl65aksvzb5mss1q8f7w6i1sv3n0135";
440+ meta.description = "Extra components that are not as closely vetted or as stable as Core";
441+ propagatedBuildInputs = [ core ];
442+ };
443+
444+ sexp_pretty = janePackage {
445+ pname = "sexp_pretty";
446+ hash = "1a59xc9frmvi7n0i32dzs8gpf5ral80xkwv97a13zv5cyg8l6216";
447+ meta.description = "S-expression pretty-printer";
448+ propagatedBuildInputs = [ ppx_base re sexplib ];
449+ };
450+
451+ expect_test_helpers_kernel = janePackage {
452+ pname = "expect_test_helpers_kernel";
453+ hash = "11m0i7mj6b1cmqnwhmsrqdc814s0lk3sip8rh97k75grngazmjvn";
454+ meta.description = "Helpers for writing expectation tests";
455+ buildInputs = [ ppx_jane ];
456+ propagatedBuildInputs = [ core_kernel sexp_pretty ];
457+ };
458+
459+ expect_test_helpers = janePackage {
460+ pname = "expect_test_helpers";
461+ hash = "0sw9yam8d9hdam8p194q0hgc4i26vvwj5qi2cba1jxfhdzhy8jdd";
462+ meta.description = "Async helpers for writing expectation tests";
463+ propagatedBuildInputs = [ async expect_test_helpers_kernel ];
464+ };
465+
466+ patience_diff = janePackage {
467+ pname = "patience_diff";
468+ hash = "012rlbnw21yq2lsbfk3f7l4m4qq3jdx238146z36v54vnhhs6r2r";
469+ meta.description = "Diff library using Bram Cohen's patience diff algorithm";
470+ propagatedBuildInputs = [ core_kernel ];
471+ };
472+
473+ ecaml = janePackage {
474+ pname = "ecaml";
475+ hash = "0jmmsi1m7d4cl5mnw6v9h4ng29anwxy73a6qfi28lgpzafn452bc";
476+ meta.description = "Library for writing Emacs plugin in OCaml";
477+ propagatedBuildInputs = [ async expect_test_helpers_kernel ];
478+ };
479+
480+ ### Packages at version 0.11, with dependencies at version 0.12
481+
482+ configurator = janePackage {
483+ pname = "configurator";
484+ version = "0.11.0";
485+ hash = "0h686630cscav7pil8c3w0gbh6rj4b41dvbnwmicmlkc746q5bfk";
486+ propagatedBuildInputs = [ stdio ];
487+ meta.description = "Helper library for gathering system configuration";
488+ };
489+
490+ ppx_core = janePackage {
491+ pname = "ppx_core";
492+ version = "0.11.0";
493+ hash = "11hgm9mxig4cm3c827f6dns9mjv3pf8g6skf10x0gw9xnp1dmzmx";
494+ propagatedBuildInputs = [ ppxlib ];
495+ meta.description = "Deprecated (see ppxlib)";
496+ };
497+
498+ ppx_driver = janePackage {
499+ pname = "ppx_driver";
500+ version = "0.11.0";
501+ hash = "00kfx6js2kxk57k4v7hiqvwk7h35whgjihnxf75m82rnaf4yzvfi";
502+ propagatedBuildInputs = [ ppxlib ];
503+ meta.description = "Deprecated (see ppxlib)";
504+ };
505+
506+ ppx_type_conv = janePackage {
507+ pname = "ppx_type_conv";
508+ version = "0.11.0";
509+ hash = "04dbrglqqhkas25cpjz8xhjcbpk141c35qggzw66bn69izczfmaf";
510+ propagatedBuildInputs = [ ppxlib ];
511+ meta.description = "Deprecated (see ppxlib)";
512+ };
513+
514+}
test/golden/importless/0.13.txtnew file
No changes to the content.
test/golden/importless/0.14.1.nixnew file+21
@@ -0,0 +1,21 @@
1+{ stdenv, fetchurl, gmp }:
2+
3+stdenv.mkDerivation rec {
4+ name = "isl-0.14.1";
5+
6+ src = fetchurl {
7+ url = "http://isl.gforge.inria.fr/${name}.tar.xz";
8+ sha256 = "0xa6xagah5rywkywn19rzvbvhfvkmylhcxr6z9z7bz29cpiwk0l8";
9+ };
10+
11+ buildInputs = [ gmp ];
12+
13+ enableParallelBuilding = true;
14+
15+ meta = {
16+ homepage = "https://www.kotnet.org/~skimo/isl/";
17+ license = stdenv.lib.licenses.lgpl21;
18+ description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
19+ platforms = stdenv.lib.platforms.all;
20+ };
21+}
test/golden/importless/0.14.1.txtnew file
No changes to the content.
test/golden/importless/0.14.nixnew file+25
@@ -0,0 +1,25 @@
1+{ lib, buildPythonPackage, fetchPypi, h11, enum34, pytest }:
2+
3+buildPythonPackage rec {
4+ pname = "wsproto";
5+ version = "0.14.1";
6+
7+ src = fetchPypi {
8+ inherit pname version;
9+ sha256 = "051s127qb5dladxa14n9nqajwq7xki1dz1was5r5v9df5a0jq8pd";
10+ };
11+
12+ propagatedBuildInputs = [ h11 enum34 ];
13+
14+ checkInputs = [ pytest ];
15+
16+ checkPhase = ''
17+ py.test
18+ '';
19+
20+ meta = with lib; {
21+ description = "Pure Python, pure state-machine WebSocket implementation";
22+ homepage = "https://github.com/python-hyper/wsproto/";
23+ license = licenses.mit;
24+ };
25+}
test/golden/importless/0.14.txtnew file
No changes to the content.
test/golden/importless/0.17.1.nixnew file+21
@@ -0,0 +1,21 @@
1+{ stdenv, fetchurl, gmp }:
2+
3+stdenv.mkDerivation rec {
4+ name = "isl-0.17.1";
5+
6+ src = fetchurl {
7+ url = "http://isl.gforge.inria.fr/${name}.tar.xz";
8+ sha256 = "be152e5c816b477594f4c6194b5666d8129f3a27702756ae9ff60346a8731647";
9+ };
10+
11+ buildInputs = [ gmp ];
12+
13+ enableParallelBuilding = true;
14+
15+ meta = {
16+ homepage = "https://www.kotnet.org/~skimo/isl/";
17+ license = stdenv.lib.licenses.lgpl21;
18+ description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
19+ platforms = stdenv.lib.platforms.all;
20+ };
21+}
test/golden/importless/0.17.1.txtnew file
No changes to the content.
test/golden/importless/0.18.0.nixnew file+63
@@ -0,0 +1,63 @@
1+{ fetchurl, stdenv, gmp, isl }:
2+
3+stdenv.mkDerivation rec {
4+ name = "cloog-0.18.0";
5+
6+ src = fetchurl {
7+ url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./${name}.tar.gz";
8+ sha256 = "1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228";
9+ };
10+
11+ buildInputs = [ gmp ];
12+
13+ propagatedBuildInputs = [ isl ];
14+
15+ configureFlags = [ "--with-isl=system" ];
16+
17+ enableParallelBuilding = true;
18+
19+ doCheck = true;
20+
21+ meta = {
22+ description = "Library that generates loops for scanning polyhedra";
23+
24+ longDescription = ''
25+ CLooG is a free software library to generate code for scanning
26+ Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that
27+ reaches each integral point of one or more parameterized polyhedra.
28+ CLooG has been originally written to solve the code generation problem
29+ for optimizing compilers based on the polytope model. Nevertheless it
30+ is used now in various area e.g., to build control automata for
31+ high-level synthesis or to find the best polynomial approximation of a
32+ function. CLooG may help in any situation where scanning polyhedra
33+ matters. While the user has full control on generated code quality,
34+ CLooG is designed to avoid control overhead and to produce a very
35+ effective code.
36+ '';
37+
38+ homepage = "http://www.cloog.org/";
39+
40+ license = stdenv.lib.licenses.gpl2Plus;
41+
42+ /* Leads to an ICE on Cygwin:
43+
44+ make[3]: Entering directory `/tmp/nix-build-9q5gw5m37q5l4f0kjfv9ar8fsc9plk27-ppl-0.10.2.drv-1/ppl-0.10.2/src'
45+ /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -W -Wall -c -o Box.lo Box.cc
46+ libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -W -Wall -c Box.cc -DDLL_EXPORT -DPIC -o .libs/Box.o
47+ In file included from checked.defs.hh:595,
48+ from Checked_Number.defs.hh:27,
49+ from Coefficient.types.hh:15,
50+ from Coefficient.defs.hh:26,
51+ from Box.defs.hh:28,
52+ from Box.cc:24:
53+ checked.inlines.hh: In function `Parma_Polyhedra_Library::Result Parma_Polyhedra_Library::Checked::input_generic(Type&, std::istream&, Parma_Polyhedra_Library::Rounding_Dir)':
54+ checked.inlines.hh:607: internal compiler error: in invert_truthvalue, at fold-const.c:2719
55+ Please submit a full bug report,
56+ with preprocessed source if appropriate.
57+ See <URL:http://cygwin.com/problems.html> for instructions.
58+ make[3]: *** [Box.lo] Error 1
59+
60+ */
61+ platforms = stdenv.lib.platforms.unix; # Once had cygwin problems
62+ };
63+}
test/golden/importless/0.18.0.txtnew file
No changes to the content.
test/golden/importless/0.2.nixnew file+49
@@ -0,0 +1,49 @@
1+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, doxygen, graphviz, valgrind
2+, glib, dbus, gst_all_1, alsaLib, ffmpeg_3, libjack2, udev, libva, xorg
3+, sbc, SDL2, makeFontsConf
4+}:
5+
6+let
7+ fontsConf = makeFontsConf {
8+ fontDirectories = [ ];
9+ };
10+in stdenv.mkDerivation rec {
11+ pname = "pipewire";
12+ version = "0.2.7";
13+
14+ src = fetchFromGitHub {
15+ owner = "PipeWire";
16+ repo = "pipewire";
17+ rev = version;
18+ sha256 = "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc";
19+ };
20+
21+ outputs = [ "out" "lib" "dev" "doc" ];
22+
23+ nativeBuildInputs = [
24+ meson ninja pkgconfig doxygen graphviz valgrind
25+ ];
26+ buildInputs = [
27+ glib dbus gst_all_1.gst-plugins-base gst_all_1.gstreamer
28+ alsaLib ffmpeg_3 libjack2 udev libva xorg.libX11 sbc SDL2
29+ ];
30+
31+ mesonFlags = [
32+ "-Ddocs=true"
33+ "-Dgstreamer=enabled"
34+ ];
35+
36+ PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
37+
38+ FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
39+
40+ doCheck = true;
41+
42+ meta = with stdenv.lib; {
43+ description = "Server and user space API to deal with multimedia pipelines";
44+ homepage = "https://pipewire.org/";
45+ license = licenses.lgpl21;
46+ platforms = platforms.linux;
47+ maintainers = with maintainers; [ jtojnar ];
48+ };
49+}
test/golden/importless/0.2.txtnew file
No changes to the content.
test/golden/importless/0.20.0.nixnew file+21
@@ -0,0 +1,21 @@
1+{ stdenv, fetchurl, gmp }:
2+
3+stdenv.mkDerivation rec {
4+ name = "isl-0.20";
5+
6+ src = fetchurl {
7+ url = "http://isl.gforge.inria.fr/${name}.tar.xz";
8+ sha256 = "1akpgq0rbqbah5517blg2zlnfvjxfcl9cjrfc75nbcx5p2gnlnd5";
9+ };
10+
11+ buildInputs = [ gmp ];
12+
13+ enableParallelBuilding = true;
14+
15+ meta = {
16+ homepage = "http://isl.gforge.inria.fr/";
17+ license = stdenv.lib.licenses.lgpl21;
18+ description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
19+ platforms = stdenv.lib.platforms.all;
20+ };
21+}
test/golden/importless/0.20.0.txtnew file
No changes to the content.
test/golden/importless/0.29.nixnew file+49
@@ -0,0 +1,49 @@
1+{ stdenv, fetchurl, libxml2, pkgconfig, perl
2+, compressionSupport ? true, zlib ? null
3+, sslSupport ? true, openssl ? null
4+, static ? false
5+, shared ? true
6+}:
7+
8+assert compressionSupport -> zlib != null;
9+assert sslSupport -> openssl != null;
10+assert static || shared;
11+
12+let
13+ inherit (stdenv.lib) optionals;
14+in
15+
16+stdenv.mkDerivation rec {
17+ version = "0.29.6";
18+ pname = "neon";
19+
20+ src = fetchurl {
21+ url = "http://www.webdav.org/neon/${pname}-${version}.tar.gz";
22+ sha256 = "0hzbjqdx1z8zw0vmbknf159wjsxbcq8ii0wgwkqhxj3dimr0nr4w";
23+ };
24+
25+ patches = optionals stdenv.isDarwin [ ./0.29.6-darwin-fix-configure.patch ];
26+
27+ nativeBuildInputs = [ pkgconfig ];
28+ buildInputs = [libxml2 openssl]
29+ ++ stdenv.lib.optional compressionSupport zlib;
30+
31+ configureFlags = [
32+ (stdenv.lib.enableFeature shared "shared")
33+ (stdenv.lib.enableFeature static "static")
34+ (stdenv.lib.withFeature compressionSupport "zlib")
35+ (stdenv.lib.withFeature sslSupport "ssl")
36+ ];
37+
38+ passthru = {inherit compressionSupport sslSupport;};
39+
40+ checkInputs = [ perl ];
41+ doCheck = false; # fails, needs the net
42+
43+ meta = with stdenv.lib; {
44+ description = "An HTTP and WebDAV client library";
45+ homepage = "http://www.webdav.org/neon/";
46+ platforms = platforms.unix;
47+ license = licenses.lgpl2;
48+ };
49+}
test/golden/importless/0.29.txtnew file
No changes to the content.
test/golden/importless/0.3.3.nixnew file+7
@@ -0,0 +1,7 @@
1+{ callPackage, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "0.3.3";
5+ sha256 = "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i";
6+ patches = [ ./drop-comments.patch ]; # we would get into a cycle when using fetchpatch on this one
7+})
test/golden/importless/0.3.3.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { callPackage = Path -> α; patches = [Path]; sha256 = String; version = String }
test/golden/importless/0.4.nixnew file+29
@@ -0,0 +1,29 @@
1+{ stdenv, buildPythonPackage, fetchPypi, scikitlearn, pandas, nose, pytest }:
2+
3+buildPythonPackage rec {
4+ pname = "imbalanced-learn";
5+ version = "0.4.3";
6+
7+ src = fetchPypi {
8+ inherit pname version;
9+ sha256 = "5bd9e86e40ce4001a57426541d7c79b18143cbd181e3330c1a3e5c5c43287083";
10+ };
11+
12+ propagatedBuildInputs = [ scikitlearn ];
13+ checkInputs = [ nose pytest pandas ];
14+ checkPhase = ''
15+ export HOME=$PWD
16+ # skip some tests that fail because of minimal rounding errors
17+ # or large dependencies
18+ py.test imblearn -k 'not classification \
19+ and not _generator \
20+ and not _forest \
21+ and not wrong_memory'
22+ '';
23+
24+ meta = with stdenv.lib; {
25+ description = "Library offering a number of re-sampling techniques commonly used in datasets showing strong between-class imbalance";
26+ homepage = "https://github.com/scikit-learn-contrib/imbalanced-learn";
27+ license = licenses.mit;
28+ };
29+}
test/golden/importless/0.4.txtnew file
No changes to the content.
test/golden/importless/0.5.1.nixnew file+17
@@ -0,0 +1,17 @@
1+{ callPackage, fetchurl, ... } @ args:
2+
3+callPackage ./generic.nix (args // rec {
4+ version = "0.5.1.3";
5+
6+ src = fetchurl {
7+ url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz";
8+ sha256 = "0bkam9z5vnrxpbxkkh9kw6yzjka9di56h11iijikdd1f71l5nbpw";
9+ };
10+
11+ # Don't build tests due to badness with ec_ilog
12+ prePatch = ''
13+ substituteInPlace Makefile.in \
14+ --replace 'SUBDIRS = libcelt tests' \
15+ 'SUBDIRS = libcelt'
16+ '';
17+})
test/golden/importless/0.5.1.txtnew file
No changes to the content.
test/golden/importless/0.6.nixnew file+45
@@ -0,0 +1,45 @@
1+{ stdenv, buildGoModule, fetchurl, nixosTests }:
2+
3+buildGoModule rec {
4+ pname = "ipfs";
5+ version = "0.6.0";
6+ rev = "v${version}";
7+
8+ # go-ipfs makes changes to it's source tarball that don't match the git source.
9+ src = fetchurl {
10+ url = "https://github.com/ipfs/go-ipfs/releases/download/${rev}/go-ipfs-source.tar.gz";
11+ sha256 = "14bgq2j2bjjy0pspy2lsj5dm3w9rmfha0l8kyq5ig86yhc4nzn80";
12+ };
13+
14+ # tarball contains multiple files/directories
15+ postUnpack = ''
16+ mkdir ipfs-src
17+ shopt -s extglob
18+ mv !(ipfs-src) ipfs-src || true
19+ cd ipfs-src
20+ '';
21+
22+ sourceRoot = ".";
23+
24+ subPackages = [ "cmd/ipfs" ];
25+
26+ passthru.tests.ipfs = nixosTests.ipfs;
27+
28+ vendorSha256 = null;
29+
30+ postInstall = ''
31+ install --mode=444 -D misc/systemd/ipfs.service $out/etc/systemd/system/ipfs.service
32+ install --mode=444 -D misc/systemd/ipfs-api.socket $out/etc/systemd/system/ipfs-api.socket
33+ install --mode=444 -D misc/systemd/ipfs-gateway.socket $out/etc/systemd/system/ipfs-gateway.socket
34+ substituteInPlace $out/etc/systemd/system/ipfs.service \
35+ --replace /usr/bin/ipfs $out/bin/ipfs
36+ '';
37+
38+ meta = with stdenv.lib; {
39+ description = "A global, versioned, peer-to-peer filesystem";
40+ homepage = "https://ipfs.io/";
41+ license = licenses.mit;
42+ platforms = platforms.unix;
43+ maintainers = with maintainers; [ fpletz ];
44+ };
45+}
test/golden/importless/0.6.txtnew file
No changes to the content.
test/golden/importless/0.61.nixnew file+68
@@ -0,0 +1,68 @@
1+{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintl
2+, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg, fetchpatch
3+, withData ? true, poppler_data
4+, qt5Support ? false, qtbase ? null
5+, introspectionSupport ? false, gobject-introspection ? null
6+, utils ? false
7+, minimal ? false, suffix ? "glib"
8+}:
9+
10+let
11+ version = "0.61.1";
12+ mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
13+in
14+stdenv.mkDerivation rec {
15+ name = "poppler-${suffix}-${version}";
16+
17+ src = fetchurl {
18+ url = "${meta.homepage}/poppler-${version}.tar.xz";
19+ sha256 = "1afdrxxkaivvviazxkg5blsf2x24sjkfj92ib0d3q5pm8dihjrhj";
20+ };
21+
22+ outputs = [ "out" "dev" ];
23+
24+ patches = [
25+ (fetchpatch {
26+ name = "CVE-2018-13988";
27+ url = "https://cgit.freedesktop.org/poppler/poppler/patch/?id=004e3c10df0abda214f0c293f9e269fdd979c5ee";
28+ sha256 = "1l8713s57xc6g81bldw934rsfm140fqc7ggd50ha5mxdl1b3app2";
29+ })
30+ ./0.61-CVE-2019-9959.patch
31+ ];
32+
33+ buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data;
34+
35+ # TODO: reduce propagation to necessary libs
36+ propagatedBuildInputs = with lib;
37+ [ zlib freetype fontconfig libjpeg openjpeg ]
38+ ++ optionals (!minimal) [ cairo lcms curl ]
39+ ++ optional qt5Support qtbase
40+ ++ optional introspectionSupport gobject-introspection;
41+
42+ nativeBuildInputs = [ cmake ninja pkgconfig ];
43+
44+ # Not sure when and how to pass it. It seems an upstream bug anyway.
45+ CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
46+
47+ cmakeFlags = [
48+ (mkFlag true "XPDF_HEADERS")
49+ (mkFlag (!minimal) "GLIB")
50+ (mkFlag (!minimal) "CPP")
51+ (mkFlag (!minimal) "LIBCURL")
52+ (mkFlag utils "UTILS")
53+ (mkFlag qt5Support "QT5")
54+ ];
55+
56+ meta = with lib; {
57+ homepage = "https://poppler.freedesktop.org/";
58+ description = "A PDF rendering library";
59+
60+ longDescription = ''
61+ Poppler is a PDF rendering library based on the xpdf-3.0 code base.
62+ '';
63+
64+ license = licenses.gpl2;
65+ platforms = platforms.all;
66+ maintainers = with maintainers; [ ttuegel ];
67+ };
68+}
test/golden/importless/0.61.txtnew file
No changes to the content.
test/golden/importless/0.7.nixnew file+45
@@ -0,0 +1,45 @@
1+{ stdenv, buildGoModule, fetchurl, nixosTests }:
2+
3+buildGoModule rec {
4+ pname = "ipfs";
5+ version = "0.7.0";
6+ rev = "v${version}";
7+
8+ # go-ipfs makes changes to it's source tarball that don't match the git source.
9+ src = fetchurl {
10+ url = "https://github.com/ipfs/go-ipfs/releases/download/${rev}/go-ipfs-source.tar.gz";
11+ sha256 = "1fkzwm4qxxpmbjammk6s5qcyjxivfa0ydqz4mpz1w756c4jq0jf3";
12+ };
13+
14+ # tarball contains multiple files/directories
15+ postUnpack = ''
16+ mkdir ipfs-src
17+ shopt -s extglob
18+ mv !(ipfs-src) ipfs-src || true
19+ cd ipfs-src
20+ '';
21+
22+ sourceRoot = ".";
23+
24+ subPackages = [ "cmd/ipfs" ];
25+
26+ passthru.tests.ipfs = nixosTests.ipfs;
27+
28+ vendorSha256 = null;
29+
30+ postInstall = ''
31+ install --mode=444 -D misc/systemd/ipfs.service $out/etc/systemd/system/ipfs.service
32+ install --mode=444 -D misc/systemd/ipfs-api.socket $out/etc/systemd/system/ipfs-api.socket
33+ install --mode=444 -D misc/systemd/ipfs-gateway.socket $out/etc/systemd/system/ipfs-gateway.socket
34+ substituteInPlace $out/etc/systemd/system/ipfs.service \
35+ --replace /usr/bin/ipfs $out/bin/ipfs
36+ '';
37+
38+ meta = with stdenv.lib; {
39+ description = "A global, versioned, peer-to-peer filesystem";
40+ homepage = "https://ipfs.io/";
41+ license = licenses.mit;
42+ platforms = platforms.unix;
43+ maintainers = with maintainers; [ fpletz ];
44+ };
45+}
test/golden/importless/0.7.txtnew file
No changes to the content.
test/golden/importless/0.8.2.nixnew file+30
@@ -0,0 +1,30 @@
1+{stdenv, fetchurl, ocaml, findlib, camlp4}:
2+
3+if stdenv.lib.versionAtLeast ocaml.version "4.05"
4+then throw "camomile-0.8.2 is not available for OCaml ${ocaml.version}"
5+else
6+
7+stdenv.mkDerivation rec {
8+ pname = "camomile";
9+ version = "0.8.2";
10+
11+ src = fetchurl {
12+ url = "mirror://sourceforge/camomile/camomile-${version}.tar.bz2";
13+ sha256 = "0x43pjxx70kgip86mmdn08s97k4qzdqc8i79xfyyx28smy1bsa00";
14+ };
15+
16+ buildInputs = [ocaml findlib camlp4];
17+
18+ createFindlibDestdir = true;
19+
20+ meta = {
21+ homepage = "http://camomile.sourceforge.net/";
22+ description = "A comprehensive Unicode library for OCaml";
23+ license = stdenv.lib.licenses.lgpl21;
24+ branch = "0.8.2";
25+ platforms = ocaml.meta.platforms or [];
26+ maintainers = [
27+ stdenv.lib.maintainers.maggesi
28+ ];
29+ };
30+}
test/golden/importless/0.8.2.txtnew file
No changes to the content.
test/golden/importless/0.8.5.nixnew file+30
@@ -0,0 +1,30 @@
1+{stdenv, fetchurl, fetchpatch, ocaml, findlib, camlp4}:
2+
3+stdenv.mkDerivation {
4+ pname = "camomile";
5+ version = "0.8.5";
6+
7+ src = fetchurl {
8+ url = "https://github.com/yoriyuki/Camomile/releases/download/rel-0.8.5/camomile-0.8.5.tar.bz2";
9+ sha256 = "003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045";
10+ };
11+
12+ patches = [ (fetchpatch {
13+ url = "https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/camomile/camomile.0.8.5/files/4.05-typing-fix.patch";
14+ sha256 = "167279lia6qx62mdcyc5rjsi4gf4yi52wn9mhgd9y1v3754z7fwb";
15+ })];
16+
17+ buildInputs = [ocaml findlib camlp4];
18+
19+ createFindlibDestdir = true;
20+
21+ meta = {
22+ homepage = "https://github.com/yoriyuki/Camomile/tree/master/Camomile";
23+ description = "A comprehensive Unicode library for OCaml";
24+ license = stdenv.lib.licenses.lgpl21;
25+ platforms = ocaml.meta.platforms or [];
26+ maintainers = [
27+ stdenv.lib.maintainers.maggesi
28+ ];
29+ };
30+}
test/golden/importless/0.8.5.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { camlp4 = β; fetchpatch = { sha256 = String; url = String } -> γ; fetchurl = { sha256 = String; url = String } -> δ; findlib = β; ocaml = β; stdenv = ε } -> { buildInputs = [β]; createFindlibDestdir = Bool; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. α }; patches = [{ sha256 = String; url = String }]; pname = String; src = { sha256 = String; url = String }; version = String }
test/golden/importless/0.8.nixnew file+55
@@ -0,0 +1,55 @@
1+{ stdenv, fetchurl, pkgconfig
2+, SDL, libGLU, libGL, openal, lua
3+, libdevil, freetype, physfs
4+, libmodplug, mpg123, libvorbis, libogg
5+}:
6+
7+stdenv.mkDerivation rec {
8+ pname = "love";
9+ version = "0.8.0";
10+
11+ src = fetchurl {
12+ url = "https://bitbucket.org/rude/love/downloads/${pname}-${version}-linux-src.tar.gz";
13+ sha256 = "1k4fcsa8zzi04ja179bmj24hvqcbm3icfvrvrzyz2gw9qwfclrwi";
14+ };
15+
16+ nativeBuildInputs = [ pkgconfig ];
17+ buildInputs = [
18+ SDL libGLU libGL openal lua
19+ libdevil freetype physfs libmodplug mpg123 libvorbis libogg
20+ ];
21+
22+ preConfigure = ''
23+ luaoptions="${"''"} lua luajit "
24+ for i in lua luajit-; do
25+ for j in 5 5.0 5.1 5.2 5.3 5.4; do
26+ luaoptions="$luaoptions $i$j "
27+ done
28+ done
29+ luaso="$(echo "${lua}/lib/"lib*.so.*)"
30+ luaso="''${luaso##*/lib}"
31+ luaso="''${luaso%%.so*}"
32+ luaoptions="$luaoptions $luaso"
33+ sed -e "s/${"''"} lua lua.*;/$luaoptions;/" -i configure
34+
35+ luaincdir="$(echo "${lua}/include"/*/ )"
36+ test -d "$luaincdir" && {
37+ export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$luaincdir"
38+ } || true
39+ '';
40+
41+ NIX_CFLAGS_COMPILE = toString [
42+ "-I${SDL.dev}/include/SDL"
43+ "-I${freetype.dev}include/freetype2"
44+ "-DGL_GLEXT_PROTOTYPES" # https://community.khronos.org/t/glgenbuffers-was-not-declared-in-this-scope/59283/2
45+ ];
46+
47+ meta = {
48+ homepage = "http://love2d.org";
49+ description = "A Lua-based 2D game engine/scripting language";
50+ license = stdenv.lib.licenses.zlib;
51+
52+ platforms = stdenv.lib.platforms.linux;
53+ maintainers = [ stdenv.lib.maintainers.raskin ];
54+ };
55+}
test/golden/importless/0.8.txtnew file
No changes to the content.
test/golden/importless/0.9.1.nixnew file+33
@@ -0,0 +1,33 @@
1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, nose
5+, pandas
6+, matplotlib
7+}:
8+
9+buildPythonPackage rec {
10+ pname = "seaborn";
11+ version = "0.9.1";
12+ src = fetchPypi {
13+ inherit pname version;
14+ sha256 = "da33aa8c20a9a342ce73831d02831a10413f54a05471c7f31edf34f225d456ae";
15+ };
16+
17+ checkInputs = [ nose ];
18+ propagatedBuildInputs = [ pandas matplotlib ];
19+
20+ checkPhase = ''
21+ nosetests -v
22+ '';
23+
24+ # Computationally very demanding tests
25+ doCheck = false;
26+
27+ meta = {
28+ description = "Statisitical data visualization";
29+ homepage = "http://stanford.edu/~mwaskom/software/seaborn/";
30+ license = with lib.licenses; [ bsd3 ];
31+ maintainers = [ ];
32+ };
33+}
test/golden/importless/0.9.1.txtnew file
No changes to the content.
test/golden/importless/0.9.5.nixnew file+21
@@ -0,0 +1,21 @@
1+{ stdenv, fetchurl, python2Packages }:
2+
3+let version = "0.9.5.1.1"; in
4+
5+python2Packages.buildPythonPackage {
6+ pname = "pyrex";
7+ inherit version;
8+
9+ src = fetchurl {
10+ url = "https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-${version}.tar.gz";
11+ sha256 = "0lxxvn4mjfb83swcbqb5908q4iy53w4ip5i0f9angm2va1jyhd3z";
12+ };
13+
14+ doCheck = false;
15+
16+ meta = {
17+ homepage = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/";
18+ description = "A language for writing Python extension modules";
19+ license = stdenv.lib.licenses.asl20;
20+ };
21+}
test/golden/importless/0.9.5.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; python2Packages = γ; stdenv = δ } -> { doCheck = Bool; meta = { description = String; homepage = String; license = ∀ α. α }; pname = String; src = { sha256 = String; url = String }; version = String }
test/golden/importless/0.9.6.nixnew file+21
@@ -0,0 +1,21 @@
1+{ stdenv, fetchurl, python2Packages }:
2+
3+let version = "0.9.6.4"; in
4+
5+python2Packages.buildPythonPackage {
6+ pname = "pyrex";
7+ inherit version;
8+
9+ src = fetchurl {
10+ url = "https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-${version}.tar.gz";
11+ sha256 = "18pd9f8al3l6i27cc0ddhgg7hxf28lnfs75x4a8jzscydxgiq5a8";
12+ };
13+
14+ doCheck = false;
15+
16+ meta = {
17+ homepage = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/";
18+ description = "A language for writing Python extension modules";
19+ license = stdenv.lib.licenses.asl20;
20+ };
21+}
test/golden/importless/0.9.6.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; python2Packages = γ; stdenv = δ } -> { doCheck = Bool; meta = { description = String; homepage = String; license = ∀ α. α }; pname = String; src = { sha256 = String; url = String }; version = String }
test/golden/importless/0.9.8.6-rc1.nixnew file+43
@@ -0,0 +1,43 @@
1+{stdenv, fetchurl, makeWrapper, ocaml, ncurses}:
2+let
3+ pname = "omake";
4+ version = "0.9.8.6-0.rc1";
5+ webpage = "http://omake.metaprl.org";
6+in
7+
8+if stdenv.lib.versionAtLeast ocaml.version "4.06"
9+then throw "${pname}-${version} is not available for OCaml ${ocaml.version}"
10+else
11+
12+stdenv.mkDerivation {
13+
14+ name = "${pname}-${version}";
15+
16+ src = fetchurl {
17+ url = "https://src.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
18+ sha256 = "1sas02pbj56m7wi5vf3vqrrpr4ynxymw2a8ybvfj2dkjf7q9ii13";
19+ };
20+ patchFlags = [ "-p0" ];
21+ patches = [ ./warn.patch ];
22+
23+ buildInputs = [ ocaml makeWrapper ncurses ];
24+
25+ phases = "unpackPhase patchPhase buildPhase";
26+ buildPhase = ''
27+ make bootstrap
28+ make PREFIX=$out all
29+ make PREFIX=$out install
30+ '';
31+# prefixKey = "-prefix ";
32+#
33+# configureFlags = if transitional then "--transitional" else "--strict";
34+#
35+# buildFlags = [ "world.opt" ];
36+
37+ meta = {
38+ description = "Omake build system";
39+ homepage = webpage;
40+ license = "GPL";
41+ platforms = ocaml.meta.platforms or [];
42+ };
43+}
test/golden/importless/0.9.8.6-rc1.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { fetchurl = { sha256 = String; url = String } -> α; makeWrapper = β; ncurses = β; ocaml = β; stdenv = γ } -> String
test/golden/importless/0.9.nixnew file+51
@@ -0,0 +1,51 @@
1+{stdenv, fetchurl, ocaml, findlib, ounit, expat}:
2+
3+let
4+ pname = "ocaml-expat";
5+ testcase = fetchurl {
6+ url = "http://www.w3.org/TR/1998/REC-xml-19980210.xml";
7+ sha256 = "00a3gsfvlkdhmcbziqhvpvy1zmcgbcihfqwcvl6ay03zf7gvw0k1";
8+ };
9+
10+in
11+
12+stdenv.mkDerivation rec {
13+ name = "${pname}-${version}";
14+ version = "0.9.1";
15+
16+ src = fetchurl {
17+ url = "http://www.xs4all.nl/~mmzeeman/ocaml/${pname}-${version}.tar.gz";
18+ sha256 = "16n2j3y0jc9xgqyshw9plrwqnjiz30vnpbhahmgxlidbycw8rgjz";
19+ };
20+
21+ buildInputs = [ocaml findlib ounit expat];
22+
23+ createFindlibDestdir = true;
24+
25+ patches = [ ./unittest.patch ];
26+
27+ postPatch = ''
28+ substituteInPlace "unittest.ml" \
29+ --replace "/home/maas/xml-samples/REC-xml-19980210.xml.txt" "${testcase}"
30+ substituteInPlace Makefile --replace "EXPAT_LIBDIR=/usr/local/lib" "EXPAT_LIBDIR=${expat.out}/lib" \
31+ --replace "EXPAT_INCDIR=/usr/local/include" "EXPAT_INCDIR=${expat.dev}/include" \
32+ --replace "gcc" "\$(CC)"
33+ '';
34+
35+ dontConfigure = true; # Skip configure
36+
37+ buildPhase = ''
38+ make all allopt
39+ '';
40+
41+ doCheck = true;
42+
43+ checkTarget = "testall";
44+
45+ meta = {
46+ homepage = "http://www.xs4all.nl/~mmzeeman/ocaml/";
47+ description = "An ocaml wrapper for the Expat XML parsing library";
48+ license = stdenv.lib.licenses.mit;
49+ maintainers = [ stdenv.lib.maintainers.roconnor ];
50+ };
51+}
test/golden/importless/0.9.txtnew file
No changes to the content.
test/golden/importless/0.nixnew file+26
@@ -0,0 +1,26 @@
1+{ stdenv, fetchurl, pkgconfig, cmake
2+, alsaLib, boost, glib, lash, libjack2, libarchive, libsndfile, lrdf, qt4
3+}:
4+
5+stdenv.mkDerivation rec {
6+ version = "0.9.7";
7+ pname = "hydrogen";
8+
9+ src = fetchurl {
10+ url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz";
11+ sha256 = "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy";
12+ };
13+
14+ nativeBuildInputs = [ pkgconfig cmake ];
15+ buildInputs = [
16+ alsaLib boost glib lash libjack2 libarchive libsndfile lrdf qt4
17+ ];
18+
19+ meta = with stdenv.lib; {
20+ description = "Advanced drum machine";
21+ homepage = "http://www.hydrogen-music.org";
22+ license = licenses.gpl2;
23+ platforms = platforms.linux;
24+ maintainers = [ maintainers.goibhniu ];
25+ };
26+}
test/golden/importless/0.txtnew file
No changes to the content.
test/golden/importless/0.x.nixnew file+72
@@ -0,0 +1,72 @@
1+{
2+ lib
3+ , buildPythonPackage
4+ , fetchFromGitHub
5+ , cloudpickle
6+ , ipykernel
7+ , wurlitzer
8+ , jupyter_client
9+ , pyzmq
10+ , numpy
11+ , pandas
12+ , scipy
13+ , matplotlib
14+ , xarray
15+ , pytest
16+ , flaky
17+ , isPy3k
18+}:
19+
20+buildPythonPackage rec {
21+ pname = "spyder-kernels";
22+ version = "0.5.2";
23+
24+ src = fetchFromGitHub {
25+ owner = "spyder-ide";
26+ repo = "spyder-kernels";
27+ rev = "v0.5.2";
28+ sha256 = "1yan589g0470y61bcyjy3wj13i94ndyffckqdyrg97vw2qhfrisb";
29+ };
30+
31+ # requirement xarray not available on Py2k
32+ disabled = !isPy3k;
33+
34+ propagatedBuildInputs = [
35+ cloudpickle
36+ ipykernel
37+ wurlitzer
38+ jupyter_client
39+ pyzmq
40+ ];
41+
42+ checkInputs = [
43+ numpy
44+ pandas
45+ scipy
46+ matplotlib
47+ xarray
48+ pytest
49+ flaky
50+ ];
51+
52+ # skipped tests:
53+ # turtle requires graphics
54+ # cython test fails, I don't think this can ever access cython?
55+ # umr pathlist test assumes standard directories, not compatible with nix
56+ checkPhase = ''
57+ export JUPYTER_RUNTIME_DIR=$(mktemp -d)
58+ pytest -x -vv -k '\
59+ not test_turtle_launch \
60+ and not test_umr_skip_cython \
61+ and not test_umr_pathlist' \
62+ -W 'ignore::DeprecationWarning' \
63+ spyder_kernels
64+ '';
65+
66+ meta = with lib; {
67+ description = "Jupyter kernels for Spyder's console";
68+ homepage = "https://github.com/spyder-ide/spyder-kernels";
69+ license = licenses.mit;
70+ maintainers = with maintainers; [ gebner marcus7070 ];
71+ };
72+}
test/golden/importless/0.x.txtnew file
No changes to the content.
test/golden/importless/1-default.nixnew file+46
@@ -0,0 +1,46 @@
1+{ stdenv, fetchurl, pkgconfig, sg3_utils, udev, glib, dbus, dbus-glib
2+, polkit, parted, lvm2, libatasmart, intltool, libuuid, mdadm
3+, libxslt, docbook_xsl, utillinux, libgudev }:
4+
5+stdenv.mkDerivation rec {
6+ name = "udisks-1.0.5";
7+
8+ src = fetchurl {
9+ url = "https://hal.freedesktop.org/releases/${name}.tar.gz";
10+ sha256 = "0wbg3jrv8limdgvcygf4dqin3y6d30y9pcmmk711vq571vmq5v7j";
11+ };
12+
13+ patches = [ ./purity.patch ./no-pci-db.patch ./glibc.patch ];
14+
15+ preConfigure =
16+ ''
17+ configureFlagsArray+=(--with-systemdsystemunitdir=$out/lib/systemd/system)
18+ '';
19+
20+ postPatch =
21+ ''
22+ sed -e 's,/sbin/mdadm,${mdadm}&,g' -e "s,@slashlibdir@,$out/lib,g" -i data/80-udisks.rules
23+
24+ substituteInPlace src/main.c --replace \
25+ "/sbin:/bin:/usr/sbin:/usr/bin" \
26+ "${utillinux}/bin:${mdadm}/sbin:/run/current-system/sw/bin:/run/current-system/sw/bin"
27+ '';
28+
29+ buildInputs =
30+ [ sg3_utils udev glib dbus dbus-glib polkit parted libgudev
31+ lvm2 libatasmart intltool libuuid libxslt docbook_xsl
32+ ];
33+
34+ nativeBuildInputs = [ pkgconfig ];
35+
36+ configureFlags = [ "--localstatedir=/var" "--enable-lvm2" ];
37+
38+ meta = with stdenv.lib; {
39+ homepage = "http://www.freedesktop.org/wiki/Software/udisks";
40+ description = "A daemon and command-line utility for querying and manipulating storage devices";
41+ platforms = platforms.linux;
42+ license = with licenses; [ gpl2 lgpl2Plus ];
43+ broken = true;
44+ hydraPlatforms = [];
45+ };
46+}
test/golden/importless/1-default.txtnew file
No changes to the content.
test/golden/importless/1.0.0.nixnew file+37
@@ -0,0 +1,37 @@
1+{ stdenv, lib, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi
2+, libGL, mesa
3+, minimal ? false, libva1-minimal
4+}:
5+
6+stdenv.mkDerivation rec {
7+ pname = "libva";
8+ version = "1.7.3";
9+
10+ src = fetchurl {
11+ url = "https://www.freedesktop.org/software/vaapi/releases/libva/${pname}-${version}.tar.bz2";
12+ sha256 = "1ndrf136rlw03xag7j1xpmf9015d1h0dpnv6v587jnh6k2a17g12";
13+ };
14+
15+ outputs = [ "bin" "dev" "out" ];
16+
17+ nativeBuildInputs = [ pkgconfig ];
18+
19+ buildInputs = [ libdrm ]
20+ ++ lib.optionals (!minimal) [ libva1-minimal libX11 libXext libXfixes wayland libffi libGL ];
21+ # TODO: share libs between minimal and !minimal - perhaps just symlink them
22+
23+ configureFlags =
24+ # Add FHS paths for non-NixOS applications.
25+ [ "--with-drivers-path=${mesa.drivers.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri" ] ++
26+ lib.optionals (!minimal) [ "--enable-glx" ];
27+
28+ installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];
29+
30+ meta = with stdenv.lib; {
31+ homepage = "http://www.freedesktop.org/wiki/Software/vaapi";
32+ license = licenses.mit;
33+ description = "VAAPI library: Video Acceleration API";
34+ platforms = platforms.unix;
35+ maintainers = with maintainers; [ ];
36+ };
37+}
test/golden/importless/1.0.0.txtnew file
No changes to the content.
test/golden/importless/1.0.nixnew file+36
@@ -0,0 +1,36 @@
1+{stdenv, fetchurl, ocaml, findlib, easy-format}:
2+let
3+ pname = "biniou";
4+ version = "1.0.9";
5+ webpage = "http://mjambon.com/${pname}.html";
6+in
7+
8+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
9+
10+stdenv.mkDerivation rec {
11+
12+ name = "${pname}-${version}";
13+
14+ src = fetchurl {
15+ url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
16+ sha256 = "14j3hrhbjqxbizr1pr8fcig9dmfzhbjjwzwyc99fcsdic67w8izb";
17+ };
18+
19+ buildInputs = [ ocaml findlib easy-format ];
20+
21+ createFindlibDestdir = true;
22+
23+ makeFlags = [ "PREFIX=$(out)" ];
24+
25+ preBuild = ''
26+ mkdir $out/bin
27+ '';
28+
29+ meta = with stdenv.lib; {
30+ description = "A binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve";
31+ homepage = webpage;
32+ license = licenses.bsd3;
33+ maintainers = [ maintainers.vbgl ];
34+ platforms = ocaml.meta.platforms or [];
35+ };
36+}
test/golden/importless/1.0.txtnew file
No changes to the content.
test/golden/importless/1.00.37.nixnew file+98
@@ -0,0 +1,98 @@
1+{ stdenv, fetchurl, cups, libusb-compat-0_1, libxml2 }:
2+
3+let
4+
5+ arch = if stdenv.hostPlatform.system == "x86_64-linux"
6+ then "x86_64"
7+ else "i386";
8+
9+in stdenv.mkDerivation rec {
10+ pname = "samsung-unified-linux-driver";
11+ version = "1.00.37";
12+
13+ src = fetchurl {
14+ sha256 = "0r66l9zp0p1qgakh4j08hynwsr4lsgq5yrpxyr0x4ldvl0z2b1bb";
15+ url = "http://www.bchemnet.com/suldr/driver/UnifiedLinuxDriver-${version}.tar.gz";
16+ };
17+
18+ buildInputs = [
19+ cups
20+ libusb-compat-0_1
21+ libxml2
22+ ];
23+
24+ installPhase = ''
25+
26+ mkdir -p $out/bin
27+ cp -R ${arch}/{gettext,pstosecps,rastertospl,smfpnetdiscovery,usbresetter} $out/bin
28+
29+ mkdir -p $out/etc/sane.d/dll.d/
30+ install -m644 noarch/etc/smfp.conf $out/etc/sane.d
31+ echo smfp >> $out/etc/sane.d/dll.d/smfp-scanner.conf
32+
33+ mkdir -p $out/lib
34+ install -m755 ${arch}/libscmssc.so* $out/lib
35+
36+ mkdir -p $out/lib/cups/backend
37+ ln -s $out/bin/smfpnetdiscovery $out/lib/cups/backend
38+
39+ mkdir -p $out/lib/cups/filter
40+ ln -s $out/bin/{pstosecps,rastertospl} $out/lib/cups/filter
41+ ln -s $ghostscript/bin/gs $out/lib/cups/filter
42+
43+ mkdir -p $out/lib/sane
44+ install -m755 ${arch}/libsane-smfp.so* $out/lib/sane
45+ ln -s libsane-smfp.so.1.0.1 $out/lib/sane/libsane-smfp.so.1
46+ ln -s libsane-smfp.so.1 $out/lib/sane/libsane-smfp.so
47+
48+ mkdir -p $out/lib/udev/rules.d
49+ (
50+ OEM_FILE=noarch/oem.conf
51+ INSTALL_LOG_FILE=/dev/null
52+ . noarch/scripting_utils
53+ . noarch/package_utils
54+ . noarch/scanner-script.pkg
55+ fill_full_template noarch/etc/smfp.rules.in $out/lib/udev/rules.d/60_smfp_samsung.rules
56+ chmod -x $out/lib/udev/rules.d/60_smfp_samsung.rules
57+ )
58+
59+ mkdir -p $out/share
60+ cp -R noarch/share/* $out/share
61+ gzip -9 $out/share/ppd/*.ppd
62+ rm -r $out/share/locale/*/*/install.mo
63+
64+ mkdir -p $out/share/cups
65+ cd $out/share/cups
66+ ln -s ../ppd .
67+ ln -s ppd model
68+ '';
69+
70+ preFixup = ''
71+ for bin in "$out/bin/"*; do
72+ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$bin"
73+ patchelf --set-rpath "$out/lib:${stdenv.lib.getLib cups}/lib" "$bin"
74+ done
75+
76+ patchelf --set-rpath "$out/lib:${stdenv.lib.getLib cups}/lib" "$out/lib/libscmssc.so"
77+ patchelf --set-rpath "$out/lib:${libxml2.out}/lib:${libusb-compat-0_1.out}/lib" "$out/lib/sane/libsane-smfp.so.1.0.1"
78+
79+ ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $out/lib/
80+ '';
81+
82+ # all binaries are already stripped
83+ dontStrip = true;
84+
85+ # we did this in prefixup already
86+ dontPatchELF = true;
87+
88+ meta = with stdenv.lib; {
89+ description = "Unified Linux Driver for Samsung printers and scanners";
90+ homepage = "http://www.bchemnet.com/suldr";
91+ downloadPage = "http://www.bchemnet.com/suldr/driver/";
92+ license = licenses.unfree;
93+
94+ # Tested on linux-x86_64. Might work on linux-i386.
95+ # Probably won't work on anything else.
96+ platforms = platforms.linux;
97+ };
98+}
test/golden/importless/1.00.37.txtnew file
No changes to the content.
test/golden/importless/1.10.nixnew file+51
@@ -0,0 +1,51 @@
1+{ stdenv, fetchurl, libGLU, xlibsWrapper, libXmu, libXi
2+, AGL ? null
3+}:
4+
5+with stdenv.lib;
6+
7+stdenv.mkDerivation rec {
8+ name = "glew-1.10.0";
9+
10+ src = fetchurl {
11+ url = "mirror://sourceforge/glew/${name}.tgz";
12+ sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r";
13+ };
14+
15+ buildInputs = [ xlibsWrapper libXmu libXi ]
16+ ++ optionals stdenv.isDarwin [ AGL ];
17+ propagatedBuildInputs = [ libGLU ]; # GL/glew.h includes GL/glu.h
18+
19+ patchPhase = ''
20+ sed -i 's|lib64|lib|' config/Makefile.linux
21+ ${optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
22+ sed -i -e 's/\(INSTALL.*\)-s/\1/' Makefile
23+ ''}
24+ '';
25+
26+ buildFlags = [ "all" ];
27+ installFlags = [ "install.all" ];
28+
29+ preInstall = ''
30+ export GLEW_DEST="$out"
31+ '';
32+
33+ postInstall = ''
34+ mkdir -pv $out/share/doc/glew
35+ mkdir -p $out/lib/pkgconfig
36+ cp glew*.pc $out/lib/pkgconfig
37+ cp -r README.txt LICENSE.txt doc $out/share/doc/glew
38+ '';
39+
40+ makeFlags = [
41+ "SYSTEM=${if stdenv.hostPlatform.isMinGW then "mingw" else stdenv.hostPlatform.parsed.kernel.name}"
42+ ];
43+
44+ meta = with stdenv.lib; {
45+ description = "An OpenGL extension loading library for C(++)";
46+ homepage = "http://glew.sourceforge.net/";
47+ license = licenses.free; # different files under different licenses
48+ #["BSD" "GLX" "SGI-B" "GPL2"]
49+ platforms = platforms.mesaPlatforms;
50+ };
51+}
test/golden/importless/1.10.txtnew file
No changes to the content.
test/golden/importless/1.10.x.nixnew file+42
@@ -0,0 +1,42 @@
1+{ fetchurl, stdenv, lib
2+, cmake, libGLU, libGL
3+, freetype, freeimage, zziplib, xorgproto, libXrandr
4+, libXaw, freeglut, libXt, libpng, boost, ois
5+, libX11, libXmu, libSM, pkgconfig
6+, libXxf86vm, libICE
7+, libXrender
8+, withNvidiaCg ? false, nvidia_cg_toolkit
9+, withSamples ? false }:
10+
11+stdenv.mkDerivation {
12+ name = "ogre-1.10.11";
13+
14+ src = fetchurl {
15+ url = "https://bitbucket.org/sinbad/ogre/get/v1-10-11.tar.gz";
16+ sha256 = "1zwvlx5dz9nwjazhnrhzb0w8ilpa84r0hrxrmmy69pgr1p1yif5a";
17+ };
18+
19+ cmakeFlags = [ "-DOGRE_BUILD_SAMPLES=${toString withSamples}" ]
20+ ++ map (x: "-DOGRE_BUILD_PLUGIN_${x}=on")
21+ ([ "BSP" "OCTREE" "PCZ" "PFX" ] ++ lib.optional withNvidiaCg "CG")
22+ ++ map (x: "-DOGRE_BUILD_RENDERSYSTEM_${x}=on") [ "GL" ];
23+
24+ enableParallelBuilding = true;
25+
26+ buildInputs =
27+ [ cmake libGLU libGL
28+ freetype freeimage zziplib xorgproto libXrandr
29+ libXaw freeglut libXt libpng boost ois
30+ libX11 libXmu libSM pkgconfig
31+ libXxf86vm libICE
32+ libXrender
33+ ] ++ lib.optional withNvidiaCg nvidia_cg_toolkit;
34+
35+ meta = {
36+ description = "A 3D engine";
37+ homepage = "https://www.ogre3d.org/";
38+ maintainers = [ stdenv.lib.maintainers.raskin ];
39+ platforms = stdenv.lib.platforms.linux;
40+ license = stdenv.lib.licenses.mit;
41+ };
42+}
test/golden/importless/1.10.x.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { boost = β; cmake = β; fetchurl = { sha256 = String; url = String } -> γ; freeglut = β; freeimage = β; freetype = β; lib = δ; libGL = β; libGLU = β; libICE = β; libSM = β; libX11 = β; libXaw = β; libXmu = β; libXrandr = β; libXrender = β; libXt = β; libXxf86vm = β; libpng = β; nvidia_cg_toolkit = [β]; ois = β; pkgconfig = β; stdenv = ε; withNvidiaCg = Bool; withSamples = Bool; xorgproto = β; zziplib = β } -> { buildInputs = [β]; cmakeFlags = [String]; enableParallelBuilding = Bool; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/1.14.nixnew file+252
@@ -0,0 +1,252 @@
1+{ stdenv, fetchurl, tzdata, iana-etc, runCommand
2+, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation
3+, mailcap, runtimeShell
4+, buildPackages, pkgsTargetTarget
5+, fetchpatch
6+}:
7+
8+let
9+
10+ inherit (stdenv.lib) optionals optionalString;
11+
12+ goBootstrap = runCommand "go-bootstrap" {} ''
13+ mkdir $out
14+ cp -rf ${buildPackages.go_bootstrap}/* $out/
15+ chmod -R u+w $out
16+ find $out -name "*.c" -delete
17+ cp -rf $out/bin/* $out/share/go/bin/
18+ '';
19+
20+ goarch = platform: {
21+ "i686" = "386";
22+ "x86_64" = "amd64";
23+ "aarch64" = "arm64";
24+ "arm" = "arm";
25+ "armv5tel" = "arm";
26+ "armv6l" = "arm";
27+ "armv7l" = "arm";
28+ }.${platform.parsed.cpu.name} or (throw "Unsupported system");
29+
30+in
31+
32+stdenv.mkDerivation rec {
33+ pname = "go";
34+ version = "1.14.12";
35+
36+ src = fetchurl {
37+ url = "https://dl.google.com/go/go${version}.src.tar.gz";
38+ sha256 = "0wdr85l3rr6w50dmlbsib895gs9cc19z5piblp0v9slrsxx4nkxk";
39+ };
40+
41+ # perl is used for testing go vet
42+ nativeBuildInputs = [ perl which pkgconfig patch procps ];
43+ buildInputs = [ cacert pcre ]
44+ ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
45+ ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
46+
47+ depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ];
48+
49+ hardeningDisable = [ "all" ];
50+
51+ prePatch = ''
52+ patchShebangs ./ # replace /bin/bash
53+
54+ # This source produces shell script at run time,
55+ # and thus it is not corrected by patchShebangs.
56+ substituteInPlace misc/cgo/testcarchive/carchive_test.go \
57+ --replace '#!/usr/bin/env bash' '#!${runtimeShell}'
58+
59+ # Patch the mimetype database location which is missing on NixOS.
60+ # but also allow static binaries built with NixOS to run outside nix
61+ sed -i 's,\"/etc/mime.types,"${mailcap}/etc/mime.types\"\,\n\t&,' src/mime/type_unix.go
62+
63+ # Disabling the 'os/http/net' tests (they want files not available in
64+ # chroot builds)
65+ rm src/net/{listen,parse}_test.go
66+ rm src/syscall/exec_linux_test.go
67+
68+ # !!! substituteInPlace does not seems to be effective.
69+ # The os test wants to read files in an existing path. Just don't let it be /usr/bin.
70+ sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
71+ sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
72+ # Disable the unix socket test
73+ sed -i '/TestShutdownUnix/aif true \{ return\; \}' src/net/net_test.go
74+ # Disable the hostname test
75+ sed -i '/TestHostname/aif true \{ return\; \}' src/os/os_test.go
76+ # ParseInLocation fails the test
77+ sed -i '/TestParseInSydney/aif true \{ return\; \}' src/time/format_test.go
78+ # Remove the api check as it never worked
79+ sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
80+ # Remove the coverage test as we have removed this utility
81+ sed -i '/TestCoverageWithCgo/aif true \{ return\; \}' src/cmd/go/go_test.go
82+ # Remove the timezone naming test
83+ sed -i '/TestLoadFixed/aif true \{ return\; \}' src/time/time_test.go
84+ # Remove disable setgid test
85+ sed -i '/TestRespectSetgidDir/aif true \{ return\; \}' src/cmd/go/internal/work/build_test.go
86+ # Remove cert tests that conflict with NixOS's cert resolution
87+ sed -i '/TestEnvVars/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
88+ # TestWritevError hangs sometimes
89+ sed -i '/TestWritevError/aif true \{ return\; \}' src/net/writev_test.go
90+ # TestVariousDeadlines fails sometimes
91+ sed -i '/TestVariousDeadlines/aif true \{ return\; \}' src/net/timeout_test.go
92+
93+ sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
94+ sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
95+
96+ # Disable cgo lookup tests not works, they depend on resolver
97+ rm src/net/cgo_unix_test.go
98+
99+ '' + optionalString stdenv.isLinux ''
100+ # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
101+ # that run outside a nix server
102+ sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
103+
104+ '' + optionalString stdenv.isAarch32 ''
105+ echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
106+ '' + optionalString stdenv.isDarwin ''
107+ substituteInPlace src/race.bash --replace \
108+ "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
109+ sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
110+ sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
111+ sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
112+
113+ sed -i '/TestChdirAndGetwd/aif true \{ return\; \}' src/os/os_test.go
114+ sed -i '/TestCredentialNoSetGroups/aif true \{ return\; \}' src/os/exec/exec_posix_test.go
115+ sed -i '/TestRead0/aif true \{ return\; \}' src/os/os_test.go
116+ sed -i '/TestSystemRoots/aif true \{ return\; \}' src/crypto/x509/root_darwin_test.go
117+
118+ sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/aif true \{ return\; \}' src/cmd/go/go_test.go
119+ sed -i '/TestBuildDashIInstallsDependencies/aif true \{ return\; \}' src/cmd/go/go_test.go
120+
121+ sed -i '/TestDisasmExtld/aif true \{ return\; \}' src/cmd/objdump/objdump_test.go
122+
123+ sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
124+
125+ # TestCurrent fails because Current is not implemented on Darwin
126+ sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go
127+ sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go
128+
129+ touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
130+ '';
131+
132+ patches = [
133+ ./remove-tools-1.11.patch
134+ ./ssl-cert-file-1.13.patch
135+ ./remove-test-pie-1.14.patch
136+ ./creds-test.patch
137+ ./go-1.9-skip-flaky-19608.patch
138+ ./go-1.9-skip-flaky-20072.patch
139+ ./skip-external-network-tests.patch
140+ ./skip-nohup-tests.patch
141+
142+ # fix rare TestDontCacheBrokenHTTP2Conn failure
143+ (fetchpatch {
144+ url = "https://github.com/golang/go/commit/ea1437a8cdf6bb3c2d2447833a5d06dbd75f7ae4.patch";
145+ sha256 = "1lyzy4nf8c34a966vw45j3j7hzpvncq2gqspfxffzkyh17xd8sgy";
146+ })
147+ ] ++ [
148+ # breaks under load: https://github.com/golang/go/issues/25628
149+ (if stdenv.isAarch32
150+ then ./skip-test-extra-files-on-aarch32-1.14.patch
151+ else ./skip-test-extra-files-on-386-1.14.patch)
152+ ];
153+
154+ postPatch = ''
155+ find . -name '*.orig' -exec rm {} ';'
156+ '';
157+
158+ GOOS = stdenv.targetPlatform.parsed.kernel.name;
159+ GOARCH = goarch stdenv.targetPlatform;
160+ # GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
161+ # Go will nevertheless build a for host system that we will copy over in
162+ # the install phase.
163+ GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
164+ GOHOSTARCH = goarch stdenv.buildPlatform;
165+
166+ # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
167+ # to be different from CC/CXX
168+ CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
169+ "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc"
170+ else
171+ null;
172+ CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
173+ "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++"
174+ else
175+ null;
176+
177+ GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
178+ GO386 = 387; # from Arch: don't assume sse2 on i686
179+ CGO_ENABLED = 1;
180+ # Hopefully avoids test timeouts on Hydra
181+ GO_TEST_TIMEOUT_SCALE = 3;
182+
183+ # Indicate that we are running on build infrastructure
184+ # Some tests assume things like home directories and users exists
185+ GO_BUILDER_NAME = "nix";
186+
187+ GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
188+
189+ postConfigure = ''
190+ export GOCACHE=$TMPDIR/go-cache
191+ # this is compiled into the binary
192+ export GOROOT_FINAL=$out/share/go
193+
194+ export PATH=$(pwd)/bin:$PATH
195+
196+ ${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
197+ # Independent from host/target, CC should produce code for the building system.
198+ # We only set it when cross-compiling.
199+ export CC=${buildPackages.stdenv.cc}/bin/cc
200+ ''}
201+ ulimit -a
202+ '';
203+
204+ postBuild = ''
205+ (cd src && ./make.bash)
206+ '';
207+
208+ doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;
209+
210+ checkPhase = ''
211+ runHook preCheck
212+ (cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild)
213+ runHook postCheck
214+ '';
215+
216+ preInstall = ''
217+ rm -r pkg/obj
218+ # Contains the wrong perl shebang when cross compiling,
219+ # since it is not used for anything we can deleted as well.
220+ rm src/regexp/syntax/make_perl_groups.pl
221+ '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
222+ mv bin/*_*/* bin
223+ rmdir bin/*_*
224+ ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
225+ rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
226+ ''}
227+ '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
228+ rm -rf bin/*_*
229+ ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
230+ rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
231+ ''}
232+ '' else "");
233+
234+ installPhase = ''
235+ runHook preInstall
236+ mkdir -p $GOROOT_FINAL
237+ cp -a bin pkg src lib misc api doc $GOROOT_FINAL
238+ ln -s $GOROOT_FINAL/bin $out/bin
239+ runHook postInstall
240+ '';
241+
242+ disallowedReferences = [ goBootstrap ];
243+
244+ meta = with stdenv.lib; {
245+ branch = "1.14";
246+ homepage = "http://golang.org/";
247+ description = "The Go Programming language";
248+ license = licenses.bsd3;
249+ maintainers = teams.golang.members;
250+ platforms = platforms.linux ++ platforms.darwin;
251+ };
252+}
test/golden/importless/1.14.txtnew file
No changes to the content.
test/golden/importless/1.15.nixnew file+255
@@ -0,0 +1,255 @@
1+{ stdenv, fetchurl, tzdata, iana-etc, runCommand
2+, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation
3+, mailcap, runtimeShell
4+, buildPackages, pkgsTargetTarget
5+, fetchpatch
6+}:
7+
8+let
9+
10+ inherit (stdenv.lib) optionals optionalString;
11+
12+ goBootstrap = runCommand "go-bootstrap" {} ''
13+ mkdir $out
14+ cp -rf ${buildPackages.go_bootstrap}/* $out/
15+ chmod -R u+w $out
16+ find $out -name "*.c" -delete
17+ cp -rf $out/bin/* $out/share/go/bin/
18+ '';
19+
20+ goarch = platform: {
21+ "i686" = "386";
22+ "x86_64" = "amd64";
23+ "aarch64" = "arm64";
24+ "arm" = "arm";
25+ "armv5tel" = "arm";
26+ "armv6l" = "arm";
27+ "armv7l" = "arm";
28+ }.${platform.parsed.cpu.name} or (throw "Unsupported system");
29+
30+in
31+
32+stdenv.mkDerivation rec {
33+ pname = "go";
34+ version = "1.15.5";
35+
36+ src = fetchurl {
37+ url = "https://dl.google.com/go/go${version}.src.tar.gz";
38+ sha256 = "1wc43h3pmi92r6ypmh58vq13vm44rl1di09assz3xdwlry86n1y1";
39+ };
40+
41+ # perl is used for testing go vet
42+ nativeBuildInputs = [ perl which pkgconfig patch procps ];
43+ buildInputs = [ cacert pcre ]
44+ ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
45+ ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
46+
47+ depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ];
48+
49+ hardeningDisable = [ "all" ];
50+
51+ prePatch = ''
52+ patchShebangs ./ # replace /bin/bash
53+
54+ # This source produces shell script at run time,
55+ # and thus it is not corrected by patchShebangs.
56+ substituteInPlace misc/cgo/testcarchive/carchive_test.go \
57+ --replace '#!/usr/bin/env bash' '#!${runtimeShell}'
58+
59+ # Patch the mimetype database location which is missing on NixOS.
60+ # but also allow static binaries built with NixOS to run outside nix
61+ sed -i 's,\"/etc/mime.types,"${mailcap}/etc/mime.types\"\,\n\t&,' src/mime/type_unix.go
62+
63+ # Disabling the 'os/http/net' tests (they want files not available in
64+ # chroot builds)
65+ rm src/net/{listen,parse}_test.go
66+ rm src/syscall/exec_linux_test.go
67+
68+ # !!! substituteInPlace does not seems to be effective.
69+ # The os test wants to read files in an existing path. Just don't let it be /usr/bin.
70+ sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
71+ sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
72+ # Fails on aarch64
73+ sed -i '/TestFallocate/aif true \{ return\; \}' src/cmd/link/internal/ld/fallocate_test.go
74+ # Skip this test since ssl patches mess it up.
75+ sed -i '/TestLoadSystemCertsLoadColonSeparatedDirs/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
76+ # Disable another PIE test which breaks.
77+ sed -i '/TestTrivialPIE/aif true \{ return\; \}' misc/cgo/testshared/shared_test.go
78+ # Disable the BuildModePie test
79+ sed -i '/TestBuildmodePIE/aif true \{ return\; \}' src/cmd/go/go_test.go
80+ # Disable the unix socket test
81+ sed -i '/TestShutdownUnix/aif true \{ return\; \}' src/net/net_test.go
82+ # Disable the hostname test
83+ sed -i '/TestHostname/aif true \{ return\; \}' src/os/os_test.go
84+ # ParseInLocation fails the test
85+ sed -i '/TestParseInSydney/aif true \{ return\; \}' src/time/format_test.go
86+ # Remove the api check as it never worked
87+ sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
88+ # Remove the coverage test as we have removed this utility
89+ sed -i '/TestCoverageWithCgo/aif true \{ return\; \}' src/cmd/go/go_test.go
90+ # Remove the timezone naming test
91+ sed -i '/TestLoadFixed/aif true \{ return\; \}' src/time/time_test.go
92+ # Remove disable setgid test
93+ sed -i '/TestRespectSetgidDir/aif true \{ return\; \}' src/cmd/go/internal/work/build_test.go
94+ # Remove cert tests that conflict with NixOS's cert resolution
95+ sed -i '/TestEnvVars/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
96+ # TestWritevError hangs sometimes
97+ sed -i '/TestWritevError/aif true \{ return\; \}' src/net/writev_test.go
98+ # TestVariousDeadlines fails sometimes
99+ sed -i '/TestVariousDeadlines/aif true \{ return\; \}' src/net/timeout_test.go
100+
101+ sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
102+ sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
103+
104+ # Disable cgo lookup tests not works, they depend on resolver
105+ rm src/net/cgo_unix_test.go
106+
107+ '' + optionalString stdenv.isLinux ''
108+ # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
109+ # that run outside a nix server
110+ sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
111+
112+ '' + optionalString stdenv.isAarch32 ''
113+ echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
114+ '' + optionalString stdenv.isDarwin ''
115+ substituteInPlace src/race.bash --replace \
116+ "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
117+ sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
118+ sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
119+ sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
120+
121+ sed -i '/TestChdirAndGetwd/aif true \{ return\; \}' src/os/os_test.go
122+ sed -i '/TestCredentialNoSetGroups/aif true \{ return\; \}' src/os/exec/exec_posix_test.go
123+ sed -i '/TestRead0/aif true \{ return\; \}' src/os/os_test.go
124+ sed -i '/TestSystemRoots/aif true \{ return\; \}' src/crypto/x509/root_darwin_test.go
125+
126+ sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/aif true \{ return\; \}' src/cmd/go/go_test.go
127+ sed -i '/TestBuildDashIInstallsDependencies/aif true \{ return\; \}' src/cmd/go/go_test.go
128+
129+ sed -i '/TestDisasmExtld/aif true \{ return\; \}' src/cmd/objdump/objdump_test.go
130+
131+ sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
132+
133+ # TestCurrent fails because Current is not implemented on Darwin
134+ sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go
135+ sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go
136+
137+ touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
138+ '';
139+
140+ patches = [
141+ ./remove-tools-1.11.patch
142+ ./ssl-cert-file-1.15.patch
143+ ./remove-test-pie-1.15.patch
144+ ./creds-test.patch
145+ ./go-1.9-skip-flaky-19608.patch
146+ ./go-1.9-skip-flaky-20072.patch
147+ ./skip-external-network-tests-1.15.patch
148+ ./skip-nohup-tests.patch
149+ ./skip-cgo-tests-1.15.patch
150+ ] ++ [
151+ # breaks under load: https://github.com/golang/go/issues/25628
152+ (if stdenv.isAarch32
153+ then ./skip-test-extra-files-on-aarch32-1.14.patch
154+ else ./skip-test-extra-files-on-386-1.14.patch)
155+ ];
156+
157+ postPatch = ''
158+ find . -name '*.orig' -exec rm {} ';'
159+ '';
160+
161+ GOOS = stdenv.targetPlatform.parsed.kernel.name;
162+ GOARCH = goarch stdenv.targetPlatform;
163+ # GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
164+ # Go will nevertheless build a for host system that we will copy over in
165+ # the install phase.
166+ GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
167+ GOHOSTARCH = goarch stdenv.buildPlatform;
168+
169+ # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
170+ # to be different from CC/CXX
171+ CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
172+ "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc"
173+ else
174+ null;
175+ CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
176+ "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++"
177+ else
178+ null;
179+
180+ GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
181+ GO386 = 387; # from Arch: don't assume sse2 on i686
182+ CGO_ENABLED = 1;
183+ # Hopefully avoids test timeouts on Hydra
184+ GO_TEST_TIMEOUT_SCALE = 3;
185+
186+ # Indicate that we are running on build infrastructure
187+ # Some tests assume things like home directories and users exists
188+ GO_BUILDER_NAME = "nix";
189+
190+ GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
191+
192+ postConfigure = ''
193+ export GOCACHE=$TMPDIR/go-cache
194+ # this is compiled into the binary
195+ export GOROOT_FINAL=$out/share/go
196+
197+ export PATH=$(pwd)/bin:$PATH
198+
199+ ${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
200+ # Independent from host/target, CC should produce code for the building system.
201+ # We only set it when cross-compiling.
202+ export CC=${buildPackages.stdenv.cc}/bin/cc
203+ ''}
204+ ulimit -a
205+ '';
206+
207+ postBuild = ''
208+ (cd src && ./make.bash)
209+ '';
210+
211+ doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;
212+
213+ checkPhase = ''
214+ runHook preCheck
215+ (cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild)
216+ runHook postCheck
217+ '';
218+
219+ preInstall = ''
220+ rm -r pkg/obj
221+ # Contains the wrong perl shebang when cross compiling,
222+ # since it is not used for anything we can deleted as well.
223+ rm src/regexp/syntax/make_perl_groups.pl
224+ '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
225+ mv bin/*_*/* bin
226+ rmdir bin/*_*
227+ ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
228+ rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
229+ ''}
230+ '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
231+ rm -rf bin/*_*
232+ ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
233+ rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
234+ ''}
235+ '' else "");
236+
237+ installPhase = ''
238+ runHook preInstall
239+ mkdir -p $GOROOT_FINAL
240+ cp -a bin pkg src lib misc api doc $GOROOT_FINAL
241+ ln -s $GOROOT_FINAL/bin $out/bin
242+ runHook postInstall
243+ '';
244+
245+ disallowedReferences = [ goBootstrap ];
246+
247+ meta = with stdenv.lib; {
248+ branch = "1.15";
249+ homepage = "http://golang.org/";
250+ description = "The Go Programming language";
251+ license = licenses.bsd3;
252+ maintainers = teams.golang.members;
253+ platforms = platforms.linux ++ platforms.darwin;
254+ };
255+}
test/golden/importless/1.15.txtnew file
No changes to the content.
test/golden/importless/1.2.2.nixnew file+92
@@ -0,0 +1,92 @@
1+{ stdenv, lib, fetchurl, makeWrapper,
2+ ocaml, unzip, ncurses, curl, aspcud
3+}:
4+
5+assert lib.versionAtLeast ocaml.version "3.12.1";
6+
7+let
8+ srcs = {
9+ cudf = fetchurl {
10+ url = "https://gforge.inria.fr/frs/download.php/file/33593/cudf-0.7.tar.gz";
11+ sha256 = "92c8a9ed730bbac73f3513abab41127d966c9b9202ab2aaffcd02358c030a701";
12+ };
13+ extlib = fetchurl {
14+ url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz";
15+ sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021";
16+ };
17+ ocaml_re = fetchurl {
18+ url = "https://github.com/ocaml/ocaml-re/archive/ocaml-re-1.2.0.tar.gz";
19+ sha256 = "a34dd9d6136731436a963bbab5c4bbb16e5d4e21b3b851d34887a3dec451999f";
20+ };
21+ ocamlgraph = fetchurl {
22+ url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.5.tar.gz";
23+ sha256 = "d167466435a155c779d5ec25b2db83ad851feb42ebc37dca8ffa345ddaefb82f";
24+ };
25+ dose3 = fetchurl {
26+ url = "https://gforge.inria.fr/frs/download.php/file/34277/dose3-3.3.tar.gz";
27+ sha256 = "8dc4dae9b1a81bb3a42abb283df785ba3eb00ade29b13875821c69f03e00680e";
28+ };
29+ cmdliner = fetchurl {
30+ url = "https://erratique.ch/software/cmdliner/releases/cmdliner-0.9.7.tbz";
31+ sha256 = "9c19893cffb5d3c3469ee0cce85e3eeeba17d309b33b9ace31aba06f68f0bf7a";
32+ };
33+ uutf = fetchurl {
34+ url = "https://erratique.ch/software/uutf/releases/uutf-0.9.3.tbz";
35+ sha256 = "1f364f89b1179e5182a4d3ad8975f57389d45548735d19054845e06a27107877";
36+ };
37+ jsonm = fetchurl {
38+ url = "https://erratique.ch/software/jsonm/releases/jsonm-0.9.1.tbz";
39+ sha256 = "3fd4dca045d82332da847e65e981d8b504883571d299a3f7e71447d46bc65f73";
40+ };
41+ opam = fetchurl {
42+ url = "https://github.com/ocaml/opam/archive/1.2.2.zip";
43+ sha256 = "c590ce55ae69ec74f46215cf16a156a02b23c5f3ecb22f23a3ad9ba3d91ddb6e";
44+ };
45+ };
46+in stdenv.mkDerivation {
47+ pname = "opam";
48+ version = "1.2.2";
49+
50+ buildInputs = [ unzip curl ncurses ocaml makeWrapper ];
51+
52+ src = srcs.opam;
53+
54+ postUnpack = ''
55+ ln -sv ${srcs.cudf} $sourceRoot/src_ext/${srcs.cudf.name}
56+ ln -sv ${srcs.extlib} $sourceRoot/src_ext/${srcs.extlib.name}
57+ ln -sv ${srcs.ocaml_re} $sourceRoot/src_ext/${srcs.ocaml_re.name}
58+ ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/${srcs.ocamlgraph.name}
59+ ln -sv ${srcs.dose3} $sourceRoot/src_ext/${srcs.dose3.name}
60+ ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/${srcs.cmdliner.name}
61+ ln -sv ${srcs.uutf} $sourceRoot/src_ext/${srcs.uutf.name}
62+ ln -sv ${srcs.jsonm} $sourceRoot/src_ext/${srcs.jsonm.name}
63+ '';
64+
65+ preConfigure = ''
66+ substituteInPlace ./src_ext/Makefile --replace "%.stamp: %.download" "%.stamp:"
67+ '';
68+
69+ postConfigure = "make lib-ext";
70+
71+ # Dirty, but apparently ocp-build requires a TERM
72+ makeFlags = ["TERM=screen"];
73+
74+ # change argv0 to "opam" as a workaround for
75+ # https://github.com/ocaml/opam/issues/2142
76+ postInstall = ''
77+ mv $out/bin/opam $out/bin/.opam-wrapped
78+ makeWrapper $out/bin/.opam-wrapped $out/bin/opam \
79+ --argv0 "opam" \
80+ --suffix PATH : ${aspcud}/bin:${unzip}/bin:${curl}/bin
81+ '';
82+
83+ doCheck = false;
84+
85+ meta = with stdenv.lib; {
86+ description = "A package manager for OCaml";
87+ homepage = "http://opam.ocamlpro.com/";
88+ maintainers = [ maintainers.henrytill ];
89+ platforms = platforms.all;
90+ license = licenses.lgpl21Plus;
91+ };
92+}
test/golden/importless/1.2.2.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε ζ. { aspcud = β; curl = γ; fetchurl = { sha256 = String; url = String } -> δ; lib = ε; makeWrapper = γ; ncurses = γ; ocaml = γ; stdenv = ζ; unzip = γ } -> { buildInputs = [γ]; doCheck = Bool; makeFlags = [String]; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. α }; pname = String; postConfigure = String; postInstall = String; postUnpack = String; preConfigure = String; src = { sha256 = String; url = String }; version = String }
test/golden/importless/1.2.nixnew file+21
@@ -0,0 +1,21 @@
1+{stdenv, fetchurl, pkgconfig, m4}:
2+
3+stdenv.mkDerivation rec {
4+ name = "libsigc++-1.2.7";
5+
6+ src = fetchurl {
7+ url = "mirror://gnome/sources/libsigc++/1.2/${name}.tar.bz2";
8+ sha256 = "099224v5y0y1ggqrfc8vga8afr3nb93iicn7cj8xxgsrwa83s5nr";
9+ };
10+
11+ nativeBuildInputs = [ pkgconfig ];
12+ buildInputs = [ m4];
13+
14+ meta = with stdenv.lib; {
15+ homepage = "https://libsigcplusplus.github.io/libsigcplusplus/";
16+ description = "A typesafe callback system for standard C++";
17+ branch = "1.2";
18+ platforms = platforms.unix;
19+ license = licenses.lgpl3;
20+ };
21+}
test/golden/importless/1.2.txtnew file
No changes to the content.
test/golden/importless/1.3.nixnew file+160
@@ -0,0 +1,160 @@
1+{ stdenv, fetchurl, fetchzip, fetchFromGitHub
2+# build tools
3+, gfortran, m4, makeWrapper, patchelf, perl, which, python2
4+, cmake
5+# libjulia dependencies
6+, libunwind, readline, utf8proc, zlib
7+# standard library dependencies
8+, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
9+# linear algebra
10+, blas, lapack, arpack
11+# Darwin frameworks
12+, CoreServices, ApplicationServices
13+}:
14+
15+assert (!blas.isILP64) && (!lapack.isILP64);
16+
17+with stdenv.lib;
18+
19+let
20+ majorVersion = "1";
21+ minorVersion = "3";
22+ maintenanceVersion = "1";
23+ src_sha256 = "0q9a7yc3b235psrwl5ghyxgwly25lf8n818l8h6bkf2ymdbsv5p6";
24+ version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
25+in
26+
27+stdenv.mkDerivation rec {
28+ pname = "julia";
29+ inherit version;
30+
31+ src = fetchzip {
32+ url = "https://github.com/JuliaLang/julia/releases/download/v${majorVersion}.${minorVersion}.${maintenanceVersion}/julia-${majorVersion}.${minorVersion}.${maintenanceVersion}-full.tar.gz";
33+ sha256 = src_sha256;
34+ };
35+
36+ prePatch = ''
37+ export PATH=$PATH:${cmake}/bin
38+ '';
39+
40+ patches = [
41+ ./use-system-utf8proc-julia-1.3.patch
42+
43+ # Julia recompiles a precompiled file if the mtime stored *in* the
44+ # .ji file differs from the mtime of the .ji file. This
45+ # doesn't work in Nix because Nix changes the mtime of files in
46+ # the Nix store to 1. So patch Julia to accept mtimes of 1.
47+ ./allow_nix_mtime.patch
48+ ];
49+
50+ postPatch = ''
51+ patchShebangs . contrib
52+ for i in backtrace cmdlineargs; do
53+ mv test/$i.jl{,.off}
54+ touch test/$i.jl
55+ done
56+ rm stdlib/Sockets/test/runtests.jl && touch stdlib/Sockets/test/runtests.jl
57+ rm stdlib/Distributed/test/runtests.jl && touch stdlib/Distributed/test/runtests.jl
58+ sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i ./stdlib/LibGit2/test/libgit2.jl
59+ sed -e 's/Failed to resolve /failed to resolve /g' -i ./stdlib/LibGit2/test/libgit2.jl
60+ '';
61+
62+ buildInputs = [
63+ arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
64+ pcre2.dev blas lapack openlibm openspecfun readline utf8proc
65+ zlib
66+ ]
67+ ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
68+ ;
69+
70+ nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ];
71+
72+ makeFlags =
73+ let
74+ arch = head (splitString "-" stdenv.system);
75+ march = { x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; i686 = "pentium4"; }.${arch}
76+ or (throw "unsupported architecture: ${arch}");
77+ # Julia requires Pentium 4 (SSE2) or better
78+ cpuTarget = { x86_64 = "x86-64"; i686 = "pentium4"; }.${arch}
79+ or (throw "unsupported architecture: ${arch}");
80+ # Julia applies a lot of patches to its dependencies, so for now do not use the system LLVM
81+ # https://github.com/JuliaLang/julia/tree/master/deps/patches
82+ in [
83+ "ARCH=${arch}"
84+ "MARCH=${march}"
85+ "JULIA_CPU_TARGET=${cpuTarget}"
86+ "PREFIX=$(out)"
87+ "prefix=$(out)"
88+ "SHELL=${stdenv.shell}"
89+
90+ "USE_SYSTEM_BLAS=1"
91+ "USE_BLAS64=${if blas.isILP64 then "1" else "0"}"
92+
93+ "USE_SYSTEM_LAPACK=1"
94+
95+ "USE_SYSTEM_ARPACK=1"
96+ "USE_SYSTEM_FFTW=1"
97+ "USE_SYSTEM_GMP=1"
98+ "USE_SYSTEM_LIBGIT2=1"
99+ "USE_SYSTEM_LIBUNWIND=1"
100+
101+ "USE_SYSTEM_MPFR=1"
102+ "USE_SYSTEM_OPENLIBM=1"
103+ "USE_SYSTEM_OPENSPECFUN=1"
104+ "USE_SYSTEM_PATCHELF=1"
105+ "USE_SYSTEM_PCRE=1"
106+ "PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config"
107+ "PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h"
108+ "USE_SYSTEM_READLINE=1"
109+ "USE_SYSTEM_UTF8PROC=1"
110+ "USE_SYSTEM_ZLIB=1"
111+
112+ "USE_BINARYBUILDER=0"
113+ ];
114+
115+ LD_LIBRARY_PATH = makeLibraryPath [
116+ arpack fftw fftwSinglePrec gmp libgit2 mpfr blas openlibm
117+ openspecfun pcre2 lapack
118+ ];
119+
120+ enableParallelBuilding = true;
121+
122+ doCheck = !stdenv.isDarwin;
123+ checkTarget = "testall";
124+ # Julia's tests require read/write access to $HOME
125+ preCheck = ''
126+ export HOME="$NIX_BUILD_TOP"
127+ '';
128+
129+ preBuild = ''
130+ sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile
131+ sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile
132+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
133+ '';
134+
135+ postInstall = ''
136+ # Symlink shared libraries from LD_LIBRARY_PATH into lib/julia,
137+ # as using a wrapper with LD_LIBRARY_PATH causes segmentation
138+ # faults when program returns an error:
139+ # $ julia -e 'throw(Error())'
140+ find $(echo $LD_LIBRARY_PATH | sed 's|:| |g') -maxdepth 1 -name '*.${if stdenv.isDarwin then "dylib" else "so"}*' | while read lib; do
141+ if [[ ! -e $out/lib/julia/$(basename $lib) ]]; then
142+ ln -sv $lib $out/lib/julia/$(basename $lib)
143+ fi
144+ done
145+ '';
146+
147+ passthru = {
148+ inherit majorVersion minorVersion maintenanceVersion;
149+ site = "share/julia/site/v${majorVersion}.${minorVersion}";
150+ };
151+
152+ meta = {
153+ broken = true;
154+ description = "High-level performance-oriented dynamical language for technical computing";
155+ homepage = "https://julialang.org/";
156+ license = stdenv.lib.licenses.mit;
157+ maintainers = with stdenv.lib.maintainers; [ raskin rob garrison ];
158+ platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
159+ };
160+}
test/golden/importless/1.3.txtnew file
No changes to the content.
test/golden/importless/1.4.nixnew file+22
@@ -0,0 +1,22 @@
1+{stdenv, fetchurl}:
2+
3+stdenv.mkDerivation rec {
4+ name = "tetgen-1.4.3";
5+
6+ src = fetchurl {
7+ url = "${meta.homepage}/files/tetgen1.4.3.tar.gz";
8+ sha256 = "0d70vjqdapmy1ghlsxjlvl5z9yp310zw697bapc4zxmp0sxi29wm";
9+ };
10+
11+ installPhase = ''
12+ mkdir -p $out/bin
13+ cp tetgen $out/bin
14+ '';
15+
16+ meta = {
17+ description = "Quality Tetrahedral Mesh Generator and 3D Delaunay Triangulator";
18+ homepage = "http://tetgen.org/";
19+ license = stdenv.lib.licenses.mit;
20+ platforms = stdenv.lib.platforms.linux;
21+ };
22+}
test/golden/importless/1.4.txtnew file
No changes to the content.
test/golden/importless/1.43.nixnew file+35
@@ -0,0 +1,35 @@
1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, fetchpatch
5+, hypothesis
6+, pycodestyle
7+, pyflakes
8+, pytest
9+, setuptools
10+, pkgs
11+}:
12+
13+buildPythonPackage rec {
14+ pname = "mutagen";
15+ version = "1.43.1";
16+
17+ src = fetchPypi {
18+ inherit pname version;
19+ sha256 = "d873baeb7815311d3420aab0a1d83f050f628228cbc2d6045a14a16460411bc9";
20+ };
21+
22+ propagatedBuildInputs = [ setuptools ];
23+ checkInputs = [
24+ pkgs.faad2 pkgs.flac pkgs.vorbis-tools pkgs.liboggz
25+ pkgs.glibcLocales pycodestyle pyflakes pytest hypothesis
26+ ];
27+ LC_ALL = "en_US.UTF-8";
28+
29+ meta = with lib; {
30+ description = "Python multimedia tagging library";
31+ homepage = "https://mutagen.readthedocs.io";
32+ license = licenses.lgpl2Plus;
33+ platforms = platforms.all;
34+ };
35+}
test/golden/importless/1.43.txtnew file
No changes to the content.
test/golden/importless/1.5.nixnew file+32
@@ -0,0 +1,32 @@
1+{ stdenv, fetchzip, ocaml, findlib, ocamlbuild }:
2+
3+stdenv.mkDerivation {
4+
5+ name = "ocaml${ocaml.version}-csv-1.5";
6+
7+ src = fetchzip {
8+ url = "https://github.com/Chris00/ocaml-csv/releases/download/1.5/csv-1.5.tar.gz";
9+ sha256 = "1ca7jgg58j24pccs5fshis726s06fdcjshnwza5kwxpjgdbvc63g";
10+ };
11+
12+ buildInputs = [ ocaml findlib ocamlbuild ];
13+
14+ createFindlibDestdir = true;
15+
16+ configurePhase = "ocaml setup.ml -configure --prefix $out --enable-tests";
17+
18+ buildPhase = "ocaml setup.ml -build";
19+
20+ doCheck = true;
21+ checkPhase = "ocaml setup.ml -test";
22+
23+ installPhase = "ocaml setup.ml -install";
24+
25+ meta = with stdenv.lib; {
26+ description = "A pure OCaml library to read and write CSV files";
27+ homepage = "https://github.com/Chris00/ocaml-csv";
28+ license = licenses.lgpl21;
29+ maintainers = [ maintainers.vbgl ];
30+ platforms = ocaml.meta.platforms or [];
31+ };
32+}
test/golden/importless/1.5.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchzip = { sha256 = String; url = String } -> β; findlib = γ; ocaml = γ; ocamlbuild = γ; stdenv = δ } -> { buildInputs = [γ]; buildPhase = String; checkPhase = String; configurePhase = String; createFindlibDestdir = Bool; doCheck = Bool; installPhase = String; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/1.55.nixnew file+12
@@ -0,0 +1,12 @@
1+{ callPackage, fetchurl, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "1.55.0";
5+
6+ patches = [ ./clang-math.patch ./clang-math-2.patch ./gcc-5.patch ];
7+
8+ src = fetchurl {
9+ url = "mirror://sourceforge/boost/boost_1_55_0.tar.bz2";
10+ sha256 = "0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z";
11+ };
12+})
test/golden/importless/1.55.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β. { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β } -> { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; patches = [Path]; src = { sha256 = String; url = String }; version = String }
test/golden/importless/1.59.nixnew file+10
@@ -0,0 +1,10 @@
1+{ stdenv, callPackage, fetchurl, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "1.59.0";
5+
6+ src = fetchurl {
7+ url = "mirror://sourceforge/boost/boost_1_59_0.tar.bz2";
8+ sha256 = "1jj1aai5rdmd72g90a3pd8sw9vi32zad46xv5av8fhnr48ir6ykj";
9+ };
10+})
test/golden/importless/1.59.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; stdenv = γ } -> { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; src = { sha256 = String; url = String }; stdenv = γ; version = String }
test/golden/importless/1.6.nixnew file+7
@@ -0,0 +1,7 @@
1+{ mkDerivation }:
2+
3+mkDerivation {
4+ version = "1.6.6";
5+ sha256 = "1wl8rfpw0dxacq4f7xf6wjr8v2ww5691d0cfw9pzw7phd19vazgl";
6+ minimumOTPVersion = "19";
7+}
test/golden/importless/1.6.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { mkDerivation = { minimumOTPVersion = String; sha256 = String; version = String } -> α } -> { minimumOTPVersion = String; sha256 = String; version = String }
test/golden/importless/1.60.nixnew file+11
@@ -0,0 +1,11 @@
1+{ stdenv, callPackage, fetchurl, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "1.60.0";
5+
6+ src = fetchurl {
7+ url = "mirror://sourceforge/boost/boost_1_60_0.tar.bz2";
8+ sha256 = "0fzx6dwqbrkd4bcd8pjv0fpapwmrxxwr8yx9g67lihlsk3zzysk8";
9+ };
10+
11+})
test/golden/importless/1.60.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; stdenv = γ } -> { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; src = { sha256 = String; url = String }; stdenv = γ; version = String }
test/golden/importless/1.65.nixnew file+12
@@ -0,0 +1,12 @@
1+{ stdenv, callPackage, fetchurl, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "1.65.1";
5+
6+ src = fetchurl {
7+ url = "mirror://sourceforge/boost/boost_1_65_1.tar.bz2";
8+ # SHA256 from http://www.boost.org/users/history/version_1_65_1.html
9+ sha256 = "9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81";
10+ };
11+
12+})
test/golden/importless/1.65.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; stdenv = γ } -> { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; src = { sha256 = String; url = String }; stdenv = γ; version = String }
test/golden/importless/1.66.nixnew file+11
@@ -0,0 +1,11 @@
1+{ stdenv, callPackage, fetchurl, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "1.66.0";
5+
6+ src = fetchurl {
7+ url = "mirror://sourceforge/boost/boost_1_66_0.tar.bz2";
8+ # SHA256 from http://www.boost.org/users/history/version_1_66_0.html
9+ sha256 = "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9";
10+ };
11+})
test/golden/importless/1.66.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; stdenv = γ } -> { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; src = { sha256 = String; url = String }; stdenv = γ; version = String }
test/golden/importless/1.67.nixnew file+39
@@ -0,0 +1,39 @@
1+{ stdenv, callPackage, fetchurl, fetchpatch, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "1.67.0";
5+
6+ patches = [
7+ (fetchpatch {
8+ url = "https://github.com/boostorg/lockfree/commit/12726cda009a855073b9bedbdce57b6ce7763da2.patch";
9+ sha256 = "0x65nkwzv8fdacj8sw5njl3v63jj19dirrpklbwy6qpsncw7fc7h";
10+ stripLen = 1;
11+ })
12+ ] ++ stdenv.lib.optionals stdenv.cc.isClang [
13+ # Fixes https://github.com/boostorg/atomic/issues/15
14+ (fetchpatch {
15+ url = "https://github.com/boostorg/atomic/commit/6e14ca24dab50ad4c1fa8c27c7dd6f1cb791b534.patch";
16+ sha256 = "102g35ygvv8cxagp9651284xk4vybk93q2fm577y4mdxf5k46b7a";
17+ stripLen = 1;
18+ })
19+
20+ # Needed for the next patch
21+ (fetchpatch {
22+ url = "https://github.com/boostorg/asio/commit/38cb19719748ad56b14d73ca1fff5828f36e5894.patch";
23+ sha256 = "0cj9cxz9rfbsx8p8f5alxx00dq3r7g0vh23j68bbxbs9gq1arq2n";
24+ stripLen = 1;
25+ })
26+ # Fixes https://github.com/boostorg/asio/pull/91
27+ (fetchpatch {
28+ url = "https://github.com/boostorg/asio/commit/43874d5497414c67655d901e48c939ef01337edb.patch";
29+ sha256 = "1c2ds164s2ygvpb4785p4ncv8ywbpm08cphirb99xp4mqvb693is";
30+ stripLen = 1;
31+ })
32+ ];
33+
34+ src = fetchurl {
35+ url = "mirror://sourceforge/boost/boost_1_67_0.tar.bz2";
36+ # SHA256 from http://www.boost.org/users/history/version_1_66_0.html
37+ sha256 = "2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba";
38+ };
39+})
test/golden/importless/1.67.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ. { callPackage = Path -> α; fetchpatch = { sha256 = String; stripLen = Integer; url = String } -> β; fetchurl = { sha256 = String; url = String } -> γ; stdenv = δ } -> { callPackage = Path -> α; fetchpatch = { sha256 = String; stripLen = Integer; url = String } -> β; fetchurl = { sha256 = String; url = String } -> γ; patches = [{ sha256 = String; stripLen = Integer; url = String }]; src = { sha256 = String; url = String }; stdenv = δ; version = String }
test/golden/importless/1.68.nixnew file+11
@@ -0,0 +1,11 @@
1+{ stdenv, callPackage, fetchurl, fetchpatch, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "1.68.0";
5+
6+ src = fetchurl {
7+ url = "mirror://sourceforge/boost/boost_1_68_0.tar.bz2";
8+ # SHA256 from http://www.boost.org/users/history/version_1_68_0.html
9+ sha256 = "7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7";
10+ };
11+})
test/golden/importless/1.68.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ. { callPackage = Path -> α; fetchpatch = β; fetchurl = { sha256 = String; url = String } -> γ; stdenv = δ } -> { callPackage = Path -> α; fetchpatch = β; fetchurl = { sha256 = String; url = String } -> γ; src = { sha256 = String; url = String }; stdenv = δ; version = String }
test/golden/importless/1.69.nixnew file+11
@@ -0,0 +1,11 @@
1+{ stdenv, callPackage, fetchurl, fetchpatch, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "1.69.0";
5+
6+ src = fetchurl {
7+ url = "mirror://sourceforge/boost/boost_1_69_0.tar.bz2";
8+ # SHA256 from http://www.boost.org/users/history/version_1_69_0.html
9+ sha256 = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406";
10+ };
11+})
test/golden/importless/1.69.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ. { callPackage = Path -> α; fetchpatch = β; fetchurl = { sha256 = String; url = String } -> γ; stdenv = δ } -> { callPackage = Path -> α; fetchpatch = β; fetchurl = { sha256 = String; url = String } -> γ; src = { sha256 = String; url = String }; stdenv = δ; version = String }
test/golden/importless/1.7.nixnew file+27
@@ -0,0 +1,27 @@
1+{ stdenv
2+, buildPythonPackage
3+, fetchPypi
4+, numpy
5+}:
6+
7+buildPythonPackage rec {
8+ version = "1.7.0";
9+ pname = "gsd";
10+
11+ src = fetchPypi {
12+ inherit pname version;
13+ sha256 = "0fpk69wachyydpk9cbs901m7hkwrrvq24ykxsrz62km9ql8lr2vp";
14+ };
15+
16+ propagatedBuildInputs = [ numpy ];
17+
18+ # tests not packaged with gsd
19+ doCheck = false;
20+
21+ meta = with stdenv.lib; {
22+ homepage = "https://bitbucket.org/glotzer/gsd";
23+ description = "General simulation data file format";
24+ license = licenses.bsd2;
25+ maintainers = [ maintainers.costrouc ];
26+ };
27+}
test/golden/importless/1.7.txtnew file
No changes to the content.
test/golden/importless/1.70.nixnew file+11
@@ -0,0 +1,11 @@
1+{ stdenv, callPackage, fetchurl, fetchpatch, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "1.70.0";
5+
6+ src = fetchurl {
7+ url = "mirror://sourceforge/boost/boost_1_70_0.tar.bz2";
8+ # SHA256 from http://www.boost.org/users/history/version_1_70_0.html
9+ sha256 = "430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778";
10+ };
11+})
test/golden/importless/1.70.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ. { callPackage = Path -> α; fetchpatch = β; fetchurl = { sha256 = String; url = String } -> γ; stdenv = δ } -> { callPackage = Path -> α; fetchpatch = β; fetchurl = { sha256 = String; url = String } -> γ; src = { sha256 = String; url = String }; stdenv = δ; version = String }
test/golden/importless/1.71.nixnew file+15
@@ -0,0 +1,15 @@
1+{ stdenv, callPackage, fetchurl, fetchpatch, ... } @ args:
2+
3+callPackage ./generic.nix (args // rec {
4+ version = "1.71.0";
5+
6+ src = fetchurl {
7+ #url = "mirror://sourceforge/boost/boost_1_71_0.tar.bz2";
8+ urls = [
9+ "mirror://sourceforge/boost/boost_1_71_0.tar.bz2"
10+ "https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.bz2"
11+ ];
12+ # SHA256 from http://www.boost.org/users/history/version_1_71_0.html
13+ sha256 = "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee";
14+ };
15+})
test/golden/importless/1.71.txtnew file
No changes to the content.
test/golden/importless/1.72.nixnew file+16
@@ -0,0 +1,16 @@
1+{ stdenv, callPackage, fetchurl, fetchpatch, ... } @ args:
2+
3+callPackage ./generic.nix (args // rec {
4+ version = "1.72.0";
5+
6+ src = fetchurl {
7+ #url = "mirror://sourceforge/boost/boost_1_72_0.tar.bz2";
8+ urls = [
9+ "mirror://sourceforge/boost/boost_1_72_0.tar.bz2"
10+ "https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2"
11+ ];
12+ # SHA256 from http://www.boost.org/users/history/version_1_72_0.html
13+ sha256 = "59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722";
14+ };
15+})
16+
test/golden/importless/1.72.txtnew file
No changes to the content.
test/golden/importless/1.8.5.nixnew file+79
@@ -0,0 +1,79 @@
1+{ stdenv, lib, autoconf213, fetchurl, fetchpatch, pkgconfig, nspr, perl, python2, zip }:
2+
3+stdenv.mkDerivation {
4+ pname = "spidermonkey";
5+ version = "1.8.5";
6+
7+ src = fetchurl {
8+ url = "mirror://mozilla/js/js185-1.0.0.tar.gz";
9+ sha256 = "5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687";
10+ };
11+
12+ propagatedBuildInputs = [ nspr ];
13+
14+ nativeBuildInputs = [ pkgconfig ] ++ lib.optional stdenv.isAarch32 autoconf213;
15+ buildInputs = [ perl python2 zip ];
16+
17+ postUnpack = "sourceRoot=\${sourceRoot}/js/src";
18+
19+ preConfigure = ''
20+ export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr"
21+ export LIBXUL_DIST=$out
22+ ${lib.optionalString stdenv.isAarch32 "autoreconf --verbose --force"}
23+ '';
24+
25+ patches = [
26+ (fetchpatch {
27+ name = "gcc6.patch";
28+ url = "https://sources.debian.org/data/main/m/mozjs/1.8.5-1.0.0+dfsg-6/debian/patches/fix-811665.patch";
29+ sha256 = "1q8477xqxiy5d8376k5902l45gd0qkd4nxmhl8vr6rr1pxfcny99";
30+ })
31+ ] ++ stdenv.lib.optionals stdenv.isAarch32 [
32+ # Explained below in configureFlags for ARM
33+ ./1.8.5-findvanilla.patch
34+ # Fix for hard float flags.
35+ ./1.8.5-arm-flags.patch
36+ ];
37+
38+ patchFlags = [ "-p3" ];
39+
40+ # fixes build on gcc8
41+ postPatch = ''
42+ substituteInPlace ./methodjit/MethodJIT.cpp \
43+ --replace 'asm volatile' 'asm'
44+ '';
45+
46+ # On the Sheevaplug, ARM, its nanojit thing segfaults in japi-tests in
47+ # "make check". Disabling tracejit makes it work, but then it needs the
48+ # patch findvanilla.patch do disable a checker about allocator safety. In case
49+ # of polkit, which is what matters most, it does not override the allocator
50+ # so the failure of that test does not matter much.
51+ configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ] ++
52+ stdenv.lib.optionals (stdenv.hostPlatform.system == "armv5tel-linux") [
53+ "--with-cpu-arch=armv5t"
54+ "--disable-tracejit" ];
55+
56+ # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
57+ preBuild = ''
58+ touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}
59+ ${if stdenv.isAarch32 then "rm -r jit-test/tests/jaeger/bug563000" else ""}
60+ '';
61+
62+ enableParallelBuilding = true;
63+
64+ doCheck = true;
65+
66+ preCheck = ''
67+ rm jit-test/tests/sunspider/check-date-format-tofte.js # https://bugzil.la/600522
68+ '';
69+
70+ meta = with stdenv.lib; {
71+ description = "Mozilla's JavaScript engine written in C/C++";
72+ homepage = "https://developer.mozilla.org/en/SpiderMonkey";
73+ # TODO: MPL/GPL/LGPL tri-license.
74+ maintainers = [ maintainers.goibhniu ];
75+ platforms = platforms.linux;
76+ broken = stdenv.isAarch64; # 2018-08-21, broken since 2017-03-08
77+ };
78+}
79+
test/golden/importless/1.8.5.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε ζ η θ. { autoconf213 = [β]; fetchpatch = { name = String; sha256 = String; url = String } -> γ; fetchurl = { sha256 = String; url = String } -> δ; lib = ε; nspr = ζ; perl = η; pkgconfig = β; python2 = η; stdenv = θ; zip = η } -> { buildInputs = [η]; configureFlags = [String]; doCheck = Bool; enableParallelBuilding = Bool; meta = { broken = ∀ α. α; description = String; homepage = String; maintainers = ∀ α. [α]; platforms = ∀ α. α }; nativeBuildInputs = [β]; patchFlags = [String]; patches = [{ name = String; sha256 = String; url = String }]; pname = String; postPatch = String; postUnpack = String; preBuild = String; preCheck = String; preConfigure = String; propagatedBuildInputs = [ζ]; src = { sha256 = String; url = String }; version = String }
test/golden/importless/1.8.nixnew file+80
@@ -0,0 +1,80 @@
1+{ stdenv, pkgsBuildBuild, buildPackages
2+, fetchurl, makeWrapper, gawk, pkgconfig
3+, libtool, readline, gmp
4+}:
5+
6+stdenv.mkDerivation rec {
7+ name = "guile-1.8.8";
8+
9+ src = fetchurl {
10+ url = "mirror://gnu/guile/${name}.tar.gz";
11+ sha256 = "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3";
12+ };
13+
14+ outputs = [ "out" "dev" "info" ];
15+ setOutputFlags = false; # $dev gets into the library otherwise
16+
17+ # GCC 4.6 raises a number of set-but-unused warnings.
18+ configureFlags = [ "--disable-error-on-warning" ]
19+ # Guile needs patching to preset results for the configure tests about
20+ # pthreads, which work only in native builds.
21+ ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
22+ "--with-threads=no";
23+
24+ depsBuildBuild = [ buildPackages.stdenv.cc ]
25+ ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
26+ pkgsBuildBuild.guile_1_8;
27+ nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
28+ buildInputs = [ readline libtool ];
29+
30+ propagatedBuildInputs = [
31+ gmp
32+
33+ # XXX: These ones aren't normally needed here, but `libguile*.la' has '-l'
34+ # flags for them without corresponding '-L' flags. Adding them here will add
35+ # the needed `-L' flags. As for why the `.la' file lacks the `-L' flags,
36+ # see below.
37+ libtool
38+ ];
39+
40+ patches = [ ./cpp-4.5.patch ];
41+
42+ preBuild = ''
43+ sed -e '/lt_dlinit/a lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c
44+ '';
45+
46+
47+ postInstall = ''
48+ wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
49+ ''
50+ # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for
51+ # why `--with-libunistring-prefix' and similar options coming from
52+ # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64.
53+ + ''
54+ sed -i "$out/lib/pkgconfig/guile"-*.pc \
55+ -e "s|-lltdl|-L${libtool.lib}/lib -lltdl|g"
56+ '';
57+
58+ # One test fails.
59+ # ERROR: file: "libtest-asmobs", message: "file not found"
60+ # This is fixed here:
61+ # <https://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf>.
62+ doCheck = false;
63+ doInstallCheck = doCheck;
64+
65+ setupHook = ./setup-hook.sh;
66+
67+ meta = {
68+ description = "Embeddable Scheme implementation";
69+ homepage = "https://www.gnu.org/software/guile/";
70+ license = stdenv.lib.licenses.lgpl2Plus;
71+ maintainers = [ stdenv.lib.maintainers.ludo ];
72+ platforms = stdenv.lib.platforms.unix;
73+
74+ longDescription = ''
75+ GNU Guile is an interpreter for the Scheme programming language,
76+ packaged as a library that can be embedded into programs to make
77+ them extensible. It supports many SRFIs.
78+ '';
79+ };
80+}
test/golden/importless/1.8.txtnew file
No changes to the content.
test/golden/importless/1.9.0.nixnew file+36
@@ -0,0 +1,36 @@
1+{ stdenv, fetchFromGitHub, ocaml, ocamlbuild, ocplib-endian, sexplib, findlib, ppx_tools
2+, async ? null, lwt ? null
3+}:
4+
5+assert stdenv.lib.versionAtLeast ocaml.version "4.01";
6+
7+let version = "1.9.0"; in
8+
9+let opt = b: "--${if b != null then "en" else "dis"}able"; in
10+
11+stdenv.mkDerivation {
12+ name = "ocaml${ocaml.version}-cstruct-${version}";
13+
14+ src = fetchFromGitHub {
15+ owner = "mirage";
16+ repo = "ocaml-cstruct";
17+ rev = "v${version}";
18+ sha256 = "1c1j21zgmxi9spq23imy7byn50qr7hlds1cfpzxlsx9dp309jngy";
19+ };
20+
21+ configureFlags = [ "${opt lwt}-lwt" "${opt async}-async" "${opt ppx_tools}-ppx" ];
22+
23+ buildInputs = [ ocaml findlib ocamlbuild ppx_tools lwt async ];
24+ propagatedBuildInputs = [ ocplib-endian sexplib ];
25+
26+ createFindlibDestdir = true;
27+ dontStrip = true;
28+
29+ meta = with stdenv.lib; {
30+ homepage = "https://github.com/mirage/ocaml-cstruct";
31+ description = "Map OCaml arrays onto C-like structs";
32+ license = stdenv.lib.licenses.isc;
33+ maintainers = [ maintainers.vbgl maintainers.ericbmerritt ];
34+ platforms = ocaml.meta.platforms or [];
35+ };
36+}
test/golden/importless/1.9.0.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { async = Null; fetchFromGitHub = { owner = String; repo = String; rev = String; sha256 = String } -> β; findlib = γ; lwt = Null; ocaml = Null; ocamlbuild = γ; ocplib-endian = δ; ppx_tools = γ; sexplib = δ; stdenv = ε } -> { buildInputs = [Null]; configureFlags = [String]; createFindlibDestdir = Bool; dontStrip = Bool; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. α }; name = String; propagatedBuildInputs = [δ]; src = { owner = String; repo = String; rev = String; sha256 = String } }
test/golden/importless/1.9.nixnew file+51
@@ -0,0 +1,51 @@
1+{ stdenv, lib, buildPythonPackage, fetchPypi, astroid, six, isort,
2+ mccabe, configparser, backports_functools_lru_cache, singledispatch,
3+ pytest, pytestrunner, setuptools }:
4+
5+buildPythonPackage rec {
6+ pname = "pylint";
7+ version = "1.9.5";
8+
9+ src = fetchPypi {
10+ inherit pname version;
11+ sha256 = "004kfapkqxqy2s85pmddqv0fabxdxywxrlbi549p0v237pr2v94p";
12+ };
13+
14+ checkInputs = [ pytest pytestrunner ];
15+
16+ propagatedBuildInputs = [ astroid six isort mccabe configparser backports_functools_lru_cache singledispatch setuptools ];
17+
18+ postPatch = lib.optionalString stdenv.isDarwin ''
19+ # Remove broken darwin test
20+ rm -vf pylint/test/test_functional.py
21+ '';
22+
23+ checkPhase = ''
24+ pytest pylint/test -k "not ${lib.concatStringsSep " and not " (
25+ [ # Broken test
26+ "test_good_comprehension_checks"
27+ # requires setuptools
28+ "test_pkginfo"
29+ # See PyCQA/pylint#2535
30+ "test_libmodule" ] ++
31+ # Disable broken darwin tests
32+ lib.optionals stdenv.isDarwin [
33+ "test_parallel_execution"
34+ "test_py3k_jobs_option"
35+ ]
36+ )}"
37+ '';
38+
39+ postInstall = ''
40+ mkdir -p $out/share/emacs/site-lisp
41+ cp "elisp/"*.el $out/share/emacs/site-lisp/
42+ '';
43+
44+ meta = with lib; {
45+ homepage = "https://github.com/PyCQA/pylint";
46+ description = "A bug and style checker for Python";
47+ platforms = platforms.all;
48+ license = licenses.gpl1Plus;
49+ maintainers = with maintainers; [ nand0p ];
50+ };
51+}
test/golden/importless/1.9.txtnew file
No changes to the content.
test/golden/importless/1.9.x.nixnew file+45
@@ -0,0 +1,45 @@
1+{ fetchFromGitHub, stdenv, lib
2+, cmake, libGLU, libGL
3+, freetype, freeimage, zziplib, xorgproto, libXrandr
4+, libXaw, freeglut, libXt, libpng, boost, ois
5+, libX11, libXmu, libSM, pkgconfig
6+, libXxf86vm, libICE
7+, libXrender
8+, withNvidiaCg ? false, nvidia_cg_toolkit
9+, withSamples ? false }:
10+
11+stdenv.mkDerivation rec {
12+ pname = "ogre";
13+ version = "1.9.1";
14+
15+ src = fetchFromGitHub {
16+ owner = "OGRECave";
17+ repo = "ogre";
18+ rev = "v${version}";
19+ sha256 = "11lfgzqaps3728dswrq3cbwk7aicigyz08q4hfyy6ikc6m35r4wg";
20+ };
21+
22+ cmakeFlags = [ "-DOGRE_BUILD_SAMPLES=${toString withSamples}" ]
23+ ++ map (x: "-DOGRE_BUILD_PLUGIN_${x}=on")
24+ ([ "BSP" "OCTREE" "PCZ" "PFX" ] ++ lib.optional withNvidiaCg "CG")
25+ ++ map (x: "-DOGRE_BUILD_RENDERSYSTEM_${x}=on") [ "GL" ];
26+
27+ enableParallelBuilding = true;
28+
29+ buildInputs =
30+ [ cmake libGLU libGL
31+ freetype freeimage zziplib xorgproto libXrandr
32+ libXaw freeglut libXt libpng boost ois
33+ libX11 libXmu libSM pkgconfig
34+ libXxf86vm libICE
35+ libXrender
36+ ] ++ lib.optional withNvidiaCg nvidia_cg_toolkit;
37+
38+ meta = {
39+ description = "A 3D engine";
40+ homepage = "https://www.ogre3d.org/";
41+ maintainers = [ stdenv.lib.maintainers.raskin ];
42+ platforms = stdenv.lib.platforms.linux;
43+ license = stdenv.lib.licenses.mit;
44+ };
45+}
test/golden/importless/1.9.x.txtnew file
No changes to the content.
test/golden/importless/1.nixnew file+31
@@ -0,0 +1,31 @@
1+{ stdenv, buildGoPackage, fetchFromGitHub }:
2+
3+buildGoPackage rec {
4+ pname = "git-lfs";
5+ version = "1.5.6";
6+ rev = "0d02fb7d9a1c599bbf8c55e146e2845a908e04e0";
7+
8+ goPackagePath = "github.com/git-lfs/git-lfs";
9+
10+ src = fetchFromGitHub {
11+ inherit rev;
12+ owner = "git-lfs";
13+ repo = "git-lfs";
14+ sha256 = "0wddry1lqjccf4522fvhx6grx8h57xsz17lkaf5aybnrgw677w3d";
15+ };
16+
17+ subPackages = [ "." ];
18+
19+ preBuild = ''
20+ pushd go/src/github.com/git-lfs/git-lfs
21+ go generate ./commands
22+ popd
23+ '';
24+
25+ meta = with stdenv.lib; {
26+ description = "Git extension for versioning large files";
27+ homepage = "https://git-lfs.github.com/";
28+ license = [ licenses.mit ];
29+ maintainers = [ maintainers.twey ];
30+ };
31+}
test/golden/importless/1.txtnew file
No changes to the content.
test/golden/importless/1.x.nixnew file+34
@@ -0,0 +1,34 @@
1+{ stdenv, fetchurl, pythonPackages }:
2+
3+pythonPackages.buildPythonApplication rec {
4+ pname = "radicale";
5+ version = "1.1.6";
6+
7+ src = fetchurl {
8+ url = "mirror://pypi/R/Radicale/Radicale-${version}.tar.gz";
9+ sha256 = "0ay90nj6fmr2aq8imi0mbjl4m2rzq7a83ikj8qs9gxsylj71j1y0";
10+ };
11+
12+ propagatedBuildInputs = stdenv.lib.optionals (!pythonPackages.isPy3k) [
13+ pythonPackages.flup
14+ pythonPackages.ldap
15+ pythonPackages.sqlalchemy
16+ ];
17+
18+ doCheck = !pythonPackages.isPy3k;
19+
20+ meta = with stdenv.lib; {
21+ homepage = "http://www.radicale.org/";
22+ description = "CalDAV CardDAV server";
23+ longDescription = ''
24+ The Radicale Project is a complete CalDAV (calendar) and CardDAV
25+ (contact) server solution. Calendars and address books are available for
26+ both local and remote access, possibly limited through authentication
27+ policies. They can be viewed and edited by calendar and contact clients
28+ on mobile phones or computers.
29+ '';
30+ license = licenses.gpl3Plus;
31+ platforms = platforms.all;
32+ maintainers = with maintainers; [ edwtjo pSub ];
33+ };
34+}
test/golden/importless/1.x.txtnew file
No changes to the content.
test/golden/importless/10.5.x.nixnew file+61
@@ -0,0 +1,61 @@
1+{ stdenv, lib, fetchurl, unzip, sqlite, makeWrapper, dotnetCorePackages, ffmpeg,
2+ fontconfig, freetype, nixosTests }:
3+
4+let
5+ os = if stdenv.isDarwin then "osx" else "linux";
6+ arch =
7+ with stdenv.hostPlatform;
8+ if isx86_32 then "x86"
9+ else if isx86_64 then "x64"
10+ else if isAarch32 then "arm"
11+ else if isAarch64 then "arm64"
12+ else lib.warn "Unsupported architecture, some image processing features might be unavailable" "unknown";
13+ musl = lib.optionalString stdenv.hostPlatform.isMusl
14+ (if (arch != "x64")
15+ then lib.warn "Some image processing features might be unavailable for non x86-64 with Musl" "musl-"
16+ else "musl-");
17+ runtimeDir = "${os}-${musl}${arch}";
18+
19+in stdenv.mkDerivation rec {
20+ pname = "jellyfin";
21+ version = "10.5.5";
22+
23+ # Impossible to build anything offline with dotnet
24+ src = fetchurl {
25+ url = "https://github.com/jellyfin/jellyfin/releases/download/v${version}/jellyfin_${version}_portable.tar.gz";
26+ sha256 = "1s3hva1j5w74qc9wyqnmr5clk4smzfi7wvx8qrzrwy81mx7r5w27";
27+ };
28+
29+ buildInputs = [
30+ unzip
31+ makeWrapper
32+ ];
33+
34+ propagatedBuildInputs = [
35+ dotnetCorePackages.aspnetcore_3_1
36+ sqlite
37+ ];
38+
39+ preferLocalBuild = true;
40+
41+ installPhase = ''
42+ install -dm 755 "$out/opt/jellyfin"
43+ cp -r * "$out/opt/jellyfin"
44+ makeWrapper "${dotnetCorePackages.aspnetcore_3_1}/bin/dotnet" $out/bin/jellyfin \
45+ --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
46+ sqlite fontconfig freetype stdenv.cc.cc.lib
47+ ]}:$out/opt/jellyfin/runtimes/${runtimeDir}/native/" \
48+ --add-flags "$out/opt/jellyfin/jellyfin.dll --ffmpeg ${ffmpeg}/bin/ffmpeg"
49+ '';
50+
51+ passthru.tests = {
52+ smoke-test = nixosTests.jellyfin;
53+ };
54+
55+ meta = with stdenv.lib; {
56+ description = "The Free Software Media System";
57+ homepage = "https://jellyfin.org/";
58+ license = licenses.gpl2;
59+ maintainers = with maintainers; [ nyanloutre minijackson ];
60+ };
61+}
test/golden/importless/10.5.x.txtnew file
No changes to the content.
test/golden/importless/10.nixnew file+136
@@ -0,0 +1,136 @@
1+{ stdenv
2+, coreutils
3+, patchelf
4+, requireFile
5+, alsaLib
6+, fontconfig
7+, freetype
8+, gcc
9+, glib
10+, ncurses
11+, opencv2
12+, openssl
13+, unixODBC
14+, xorg
15+, libxml2
16+, libuuid
17+}:
18+
19+let
20+ platform =
21+ if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then
22+ "Linux"
23+ else
24+ throw "Mathematica requires i686-linux or x86_64 linux";
25+in
26+stdenv.mkDerivation rec {
27+ version = "10.0.2";
28+
29+ pname = "mathematica";
30+
31+ src = requireFile rec {
32+ name = "Mathematica_${version}_LINUX.sh";
33+ message = ''
34+ This nix expression requires that ${name} is
35+ already part of the store. Find the file on your Mathematica CD
36+ and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
37+ '';
38+ sha256 = "1d2yaiaikzcacjamlw64g3xkk81m3pb4vz4an12cv8nb7kb20x9l";
39+ };
40+
41+ buildInputs = [
42+ coreutils
43+ patchelf
44+ alsaLib
45+ coreutils
46+ fontconfig
47+ freetype
48+ gcc.cc
49+ gcc.libc
50+ glib
51+ ncurses
52+ opencv2
53+ openssl
54+ unixODBC
55+ libxml2
56+ libuuid
57+ ] ++ (with xorg; [
58+ libX11
59+ libXext
60+ libXtst
61+ libXi
62+ libXmu
63+ libXrender
64+ libxcb
65+ libXcursor
66+ libXfixes
67+ libXrandr
68+ libICE
69+ libSM
70+ ]);
71+
72+ ldpath = stdenv.lib.makeLibraryPath buildInputs
73+ + stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux")
74+ (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
75+
76+ phases = "unpackPhase installPhase fixupPhase";
77+
78+ unpackPhase = ''
79+ echo "=== Extracting makeself archive ==="
80+ # find offset from file
81+ offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src)
82+ dd if="$src" ibs=$offset skip=1 | tar -xf -
83+ cd Unix
84+ '';
85+
86+ installPhase = ''
87+ cd Installer
88+ # don't restrict PATH, that has already been done
89+ sed -i -e 's/^PATH=/# PATH=/' MathInstaller
90+
91+ echo "=== Running MathInstaller ==="
92+ ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -platforms=${platform} -silent
93+ '';
94+
95+ preFixup = ''
96+ echo "=== PatchElfing away ==="
97+ # This code should be a bit forgiving of errors, unfortunately
98+ set +e
99+ find $out/libexec/Mathematica/SystemFiles -type f -perm -0100 | while read f; do
100+ type=$(readelf -h "$f" 2>/dev/null | grep 'Type:' | sed -e 's/ *Type: *\([A-Z]*\) (.*/\1/')
101+ if [ -z "$type" ]; then
102+ :
103+ elif [ "$type" == "EXEC" ]; then
104+ echo "patching $f executable <<"
105+ patchelf --shrink-rpath "$f"
106+ patchelf \
107+ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
108+ --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \
109+ "$f" \
110+ && patchelf --shrink-rpath "$f" \
111+ || echo unable to patch ... ignoring 1>&2
112+ elif [ "$type" == "DYN" ]; then
113+ echo "patching $f library <<"
114+ patchelf \
115+ --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \
116+ "$f" \
117+ && patchelf --shrink-rpath "$f" \
118+ || echo unable to patch ... ignoring 1>&2
119+ else
120+ echo "not patching $f <<: unknown elf type"
121+ fi
122+ done
123+ '';
124+
125+ # all binaries are already stripped
126+ dontStrip = true;
127+
128+ # we did this in prefixup already
129+ dontPatchELF = true;
130+
131+ meta = {
132+ description = "Wolfram Mathematica computational software system";
133+ homepage = "http://www.wolfram.com/mathematica/";
134+ license = stdenv.lib.licenses.unfree;
135+ };
136+}
test/golden/importless/10.txtnew file
No changes to the content.
test/golden/importless/108.08.00.nixnew file+27
@@ -0,0 +1,27 @@
1+{stdenv, fetchurl, ocaml, findlib, camlp4}:
2+
3+if !stdenv.lib.versionAtLeast ocaml.version "3.12"
4+|| stdenv.lib.versionAtLeast ocaml.version "4.03"
5+then throw "type_conv-108.08.00 is not available for OCaml ${ocaml.version}" else
6+
7+stdenv.mkDerivation {
8+ name = "ocaml-type_conv-108.08.00";
9+
10+ src = fetchurl {
11+ url = "https://ocaml.janestreet.com/ocaml-core/108.08.00/individual/type_conv-108.08.00.tar.gz";
12+ sha256 = "08ysikwwp69zvc147lzzg79nwlrzrk738rj0ggcfadi8h5il42sl";
13+ };
14+
15+ buildInputs = [ocaml findlib camlp4];
16+
17+ createFindlibDestdir = true;
18+
19+ meta = with stdenv.lib; {
20+ homepage = "https://ocaml.janestreet.com/";
21+ description = "Support library for OCaml preprocessor type conversions";
22+ license = licenses.asl20;
23+ branch = "108";
24+ platforms = ocaml.meta.platforms or [];
25+ maintainers = with maintainers; [ maggesi ];
26+ };
27+}
test/golden/importless/108.08.00.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { camlp4 = α; fetchurl = { sha256 = String; url = String } -> β; findlib = α; ocaml = α; stdenv = γ } -> String
test/golden/importless/109.60.01.nixnew file+26
@@ -0,0 +1,26 @@
1+{stdenv, fetchurl, ocaml, findlib, camlp4}:
2+
3+if !stdenv.lib.versionAtLeast ocaml.version "4.00"
4+|| stdenv.lib.versionAtLeast ocaml.version "4.03"
5+then throw "type_conv-109.60.01 is not available for OCaml ${ocaml.version}" else
6+
7+stdenv.mkDerivation {
8+ name = "ocaml-type_conv-109.60.01";
9+
10+ src = fetchurl {
11+ url = "https://github.com/janestreet/type_conv/archive/109.60.01.tar.gz";
12+ sha256 = "0lpxri68glgq1z2pp02rp45cb909xywbff8d4idljrf6fzzil2zx";
13+ };
14+
15+ buildInputs = [ocaml findlib camlp4];
16+
17+ createFindlibDestdir = true;
18+
19+ meta = {
20+ homepage = "http://forge.ocamlcore.org/projects/type-conv/";
21+ description = "Support library for OCaml preprocessor type conversions";
22+ license = stdenv.lib.licenses.lgpl21;
23+ platforms = ocaml.meta.platforms or [];
24+ maintainers = with stdenv.lib.maintainers; [ maggesi ];
25+ };
26+}
test/golden/importless/109.60.01.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { camlp4 = α; fetchurl = { sha256 = String; url = String } -> β; findlib = α; ocaml = α; stdenv = γ } -> String
test/golden/importless/11.1.nixnew file+41
@@ -0,0 +1,41 @@
1+{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit,
2+ libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
3+ libtheora, which, autoconf, automake, libtool
4+}:
5+
6+let
7+ pname = "love";
8+ version = "11.3";
9+in
10+
11+stdenv.mkDerivation {
12+ name = "${pname}-${version}";
13+ src = fetchFromBitbucket {
14+ owner = "rude";
15+ repo = "love";
16+ rev = version;
17+ sha256 = "18gfp65ngb8k8g7hgbw2bhrwk2i7m56m21d39pk4484q9z8p4vm7";
18+ };
19+
20+ nativeBuildInputs = [ pkgconfig ];
21+ buildInputs = [
22+ SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
23+ libvorbis libogg libtheora autoconf which libtool automake
24+ ];
25+
26+ preConfigure = "$shell ./platform/unix/automagic";
27+
28+ configureFlags = [
29+ "--with-lua=luajit"
30+ ];
31+
32+ NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
33+
34+ meta = {
35+ homepage = "http://love2d.org";
36+ description = "A Lua-based 2D game engine/scripting language";
37+ license = stdenv.lib.licenses.zlib;
38+ platforms = stdenv.lib.platforms.linux;
39+ maintainers = [ stdenv.lib.maintainers.raskin ];
40+ };
41+}
test/golden/importless/11.1.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { SDL2 = β; autoconf = β; automake = β; fetchFromBitbucket = { owner = String; repo = String; rev = String; sha256 = String } -> γ; freetype = β; libGL = β; libGLU = β; libdevil = β; libmodplug = β; libogg = β; libtheora = β; libtool = β; libvorbis = β; luajit = β; mpg123 = β; openal = β; physfs = β; pkgconfig = δ; stdenv = ε; which = β } -> { NIX_CFLAGS_COMPILE = String; buildInputs = [β]; configureFlags = [String]; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. α }; name = String; nativeBuildInputs = [δ]; preConfigure = String; src = { owner = String; repo = String; rev = String; sha256 = String } }
test/golden/importless/11.nixnew file+61
@@ -0,0 +1,61 @@
1+{ stdenv, fetchurl, unzip, setJavaClassPath, freetype }:
2+let
3+ jce-policies = fetchurl {
4+ # Ugh, unversioned URLs... I hope this doesn't change often enough to cause pain before we move to a Darwin source build of OpenJDK!
5+ url = "http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
6+ sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0";
7+ };
8+
9+ jdk = stdenv.mkDerivation rec {
10+ name = "zulu11.2.3-jdk11.0.1";
11+
12+ src = fetchurl {
13+ url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz";
14+ sha256 = "1jxnxmy79inwf3146ygry1mzv3dj6yrzqll16j7dpr91x1p3dpqy";
15+ curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-mac/";
16+ };
17+
18+ buildInputs = [ unzip freetype ];
19+
20+ installPhase = ''
21+ mkdir -p $out
22+ mv * $out
23+
24+ unzip ${jce-policies}
25+ mv -f ZuluJCEPolicies/*.jar $out/lib/security/
26+
27+ # jni.h expects jni_md.h to be in the header search path.
28+ ln -s $out/include/darwin/*_md.h $out/include/
29+
30+ if [ -f $out/LICENSE ]; then
31+ install -D $out/LICENSE $out/share/zulu/LICENSE
32+ rm $out/LICENSE
33+ fi
34+ '';
35+
36+ preFixup = ''
37+ # Propagate the setJavaClassPath setup hook from the JDK so that
38+ # any package that depends on the JDK has $CLASSPATH set up
39+ # properly.
40+ mkdir -p $out/nix-support
41+ printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
42+
43+ install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/lib/libfontmanager.dylib
44+
45+ # Set JAVA_HOME automatically.
46+ cat <<EOF >> $out/nix-support/setup-hook
47+ if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
48+ EOF
49+ '';
50+
51+ passthru = {
52+ home = jdk;
53+ };
54+
55+ meta = with stdenv.lib; {
56+ license = licenses.gpl2;
57+ platforms = platforms.darwin;
58+ };
59+
60+ };
61+in jdk
test/golden/importless/11.txtnew file
No changes to the content.
test/golden/importless/112.01.01.nixnew file+20
@@ -0,0 +1,20 @@
1+{stdenv, fetchurl, buildOcaml}:
2+
3+buildOcaml rec {
4+ minimumSupportedOcamlVersion = "4.02";
5+
6+ name = "type_conv";
7+ version = "113.00.02";
8+
9+ src = fetchurl {
10+ url = "https://github.com/janestreet/type_conv/archive/${version}.tar.gz";
11+ sha256 = "1718yl2q8zandrs4xqffkfmssfld1iz62dzcqdm925735c1x01fk";
12+ };
13+
14+ meta = {
15+ homepage = "https://github.com/janestreet/type_conv/";
16+ description = "Support library for preprocessor type conversions";
17+ license = stdenv.lib.licenses.asl20;
18+ maintainers = with stdenv.lib.maintainers; [ maggesi ericbmerritt ];
19+ };
20+}
test/golden/importless/112.01.01.txtnew file
No changes to the content.
test/golden/importless/12.nixnew file+31
@@ -0,0 +1,31 @@
1+{ stdenv, fetchurl, zlib }:
2+
3+assert stdenv.hostPlatform == stdenv.buildPlatform -> zlib != null;
4+
5+stdenv.mkDerivation rec {
6+ name = "libpng-1.2.59";
7+
8+ src = fetchurl {
9+ url = "mirror://sourceforge/libpng/${name}.tar.xz";
10+ sha256 = "1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl";
11+ };
12+
13+ outputs = [ "out" "dev" "man" ];
14+
15+ propagatedBuildInputs = [ zlib ];
16+
17+ passthru = { inherit zlib; };
18+
19+ configureFlags = [ "--enable-static" ];
20+
21+ postInstall = ''mv "$out/bin" "$dev/bin"'';
22+
23+ meta = with stdenv.lib; {
24+ description = "The official reference implementation for the PNG file format";
25+ homepage = "http://www.libpng.org/pub/png/libpng.html";
26+ license = licenses.libpng;
27+ maintainers = [ ];
28+ branch = "1.2";
29+ platforms = platforms.unix;
30+ };
31+}
test/golden/importless/12.txtnew file
No changes to the content.
test/golden/importless/14.nixnew file+115
@@ -0,0 +1,115 @@
1+{ stdenv, lib, fetchFromGitHub, writeText, openjdk11_headless, gradleGen
2+, pkgconfig, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsaLib
3+, ffmpeg_3, python, ruby }:
4+
5+let
6+ major = "14";
7+ update = "";
8+ build = "-ga";
9+ repover = "${major}${update}${build}";
10+ gradle_ = (gradleGen.override {
11+ java = openjdk11_headless;
12+ }).gradle_5_6;
13+
14+ makePackage = args: stdenv.mkDerivation ({
15+ version = "${major}${update}${build}";
16+
17+ src = fetchFromGitHub {
18+ owner = "openjdk";
19+ repo = "jfx";
20+ rev = repover;
21+ sha256 = "16aj15xksc266gv3y42m0g277pfvp71901lrngndcnpr7i2zshnr";
22+ };
23+
24+ buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsaLib ffmpeg_3 ];
25+ nativeBuildInputs = [ gradle_ perl pkgconfig cmake gperf python ruby ];
26+
27+ dontUseCmakeConfigure = true;
28+
29+ config = writeText "gradle.properties" (''
30+ CONF = Release
31+ JDK_HOME = ${openjdk11_headless.home}
32+ '' + args.gradleProperties or "");
33+
34+ #avoids errors about deprecation of GTypeDebugFlags, GTimeVal, etc.
35+ NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
36+
37+ buildPhase = ''
38+ runHook preBuild
39+
40+ export GRADLE_USER_HOME=$(mktemp -d)
41+ ln -s $config gradle.properties
42+ export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
43+ gradle --no-daemon $gradleFlags sdk
44+
45+ runHook postBuild
46+ '';
47+ } // args);
48+
49+ # Fake build to pre-download deps into fixed-output derivation.
50+ # We run nearly full build because I see no other way to download everything that's needed.
51+ # Anyone who knows a better way?
52+ deps = makePackage {
53+ pname = "openjfx-deps";
54+
55+ # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
56+ installPhase = ''
57+ find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \
58+ | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
59+ | sh
60+ rm -rf $out/tmp
61+ '';
62+
63+ outputHashAlgo = "sha256";
64+ outputHashMode = "recursive";
65+ # Downloaded AWT jars differ by platform.
66+ outputHash = {
67+ x86_64-linux = "077zss95iq6iskx7ghz1c57ymydpzj0wm7r1pkznw99l9xwvdmqi";
68+ i686-linux = "03gglr2sh77cyg16qw9g45ji33dg7i93s5s30hz3mh420g112qa0";
69+ }.${stdenv.system} or (throw "Unsupported platform");
70+ };
71+
72+in makePackage {
73+ pname = "openjfx-modular-sdk";
74+
75+ gradleProperties = ''
76+ COMPILE_MEDIA = true
77+ COMPILE_WEBKIT = true
78+ '';
79+
80+ preBuild = ''
81+ swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)"
82+ substituteInPlace build.gradle \
83+ --replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \
84+ --replace 'name: SWT_FILE_NAME' "files('$swtJar')"
85+ '';
86+
87+ installPhase = ''
88+ cp -r build/modular-sdk $out
89+ '';
90+
91+ # glib-2.62 deprecations
92+ NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
93+
94+ stripDebugList = [ "." ];
95+
96+ postFixup = ''
97+ # Remove references to bootstrap.
98+ find "$out" -name \*.so | while read lib; do
99+ new_refs="$(patchelf --print-rpath "$lib" | sed -E 's,:?${lib.escape ["+"] openjdk11_headless.outPath}[^:]*,,')"
100+ patchelf --set-rpath "$new_refs" "$lib"
101+ done
102+ '';
103+
104+ disallowedReferences = [ openjdk11_headless ];
105+
106+ passthru.deps = deps;
107+
108+ meta = with stdenv.lib; {
109+ homepage = "http://openjdk.java.net/projects/openjfx/";
110+ license = licenses.gpl2;
111+ description = "The next-generation Java client toolkit.";
112+ maintainers = with maintainers; [ abbradar ];
113+ platforms = [ "i686-linux" "x86_64-linux" ];
114+ };
115+}
test/golden/importless/14.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η θ ι κ. { alsaLib = γ; cmake = δ; fetchFromGitHub = { owner = String; repo = String; rev = ∀ α. α; sha256 = String } -> ε; ffmpeg_3 = γ; glib = γ; gperf = δ; gradleGen = ζ; gtk2 = γ; gtk3 = γ; lib = η; libXtst = γ; libXxf86vm = γ; openjdk11_headless = θ; perl = δ; pkgconfig = δ; python = δ; ruby = δ; stdenv = ι; writeText = String -> κ } -> { NIX_CFLAGS_COMPILE = String; disallowedReferences = [θ]; gradleProperties = String; installPhase = String; meta = { description = String; homepage = String; license = ∀ β. β; maintainers = ∀ β. [β]; platforms = [String] }; passthru = { deps = { installPhase = String; outputHash = String; outputHashAlgo = String; outputHashMode = String; pname = String } }; pname = String; postFixup = String; preBuild = String; stripDebugList = [String] }
test/golden/importless/16.1.2.nixnew file+84
@@ -0,0 +1,84 @@
1+{ stdenv, fetchurl, fetchpatch
2+, libtool, autoconf, automake
3+, gmp, mpfr, libffi, makeWrapper
4+, noUnicode ? false
5+, gcc
6+, threadSupport ? false
7+, useBoehmgc ? true, boehmgc
8+}:
9+
10+assert useBoehmgc -> boehmgc != null;
11+
12+let
13+ s = # Generated upstream information
14+ rec {
15+ baseName="ecl";
16+ version="16.1.2";
17+ name="${baseName}-${version}";
18+ url="https://common-lisp.net/project/ecl/static/files/release/ecl-16.1.2.tgz";
19+ sha256="16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d";
20+ };
21+ buildInputs = [
22+ libtool autoconf automake makeWrapper
23+ ];
24+ propagatedBuildInputs = [
25+ libffi gmp mpfr gcc
26+ ] ++ stdenv.lib.optionals useBoehmgc [
27+ # replaces ecl's own gc which other packages can depend on, thus propagated
28+ boehmgc
29+ ];
30+in
31+stdenv.mkDerivation {
32+ inherit (s) name version;
33+ inherit buildInputs propagatedBuildInputs;
34+
35+ src = fetchurl {
36+ inherit (s) url sha256;
37+ };
38+
39+ configureFlags = [
40+ (if threadSupport then "--enable-threads" else "--disable-threads")
41+ "--with-gmp-prefix=${gmp.dev}"
42+ "--with-libffi-prefix=${libffi.dev}"
43+ ]
44+ ++
45+ (stdenv.lib.optional (! noUnicode)
46+ "--enable-unicode")
47+ ;
48+
49+ patches = [
50+ (fetchpatch {
51+ # Avoid infinite loop, see https://gitlab.com/embeddable-common-lisp/ecl/issues/43 (fixed upstream)
52+ name = "avoid-infinite-loop.patch";
53+ url = "https://gitlab.com/embeddable-common-lisp/ecl/commit/caba1989f40ef917e7486f41b9cd5c7e3c5c2d79.patch";
54+ sha256 = "07vw91psbc9gdn8grql46ra8lq3bgkzg5v480chnbryna4sv6lbb";
55+ })
56+ (fetchpatch {
57+ # Fix getcwd with long pathnames
58+ # Rebased version of
59+ # https://gitlab.com/embeddable-common-lisp/ecl/commit/ac5f011f57a85a38627af154bc3ee7580e7fecd4.patch
60+ name = "getcwd.patch";
61+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/16.1.2-getcwd.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
62+ sha256 = "1fbi8gn7rv8nqff5mpaijsrch3k3z7qc5cn4h1vl8qrr8xwqlqhb";
63+ })
64+ ./ecl-1.16.2-libffi-3.3-abi.patch
65+ ];
66+
67+ hardeningDisable = [ "format" ];
68+
69+ postInstall = ''
70+ sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config
71+ wrapProgram "$out/bin/ecl" \
72+ --prefix PATH ':' "${gcc}/bin" \
73+ --prefix NIX_LDFLAGS ' ' "-L${gmp.lib or gmp.out or gmp}/lib" \
74+ --prefix NIX_LDFLAGS ' ' "-L${libffi.lib or libffi.out or libffi}/lib"
75+ '';
76+
77+ meta = {
78+ inherit (s) version;
79+ description = "Lisp implementation aiming to be small, fast and easy to embed";
80+ license = stdenv.lib.licenses.mit ;
81+ maintainers = [stdenv.lib.maintainers.raskin];
82+ platforms = stdenv.lib.platforms.unix;
83+ };
84+}
test/golden/importless/16.1.2.txtnew file
No changes to the content.
test/golden/importless/17.nixnew file+36
@@ -0,0 +1,36 @@
1+{ stdenv, buildPythonPackage, fetchPypi
2+, setuptools_scm
3+, cheroot, contextlib2, portend, routes, six, zc_lockfile
4+, backports_unittest-mock, objgraph, pathpy, pytest, pytestcov, backports_functools_lru_cache, requests_toolbelt
5+}:
6+
7+buildPythonPackage rec {
8+ pname = "cherrypy";
9+ version = "17.4.2";
10+
11+ src = fetchPypi {
12+ pname = "CherryPy";
13+ inherit version;
14+ sha256 = "ef1619ad161f526745d4f0e4e517753d9d985814f1280e330661333d2ba05cdf";
15+ };
16+
17+ propagatedBuildInputs = [
18+ cheroot contextlib2 portend routes six zc_lockfile
19+ ];
20+
21+ nativeBuildInputs = [ setuptools_scm ];
22+
23+ checkInputs = [
24+ backports_unittest-mock objgraph pathpy pytest pytestcov backports_functools_lru_cache requests_toolbelt
25+ ];
26+
27+ checkPhase = ''
28+ pytest ${stdenv.lib.optionalString stdenv.isDarwin "--ignore=cherrypy/test/test_wsgi_unix_socket.py"}
29+ '';
30+
31+ meta = with stdenv.lib; {
32+ homepage = "https://www.cherrypy.org";
33+ description = "A pythonic, object-oriented HTTP framework";
34+ license = licenses.bsd3;
35+ };
36+}
test/golden/importless/17.txtnew file
No changes to the content.
test/golden/importless/1_1.nixnew file+25
@@ -0,0 +1,25 @@
1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, six
5+}:
6+
7+buildPythonPackage rec {
8+ pname = "sphinxcontrib-websupport";
9+ version = "1.1.2";
10+
11+ src = fetchPypi {
12+ inherit pname version;
13+ sha256 = "1501befb0fdf1d1c29a800fdbf4ef5dc5369377300ddbdd16d2cd40e54c6eefc";
14+ };
15+
16+ propagatedBuildInputs = [ six ];
17+
18+ doCheck = false;
19+
20+ meta = {
21+ description = "Sphinx API for Web Apps";
22+ homepage = "http://sphinx-doc.org/";
23+ license = lib.licenses.bsd2;
24+ };
25+}
test/golden/importless/1_1.txtnew file
No changes to the content.
test/golden/importless/1_12.nixnew file+27
@@ -0,0 +1,27 @@
1+{ stdenv
2+, buildPythonPackage
3+, fetchPypi
4+, pytz
5+, six
6+}:
7+
8+buildPythonPackage rec {
9+ pname = "pg8000";
10+ version = "1.12.5";
11+
12+ src = fetchPypi {
13+ inherit pname version;
14+ sha256 = "1yc3knh28cx3rjb2ifg5kmqqa78yyyw2gzzslbm9fj0mzh5aq1sx";
15+ };
16+
17+ propagatedBuildInputs = [ pytz six ];
18+
19+ meta = with stdenv.lib; {
20+ homepage = "https://github.com/tlocke/pg8000";
21+ description = "PostgreSQL interface library, for asyncio";
22+ maintainers = with maintainers; [ domenkozar ];
23+ platforms = platforms.unix;
24+ };
25+
26+}
27+
test/golden/importless/1_12.txtnew file
No changes to the content.
test/golden/importless/1_8.nixnew file+183
@@ -0,0 +1,183 @@
1+{ stdenv, fetchFromGitHub, perl, yasm
2+, vp8DecoderSupport ? true # VP8 decoder
3+, vp8EncoderSupport ? true # VP8 encoder
4+, vp9DecoderSupport ? true # VP9 decoder
5+, vp9EncoderSupport ? true # VP9 encoder
6+, extraWarningsSupport ? false # emit non-fatal warnings
7+, werrorSupport ? false # treat warnings as errors (not available with all compilers)
8+, debugSupport ? false # debug mode
9+, gprofSupport ? false # gprof profiling instrumentation
10+, gcovSupport ? false # gcov coverage instrumentation
11+, sizeLimitSupport ? true # limit max size to allow in the decoder
12+, optimizationsSupport ? true # compiler optimization flags
13+, runtimeCpuDetectSupport ? true # detect cpu capabilities at runtime
14+, thumbSupport ? false # build arm assembly in thumb mode
15+, examplesSupport ? true # build examples (vpxdec & vpxenc are part of examples)
16+, debugLibsSupport ? false # include debug version of each library
17+, postprocSupport ? true # postprocessing
18+, multithreadSupport ? true # multithreaded decoding & encoding
19+, internalStatsSupport ? false # output of encoder internal stats for debug, if supported (encoders)
20+, spatialResamplingSupport ? true # spatial sampling (scaling)
21+, realtimeOnlySupport ? false # build for real-time encoding
22+, ontheflyBitpackingSupport ? false # on-the-fly bitpacking in real-time encoding
23+, errorConcealmentSupport ? false # decoder conceals losses
24+, smallSupport ? false # favor smaller binary over speed
25+, postprocVisualizerSupport ? false # macro block/block level visualizers
26+, unitTestsSupport ? false, curl ? null, coreutils ? null # unit tests
27+, webmIOSupport ? true # input from and output to webm container
28+, libyuvSupport ? true # libyuv
29+, decodePerfTestsSupport ? false # build decoder perf tests with unit tests
30+, encodePerfTestsSupport ? false # build encoder perf tests with unit tests
31+, multiResEncodingSupport ? false # multiple-resolution encoding
32+, temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising
33+, coefficientRangeCheckingSupport ? false # decoder checks if intermediate transform coefficients are in valid range
34+, vp9HighbitdepthSupport ? true # 10/12 bit color support in VP9
35+# Experimental features
36+, experimentalSpatialSvcSupport ? false # Spatial scalable video coding
37+, experimentalFpMbStatsSupport ? false
38+, experimentalEmulateHardwareSupport ? false
39+}:
40+
41+let
42+ inherit (stdenv) is64bit isMips isDarwin isCygwin;
43+ inherit (stdenv.lib) enableFeature optional optionals;
44+in
45+
46+assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport;
47+assert internalStatsSupport && (vp9DecoderSupport || vp9EncoderSupport) -> postprocSupport;
48+/* If spatialResamplingSupport not enabled, build will fail with undeclared variable errors.
49+ Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl,
50+ but is only executed if spatialResamplingSupport is enabled */
51+assert spatialResamplingSupport;
52+assert postprocVisualizerSupport -> postprocSupport;
53+assert unitTestsSupport -> curl != null && coreutils != null;
54+assert vp9HighbitdepthSupport -> (vp9DecoderSupport || vp9EncoderSupport);
55+assert isCygwin -> unitTestsSupport && webmIOSupport && libyuvSupport;
56+
57+stdenv.mkDerivation rec {
58+ pname = "libvpx";
59+ version = "1.8.2";
60+
61+ src = fetchFromGitHub {
62+ owner = "webmproject";
63+ repo = "libvpx";
64+ rev = "v${version}";
65+ sha256 = "0gyq4fkbd2fv7m1mm9xrvn6rk6f4jsmbv8bnlhingmnrvyncnmnr";
66+ };
67+
68+ patches = [
69+# ./CVE-2019-9232.CVE-2019-9325.CVE-2019-9371.CVE-2019-9433.patch
70+ ];
71+
72+ postPatch = ''patchShebangs .'';
73+
74+ outputs = [ "bin" "dev" "out" ];
75+ setOutputFlags = false;
76+
77+ configurePlatforms = [];
78+ configureFlags = [
79+ (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8")
80+ (enableFeature vp8EncoderSupport "vp8-encoder")
81+ (enableFeature vp8DecoderSupport "vp8-decoder")
82+ (enableFeature (vp9EncoderSupport || vp9DecoderSupport) "vp9")
83+ (enableFeature vp9EncoderSupport "vp9-encoder")
84+ (enableFeature vp9DecoderSupport "vp9-decoder")
85+ (enableFeature extraWarningsSupport "extra-warnings")
86+ (enableFeature werrorSupport "werror")
87+ "--disable-install-docs"
88+ (enableFeature examplesSupport "install-bins")
89+ "--enable-install-libs"
90+ "--disable-install-srcs"
91+ (enableFeature debugSupport "debug")
92+ (enableFeature gprofSupport "gprof")
93+ (enableFeature gcovSupport "gcov")
94+ # Required to build shared libraries
95+ (enableFeature (!isCygwin) "pic")
96+ (enableFeature optimizationsSupport "optimizations")
97+ (enableFeature runtimeCpuDetectSupport "runtime-cpu-detect")
98+ (enableFeature thumbSupport "thumb")
99+ "--enable-libs"
100+ (enableFeature examplesSupport "examples")
101+ "--disable-docs"
102+ "--as=yasm"
103+ # Limit default decoder max to WHXGA
104+ (if sizeLimitSupport then "--size-limit=5120x3200" else null)
105+ "--disable-codec-srcs"
106+ (enableFeature debugLibsSupport "debug-libs")
107+ (enableFeature isMips "dequant-tokens")
108+ (enableFeature isMips "dc-recon")
109+ (enableFeature postprocSupport "postproc")
110+ (enableFeature (postprocSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-postproc")
111+ (enableFeature multithreadSupport "multithread")
112+ (enableFeature internalStatsSupport "internal-stats")
113+ (enableFeature spatialResamplingSupport "spatial-resampling")
114+ (enableFeature realtimeOnlySupport "realtime-only")
115+ (enableFeature ontheflyBitpackingSupport "onthefly-bitpacking")
116+ (enableFeature errorConcealmentSupport "error-concealment")
117+ # Shared libraries are only supported on ELF platforms
118+ (if isDarwin || isCygwin then
119+ "--enable-static --disable-shared"
120+ else
121+ "--enable-shared")
122+ (enableFeature smallSupport "small")
123+ (enableFeature postprocVisualizerSupport "postproc-visualizer")
124+ (enableFeature unitTestsSupport "unit-tests")
125+ (enableFeature webmIOSupport "webm-io")
126+ (enableFeature libyuvSupport "libyuv")
127+ (enableFeature decodePerfTestsSupport "decode-perf-tests")
128+ (enableFeature encodePerfTestsSupport "encode-perf-tests")
129+ (enableFeature multiResEncodingSupport "multi-res-encoding")
130+ (enableFeature temporalDenoisingSupport "temporal-denoising")
131+ (enableFeature (temporalDenoisingSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-temporal-denoising")
132+ (enableFeature coefficientRangeCheckingSupport "coefficient-range-checking")
133+ (enableFeature (vp9HighbitdepthSupport && is64bit) "vp9-highbitdepth")
134+ (enableFeature (experimentalSpatialSvcSupport ||
135+ experimentalFpMbStatsSupport ||
136+ experimentalEmulateHardwareSupport) "experimental")
137+ ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
138+ #"--extra-cflags="
139+ #"--extra-cxxflags="
140+ #"--prefix="
141+ #"--libc="
142+ #"--libdir="
143+ "--enable-external-build"
144+ # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version)
145+ # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure
146+ # Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
147+ "--force-target=${stdenv.hostPlatform.config}${
148+ if stdenv.hostPlatform.isDarwin then
149+ if stdenv.hostPlatform.osxMinVersion == "10.10" then "14"
150+ else if stdenv.hostPlatform.osxMinVersion == "10.9" then "13"
151+ else if stdenv.hostPlatform.osxMinVersion == "10.8" then "12"
152+ else if stdenv.hostPlatform.osxMinVersion == "10.7" then "11"
153+ else if stdenv.hostPlatform.osxMinVersion == "10.6" then "10"
154+ else if stdenv.hostPlatform.osxMinVersion == "10.5" then "9"
155+ else "8"
156+ else ""}-gcc"
157+ (if stdenv.hostPlatform.isCygwin then "--enable-static-msvcrt" else "")
158+ ] # Experimental features
159+ ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
160+ ++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
161+ ++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
162+
163+ nativeBuildInputs = [ perl yasm ];
164+
165+ buildInputs = [ ]
166+ ++ optionals unitTestsSupport [ coreutils curl ];
167+
168+ NIX_LDFLAGS = [
169+ "-lpthread" # fixes linker errors
170+ ];
171+
172+ enableParallelBuilding = true;
173+
174+ postInstall = ''moveToOutput bin "$bin" '';
175+
176+ meta = with stdenv.lib; {
177+ description = "WebM VP8/VP9 codec SDK";
178+ homepage = "https://www.webmproject.org/";
179+ license = licenses.bsd3;
180+ maintainers = with maintainers; [ codyopel ];
181+ platforms = platforms.all;
182+ };
183+}
test/golden/importless/1_8.txtnew file
No changes to the content.
test/golden/importless/1_x.nixnew file+37
@@ -0,0 +1,37 @@
1+{ stdenv, buildPythonPackage, fetchFromGitHub, cairocffi, nose, fontconfig
2+, cssselect2, defusedxml, pillow, tinycss2 }:
3+
4+# CairoSVG 2.x dropped support for Python 2 so offer CairoSVG 1.x as an
5+# alternative
6+buildPythonPackage rec {
7+ pname = "CairoSVG";
8+ version = "1.0.22";
9+
10+ # PyPI doesn't include tests so use GitHub
11+ src = fetchFromGitHub {
12+ owner = "Kozea";
13+ repo = pname;
14+ rev = version;
15+ sha256 = "15z0cag5s79ghhrlgs5xc9ayvzzdr3v8151vf6k819f1drsfjfxl";
16+ };
17+
18+ propagatedBuildInputs = [ cairocffi ];
19+
20+ checkInputs = [ nose fontconfig cssselect2 defusedxml pillow tinycss2 ];
21+
22+ # Almost all tests just fail. Not sure how to fix them.
23+ doCheck = false;
24+
25+ # checkInputs = [ nose fontconfig cssselect2 defusedxml pillow tinycss2 ];
26+
27+ # checkPhase = ''
28+ # FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf nosetests .
29+ # '';
30+
31+ meta = with stdenv.lib; {
32+ homepage = "https://cairosvg.org";
33+ license = licenses.lgpl3;
34+ description = "SVG converter based on Cairo";
35+ maintainers = with maintainers; [ jluttine ];
36+ };
37+}
test/golden/importless/1_x.txtnew file
No changes to the content.
test/golden/importless/1compat.nixnew file+30
@@ -0,0 +1,30 @@
1+{ stdenv, gnupg, coreutils, writeScript }:
2+
3+stdenv.mkDerivation {
4+ name = "gnupg1compat-${gnupg.version}";
5+
6+ builder = writeScript "gnupg1compat-builder" ''
7+ PATH=${coreutils}/bin
8+ # First symlink all top-level dirs
9+ mkdir -p $out
10+ ln -s "${gnupg}/"* $out
11+
12+ # Replace bin with directory and symlink it contents
13+ rm $out/bin
14+ mkdir -p $out/bin
15+ ln -s "${gnupg}/bin/"* $out/bin
16+
17+ # Add symlinks for any executables that end in 2 and lack any non-*2 version
18+ for f in $out/bin/*2; do
19+ [[ -x $f ]] || continue # ignore failed globs and non-executable files
20+ [[ -e ''${f%2} ]] && continue # ignore commands that already have non-*2 versions
21+ ln -s -- "''${f##*/}" "''${f%2}"
22+ done
23+ '';
24+
25+ meta = gnupg.meta // {
26+ description = gnupg.meta.description +
27+ " with symbolic links for gpg and gpgv";
28+ priority = -1;
29+ };
30+}
test/golden/importless/1compat.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ. { coreutils = α; gnupg = β; stdenv = γ; writeScript = String -> δ } -> { builder = String; meta = { description = String; priority = Integer }; name = String }
test/golden/importless/2-default.nixnew file+89
@@ -0,0 +1,89 @@
1+{ stdenv, fetchFromGitHub, fetchpatch, substituteAll, libtool, pkgconfig, gettext, gnused
2+, gtk-doc, acl, systemd, glib, libatasmart, polkit, coreutils, bash, which
3+, expat, libxslt, docbook_xsl, utillinux, mdadm, libgudev, libblockdev, parted
4+, gobject-introspection, docbook_xml_dtd_412, docbook_xml_dtd_43, autoconf, automake
5+, xfsprogs, f2fs-tools, dosfstools, e2fsprogs, btrfs-progs, exfat, nilfs-utils, ntfs3g
6+}:
7+
8+stdenv.mkDerivation rec {
9+ pname = "udisks";
10+ version = "2.8.4";
11+
12+ src = fetchFromGitHub {
13+ owner = "storaged-project";
14+ repo = "udisks";
15+ rev = "${pname}-${version}";
16+ sha256 = "01wx2x8xyal595dhdih7rva2bz7gqzgwdp56gi0ikjdzayx17wcf";
17+ };
18+
19+ outputs = [ "out" "man" "dev" ] ++ stdenv.lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "devdoc";
20+
21+ patches = [
22+ (substituteAll {
23+ src = ./fix-paths.patch;
24+ bash = "${bash}/bin/bash";
25+ blkid = "${utillinux}/bin/blkid";
26+ false = "${coreutils}/bin/false";
27+ mdadm = "${mdadm}/bin/mdadm";
28+ sed = "${gnused}/bin/sed";
29+ sh = "${bash}/bin/sh";
30+ sleep = "${coreutils}/bin/sleep";
31+ true = "${coreutils}/bin/true";
32+ })
33+ (substituteAll {
34+ src = ./force-path.patch;
35+ path = stdenv.lib.makeBinPath [
36+ btrfs-progs coreutils dosfstools e2fsprogs exfat f2fs-tools nilfs-utils
37+ xfsprogs ntfs3g parted utillinux
38+ ];
39+ })
40+
41+ # Fix tests: https://github.com/storaged-project/udisks/issues/724
42+ (fetchpatch {
43+ url = "https://github.com/storaged-project/udisks/commit/60a0c1c967821d317046d9494e45b9a8e4e7a1c1.patch";
44+ sha256 = "0rlgqsxn7rb074x6ivm0ya5lywc4llifj5br0zr31mwwckv7hsdm";
45+ })
46+ ];
47+
48+ nativeBuildInputs = [
49+ autoconf automake pkgconfig libtool gettext which gobject-introspection
50+ gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl
51+ ];
52+
53+ postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
54+ substituteInPlace udisks/udisksclient.c \
55+ --replace 'defined( __GNUC_PREREQ)' 1 \
56+ --replace '__GNUC_PREREQ(4,6)' 1
57+ '';
58+
59+ buildInputs = [
60+ expat libgudev libblockdev acl systemd glib libatasmart polkit
61+ ];
62+
63+ preConfigure = "NOCONFIGURE=1 ./autogen.sh";
64+
65+ configureFlags = [
66+ (stdenv.lib.enableFeature (stdenv.buildPlatform == stdenv.hostPlatform) "gtk-doc")
67+ "--localstatedir=/var"
68+ "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
69+ "--with-udevdir=$(out)/lib/udev"
70+ "--with-tmpfilesdir=no"
71+ ];
72+
73+ makeFlags = [
74+ "INTROSPECTION_GIRDIR=$(dev)/share/gir-1.0"
75+ "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"
76+ ];
77+
78+ enableParallelBuilding = true;
79+
80+ doCheck = true;
81+
82+ meta = with stdenv.lib; {
83+ description = "A daemon, tools and libraries to access and manipulate disks, storage devices and technologies";
84+ homepage = "https://www.freedesktop.org/wiki/Software/udisks/";
85+ license = with licenses; [ lgpl2Plus gpl2Plus ]; # lgpl2Plus for the library, gpl2Plus for the tools & daemon
86+ maintainers = with maintainers; [ johnazoidberg ];
87+ platforms = platforms.linux;
88+ };
89+}
test/golden/importless/2-default.txtnew file
No changes to the content.
test/golden/importless/2.0.0.nixnew file+57
@@ -0,0 +1,57 @@
1+{ stdenv, fetchurl, erlang, icu, openssl, spidermonkey
2+, coreutils, bash, makeWrapper, python3 }:
3+
4+stdenv.mkDerivation rec {
5+ pname = "couchdb";
6+ version = "2.3.1";
7+
8+
9+ # when updating this, please consider bumping the OTP version
10+ # in all-packages.nix
11+ src = fetchurl {
12+ url = "mirror://apache/couchdb/source/${version}/apache-${pname}-${version}.tar.gz";
13+ sha256 = "0z926hjqyhxhyr65kqxwpmp80nyfqbig6d9dy8dqflpb87n8rss3";
14+ };
15+
16+ nativeBuildInputs = [ makeWrapper ];
17+ buildInputs = [ erlang icu openssl spidermonkey (python3.withPackages(ps: with ps; [ requests ]))];
18+
19+ patches = [ ./jsapi.patch ];
20+ postPatch = ''
21+ substituteInPlace src/couch/rebar.config.script --replace '-DHAVE_CURL -I/usr/local/include' "-DHAVE_CURL -I/usr/local/include $NIX_CFLAGS_COMPILE"
22+
23+ patch bin/rebar <<EOF
24+ 1c1
25+ < #!/usr/bin/env escript
26+ ---
27+ > #!${coreutils}/bin/env escript
28+ EOF
29+
30+ '';
31+
32+ # Configure a username. The build system would use "couchdb" as
33+ # default if none is provided. Note that it is unclear where this
34+ # username is actually used in the build, as any choice seems to be
35+ # working.
36+ configurePhase = ''
37+ ./configure -u nobody
38+ '';
39+
40+ buildPhase = ''
41+ make release
42+ '';
43+
44+ installPhase = ''
45+ mkdir -p $out
46+ cp -r rel/couchdb/* $out
47+ wrapProgram $out/bin/couchdb --suffix PATH : ${bash}/bin
48+ '';
49+
50+ meta = with stdenv.lib; {
51+ description = "A database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API";
52+ homepage = "http://couchdb.apache.org";
53+ license = licenses.asl20;
54+ platforms = platforms.all;
55+ maintainers = with maintainers; [ ];
56+ };
57+}
test/golden/importless/2.0.0.txtnew file
No changes to the content.
test/golden/importless/2.0.nixnew file+21
@@ -0,0 +1,21 @@
1+{ stdenv, fetchurl, cmake, libgcrypt, qt4, xorg, ... }:
2+
3+stdenv.mkDerivation rec {
4+ pname = "keepassx2";
5+ version = "2.0.3";
6+
7+ src = fetchurl {
8+ url = "https://www.keepassx.org/releases/${version}/keepassx-${version}.tar.gz";
9+ sha256 = "1ia7cqx9ias38mnffsl7da7g1f66bcbjsi23k49sln0c6spb9zr3";
10+ };
11+
12+ buildInputs = [ cmake libgcrypt qt4 xorg.libXtst ];
13+
14+ meta = {
15+ description = "Qt password manager compatible with its Win32 and Pocket PC versions";
16+ homepage = "https://www.keepassx.org/";
17+ license = stdenv.lib.licenses.gpl2;
18+ maintainers = with stdenv.lib.maintainers; [ qknight ];
19+ platforms = with stdenv.lib.platforms; linux;
20+ };
21+}
test/golden/importless/2.0.txtnew file
No changes to the content.
test/golden/importless/2.0x.nixnew file+134
@@ -0,0 +1,134 @@
1+{ stdenv, fetchgit, flex, bison, python3, autoconf, automake, gnulib, libtool
2+, gettext, ncurses, libusb-compat-0_1, freetype, qemu, lvm2, unifont, pkgconfig
3+, fuse # only needed for grub-mount
4+, zfs ? null
5+, efiSupport ? false
6+, zfsSupport ? true
7+, xenSupport ? false
8+}:
9+
10+with stdenv.lib;
11+let
12+ pcSystems = {
13+ i686-linux.target = "i386";
14+ x86_64-linux.target = "i386";
15+ };
16+
17+ efiSystemsBuild = {
18+ i686-linux.target = "i386";
19+ x86_64-linux.target = "x86_64";
20+ aarch64-linux.target = "aarch64";
21+ };
22+
23+ # For aarch64, we need to use '--target=aarch64-efi' when building,
24+ # but '--target=arm64-efi' when installing. Insanity!
25+ efiSystemsInstall = {
26+ i686-linux.target = "i386";
27+ x86_64-linux.target = "x86_64";
28+ aarch64-linux.target = "arm64";
29+ };
30+
31+ canEfi = any (system: stdenv.hostPlatform.system == system) (mapAttrsToList (name: _: name) efiSystemsBuild);
32+ inPCSystems = any (system: stdenv.hostPlatform.system == system) (mapAttrsToList (name: _: name) pcSystems);
33+
34+ version = "2.04";
35+
36+in (
37+
38+assert efiSupport -> canEfi;
39+assert zfsSupport -> zfs != null;
40+assert !(efiSupport && xenSupport);
41+
42+stdenv.mkDerivation rec {
43+ pname = "grub";
44+ inherit version;
45+
46+ src = fetchgit {
47+ url = "git://git.savannah.gnu.org/grub.git";
48+ rev = "${pname}-${version}";
49+ sha256 = "02gly3xw88pj4zzqjniv1fxa1ilknbq1mdk30bj6qy8n44g90i8w";
50+ };
51+
52+ patches = [
53+ ./fix-bash-completion.patch
54+ ];
55+
56+ nativeBuildInputs = [ bison flex python3 pkgconfig autoconf automake ];
57+ buildInputs = [ ncurses libusb-compat-0_1 freetype gettext lvm2 fuse libtool ]
58+ ++ optional doCheck qemu
59+ ++ optional zfsSupport zfs;
60+
61+ hardeningDisable = [ "all" ];
62+
63+ # Work around a bug in the generated flex lexer (upstream flex bug?)
64+ NIX_CFLAGS_COMPILE = "-Wno-error";
65+
66+ preConfigure =
67+ '' for i in "tests/util/"*.in
68+ do
69+ sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g'
70+ done
71+
72+ # Apparently, the QEMU executable is no longer called
73+ # `qemu-system-i386', even on i386.
74+ #
75+ # In addition, use `-nodefaults' to avoid errors like:
76+ #
77+ # chardev: opening backend "stdio" failed
78+ # qemu: could not open serial device 'stdio': Invalid argument
79+ #
80+ # See <http://www.mail-archive.com/qemu-devel@nongnu.org/msg22775.html>.
81+ sed -i "tests/util/grub-shell.in" \
82+ -e's/qemu-system-i386/qemu-system-x86_64 -nodefaults/g'
83+
84+ unset CPP # setting CPP intereferes with dependency calculation
85+
86+ patchShebangs .
87+
88+ ./bootstrap --no-git --gnulib-srcdir=${gnulib}
89+
90+ substituteInPlace ./configure --replace '/usr/share/fonts/unifont' '${unifont}/share/fonts'
91+ '';
92+
93+ configureFlags = [ "--enable-grub-mount" ] # dep of os-prober
94+ ++ optional zfsSupport "--enable-libzfs"
95+ ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystemsBuild.${stdenv.hostPlatform.system}.target}" "--program-prefix=" ]
96+ ++ optionals xenSupport [ "--with-platform=xen" "--target=${efiSystemsBuild.${stdenv.hostPlatform.system}.target}"];
97+
98+ # save target that grub is compiled for
99+ grubTarget = if efiSupport
100+ then "${efiSystemsInstall.${stdenv.hostPlatform.system}.target}-efi"
101+ else if inPCSystems
102+ then "${pcSystems.${stdenv.hostPlatform.system}.target}-pc"
103+ else "";
104+
105+ doCheck = false;
106+ enableParallelBuilding = true;
107+
108+ postInstall = ''
109+ # Avoid a runtime reference to gcc
110+ sed -i $out/lib/grub/*/modinfo.sh -e "/grub_target_cppflags=/ s|'.*'|' '|"
111+ '';
112+
113+ meta = with stdenv.lib; {
114+ description = "GNU GRUB, the Grand Unified Boot Loader (2.x beta)";
115+
116+ longDescription =
117+ '' GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand
118+ Unified Bootloader, which was originally designed and implemented by
119+ Erich Stefan Boleyn.
120+
121+ Briefly, the boot loader is the first software program that runs when a
122+ computer starts. It is responsible for loading and transferring
123+ control to the operating system kernel software (such as the Hurd or
124+ the Linux). The kernel, in turn, initializes the rest of the
125+ operating system (e.g., GNU).
126+ '';
127+
128+ homepage = "https://www.gnu.org/software/grub/";
129+
130+ license = licenses.gpl3Plus;
131+
132+ platforms = platforms.gnu ++ platforms.linux;
133+ };
134+})
test/golden/importless/2.0x.txtnew file
No changes to the content.
test/golden/importless/2.1.1.nixnew file+70
@@ -0,0 +1,70 @@
1+{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam
2+, Carbon ? null, Cocoa ? null }:
3+
4+stdenv.mkDerivation {
5+ name = "riak_cs-2.1.1";
6+
7+ buildInputs = [
8+ which unzip erlang git wget
9+ ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ]
10+ ++ lib.optional stdenv.isLinux [ pam ];
11+
12+ src = fetchurl {
13+ url = "https://s3.amazonaws.com/downloads.basho.com/riak-cs/2.1/2.1.1/riak-cs-2.1.1.tar.gz";
14+ sha256 = "115cac127aac6d759c1b429a52e0d18e491c0719a6530b1b88aa52c4efdbedd5";
15+ };
16+
17+
18+ postPatch = ''
19+ sed -i deps/node_package/priv/base/env.sh \
20+ -e 's@{{platform_data_dir}}@''${RIAK_DATA_DIR:-/var/db/riak-cs}@' \
21+ -e 's@^RUNNER_SCRIPT_DIR=.*@RUNNER_SCRIPT_DIR='$out'/bin@' \
22+ -e 's@^RUNNER_BASE_DIR=.*@RUNNER_BASE_DIR='$out'@' \
23+ -e 's@^RUNNER_ETC_DIR=.*@RUNNER_ETC_DIR=''${RIAK_ETC_DIR:-/etc/riak-cs}@' \
24+ -e 's@^RUNNER_LOG_DIR=.*@RUNNER_LOG_DIR=''${RIAK_LOG_DIR:-/var/log}@'
25+
26+ sed -i ./Makefile \
27+ -e 's@rel: deps compile@rel: deps compile-src@'
28+ '';
29+
30+ preBuild = ''
31+ patchShebangs .
32+ '';
33+
34+ buildPhase = ''
35+ runHook preBuild
36+
37+ make locked-deps
38+ make rel
39+
40+ runHook postBuild
41+ '';
42+
43+ doCheck = false;
44+
45+ installPhase = ''
46+ runHook preInstall
47+
48+ mkdir $out
49+ mv rel/riak-cs/etc rel/riak-cs/riak-etc
50+ mkdir -p rel/riak-cs/etc
51+ mv rel/riak-cs/riak-etc rel/riak-cs/etc/riak-cs
52+ mv rel/riak-cs/* $out
53+
54+ for prog in $out/bin/*; do
55+ substituteInPlace $prog \
56+ --replace '. "`cd \`dirname $0\` && /bin/pwd`/../lib/env.sh"' \
57+ ". $out/lib/env.sh"
58+ done
59+
60+ runHook postInstall
61+ '';
62+
63+ meta = with lib; {
64+ description = "Dynamo inspired NoSQL DB by Basho with S3 compatibility";
65+ platforms = [ "x86_64-linux" "x86_64-darwin" ];
66+ license = licenses.asl20;
67+ maintainers = with maintainers; [ mdaiter ];
68+ knownVulnerabilities = [ "CVE-2017-3163 - see https://github.com/NixOS/nixpkgs/issues/33876" ];
69+ };
70+}
test/golden/importless/2.1.1.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { Carbon = Null; Cocoa = Null; erlang = β; fetchurl = { sha256 = String; url = String } -> γ; git = β; lib = δ; pam = Null; stdenv = ε; unzip = β; wget = β; which = Null } -> { buildInputs = [Null]; buildPhase = String; doCheck = Bool; installPhase = String; meta = { description = String; knownVulnerabilities = [String]; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = [String] }; name = String; postPatch = String; preBuild = String; src = { sha256 = String; url = String } }
test/golden/importless/2.1.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "2.1.20";
5+ sha256 = "0ik7a4jg3s3xnyrj1sa0rvbh066fv1y2202l7cv6nbca72pgyl6a";
6+})
test/golden/importless/2.1.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { callPackage = Path -> α; sha256 = String; version = String }
test/golden/importless/2.10.nixnew file+43
@@ -0,0 +1,43 @@
1+{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
2+
3+stdenv.mkDerivation rec {
4+ name = "scala-2.10.7";
5+
6+ src = fetchurl {
7+ url = "https://www.scala-lang.org/files/archive/${name}.tgz";
8+ sha256 = "04gi55lzgrhsb78qw8jmnccqim92rw6898knw0a7gfzn2sci30wj";
9+ };
10+
11+ propagatedBuildInputs = [ jre ] ;
12+ buildInputs = [ makeWrapper ] ;
13+
14+ installPhase = ''
15+ mkdir -p $out
16+ rm bin/*.bat
17+ mv * $out
18+
19+ for p in $(ls $out/bin/) ; do
20+ wrapProgram $out/bin/$p \
21+ --prefix PATH ":" ${coreutils}/bin \
22+ --prefix PATH ":" ${gnugrep}/bin \
23+ --prefix PATH ":" ${jre}/bin \
24+ --set JAVA_HOME ${jre}
25+ done
26+ '';
27+
28+ meta = {
29+ description = "A general purpose programming language";
30+ longDescription = ''
31+ Scala is a general purpose programming language designed to express
32+ common programming patterns in a concise, elegant, and type-safe way.
33+ It smoothly integrates features of object-oriented and functional
34+ languages, enabling Java and other programmers to be more productive.
35+ Code sizes are typically reduced by a factor of two to three when
36+ compared to an equivalent Java application.
37+ '';
38+ homepage = "https://www.scala-lang.org/";
39+ license = stdenv.lib.licenses.bsd3;
40+ platforms = stdenv.lib.platforms.all;
41+ branch = "2.10";
42+ };
43+}
test/golden/importless/2.10.txtnew file
No changes to the content.
test/golden/importless/2.11.nixnew file+48
@@ -0,0 +1,48 @@
1+{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
2+
3+stdenv.mkDerivation rec {
4+ name = "scala-2.11.12";
5+
6+ src = fetchurl {
7+ url = "https://www.scala-lang.org/files/archive/${name}.tgz";
8+ sha256 = "1a4nc4qp9dm4rps47j92hlmxxqskv67qbdmjqc5zd94wd4rps7di";
9+ };
10+
11+ propagatedBuildInputs = [ jre ] ;
12+ buildInputs = [ makeWrapper ] ;
13+
14+ installPhase = ''
15+ mkdir -p $out
16+ rm "bin/"*.bat
17+ mv * $out
18+
19+ # put docs in correct subdirectory
20+ mkdir -p $out/share/doc
21+ mv $out/doc $out/share/doc/${name}
22+ mv $out/man $out/share/man
23+
24+ for p in $(ls $out/bin/) ; do
25+ wrapProgram $out/bin/$p \
26+ --prefix PATH ":" ${coreutils}/bin \
27+ --prefix PATH ":" ${gnugrep}/bin \
28+ --prefix PATH ":" ${jre}/bin \
29+ --set JAVA_HOME ${jre}
30+ done
31+ '';
32+
33+ meta = {
34+ description = "General purpose programming language";
35+ longDescription = ''
36+ Scala is a general purpose programming language designed to express
37+ common programming patterns in a concise, elegant, and type-safe way.
38+ It smoothly integrates features of object-oriented and functional
39+ languages, enabling Java and other programmers to be more productive.
40+ Code sizes are typically reduced by a factor of two to three when
41+ compared to an equivalent Java application.
42+ '';
43+ homepage = "https://www.scala-lang.org/";
44+ license = stdenv.lib.licenses.bsd3;
45+ platforms = stdenv.lib.platforms.all;
46+ branch = "2.11";
47+ };
48+}
test/golden/importless/2.11.txtnew file
No changes to the content.
test/golden/importless/2.12.nixnew file+47
@@ -0,0 +1,47 @@
1+{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
2+
3+stdenv.mkDerivation rec {
4+ name = "scala-2.12.10";
5+
6+ src = fetchurl {
7+ url = "https://www.scala-lang.org/files/archive/${name}.tgz";
8+ sha256 = "0sk5n3ir5zkgr8jayq5pn4l87ia5zmjr2zzwchgxkv8g62ivs4iv";
9+ };
10+
11+ propagatedBuildInputs = [ jre ] ;
12+ buildInputs = [ makeWrapper ] ;
13+
14+ installPhase = ''
15+ mkdir -p $out
16+ rm "bin/"*.bat
17+ mv * $out
18+
19+ # put docs in correct subdirectory
20+ mkdir -p $out/share/doc
21+ mv $out/doc $out/share/doc/scala
22+ mv $out/{LICENSE,NOTICE} $out/share/doc/scala
23+
24+ for p in $(ls $out/bin/) ; do
25+ wrapProgram $out/bin/$p \
26+ --prefix PATH ":" ${coreutils}/bin \
27+ --prefix PATH ":" ${gnugrep}/bin \
28+ --prefix PATH ":" ${jre}/bin \
29+ --set JAVA_HOME ${jre}
30+ done
31+ '';
32+
33+ meta = {
34+ description = "General purpose programming language";
35+ longDescription = ''
36+ Scala is a general purpose programming language designed to express
37+ common programming patterns in a concise, elegant, and type-safe way.
38+ It smoothly integrates features of object-oriented and functional
39+ languages, enabling Java and other programmers to be more productive.
40+ Code sizes are typically reduced by a factor of two to three when
41+ compared to an equivalent Java application.
42+ '';
43+ homepage = "https://www.scala-lang.org/";
44+ license = stdenv.lib.licenses.bsd3;
45+ platforms = stdenv.lib.platforms.all;
46+ };
47+}
test/golden/importless/2.12.txtnew file
No changes to the content.
test/golden/importless/2.13.nixnew file+47
@@ -0,0 +1,47 @@
1+{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
2+
3+stdenv.mkDerivation rec {
4+ name = "scala-2.13.3";
5+
6+ src = fetchurl {
7+ url = "https://www.scala-lang.org/files/archive/${name}.tgz";
8+ sha256 = "0zv9w9f6g2cfydsvp8mqcfgv2v3487xp4ca1qndg6v7jrhdp7wy9";
9+ };
10+
11+ propagatedBuildInputs = [ jre ] ;
12+ buildInputs = [ makeWrapper ] ;
13+
14+ installPhase = ''
15+ mkdir -p $out
16+ rm "bin/"*.bat
17+ mv * $out
18+
19+ # put docs in correct subdirectory
20+ mkdir -p $out/share/doc
21+ mv $out/doc $out/share/doc/scala
22+ mv $out/{LICENSE,NOTICE} $out/share/doc/scala
23+
24+ for p in $(ls $out/bin/) ; do
25+ wrapProgram $out/bin/$p \
26+ --prefix PATH ":" ${coreutils}/bin \
27+ --prefix PATH ":" ${gnugrep}/bin \
28+ --prefix PATH ":" ${jre}/bin \
29+ --set JAVA_HOME ${jre}
30+ done
31+ '';
32+
33+ meta = {
34+ description = "General purpose programming language";
35+ longDescription = ''
36+ Scala is a general purpose programming language designed to express
37+ common programming patterns in a concise, elegant, and type-safe way.
38+ It smoothly integrates features of object-oriented and functional
39+ languages, enabling Java and other programmers to be more productive.
40+ Code sizes are typically reduced by a factor of two to three when
41+ compared to an equivalent Java application.
42+ '';
43+ homepage = "https://www.scala-lang.org/";
44+ license = stdenv.lib.licenses.bsd3;
45+ platforms = stdenv.lib.platforms.all;
46+ };
47+}
test/golden/importless/2.13.txtnew file
No changes to the content.
test/golden/importless/2.14.0.nixnew file+41
@@ -0,0 +1,41 @@
1+{ stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk2, libgnomecanvas, libglade, gtksourceview, camlp4 }:
2+
3+if stdenv.lib.versionAtLeast ocaml.version "4.04"
4+then throw "lablgtk-2.14 is not available for OCaml ${ocaml.version}" else
5+
6+let
7+ pname = "lablgtk";
8+in
9+
10+stdenv.mkDerivation (rec {
11+ name = "${pname}-${version}";
12+ version = "2.14.0";
13+
14+ src = fetchurl {
15+ url = "https://forge.ocamlcore.org/frs/download.php/561/${name}.tar.gz";
16+ sha256 = "1fnh0amm7lwgyjdhmlqgsp62gwlar1140425yc1j6inwmgnsp0a9";
17+ };
18+
19+ nativeBuildInputs = [ pkgconfig ];
20+ buildInputs = [ ocaml findlib gtk2 libgnomecanvas libglade gtksourceview camlp4 ];
21+
22+ configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ];
23+ buildFlags = [ "world" ];
24+
25+ preInstall = ''
26+ mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib
27+ export OCAMLPATH=$out/lib/ocaml/${ocaml.version}/site-lib/:$OCAMLPATH
28+ '';
29+
30+ meta = {
31+ branch = "2.14";
32+ platforms = ocaml.meta.platforms or [];
33+ maintainers = [
34+ stdenv.lib.maintainers.maggesi
35+ stdenv.lib.maintainers.roconnor
36+ ];
37+ homepage = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html";
38+ description = "LablGTK is is an Objective Caml interface to GTK";
39+ license = stdenv.lib.licenses.lgpl21Plus;
40+ };
41+})
test/golden/importless/2.14.0.txtnew file
No changes to the content.
test/golden/importless/2.2.0.nixnew file+98
@@ -0,0 +1,98 @@
1+{ stdenv, lib, fetchurl, unzip, erlang, which, pam }:
2+
3+let
4+ solrName = "solr-4.10.4-yz-2.tgz";
5+ yokozunaJarName = "yokozuna-3.jar";
6+ yzMonitorJarName = "yz_monitor-1.jar";
7+
8+ srcs = {
9+ riak = fetchurl {
10+ url = "https://s3.amazonaws.com/downloads.basho.com/riak/2.2/2.2.0/riak-2.2.0.tar.gz";
11+ sha256 = "0kl28bpyzajcllybili46jfr1schl45w5ysii187jr0ssgls2c9p";
12+ };
13+ solr = fetchurl {
14+ url = "http://s3.amazonaws.com/files.basho.com/solr/${solrName}";
15+ sha256 = "0fy5slnldn628gmr2kilyx606ph0iykf7pz6j0xjcc3wqvrixa2a";
16+ };
17+ yokozunaJar = fetchurl {
18+ url = "http://s3.amazonaws.com/files.basho.com/yokozuna/${yokozunaJarName}";
19+ sha256 = "17n6m100fz8affdcxsn4niw2lrpnswgfnd6aszgzipffwbg7v8v5";
20+ };
21+ yzMonitorJar = fetchurl {
22+ url = "http://s3.amazonaws.com/files.basho.com/yokozuna/${yzMonitorJarName}";
23+ sha256 = "0kb97d1a43vw759j1h5qwbhx455pidn2pi7sfxijqic37h81ri1m";
24+ };
25+ };
26+in
27+
28+stdenv.mkDerivation {
29+ name = "riak-2.2.0";
30+
31+ buildInputs = [
32+ which unzip erlang pam
33+ ];
34+
35+ src = srcs.riak;
36+
37+ hardeningDisable = [ "format" ];
38+
39+ postPatch = ''
40+ sed -i deps/node_package/priv/base/env.sh \
41+ -e 's@{{platform_data_dir}}@''${RIAK_DATA_DIR:-/var/db/riak}@' \
42+ -e 's@^RUNNER_SCRIPT_DIR=.*@RUNNER_SCRIPT_DIR='$out'/bin@' \
43+ -e 's@^RUNNER_BASE_DIR=.*@RUNNER_BASE_DIR='$out'@' \
44+ -e 's@^RUNNER_ETC_DIR=.*@RUNNER_ETC_DIR=''${RIAK_ETC_DIR:-/etc/riak}@' \
45+ -e 's@^RUNNER_LOG_DIR=.*@RUNNER_LOG_DIR=''${RIAK_LOG_DIR:-/var/log}@'
46+ '';
47+
48+ preBuild = ''
49+ mkdir solr-pkg
50+ cp ${srcs.solr} solr-pkg/${solrName}
51+ export SOLR_PKG_DIR=$(readlink -f solr-pkg)
52+
53+ mkdir -p deps/yokozuna/priv/java_lib
54+ cp ${srcs.yokozunaJar} deps/yokozuna/priv/java_lib/${yokozunaJarName}
55+
56+ mkdir -p deps/yokozuna/priv/solr/lib/ext
57+ cp ${srcs.yzMonitorJar} deps/yokozuna/priv/solr/lib/ext/${yzMonitorJarName}
58+
59+ patchShebangs .
60+ '';
61+
62+ buildPhase = ''
63+ runHook preBuild
64+
65+ make locked-deps
66+ make rel
67+
68+ runHook postBuild
69+ '';
70+
71+ doCheck = false;
72+
73+ installPhase = ''
74+ runHook preInstall
75+
76+ mkdir $out
77+ mv rel/riak/etc rel/riak/riak-etc
78+ mkdir -p rel/riak/etc
79+ mv rel/riak/riak-etc rel/riak/etc/riak
80+ mv rel/riak/* $out
81+
82+ for prog in $out/bin/*; do
83+ substituteInPlace $prog \
84+ --replace '. "`cd \`dirname $0\` && /bin/pwd`/../lib/env.sh"' \
85+ ". $out/lib/env.sh"
86+ done
87+
88+ runHook postInstall
89+ '';
90+
91+ meta = with lib; {
92+ maintainers = with maintainers; [ cstrahan mdaiter ];
93+ description = "Dynamo inspired NoSQL DB by Basho";
94+ platforms = [ "x86_64-linux" ];
95+ license = licenses.asl20;
96+ knownVulnerabilities = [ "CVE-2017-3163 - see https://github.com/NixOS/nixpkgs/issues/33876" ];
97+ };
98+}
test/golden/importless/2.2.0.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { erlang = β; fetchurl = { sha256 = String; url = String } -> γ; lib = δ; pam = β; stdenv = ε; unzip = β; which = β } -> { buildInputs = [β]; buildPhase = String; doCheck = Bool; hardeningDisable = [String]; installPhase = String; meta = { description = String; knownVulnerabilities = [String]; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = [String] }; name = String; postPatch = String; preBuild = String; src = { sha256 = String; url = String } }
test/golden/importless/2.2.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "2.2.14";
5+ sha256 = "1b2x3q1ach44qg07sh8wr7d8a10n36w5522drd3p35djbiwa3d9q";
6+})
test/golden/importless/2.2.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { callPackage = Path -> α; sha256 = String; version = String }
test/golden/importless/2.22.nixnew file+45
@@ -0,0 +1,45 @@
1+{stdenv, fetchurl, unzip}:
2+let
3+ s = # Generated upstream information
4+ rec {
5+ baseName="angelscript";
6+ version = "2.22.2";
7+ name="${baseName}-${version}";
8+ url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
9+ sha256 = "1pp853lbnz383ilp9wbgc3wv1dn7lpx3idz8dmzda94rckl7sd43";
10+ };
11+ buildInputs = [
12+ unzip
13+ ];
14+in
15+stdenv.mkDerivation {
16+ inherit (s) name version;
17+ inherit buildInputs;
18+ src = fetchurl {
19+ inherit (s) url sha256;
20+ };
21+ preConfigure = ''
22+ cd angelscript/projects/gnuc
23+ sed -i makefile -e "s@LOCAL = .*@LOCAL = $out@"
24+ export SHARED=1
25+ export VERSION="${s.version}"
26+ mkdir -p "$out/lib" "$out/bin" "$out/share" "$out/include"
27+ '';
28+ postBuild = ''
29+ rm ../../lib/*
30+ '';
31+ postInstall = ''
32+ mkdir -p "$out/share/docs/angelscript"
33+ cp -r ../../../docs/* "$out/share/docs/angelscript"
34+ '';
35+ meta = {
36+ inherit (s) version;
37+ description = "Light-weight scripting library";
38+ license = stdenv.lib.licenses.zlib ;
39+ maintainers = [stdenv.lib.maintainers.raskin];
40+ platforms = stdenv.lib.platforms.linux;
41+ badPlatforms = [ "aarch64-linux" ];
42+ downloadPage = "http://www.angelcode.com/angelscript/downloads.html";
43+ homepage="http://www.angelcode.com/angelscript/";
44+ };
45+}
test/golden/importless/2.22.txtnew file
No changes to the content.
test/golden/importless/2.26.nixnew file+41
@@ -0,0 +1,41 @@
1+{stdenv, fetchurl, texinfo, texLive, perl}:
2+let
3+ s = # Generated upstream information
4+ rec {
5+ baseName="asdf";
6+ version="2.26";
7+ name="${baseName}-${version}";
8+ url="http://common-lisp.net/project/asdf/archives/asdf-${version}.tar.gz";
9+ sha256="1qzp444rgnqf1cz9v48nh0yvz7wjq9fjdpimifsfcjswaqi2xrdn";
10+ };
11+ buildInputs = [
12+ texinfo texLive perl
13+ ];
14+in
15+stdenv.mkDerivation {
16+ inherit (s) name version;
17+ inherit buildInputs;
18+ src = fetchurl {
19+ inherit (s) url sha256;
20+ };
21+
22+ buildPhase = ''
23+ make asdf.lisp
24+ mkdir build
25+ ln -s ../asdf.lisp build
26+ '';
27+ installPhase = ''
28+ mkdir -p "$out"/lib/common-lisp/asdf/
29+ mkdir -p "$out"/share/doc/asdf/
30+ cp -r ./* "$out"/lib/common-lisp/asdf/
31+ cp -r doc/* "$out"/share/doc/asdf/
32+ ln -s "$out"/lib/common-lisp/{asdf/uiop,uiop}
33+ '';
34+ meta = {
35+ inherit (s) version;
36+ description = ''Standard software-system definition library for Common Lisp'';
37+ license = stdenv.lib.licenses.mit ;
38+ maintainers = [stdenv.lib.maintainers.raskin];
39+ platforms = stdenv.lib.platforms.linux;
40+ };
41+}
test/golden/importless/2.26.txtnew file
No changes to the content.
test/golden/importless/2.4.0.nixnew file+25
@@ -0,0 +1,25 @@
1+{ stdenv, fetchurl, unzip }:
2+
3+stdenv.mkDerivation {
4+ name = "gwt-java-2.4.0";
5+
6+ src = fetchurl {
7+ url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/google-web-toolkit/gwt-2.4.0.zip";
8+ sha256 = "1gvyg00vx7fdqgfl2w7nhql78clg3abs6fxxy7m03pprdm5qmm17";
9+ };
10+
11+ buildInputs = [ unzip ];
12+
13+ installPhase = ''
14+ mkdir -p $out
15+ unzip $src
16+ mv gwt-2.4.0 $out/bin
17+ '';
18+
19+ meta = {
20+ homepage = "http://www.gwtproject.org/";
21+ description = "A development toolkit for building and optimizing complex browser-based applications";
22+ license = stdenv.lib.licenses.asl20;
23+ platforms = stdenv.lib.platforms.unix;
24+ };
25+}
test/golden/importless/2.4.0.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; stdenv = γ; unzip = δ } -> { buildInputs = [δ]; installPhase = String; meta = { description = String; homepage = String; license = ∀ α. α; platforms = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/2.4.nixnew file+97
@@ -0,0 +1,97 @@
1+{ stdenv, fetchurl, perl, zlib, apr, aprutil, pcre, libiconv, lynx
2+, proxySupport ? true
3+, sslSupport ? true, openssl
4+, http2Support ? true, nghttp2
5+, ldapSupport ? true, openldap
6+, libxml2Support ? true, libxml2
7+, brotliSupport ? true, brotli
8+, luaSupport ? false, lua5
9+}:
10+
11+let inherit (stdenv.lib) optional;
12+in
13+
14+assert sslSupport -> aprutil.sslSupport && openssl != null;
15+assert ldapSupport -> aprutil.ldapSupport && openldap != null;
16+assert http2Support -> nghttp2 != null;
17+
18+stdenv.mkDerivation rec {
19+ version = "2.4.46";
20+ pname = "apache-httpd";
21+
22+ src = fetchurl {
23+ url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
24+ sha256 = "1sj1rwgbcjgkzac3ybjy7j68c9b3dv3ap71m48mrjhf6w7vds3kl";
25+ };
26+
27+ # FIXME: -dev depends on -doc
28+ outputs = [ "out" "dev" "man" "doc" ];
29+ setOutputFlags = false; # it would move $out/modules, etc.
30+
31+ buildInputs = [perl] ++
32+ optional brotliSupport brotli ++
33+ optional sslSupport openssl ++
34+ optional ldapSupport openldap ++ # there is no --with-ldap flag
35+ optional libxml2Support libxml2 ++
36+ optional http2Support nghttp2 ++
37+ optional stdenv.isDarwin libiconv;
38+
39+ prePatch = ''
40+ sed -i config.layout -e "s|installbuilddir:.*|installbuilddir: $dev/share/build|"
41+ sed -i support/apachectl.in -e 's|@LYNX_PATH@|${lynx}/bin/lynx|'
42+ '';
43+
44+ # Required for ‘pthread_cancel’.
45+ NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
46+
47+ configureFlags = [
48+ "--with-apr=${apr.dev}"
49+ "--with-apr-util=${aprutil.dev}"
50+ "--with-z=${zlib.dev}"
51+ "--with-pcre=${pcre.dev}"
52+ "--disable-maintainer-mode"
53+ "--disable-debugger-mode"
54+ "--enable-mods-shared=all"
55+ "--enable-mpms-shared=all"
56+ "--enable-cern-meta"
57+ "--enable-imagemap"
58+ "--enable-cgi"
59+ "--includedir=${placeholder "dev"}/include"
60+ (stdenv.lib.enableFeature proxySupport "proxy")
61+ (stdenv.lib.enableFeature sslSupport "ssl")
62+ (stdenv.lib.withFeatureAs libxml2Support "libxml2" "${libxml2.dev}/include/libxml2")
63+ "--docdir=$(doc)/share/doc"
64+
65+ (stdenv.lib.enableFeature brotliSupport "brotli")
66+ (stdenv.lib.withFeatureAs brotliSupport "brotli" brotli)
67+
68+ (stdenv.lib.enableFeature http2Support "http2")
69+ (stdenv.lib.withFeature http2Support "nghttp2")
70+
71+ (stdenv.lib.enableFeature luaSupport "lua")
72+ (stdenv.lib.withFeatureAs luaSupport "lua" lua5)
73+ ];
74+
75+ enableParallelBuilding = true;
76+
77+ stripDebugList = [ "lib" "modules" "bin" ];
78+
79+ postInstall = ''
80+ mkdir -p $doc/share/doc/httpd
81+ mv $out/manual $doc/share/doc/httpd
82+ mkdir -p $dev/bin
83+ mv $out/bin/apxs $dev/bin/apxs
84+ '';
85+
86+ passthru = {
87+ inherit apr aprutil sslSupport proxySupport ldapSupport;
88+ };
89+
90+ meta = with stdenv.lib; {
91+ description = "Apache HTTPD, the world's most popular web server";
92+ homepage = "http://httpd.apache.org/";
93+ license = licenses.asl20;
94+ platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
95+ maintainers = with maintainers; [ lovek323 peti ];
96+ };
97+}
test/golden/importless/2.4.txtnew file
No changes to the content.
test/golden/importless/2.5.35.nixnew file+33
@@ -0,0 +1,33 @@
1+{ stdenv, fetchurl, autoreconfHook, flex, bison, texinfo, help2man, m4 }:
2+
3+stdenv.mkDerivation {
4+ name = "flex-2.5.35";
5+
6+ src = fetchurl {
7+ url = "https://github.com/westes/flex/archive/flex-2-5-35.tar.gz";
8+ sha256 = "0wh06nix8bd4w1aq4k2fbbkdq5i30a9lxz3xczf3ff28yy0kfwzm";
9+ };
10+
11+ postPatch = ''
12+ patchShebangs tests
13+ '';
14+
15+ nativeBuildInputs = [ flex bison texinfo help2man autoreconfHook ];
16+
17+ propagatedBuildInputs = [ m4 ];
18+
19+ preConfigure = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
20+ "ac_cv_func_malloc_0_nonnull=yes"
21+ "ac_cv_func_realloc_0_nonnull=yes"
22+ ];
23+
24+ doCheck = false; # fails 2 out of 46 tests
25+
26+ meta = with stdenv.lib; {
27+ branch = "2.5.35";
28+ homepage = "http://flex.sourceforge.net/";
29+ description = "A fast lexical analyser generator";
30+ license = licenses.bsd2;
31+ platforms = platforms.unix;
32+ };
33+}
test/golden/importless/2.5.35.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { autoreconfHook = β; bison = β; fetchurl = { sha256 = String; url = String } -> γ; flex = β; help2man = β; m4 = δ; stdenv = ε; texinfo = β } -> { doCheck = Bool; meta = { branch = String; description = String; homepage = String; license = ∀ α. α; platforms = ∀ α. α }; name = String; nativeBuildInputs = [β]; postPatch = String; preConfigure = [String]; propagatedBuildInputs = [δ]; src = { sha256 = String; url = String } }
test/golden/importless/2.5.nixnew file+10
@@ -0,0 +1,10 @@
1+{ callPackage, fetchurl, ... } @ args:
2+
3+callPackage ./generic.nix (args // rec {
4+ version = "2.5.0";
5+ # make sure you test also -A pythonPackages.protobuf
6+ src = fetchurl {
7+ url = "http://protobuf.googlecode.com/files/${version}.tar.bz2";
8+ sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk";
9+ };
10+})
test/golden/importless/2.5.txtnew file
No changes to the content.
test/golden/importless/2.6.1.nixnew file+36
@@ -0,0 +1,36 @@
1+{ stdenv, fetchurl, bison, m4 }:
2+
3+stdenv.mkDerivation {
4+ name = "flex-2.6.1";
5+
6+ src = fetchurl {
7+ url = "https://github.com/westes/flex/releases/download/v2.6.1/flex-2.6.1.tar.gz";
8+ sha256 = "0fy14c35yz2m1n1m4f02by3501fn0cca37zn7jp8lpp4b3kgjhrw";
9+ };
10+
11+ postPatch = ''
12+ patchShebangs tests
13+ '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
14+ substituteInPlace Makefile.in --replace "tests" " ";
15+ '';
16+
17+ buildInputs = [ bison ];
18+
19+ propagatedBuildInputs = [ m4 ];
20+
21+ preConfigure = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
22+ "ac_cv_func_malloc_0_nonnull=yes"
23+ "ac_cv_func_realloc_0_nonnull=yes"
24+ ];
25+
26+ postConfigure = stdenv.lib.optionalString (stdenv.isDarwin || stdenv.isCygwin) ''
27+ sed -i Makefile -e 's/-no-undefined//;'
28+ '';
29+
30+ meta = with stdenv.lib; {
31+ homepage = "https://github.com/westes/flex";
32+ description = "A fast lexical analyser generator";
33+ license = licenses.bsd2;
34+ platforms = platforms.unix;
35+ };
36+}
test/golden/importless/2.6.1.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { bison = β; fetchurl = { sha256 = String; url = String } -> γ; m4 = δ; stdenv = ε } -> { buildInputs = [β]; meta = { description = String; homepage = String; license = ∀ α. α; platforms = ∀ α. α }; name = String; postConfigure = String; postPatch = String; preConfigure = [String]; propagatedBuildInputs = [δ]; src = { sha256 = String; url = String } }
test/golden/importless/2.6.13-pre.nixnew file+51
@@ -0,0 +1,51 @@
1+{ stdenv, fetchgit, mpfr, m4, binutils, emacs, zlib, which
2+, texinfo, libX11, xorgproto, libXi, gmp, readline, strace
3+, libXext, libXt, libXaw, libXmu } :
4+
5+assert stdenv ? cc ;
6+assert stdenv.cc.isGNU ;
7+assert stdenv.cc ? libc ;
8+assert stdenv.cc.libc != null ;
9+
10+stdenv.mkDerivation {
11+ pname = "gcl";
12+ version = "2.6.13pre50";
13+
14+ src = fetchgit {
15+ sha256 = "0vpxb6z5g9fjavrgx8gz8fsjvskfz64f63qibh5s00fvvndlwi88";
16+ url = "https://git.savannah.gnu.org/r/gcl.git";
17+ rev = "refs/tags/Version_2_6_13pre50";
18+ };
19+
20+ postPatch = ''
21+ sed -e 's/<= obj-date/<= (if (= 0 obj-date) 1 obj-date)/' -i lsp/make.lisp
22+ ''
23+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902475
24+ + ''
25+ substituteInPlace h/elf64_i386_reloc.h \
26+ --replace 'case R_X86_64_PC32:' 'case R_X86_64_PC32: case R_X86_64_PLT32:'
27+ '';
28+
29+ sourceRoot = "gcl/gcl";
30+
31+ patches = [];
32+
33+ buildInputs = [
34+ mpfr m4 binutils emacs gmp
35+ libX11 xorgproto libXi
36+ libXext libXt libXaw libXmu
37+ zlib which texinfo readline strace
38+ ];
39+
40+ configureFlags = [
41+ "--enable-ansi"
42+ ];
43+
44+ hardeningDisable = [ "pic" "bindnow" ];
45+
46+ meta = {
47+ description = "GNU Common Lisp compiler working via GCC";
48+ maintainers = [ stdenv.lib.maintainers.raskin ];
49+ platforms = stdenv.lib.platforms.linux;
50+ };
51+}
test/golden/importless/2.6.13-pre.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ. { binutils = γ; emacs = γ; fetchgit = { rev = String; sha256 = String; url = String } -> δ; gmp = γ; libX11 = γ; libXaw = γ; libXext = γ; libXi = γ; libXmu = γ; libXt = γ; m4 = γ; mpfr = γ; readline = γ; stdenv = Bool; strace = γ; texinfo = γ; which = γ; xorgproto = γ; zlib = γ } -> { buildInputs = [γ]; configureFlags = [String]; hardeningDisable = [String]; meta = { description = String; maintainers = ∀ α. [α]; platforms = ∀ α. α }; patches = ∀ β. β; pname = String; postPatch = String; sourceRoot = String; src = { rev = String; sha256 = String; url = String }; version = String }
test/golden/importless/2.6.2.nixnew file+80
@@ -0,0 +1,80 @@
1+{ stdenv, fetchurl, unzip }:
2+
3+let
4+ version = "2.6.2";
5+ SHLIB_EXT = stdenv.hostPlatform.extensions.sharedLibrary;
6+in stdenv.mkDerivation {
7+ pname = "tinyxml";
8+ inherit version;
9+
10+ src = fetchurl {
11+ url = "mirror://sourceforge/project/tinyxml/tinyxml/${version}/tinyxml_2_6_2.zip";
12+ sha256 = "04nmw6im2d1xp12yir8va93xns5iz816pwi25n9cql3g3i8bjsxc";
13+ };
14+
15+ patches = [
16+ # add pkgconfig file
17+ ./2.6.2-add-pkgconfig.patch
18+
19+ # https://sourceforge.net/tracker/index.php?func=detail&aid=3031828&group_id=13559&atid=313559
20+ ./2.6.2-entity.patch
21+
22+ # Use CC, CXX, and LD from environment
23+ ./2.6.2-cxx.patch
24+ ];
25+
26+ preConfigure = "export LD=${stdenv.cc.targetPrefix}c++";
27+
28+ hardeningDisable = [ "format" ];
29+
30+ NIX_CFLAGS_COMPILE =
31+ stdenv.lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.9";
32+
33+ nativeBuildInputs = [ unzip ];
34+ buildPhase = ''
35+ # use STL (xbmc requires it)
36+ sed '1i#define TIXML_USE_STL 1' -i tinyxml.h
37+ sed '1i#define TIXML_USE_STL 1' -i xmltest.cpp
38+
39+ # build xmltest
40+ make
41+
42+ # build the lib as a shared library
43+ ''${CXX} -Wall -O2 -shared -fpic tinyxml.cpp \
44+ tinyxmlerror.cpp tinyxmlparser.cpp \
45+ tinystr.cpp -o libtinyxml${SHLIB_EXT}
46+ '';
47+
48+ doCheck = true;
49+ checkPhase = ''
50+ ./xmltest
51+ result=$?
52+ if [[ $result != 0 ]] ; then
53+ exit $result
54+ fi
55+ '';
56+
57+ installPhase = ''
58+ mkdir -pv $out/include/
59+ mkdir -pv $out/lib/pkgconfig/
60+ mkdir -pv $out/share/doc/tinyxml/
61+
62+ cp -v libtinyxml${SHLIB_EXT} $out/lib/
63+ cp -v *.h $out/include/
64+
65+ substituteInPlace tinyxml.pc --replace "@out@" "$out"
66+ substituteInPlace tinyxml.pc --replace "@version@" "${version}"
67+ cp -v tinyxml.pc $out/lib/pkgconfig/
68+
69+ cp -v docs/* $out/share/doc/tinyxml/
70+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
71+ install_name_tool -id $out/lib/libtinyxml.dylib $out/lib/libtinyxml.dylib
72+ '';
73+
74+ meta = {
75+ description = "Simple, small, C++ XML parser that can be easily integrating into other programs";
76+ homepage = "http://www.grinninglizard.com/tinyxml/index.html";
77+ license = stdenv.lib.licenses.free;
78+ platforms = stdenv.lib.platforms.unix;
79+ };
80+}
test/golden/importless/2.6.2.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; stdenv = γ; unzip = δ } -> { NIX_CFLAGS_COMPILE = String; buildPhase = String; checkPhase = String; doCheck = Bool; hardeningDisable = [String]; installPhase = String; meta = { description = String; homepage = String; license = ∀ α. α; platforms = ∀ α. α }; nativeBuildInputs = [δ]; patches = [Path]; pname = String; preConfigure = String; src = { sha256 = String; url = String }; version = String }
test/golden/importless/2.64.nixnew file+51
@@ -0,0 +1,51 @@
1+{ stdenv, fetchurl, m4, perl }:
2+
3+stdenv.mkDerivation rec {
4+ name = "autoconf-2.64";
5+
6+ src = fetchurl {
7+ url = "mirror://gnu/autoconf/${name}.tar.xz";
8+ sha256 = "0j3jdjpf5ly39dlp0bg70h72nzqr059k0x8iqxvaxf106chpgn9j";
9+ };
10+
11+ buildInputs = [ m4 perl ];
12+
13+ # Work around a known issue in Cygwin. See
14+ # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
15+ # details.
16+ # There are many test failures on `i386-pc-solaris2.11'.
17+ #doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
18+ doCheck = false;
19+
20+ # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
21+ # "fixed" path in generated files!
22+ dontPatchShebangs = true;
23+
24+ enableParallelBuilding = true;
25+
26+ # Make the Autotest test suite run in parallel.
27+ preCheck =''
28+ export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
29+ '';
30+
31+ doInstallCheck = false; # fails
32+
33+ meta = {
34+ homepage = "https://www.gnu.org/software/autoconf/";
35+ description = "Part of the GNU Build System";
36+
37+ longDescription = ''
38+ GNU Autoconf is an extensible package of M4 macros that produce
39+ shell scripts to automatically configure software source code
40+ packages. These scripts can adapt the packages to many kinds of
41+ UNIX-like systems without manual user intervention. Autoconf
42+ creates a configuration script for a package from a template
43+ file that lists the operating system features that the package
44+ can use, in the form of M4 macro calls.
45+ '';
46+
47+ license = stdenv.lib.licenses.gpl2Plus;
48+
49+ platforms = stdenv.lib.platforms.all;
50+ };
51+}
test/golden/importless/2.64.txtnew file
No changes to the content.
test/golden/importless/2.7-html.nixnew file+18
@@ -0,0 +1,18 @@
1+# This file was generated and will be overwritten by ./generate.sh
2+
3+{ stdenv, fetchurl, lib }:
4+
5+stdenv.mkDerivation {
6+ name = "python27-docs-html-2.7.16";
7+ src = fetchurl {
8+ url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-html.tar.bz2";
9+ sha256 = "1razs1grzhai65ihaiyph8kz6ncjkgp1gsn3c8v7kanf13lqim02";
10+ };
11+ installPhase = ''
12+ mkdir -p $out/share/doc/python27
13+ cp -R ./ $out/share/doc/python27/html
14+ '';
15+ meta = {
16+ maintainers = [ ];
17+ };
18+}
test/golden/importless/2.7-html.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; lib = γ; stdenv = δ } -> { installPhase = String; meta = { maintainers = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/2.7-pdf-a4.nixnew file+18
@@ -0,0 +1,18 @@
1+# This file was generated and will be overwritten by ./generate.sh
2+
3+{ stdenv, fetchurl, lib }:
4+
5+stdenv.mkDerivation {
6+ name = "python27-docs-pdf-a4-2.7.16";
7+ src = fetchurl {
8+ url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-pdf-a4.tar.bz2";
9+ sha256 = "14ml1ynrlbhg43737bdsb8k5y39wsffqj4iwhylhb8n8l5dplfdq";
10+ };
11+ installPhase = ''
12+ mkdir -p $out/share/doc/python27
13+ cp -R ./ $out/share/doc/python27/pdf-a4
14+ '';
15+ meta = {
16+ maintainers = [ ];
17+ };
18+}
test/golden/importless/2.7-pdf-a4.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; lib = γ; stdenv = δ } -> { installPhase = String; meta = { maintainers = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/2.7-pdf-letter.nixnew file+18
@@ -0,0 +1,18 @@
1+# This file was generated and will be overwritten by ./generate.sh
2+
3+{ stdenv, fetchurl, lib }:
4+
5+stdenv.mkDerivation {
6+ name = "python27-docs-pdf-letter-2.7.16";
7+ src = fetchurl {
8+ url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-pdf-letter.tar.bz2";
9+ sha256 = "019i8n48m71mn31v8d85kkwyqfgcgqnqh506y4a7fcgf656bajs0";
10+ };
11+ installPhase = ''
12+ mkdir -p $out/share/doc/python27
13+ cp -R ./ $out/share/doc/python27/pdf-letter
14+ '';
15+ meta = {
16+ maintainers = [ ];
17+ };
18+}
test/golden/importless/2.7-pdf-letter.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; lib = γ; stdenv = δ } -> { installPhase = String; meta = { maintainers = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/2.7-text.nixnew file+18
@@ -0,0 +1,18 @@
1+# This file was generated and will be overwritten by ./generate.sh
2+
3+{ stdenv, fetchurl, lib }:
4+
5+stdenv.mkDerivation {
6+ name = "python27-docs-text-2.7.16";
7+ src = fetchurl {
8+ url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-text.tar.bz2";
9+ sha256 = "1da7swlykvc013684nywycinfz3v8dqkcmv0zj8p7l5lyi5mq03r";
10+ };
11+ installPhase = ''
12+ mkdir -p $out/share/doc/python27
13+ cp -R ./ $out/share/doc/python27/text
14+ '';
15+ meta = {
16+ maintainers = [ ];
17+ };
18+}
test/golden/importless/2.7-text.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; lib = γ; stdenv = δ } -> { installPhase = String; meta = { maintainers = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/2.7.7.nixnew file+26
@@ -0,0 +1,26 @@
1+{ stdenv, fetchurl, jdk, python2 }:
2+
3+stdenv.mkDerivation {
4+ name = "antlr-2.7.7";
5+ src = fetchurl {
6+ url = "https://www.antlr2.org/download/antlr-2.7.7.tar.gz";
7+ sha256 = "1ffvcwdw73id0dk6pj2mlxjvbg0662qacx4ylayqcxgg381fnfl5";
8+ };
9+ patches = [ ./2.7.7-fixes.patch ];
10+ buildInputs = [ jdk ];
11+ nativeBuildInputs = [ python2 ];
12+
13+ meta = with stdenv.lib; {
14+ description = "Powerful parser generator";
15+ longDescription = ''
16+ ANTLR (ANother Tool for Language Recognition) is a powerful parser
17+ generator for reading, processing, executing, or translating structured
18+ text or binary files. It's widely used to build languages, tools, and
19+ frameworks. From a grammar, ANTLR generates a parser that can build and
20+ walk parse trees.
21+ '';
22+ homepage = "https://www.antlr.org/";
23+ license = licenses.bsd3;
24+ platforms = platforms.unix;
25+ };
26+}
test/golden/importless/2.7.7.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { fetchurl = { sha256 = String; url = String } -> β; jdk = γ; python2 = δ; stdenv = ε } -> { buildInputs = [γ]; meta = { description = String; homepage = String; license = ∀ α. α; longDescription = String; platforms = ∀ α. α }; name = String; nativeBuildInputs = [δ]; patches = [Path]; src = { sha256 = String; url = String } }
test/golden/importless/2.7.nixnew file+31
@@ -0,0 +1,31 @@
1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, nose
5+, six
6+, stdenv
7+}:
8+
9+
10+buildPythonPackage rec {
11+ pname = "more-itertools";
12+ version = "5.0.0";
13+
14+ src = fetchPypi {
15+ inherit pname version;
16+ sha256 = "38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4";
17+ };
18+
19+ checkInputs = [ nose ];
20+ propagatedBuildInputs = [ six ];
21+
22+ # iterable = range(10 ** 10) # Is efficiently reversible
23+ # OverflowError: Python int too large to convert to C long
24+ doCheck = !stdenv.hostPlatform.is32bit;
25+
26+ meta = {
27+ homepage = "https://more-itertools.readthedocs.org";
28+ description = "Expansion of the itertools module";
29+ license = lib.licenses.mit;
30+ };
31+}
test/golden/importless/2.7.txtnew file
No changes to the content.
test/golden/importless/2.8.nixnew file+7
@@ -0,0 +1,7 @@
1+{ callPackage, ... } @ args:
2+
3+callPackage ./generic.nix (rec {
4+ version = "${branch}.17";
5+ branch = "2.8";
6+ sha256 = "05bnhvs2f82aq95z1wd3wr42sljdfq4kiyzqwhpji983mndx14vl";
7+} // args)
test/golden/importless/2.8.txtnew file
No changes to the content.
test/golden/importless/2.9.nixnew file+74
@@ -0,0 +1,74 @@
1+{ stdenv
2+, buildPythonPackage
3+, fetchPypi
4+, fetchpatch
5+, isPy27
6+, ipaddress
7+, openssl
8+, cryptography_vectors
9+, darwin
10+, packaging
11+, six
12+, pythonOlder
13+, isPyPy
14+, cffi
15+, pytest
16+, pretend
17+, iso8601
18+, pytz
19+, hypothesis
20+, enum34
21+}:
22+
23+buildPythonPackage rec {
24+ pname = "cryptography";
25+ version = "2.9.2"; # Also update the hash in vectors.nix
26+
27+ src = fetchPypi {
28+ inherit pname version;
29+ sha256 = "0af25w5mkd6vwns3r6ai1w5ip9xp0ms9s261zzssbpadzdr05hx0";
30+ };
31+
32+ outputs = [ "out" "dev" ];
33+
34+ buildInputs = [ openssl ]
35+ ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
36+ propagatedBuildInputs = [
37+ packaging
38+ six
39+ ] ++ stdenv.lib.optional (!isPyPy) cffi
40+ ++ stdenv.lib.optionals isPy27 [ ipaddress enum34 ];
41+
42+ checkInputs = [
43+ cryptography_vectors
44+ hypothesis
45+ iso8601
46+ pretend
47+ pytest
48+ pytz
49+ ];
50+
51+ checkPhase = ''
52+ py.test --disable-pytest-warnings tests
53+ '';
54+
55+ # IOKit's dependencies are inconsistent between OSX versions, so this is the best we
56+ # can do until nix 1.11's release
57+ __impureHostDeps = [ "/usr/lib" ];
58+
59+ meta = with stdenv.lib; {
60+ description = "A package which provides cryptographic recipes and primitives";
61+ longDescription = ''
62+ Cryptography includes both high level recipes and low level interfaces to
63+ common cryptographic algorithms such as symmetric ciphers, message
64+ digests, and key derivation functions.
65+ Our goal is for it to be your "cryptographic standard library". It
66+ supports Python 2.7, Python 3.5+, and PyPy 5.4+.
67+ '';
68+ homepage = "https://github.com/pyca/cryptography";
69+ changelog = "https://cryptography.io/en/latest/changelog/#v"
70+ + replaceStrings [ "." ] [ "-" ] version;
71+ license = with licenses; [ asl20 bsd3 psfl ];
72+ maintainers = with maintainers; [ primeos ];
73+ };
74+}
test/golden/importless/2.9.txtnew file
No changes to the content.
test/golden/importless/2.90.nixnew file+41
@@ -0,0 +1,41 @@
1+{ stdenv, fetchurl, intltool, pkgconfig, glib, gtk3, ncurses, gobject-introspection }:
2+
3+stdenv.mkDerivation rec {
4+ versionMajor = "0.36";
5+ versionMinor = "3";
6+ moduleName = "vte";
7+
8+ name = "${moduleName}-${versionMajor}.${versionMinor}";
9+
10+ src = fetchurl {
11+ url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
12+ sha256 = "54e5b07be3c0f7b158302f54ee79d4de1cb002f4259b6642b79b1e0e314a959c";
13+ };
14+
15+ nativeBuildInputs = [ pkgconfig ];
16+ buildInputs = [ gobject-introspection intltool glib gtk3 ncurses ];
17+
18+ configureFlags = [ "--enable-introspection" ];
19+
20+ enableParallelBuilding = true;
21+
22+ postInstall = ''
23+ substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses.out}/lib -lncurses"
24+ '';
25+
26+ meta = with stdenv.lib; {
27+ homepage = "https://www.gnome.org/";
28+ description = "A library implementing a terminal emulator widget for GTK";
29+ longDescription = ''
30+ VTE is a library (libvte) implementing a terminal emulator widget for
31+ GTK, and a minimal sample application (vte) using that. Vte is
32+ mainly used in gnome-terminal, but can also be used to embed a
33+ console/terminal in games, editors, IDEs, etc. VTE supports Unicode and
34+ character set conversion, as well as emulating any terminal known to
35+ the system's terminfo database.
36+ '';
37+ license = licenses.lgpl2;
38+ maintainers = with maintainers; [ astsmtl antono lethalman ];
39+ platforms = platforms.linux;
40+ };
41+}
test/golden/importless/2.90.txtnew file
No changes to the content.
test/golden/importless/2.nixnew file+35
@@ -0,0 +1,35 @@
1+{ stdenv, fetchzip, libpng, zlib, zopfli }:
2+
3+stdenv.mkDerivation rec {
4+ pname = "apngasm";
5+ version = "2.91";
6+
7+ src = fetchzip {
8+ url = "mirror://sourceforge/${pname}/${pname}-${version}-src.zip";
9+ stripRoot = false;
10+ sha256 = "0qhljqql159xkn1l83vz0q8wvzr7rjz4jnhiy0zn36pgvacg0zn1";
11+ };
12+
13+ buildInputs = [ libpng zlib zopfli ];
14+
15+ postPatch = ''
16+ rm -rf libpng zlib zopfli
17+ '';
18+
19+ NIX_CFLAGS_LINK = "-lzopfli";
20+
21+ installPhase = ''
22+ install -Dt $out/bin apngasm
23+ '';
24+
25+ enableParallelBuilding = true;
26+
27+ meta = with stdenv.lib; {
28+ description = "Create highly optimized Animated PNG files from PNG/TGA images";
29+ homepage = "http://apngasm.sourceforge.net/";
30+ license = licenses.zlib;
31+ maintainers = with maintainers; [ orivej ];
32+ platforms = platforms.linux;
33+ };
34+
35+}
test/golden/importless/2.txtnew file
No changes to the content.
test/golden/importless/2.x.nixnew file+46
@@ -0,0 +1,46 @@
1+{ stdenv, fetchFromGitHub, python3 }:
2+
3+python3.pkgs.buildPythonApplication rec {
4+ pname = "Radicale";
5+ version = "2.1.12";
6+
7+ # No tests in PyPI tarball
8+ src = fetchFromGitHub {
9+ owner = "Kozea";
10+ repo = "Radicale";
11+ rev = version;
12+ sha256 = "14f9ql0fiwapaa4xaslwgk1ah9fzxxan2p1p2rxb4a5iqph1z0cl";
13+ };
14+
15+ # We only want functional tests
16+ postPatch = ''
17+ sed -i "s/pytest-cov\|pytest-flake8\|pytest-isort//g" setup.py
18+ sed -i "/^addopts/d" setup.cfg
19+ '';
20+
21+ propagatedBuildInputs = with python3.pkgs; [
22+ vobject
23+ python-dateutil
24+ passlib
25+ setuptools
26+ ];
27+
28+ checkInputs = with python3.pkgs; [
29+ pytestrunner
30+ pytest
31+ ];
32+
33+ meta = with stdenv.lib; {
34+ homepage = "https://www.radicale.org/2.x.nix";
35+ description = "CalDAV CardDAV server";
36+ longDescription = ''
37+ The Radicale Project is a complete CalDAV (calendar) and CardDAV
38+ (contact) server solution. Calendars and address books are available for
39+ both local and remote access, possibly limited through authentication
40+ policies. They can be viewed and edited by calendar and contact clients
41+ on mobile phones or computers.
42+ '';
43+ license = licenses.gpl3Plus;
44+ maintainers = with maintainers; [ edwtjo pSub aneeshusa infinisil ];
45+ };
46+}
test/golden/importless/2.x.txtnew file
No changes to the content.
test/golden/importless/2.x.x.nixnew file+58
@@ -0,0 +1,58 @@
1+{ fetchurl, python, cairomm, sparsehash, pycairo, autoreconfHook
2+, pkg-config, boost, expat, scipy, cgal, gmp, mpfr
3+, gobject-introspection, pygobject3, gtk3, matplotlib, ncurses
4+, buildPythonPackage
5+, fetchpatch
6+, pythonAtLeast
7+, lib
8+}:
9+
10+buildPythonPackage rec {
11+ pname = "graph-tool";
12+ format = "other";
13+ version = "2.31";
14+
15+ src = fetchurl {
16+ url = "https://downloads.skewed.de/graph-tool/graph-tool-${version}.tar.bz2";
17+ sha256 = "0z6n9xkb5yz7z6rlwl6z9gq3ac5vdsby90nhvvvskadsx2pagd7v";
18+ };
19+
20+ configureFlags = [
21+ "--with-python-module-path=$(out)/${python.sitePackages}"
22+ "--with-boost-libdir=${boost}/lib"
23+ "--with-expat=${expat}"
24+ "--with-cgal=${cgal}"
25+ "--enable-openmp"
26+ ];
27+
28+ nativeBuildInputs = [ autoreconfHook pkg-config ];
29+ buildInputs = [ ncurses ];
30+
31+ propagatedBuildInputs = [
32+ boost
33+ cgal
34+ expat
35+ gmp
36+ mpfr
37+ python
38+ scipy
39+ # optional
40+ sparsehash
41+ # drawing
42+ cairomm
43+ gobject-introspection
44+ gtk3
45+ pycairo
46+ matplotlib
47+ pygobject3
48+ ];
49+
50+ enableParallelBuilding = false;
51+
52+ meta = with lib; {
53+ description = "Python module for manipulation and statistical analysis of graphs";
54+ homepage = "https://graph-tool.skewed.de/";
55+ license = licenses.gpl3;
56+ maintainers = [ maintainers.joelmo ];
57+ };
58+}
test/golden/importless/2.x.x.txtnew file
No changes to the content.
test/golden/importless/20160331.nixnew file+22
@@ -0,0 +1,22 @@
1+{stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, autoreconfHook
2+, gmp, mpfr
3+}:
4+stdenv.mkDerivation rec {
5+ pname = "fplll";
6+ version = "20160331";
7+ src = fetchFromGitHub {
8+ owner = pname;
9+ repo = pname;
10+ rev = "11dea26c2f9396ffb7a7191aa371343f1f74c5c3";
11+ sha256 = "1clxch9hbr30w6s84m2mprxv58adhg5qw6sa2p3jr1cy4r7r59ib";
12+ };
13+ nativeBuildInputs = [autoconf automake libtool gettext autoreconfHook];
14+ buildInputs = [gmp mpfr];
15+ meta = {
16+ inherit version;
17+ description = ''Lattice algorithms using floating-point arithmetic'';
18+ license = stdenv.lib.licenses.lgpl21Plus;
19+ maintainers = [stdenv.lib.maintainers.raskin];
20+ platforms = stdenv.lib.platforms.linux;
21+ };
22+}
test/golden/importless/20160331.txtnew file
No changes to the content.
test/golden/importless/2018.nixnew file+21
@@ -0,0 +1,21 @@
1+{ stdenv
2+, buildPythonPackage
3+, fetchPypi
4+}:
5+
6+buildPythonPackage rec {
7+ pname = "html2text";
8+ version = "2018.1.9";
9+
10+ src = fetchPypi {
11+ inherit pname version;
12+ sha256 = "627514fb30e7566b37be6900df26c2c78a030cc9e6211bda604d8181233bcdd4";
13+ };
14+
15+ meta = with stdenv.lib; {
16+ description = "Turn HTML into equivalent Markdown-structured text";
17+ homepage = "https://github.com/Alir3z4/html2text/";
18+ license = licenses.gpl3;
19+ };
20+
21+}
test/golden/importless/2018.txtnew file
No changes to the content.
test/golden/importless/25.nixnew file+62
@@ -0,0 +1,62 @@
1+{deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgs_i686, postInstall ? ""}:
2+
3+deployAndroidPackage {
4+ name = "androidsdk";
5+ buildInputs = [ autoPatchelfHook makeWrapper ]
6+ ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xlibs.libX11 pkgs.xlibs.libXext pkgs.xlibs.libXdamage pkgs.xlibs.libxcb pkgs.xlibs.libXfixes pkgs.xlibs.libXrender pkgs.fontconfig.lib pkgs.freetype pkgs.libGL pkgs.zlib pkgs.ncurses5 pkgs.libpulseaudio pkgs_i686.glibc pkgs_i686.xlibs.libX11 pkgs_i686.xlibs.libXrender pkgs_i686.fontconfig pkgs_i686.freetype pkgs_i686.zlib ];
7+ inherit package os;
8+
9+ patchInstructions = ''
10+ ${lib.optionalString (os == "linux") ''
11+ # Auto patch all binaries
12+ addAutoPatchelfSearchPath $PWD/lib64
13+ addAutoPatchelfSearchPath $PWD/lib64/libstdc++
14+ addAutoPatchelfSearchPath $PWD/lib64/qt/lib
15+ addAutoPatchelfSearchPath $PWD/lib
16+ addAutoPatchelfSearchPath $PWD/lib/libstdc++
17+ autoPatchelf .
18+ ''}
19+
20+ # Wrap all scripts that require JAVA_HOME
21+ for i in bin
22+ do
23+ find $i -maxdepth 1 -type f -executable | while read program
24+ do
25+ if grep -q "JAVA_HOME" $program
26+ then
27+ wrapProgram $PWD/$program --prefix PATH : ${pkgs.jdk8}/bin
28+ fi
29+ done
30+ done
31+
32+ # Wrap programs that require java
33+ for i in draw9patch jobb lint screenshot2
34+ do
35+ wrapProgram $PWD/$i \
36+ --prefix PATH : ${pkgs.jdk8}/bin
37+ done
38+
39+ # Wrap programs that require java and SWT
40+ for i in android ddms hierarchyviewer monitor monkeyrunner traceview uiautomatorviewer
41+ do
42+ wrapProgram $PWD/$i \
43+ --prefix PATH : ${pkgs.jdk8}/bin \
44+ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.xlibs.libX11 pkgs.xlibs.libXtst ]}
45+ done
46+
47+ ${lib.optionalString (os == "linux") ''
48+ wrapProgram $PWD/emulator \
49+ --prefix PATH : ${pkgs.file}/bin:${pkgs.glxinfo}/bin:${pkgs.pciutils}/bin \
50+ --set QT_XKB_CONFIG_ROOT ${pkgs.xkeyboard_config}/share/X11/xkb \
51+ --set QTCOMPOSE ${pkgs.xorg.libX11.out}/share/X11/locale
52+ ''}
53+
54+ # Patch all script shebangs
55+ patchShebangs .
56+
57+ cd ..
58+ ${postInstall}
59+ '';
60+
61+ meta.licenses = lib.licenses.unfree;
62+}
test/golden/importless/25.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η θ ι. { autoPatchelfHook = γ; deployAndroidPackage = { buildInputs = [δ]; meta = { licenses = ∀ α. α }; name = String; os = String; package = ε; patchInstructions = String } -> ζ; lib = η; makeWrapper = δ; os = String; package = ε; pkgs = θ; pkgs_i686 = ι; postInstall = String } -> { buildInputs = [γ]; meta = { licenses = ∀ β. β }; name = String; os = String; package = ε; patchInstructions = String }
test/golden/importless/26.nixnew file+40
@@ -0,0 +1,40 @@
1+{deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgs_i686, postInstall ? ""}:
2+
3+deployAndroidPackage {
4+ name = "androidsdk";
5+ inherit os package;
6+ buildInputs = [ autoPatchelfHook makeWrapper ]
7+ ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xlibs.libX11 pkgs.xlibs.libXrender pkgs.xlibs.libXext pkgs.fontconfig pkgs.freetype pkgs_i686.glibc pkgs_i686.xlibs.libX11 pkgs_i686.xlibs.libXrender pkgs_i686.xlibs.libXext pkgs_i686.fontconfig.lib pkgs_i686.freetype pkgs_i686.zlib pkgs.fontconfig.lib ];
8+
9+ patchInstructions = ''
10+ ${lib.optionalString (os == "linux") ''
11+ # Auto patch all binaries
12+ autoPatchelf .
13+ ''}
14+
15+ # Wrap all scripts that require JAVA_HOME
16+ for i in bin
17+ do
18+ find $i -maxdepth 1 -type f -executable | while read program
19+ do
20+ if grep -q "JAVA_HOME" $program
21+ then
22+ wrapProgram $PWD/$program --prefix PATH : ${pkgs.jdk8}/bin
23+ fi
24+ done
25+ done
26+
27+ # Wrap monitor script
28+ wrapProgram $PWD/monitor \
29+ --prefix PATH : ${pkgs.jdk8}/bin \
30+ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.xlibs.libX11 pkgs.xlibs.libXtst ]}
31+
32+ # Patch all script shebangs
33+ patchShebangs .
34+
35+ cd ..
36+ ${postInstall}
37+ '';
38+
39+ meta.licenses = lib.licenses.unfree;
40+}
test/golden/importless/26.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η θ ι κ. { autoPatchelfHook = γ; deployAndroidPackage = { buildInputs = [δ]; meta = { licenses = ∀ α. α }; name = String; os = ε; package = ζ; patchInstructions = String } -> η; lib = θ; makeWrapper = δ; os = String; package = ζ; pkgs = ι; pkgs_i686 = κ; postInstall = String } -> { buildInputs = [γ]; meta = { licenses = ∀ β. β }; name = String; os = String; package = ζ; patchInstructions = String }
test/golden/importless/2_2.nixnew file+38
@@ -0,0 +1,38 @@
1+{ stdenv, buildPythonPackage, fetchPypi, substituteAll,
2+ isPy3k,
3+ geos, gdal, pytz, sqlparse,
4+ withGdal ? false
5+}:
6+
7+buildPythonPackage rec {
8+ pname = "Django";
9+ version = "2.2.16";
10+
11+ disabled = !isPy3k;
12+
13+ src = fetchPypi {
14+ inherit pname version;
15+ sha256 = "1535g2r322cl4x52fb0dmzlbg23539j2wx6027j54p22xvjlbkv2";
16+ };
17+
18+ patches = stdenv.lib.optional withGdal
19+ (substituteAll {
20+ src = ./1.10-gis-libs.template.patch;
21+ geos = geos;
22+ gdal = gdal;
23+ extension = stdenv.hostPlatform.extensions.sharedLibrary;
24+ })
25+ ;
26+
27+ propagatedBuildInputs = [ pytz sqlparse ];
28+
29+ # too complicated to setup
30+ doCheck = false;
31+
32+ meta = with stdenv.lib; {
33+ description = "A high-level Python Web framework";
34+ homepage = "https://www.djangoproject.com/";
35+ license = licenses.bsd3;
36+ maintainers = with maintainers; [ georgewhewell lsix ];
37+ };
38+}
test/golden/importless/2_2.txtnew file
No changes to the content.
test/golden/importless/2_4.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "2.4.20";
5+ sha256 = "0awdpkcgvx2aq7pwxy8jyzkin6cyrrh3d576x9ldm851kis9n5ii";
6+})
test/golden/importless/2_4.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { callPackage = Path -> α; sha256 = String; version = String }
test/golden/importless/2_5.nixnew file+27
@@ -0,0 +1,27 @@
1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, docutils
5+}:
6+
7+buildPythonPackage rec {
8+ pname = "Pygments";
9+ version = "2.5.2";
10+
11+ src = fetchPypi {
12+ inherit pname version;
13+ sha256 = "98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe";
14+ };
15+
16+ propagatedBuildInputs = [ docutils ];
17+
18+ # Circular dependency with sphinx
19+ doCheck = false;
20+
21+ meta = {
22+ homepage = "https://pygments.org/";
23+ description = "A generic syntax highlighter";
24+ license = lib.licenses.bsd2;
25+ maintainers = with lib.maintainers; [ ];
26+ };
27+}
test/golden/importless/2_5.txtnew file
No changes to the content.
test/golden/importless/2bwm.nixnew file+37
@@ -0,0 +1,37 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+
7+ cfg = config.services.xserver.windowManager."2bwm";
8+
9+in
10+
11+{
12+
13+ ###### interface
14+
15+ options = {
16+ services.xserver.windowManager."2bwm".enable = mkEnableOption "2bwm";
17+ };
18+
19+
20+ ###### implementation
21+
22+ config = mkIf cfg.enable {
23+
24+ services.xserver.windowManager.session = singleton
25+ { name = "2bwm";
26+ start =
27+ ''
28+ ${pkgs._2bwm}/bin/2bwm &
29+ waitPID=$!
30+ '';
31+ };
32+
33+ environment.systemPackages = [ pkgs._2bwm ];
34+
35+ };
36+
37+}
test/golden/importless/2bwm.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { config = { environment = { systemPackages = ∀ α. [α] }; services = { xserver = { windowManager = { session = { name = String; start = String } } } } }; options = { services = { xserver = { windowManager = { 2bwm = { enable = String } } } } } }
test/golden/importless/3.0.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "3.0.17";
5+ sha256 = "0568r5xdy78pl29zby5g4m9qngf29cb9222sc1q1wisapb7zkl2p";
6+})
test/golden/importless/3.0.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { callPackage = Path -> α; sha256 = String; version = String }
test/golden/importless/3.0.x.nixnew file+35
@@ -0,0 +1,35 @@
1+{stdenv, fetchurl, autoreconfHook }:
2+
3+stdenv.mkDerivation rec {
4+ name = "gperf-3.0.4";
5+
6+ src = fetchurl {
7+ url = "mirror://gnu/gperf/${name}.tar.gz";
8+ sha256 = "0gnnm8iqcl52m8iha3sxrzrl9mcyhg7lfrhhqgdn4zj00ji14wbn";
9+ };
10+
11+ nativeBuildInputs = [ autoreconfHook ];
12+ patches = [ ./gperf-ar-fix.patch ];
13+ meta = {
14+ description = "Perfect hash function generator";
15+
16+ longDescription = ''
17+ GNU gperf is a perfect hash function generator. For a given
18+ list of strings, it produces a hash function and hash table, in
19+ form of C or C++ code, for looking up a value depending on the
20+ input string. The hash function is perfect, which means that
21+ the hash table has no collisions, and the hash table lookup
22+ needs a single string comparison only.
23+
24+ GNU gperf is highly customizable. There are options for
25+ generating C or C++ code, for emitting switch statements or
26+ nested ifs instead of a hash table, and for tuning the algorithm
27+ employed by gperf.
28+ '';
29+
30+ license = stdenv.lib.licenses.gpl3Plus;
31+
32+ homepage = "https://www.gnu.org/software/gperf/";
33+ platforms = stdenv.lib.platforms.unix;
34+ };
35+}
test/golden/importless/3.0.x.txtnew file
No changes to the content.
test/golden/importless/3.08.0.nixnew file+21
@@ -0,0 +1,21 @@
1+{ stdenv, fetchurl, xlibsWrapper }:
2+
3+stdenv.mkDerivation rec {
4+ pname = "ocaml";
5+ version = "3.08.0";
6+
7+ builder = ./builder.sh;
8+ src = fetchurl {
9+ url = "http://tarballs.nixos.org/${pname}-${version}.tar.gz";
10+ sha256 = "135g5waj7djzrj0dbc8z1llasfs2iv5asq41jifhldxb4l2b97mx";
11+ };
12+ configureScript = ./configure-3.08.0;
13+ dontAddPrefix = "True";
14+ configureFlags = ["-no-tk" "-x11lib" xlibsWrapper];
15+ buildFlags = ["world" "bootstrap" "opt"];
16+ checkTarget = ["opt.opt"];
17+
18+ meta = {
19+ platforms = stdenv.lib.platforms.linux;
20+ };
21+}
test/golden/importless/3.08.0.txtnew file
No changes to the content.
test/golden/importless/3.1.nixnew file+37
@@ -0,0 +1,37 @@
1+{ stdenv, fetchurl, unzip }:
2+
3+let
4+
5+ src = fetchurl {
6+ url = "http://www.oasis-open.org/docbook/sgml/3.1/docbk31.zip";
7+ sha256 = "0f25ch7bywwhdxb1qa0hl28mgq1blqdap3rxzamm585rf4kis9i0";
8+ };
9+
10+ isoents = fetchurl {
11+ url = "http://www.oasis-open.org/cover/ISOEnts.zip";
12+ sha256 = "1clrkaqnvc1ja4lj8blr0rdlphngkcda3snm7b9jzvcn76d3br6w";
13+ };
14+
15+in
16+
17+stdenv.mkDerivation {
18+ name = "docbook-sgml-3.1";
19+
20+ dontUnpack = true;
21+
22+ nativeBuildInputs = [ unzip ];
23+
24+ installPhase =
25+ ''
26+ o=$out/sgml/dtd/docbook-3.1
27+ mkdir -p $o
28+ cd $o
29+ unzip ${src}
30+ unzip ${isoents}
31+ sed -e "s/iso-/ISO/" -e "s/.gml//" -i docbook.cat
32+ '';
33+
34+ meta = {
35+ platforms = stdenv.lib.platforms.unix;
36+ };
37+}
test/golden/importless/3.1.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; stdenv = γ; unzip = δ } -> { dontUnpack = Bool; installPhase = String; meta = { platforms = ∀ α. α }; name = String; nativeBuildInputs = [δ] }
test/golden/importless/3.10.0.nixnew file+34
@@ -0,0 +1,34 @@
1+{ stdenv, fetchurl, xlibsWrapper, ncurses }:
2+
3+stdenv.mkDerivation (rec {
4+
5+ pname = "ocaml";
6+ version = "3.10.0";
7+
8+ src = fetchurl {
9+ url = "https://caml.inria.fr/pub/distrib/ocaml-3.10/${pname}-${version}.tar.bz2";
10+ sha256 = "1ihmx1civ78s7k2hfc05z1s9vbyx2qw7fg8lnbxnfd6zxkk8878d";
11+ };
12+
13+ prefixKey = "-prefix ";
14+ configureFlags = ["-no-tk" "-x11lib" xlibsWrapper];
15+ buildFlags = [ "world" "bootstrap" "world.opt" ];
16+ buildInputs = [xlibsWrapper ncurses];
17+ installTargets = "install installopt";
18+ patchPhase = ''
19+ CAT=$(type -tp cat)
20+ sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
21+ '';
22+ postBuild = ''
23+ mkdir -p $out/include
24+ ln -sv $out/lib/ocaml/caml $out/include/caml
25+ '';
26+
27+ meta = {
28+ homepage = "http://caml.inria.fr/ocaml";
29+ license = with stdenv.lib.licenses; [ qpl lgpl2 ];
30+ description = "Most popular variant of the Caml language";
31+ platforms = stdenv.lib.platforms.linux;
32+ };
33+
34+})
test/golden/importless/3.10.0.txtnew file
No changes to the content.
test/golden/importless/3.10.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... }:
2+
3+callPackage ./generic-v3.nix {
4+ version = "3.10.1";
5+ sha256 = "1kbi2i1m5c7ss02ip8h0bdzvns4dgxx30a5c0iiph8g2ns02lr33";
6+}
test/golden/importless/3.10.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { sha256 = String; version = String }
test/golden/importless/3.11.2.nixnew file+75
@@ -0,0 +1,75 @@
1+{ stdenv, fetchurl, ncurses, xlibsWrapper }:
2+
3+let
4+ useX11 = stdenv.isi686 || stdenv.isx86_64;
5+ useNativeCompilers = stdenv.isi686 || stdenv.isx86_64 || stdenv.isMips;
6+ inherit (stdenv.lib) optionals optionalString;
7+in
8+
9+stdenv.mkDerivation rec {
10+
11+ pname = "ocaml";
12+ version = "3.11.2";
13+
14+ src = fetchurl {
15+ url = "https://caml.inria.fr/pub/distrib/ocaml-3.11/${pname}-${version}.tar.bz2";
16+ sha256 = "86f3387a0d7e7c8be2a3c53af083a5a726e333686208d5ea0dd6bb5ac3f58143";
17+ };
18+
19+ # Needed to avoid a SIGBUS on the final executable on mips
20+ NIX_CFLAGS_COMPILE = if stdenv.isMips then "-fPIC" else "";
21+
22+ patches = optionals stdenv.isDarwin [ ./gnused-on-osx-fix.patch ] ++
23+ [ (fetchurl {
24+ name = "0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch";
25+ url = "http://caml.inria.fr/mantis/file_download.php?file_id=418&type=bug";
26+ sha256 = "612a9ac108bbfce2238aa5634123da162f0315dedb219958be705e0d92dcdd8e";
27+ })
28+ ];
29+
30+ prefixKey = "-prefix ";
31+ configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" xlibsWrapper ];
32+ buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
33+ buildInputs = [ncurses] ++ optionals useX11 [ xlibsWrapper ];
34+ installTargets = "install" + optionalString useNativeCompilers " installopt";
35+ prePatch = ''
36+ CAT=$(type -tp cat)
37+ sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
38+ patch -p0 < ${./mips64.patch}
39+ '';
40+ postBuild = ''
41+ mkdir -p $out/include
42+ ln -sv $out/lib/ocaml/caml $out/include/caml
43+ '';
44+
45+ meta = with stdenv.lib; {
46+ homepage = "http://caml.inria.fr/ocaml";
47+ license = with licenses; [
48+ qpl /* compiler */
49+ lgpl2 /* library */
50+ ];
51+ description = "Most popular variant of the Caml language";
52+
53+ longDescription =
54+ '' Objective Caml is the most popular variant of the Caml language.
55+ From a language standpoint, it extends the core Caml language with a
56+ fully-fledged object-oriented layer, as well as a powerful module
57+ system, all connected by a sound, polymorphic type system featuring
58+ type inference.
59+
60+ The Objective Caml system is an industrial-strength implementation
61+ of this language, featuring a high-performance native-code compiler
62+ (ocamlopt) for 9 processor architectures (IA32, PowerPC, AMD64,
63+ Alpha, Sparc, Mips, IA64, HPPA, StrongArm), as well as a bytecode
64+ compiler (ocamlc) and an interactive read-eval-print loop (ocaml)
65+ for quick development and portability. The Objective Caml
66+ distribution includes a comprehensive standard library, a replay
67+ debugger (ocamldebug), lexer (ocamllex) and parser (ocamlyacc)
68+ generators, a pre-processor pretty-printer (camlp4) and a
69+ documentation generator (ocamldoc).
70+ '';
71+
72+ platforms = with platforms; linux ++ darwin;
73+ };
74+
75+}
test/golden/importless/3.11.2.txtnew file
No changes to the content.
test/golden/importless/3.11.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "3.11.4";
5+ sha256 = "11wr0vcps8w8g2sd8qwp1yp8y873c4q32azc041xpi7zqciqwnax";
6+})
test/golden/importless/3.11.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { callPackage = Path -> α; sha256 = String; version = String }
test/golden/importless/3.12.1.nixnew file+69
@@ -0,0 +1,69 @@
1+{ stdenv, fetchurl, ncurses, xlibsWrapper }:
2+
3+let
4+ useX11 = !stdenv.isAarch32 && !stdenv.isMips;
5+ useNativeCompilers = !stdenv.isMips;
6+ inherit (stdenv.lib) optionals optionalString;
7+in
8+
9+stdenv.mkDerivation rec {
10+
11+ pname = "ocaml";
12+ version = "3.12.1";
13+
14+ src = fetchurl {
15+ url = "https://caml.inria.fr/pub/distrib/ocaml-3.12/${pname}-${version}.tar.bz2";
16+ sha256 = "13cmhkh7s6srnlvhg3s9qzh3a5dbk2m9qr35jzq922sylwymdkzd";
17+ };
18+
19+ prefixKey = "-prefix ";
20+ configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" xlibsWrapper ];
21+ buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
22+ buildInputs = [ncurses] ++ optionals useX11 [ xlibsWrapper ];
23+ installTargets = "install" + optionalString useNativeCompilers " installopt";
24+ patches = optionals stdenv.isDarwin [ ./3.12.1-darwin-fix-configure.patch ];
25+ preConfigure = ''
26+ CAT=$(type -tp cat)
27+ sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
28+ '';
29+ postBuild = ''
30+ mkdir -p $out/include
31+ ln -sv $out/lib/ocaml/caml $out/include/caml
32+ '';
33+
34+ passthru = {
35+ nativeCompilers = useNativeCompilers;
36+ };
37+
38+ meta = with stdenv.lib; {
39+ homepage = "http://caml.inria.fr/ocaml";
40+ branch = "3.12";
41+ license = with licenses; [
42+ qpl /* compiler */
43+ lgpl2 /* library */
44+ ];
45+ description = "Most popular variant of the Caml language";
46+
47+ longDescription =
48+ ''
49+ OCaml is the most popular variant of the Caml language. From a
50+ language standpoint, it extends the core Caml language with a
51+ fully-fledged object-oriented layer, as well as a powerful module
52+ system, all connected by a sound, polymorphic type system featuring
53+ type inference.
54+
55+ The OCaml system is an industrial-strength implementation of this
56+ language, featuring a high-performance native-code compiler (ocamlopt)
57+ for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc,
58+ Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc)
59+ and an interactive read-eval-print loop (ocaml) for quick development
60+ and portability. The OCaml distribution includes a comprehensive
61+ standard library, a replay debugger (ocamldebug), lexer (ocamllex) and
62+ parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4)
63+ and a documentation generator (ocamldoc).
64+ '';
65+
66+ platforms = with platforms; linux;
67+ };
68+
69+}
test/golden/importless/3.12.1.txtnew file
No changes to the content.
test/golden/importless/3.12.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... }:
2+
3+callPackage ./generic-v3.nix {
4+ version = "3.12.4";
5+ sha256 = "1gzvnd0g5hmx5ln39w7p4z4qphw87ksgsa1fgbpvi8d0asmwab2p";
6+}
test/golden/importless/3.12.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { sha256 = String; version = String }
test/golden/importless/3.13.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... }:
2+
3+callPackage ./generic-v3.nix {
4+ version = "3.13.0";
5+ sha256 = "1nqsvi2yfr93kiwlinz8z7c68ilg1j75b2vcpzxzvripxx5h6xhd";
6+}
test/golden/importless/3.13.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { sha256 = String; version = String }
test/golden/importless/3.17.nixnew file+36
@@ -0,0 +1,36 @@
1+{ lib
2+, fetchPypi
3+, buildPythonPackage
4+, numpy
5+, scipy
6+, matplotlib
7+, flask
8+, pillow
9+, psycopg2
10+}:
11+
12+buildPythonPackage rec {
13+ pname = "ase";
14+ version = "3.17.0";
15+
16+ src = fetchPypi {
17+ inherit pname version;
18+ sha256 = "1d4gxypaahby45zcpl0rffcn2z7n55dg9lcd8sv6jjsmbbf9vr4g";
19+ };
20+
21+ propagatedBuildInputs = [ numpy scipy matplotlib flask pillow psycopg2 ];
22+
23+ checkPhase = ''
24+ $out/bin/ase test
25+ '';
26+
27+ # tests just hang most likely due to something with subprocesses and cli
28+ doCheck = false;
29+
30+ meta = with lib; {
31+ description = "Atomic Simulation Environment";
32+ homepage = "https://wiki.fysik.dtu.dk/ase/";
33+ license = licenses.lgpl21Plus;
34+ maintainers = with maintainers; [ costrouc ];
35+ };
36+}
test/golden/importless/3.17.txtnew file
No changes to the content.
test/golden/importless/3.4.nixnew file+36
@@ -0,0 +1,36 @@
1+{ lib, buildGoModule, fetchFromGitHub }:
2+
3+buildGoModule rec {
4+ pname = "etcd";
5+ version = "3.4.13";
6+
7+ deleteVendor = true;
8+ vendorSha256 = "0jlnh4789xa2dhbyp33k9r278kc588ykggamnnfqivb27s2646bc";
9+
10+ doCheck = false;
11+
12+ src = fetchFromGitHub {
13+ owner = "etcd-io";
14+ repo = "etcd";
15+ rev = "v${version}";
16+ sha256 = "0bvky593241i60qf6793sxzsxwfl3f56cgscnva9f2jfhk157wmy";
17+ };
18+
19+ buildPhase = ''
20+ patchShebangs .
21+ ./build
22+ ./functional/build
23+ '';
24+
25+ installPhase = ''
26+ install -Dm755 bin/* bin/functional/cmd/* -t $out/bin
27+ '';
28+
29+ meta = with lib; {
30+ description = "Distributed reliable key-value store for the most critical data of a distributed system";
31+ license = licenses.asl20;
32+ homepage = "https://etcd.io/";
33+ maintainers = with maintainers; [ offline zowoq ];
34+ platforms = platforms.unix;
35+ };
36+}
test/golden/importless/3.4.txtnew file
No changes to the content.
test/golden/importless/3.44.nixnew file+144
@@ -0,0 +1,144 @@
1+{ stdenv, fetchurl, nspr, perl, zlib, sqlite, fixDarwinDylibNames, buildPackages }:
2+
3+let
4+ nssPEM = fetchurl {
5+ url = "http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz";
6+ sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
7+ };
8+ version = "3.44.4";
9+ underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
10+
11+in stdenv.mkDerivation rec {
12+ pname = "nss";
13+ inherit version;
14+
15+ src = fetchurl {
16+ url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz";
17+ sha256 = "7ec1a52e20fd9a23e1907eeba8f4f2ecd619dac5d20fa023ec5b4faa1843e847";
18+ };
19+
20+ depsBuildBuild = [ buildPackages.stdenv.cc ];
21+
22+ nativeBuildInputs = [ perl ];
23+
24+ buildInputs = [ zlib sqlite ]
25+ ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
26+
27+ propagatedBuildInputs = [ nspr ];
28+
29+ prePatch = ''
30+ xz -d < ${nssPEM} | patch -p1
31+ '';
32+
33+ patches =
34+ [
35+ # Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch
36+ ./85_security_load-3.44.patch
37+ ./ckpem.patch
38+ ];
39+
40+ patchFlags = [ "-p0" ];
41+
42+ postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
43+ substituteInPlace nss/coreconf/Darwin.mk --replace '@executable_path/$(notdir $@)' "$out/lib/\$(notdir \$@)"
44+ '';
45+
46+ outputs = [ "out" "dev" "tools" ];
47+
48+ preConfigure = "cd nss";
49+
50+ makeFlags = let
51+ # NSS's build systems expects aarch32 to be called arm; if we pass in armv6l/armv7l, it
52+ # fails with a linker error
53+ cpu = if stdenv.hostPlatform.isAarch32 then "arm" else stdenv.hostPlatform.parsed.cpu.name;
54+ in [
55+ "NSPR_INCLUDE_DIR=${nspr.dev}/include"
56+ "NSPR_LIB_DIR=${nspr.out}/lib"
57+ "NSDISTMODE=copy"
58+ "BUILD_OPT=1"
59+ "SOURCE_PREFIX=\$(out)"
60+ "NSS_ENABLE_ECC=1"
61+ "USE_SYSTEM_ZLIB=1"
62+ "NSS_USE_SYSTEM_SQLITE=1"
63+ "NATIVE_CC=${buildPackages.stdenv.cc}/bin/cc"
64+ ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [
65+ # Pass in CPU even if we're not cross compiling, because otherwise it tries to guess with
66+ # uname, which can be wrong if e.g. we're compiling for aarch32 on aarch64
67+ "OS_TEST=${cpu}"
68+ "CPU_ARCH=${cpu}"
69+ ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [
70+ "CROSS_COMPILE=1"
71+ "NSS_DISABLE_GTESTS=1" # don't want to build tests when cross-compiling
72+ ] ++ stdenv.lib.optional stdenv.is64bit "USE_64=1"
73+ ++ stdenv.lib.optional stdenv.isDarwin "CCC=clang++";
74+
75+ NIX_CFLAGS_COMPILE = "-Wno-error";
76+
77+ # TODO(@oxij): investigate this: `make -n check` works but `make
78+ # check` fails with "no rule", same for "installcheck".
79+ doCheck = false;
80+ doInstallCheck = false;
81+
82+ postInstall = ''
83+ rm -rf $out/private
84+ mv $out/public $out/include
85+ mv $out/*.OBJ/* $out/
86+ rmdir $out/*.OBJ
87+
88+ ln -s lib $out/lib64
89+
90+ # Upstream issue: https://bugzilla.mozilla.org/show_bug.cgi?id=530672
91+ # https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/nss/files/nss-3.32-gentoo-fixups.patch?id=af1acce6c6d2c3adb17689261dfe2c2b6771ab8a
92+ NSS_MAJOR_VERSION=`grep "NSS_VMAJOR" lib/nss/nss.h | awk '{print $3}'`
93+ NSS_MINOR_VERSION=`grep "NSS_VMINOR" lib/nss/nss.h | awk '{print $3}'`
94+ NSS_PATCH_VERSION=`grep "NSS_VPATCH" lib/nss/nss.h | awk '{print $3}'`
95+ PREFIX="$out"
96+
97+ mkdir -p $out/lib/pkgconfig
98+ sed -e "s,%prefix%,$PREFIX," \
99+ -e "s,%exec_prefix%,$PREFIX," \
100+ -e "s,%libdir%,$PREFIX/lib64," \
101+ -e "s,%includedir%,$dev/include/nss," \
102+ -e "s,%NSS_VERSION%,$NSS_MAJOR_VERSION.$NSS_MINOR_VERSION.$NSS_PATCH_VERSION,g" \
103+ -e "s,%NSPR_VERSION%,4.16,g" \
104+ pkg/pkg-config/nss.pc.in > $out/lib/pkgconfig/nss.pc
105+ chmod 0644 $out/lib/pkgconfig/nss.pc
106+
107+ sed -e "s,@prefix@,$PREFIX," \
108+ -e "s,@MOD_MAJOR_VERSION@,$NSS_MAJOR_VERSION," \
109+ -e "s,@MOD_MINOR_VERSION@,$NSS_MINOR_VERSION," \
110+ -e "s,@MOD_PATCH_VERSION@,$NSS_PATCH_VERSION," \
111+ pkg/pkg-config/nss-config.in > $out/bin/nss-config
112+ chmod 0755 $out/bin/nss-config
113+ '';
114+
115+ postFixup = let
116+ isCross = stdenv.hostPlatform != stdenv.buildPlatform;
117+ nss = if isCross then buildPackages.nss.tools else "$out";
118+ in ''
119+ for libname in freebl3 nssdbm3 softokn3
120+ do '' +
121+ (if stdenv.isDarwin
122+ then ''
123+ libfile="$out/lib/lib$libname.dylib"
124+ DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
125+ '' else ''
126+ libfile="$out/lib/lib$libname.so"
127+ LD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \
128+ '') + ''
129+ ${nss}/bin/shlibsign -v -i "$libfile"
130+ done
131+
132+ moveToOutput bin "$tools"
133+ moveToOutput bin/nss-config "$dev"
134+ moveToOutput lib/libcrmf.a "$dev" # needed by firefox, for example
135+ rm -f "$out"/lib/*.a
136+ '';
137+
138+ meta = with stdenv.lib; {
139+ homepage = "https://developer.mozilla.org/en-US/docs/NSS";
140+ description = "A set of libraries for development of security-enabled client and server applications";
141+ license = licenses.mpl20;
142+ platforms = platforms.all;
143+ };
144+}
test/golden/importless/3.44.txtnew file
No changes to the content.
test/golden/importless/3.5.nixnew file+12
@@ -0,0 +1,12 @@
1+{ callPackage, fetchFromGitHub, autoreconfHook, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "1.0";
5+
6+ src = fetchFromGitHub {
7+ owner = "arpa2";
8+ repo = "gnutls-kdh";
9+ rev = "ff3bb36f70a746f28554641d466e124098dfcb25";
10+ sha256 = "1rr3p4r145lnprxn8hqyyzh3qkj3idsbqp08g07ndrhqnxq0k0sw";
11+ };
12+})
test/golden/importless/3.5.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { autoreconfHook = α; callPackage = Path -> β; fetchFromGitHub = { owner = String; repo = String; rev = String; sha256 = String } -> γ } -> { autoreconfHook = α; callPackage = Path -> β; fetchFromGitHub = { owner = String; repo = String; rev = String; sha256 = String } -> γ; src = { owner = String; repo = String; rev = String; sha256 = String }; version = String }
test/golden/importless/3.6.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... }:
2+
3+callPackage ./generic-v3.nix {
4+ version = "3.6.1.3";
5+ sha256 = "1spj0d4flx6h3phxx3sg9r00yv734hina3365avkcz9brnm089c1";
6+}
test/golden/importless/3.6.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { sha256 = String; version = String }
test/golden/importless/3.7-html.nixnew file+18
@@ -0,0 +1,18 @@
1+# This file was generated and will be overwritten by ./generate.sh
2+
3+{ stdenv, fetchurl, lib }:
4+
5+stdenv.mkDerivation {
6+ name = "python37-docs-html-3.7.2";
7+ src = fetchurl {
8+ url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-html.tar.bz2";
9+ sha256 = "19wbrawpdam09fmyipfy92sxwn1rl93v8jkfqsfx028qhvzf0422";
10+ };
11+ installPhase = ''
12+ mkdir -p $out/share/doc/python37
13+ cp -R ./ $out/share/doc/python37/html
14+ '';
15+ meta = {
16+ maintainers = [ ];
17+ };
18+}
test/golden/importless/3.7-html.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; lib = γ; stdenv = δ } -> { installPhase = String; meta = { maintainers = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/3.7-pdf-a4.nixnew file+18
@@ -0,0 +1,18 @@
1+# This file was generated and will be overwritten by ./generate.sh
2+
3+{ stdenv, fetchurl, lib }:
4+
5+stdenv.mkDerivation {
6+ name = "python37-docs-pdf-a4-3.7.2";
7+ src = fetchurl {
8+ url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-pdf-a4.tar.bz2";
9+ sha256 = "0vdx762m30hjaabn6w88awcj2qpbz0b6z59zn9wmamd35k59lfba";
10+ };
11+ installPhase = ''
12+ mkdir -p $out/share/doc/python37
13+ cp -R ./ $out/share/doc/python37/pdf-a4
14+ '';
15+ meta = {
16+ maintainers = [ ];
17+ };
18+}
test/golden/importless/3.7-pdf-a4.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; lib = γ; stdenv = δ } -> { installPhase = String; meta = { maintainers = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/3.7-pdf-letter.nixnew file+18
@@ -0,0 +1,18 @@
1+# This file was generated and will be overwritten by ./generate.sh
2+
3+{ stdenv, fetchurl, lib }:
4+
5+stdenv.mkDerivation {
6+ name = "python37-docs-pdf-letter-3.7.2";
7+ src = fetchurl {
8+ url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-pdf-letter.tar.bz2";
9+ sha256 = "17g57vlyvqx0k916q84q2pcx7y8myw0fda9fvg9kh0ph930c837x";
10+ };
11+ installPhase = ''
12+ mkdir -p $out/share/doc/python37
13+ cp -R ./ $out/share/doc/python37/pdf-letter
14+ '';
15+ meta = {
16+ maintainers = [ ];
17+ };
18+}
test/golden/importless/3.7-pdf-letter.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; lib = γ; stdenv = δ } -> { installPhase = String; meta = { maintainers = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/3.7-text.nixnew file+18
@@ -0,0 +1,18 @@
1+# This file was generated and will be overwritten by ./generate.sh
2+
3+{ stdenv, fetchurl, lib }:
4+
5+stdenv.mkDerivation {
6+ name = "python37-docs-text-3.7.2";
7+ src = fetchurl {
8+ url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-text.tar.bz2";
9+ sha256 = "0h50rlr8jclwfxa106b42q2vn2ynp219c4zsy5qz65n5m3b7y1g2";
10+ };
11+ installPhase = ''
12+ mkdir -p $out/share/doc/python37
13+ cp -R ./ $out/share/doc/python37/text
14+ '';
15+ meta = {
16+ maintainers = [ ];
17+ };
18+}
test/golden/importless/3.7-text.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; lib = γ; stdenv = δ } -> { installPhase = String; meta = { maintainers = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/3.7.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... }:
2+
3+callPackage ./generic-v3.nix {
4+ version = "3.7.1";
5+ sha256 = "00zkijvj80bmhlj8290x4bc416mng2dlbzwc4bkvfmbal1fx93m2";
6+}
test/golden/importless/3.7.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { sha256 = String; version = String }
test/golden/importless/3.8.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... }:
2+
3+callPackage ./generic-v3.nix {
4+ version = "3.8.0";
5+ sha256 = "0vll02a6k46k720wfh25sl4hdai0130s3ix2l1wh6j1lm9pi7bm8";
6+}
test/golden/importless/3.8.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { sha256 = String; version = String }
test/golden/importless/3.9.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... }:
2+
3+callPackage ./generic-v3.nix {
4+ version = "3.9.2";
5+ sha256 = "080zxa9w1pxp5y05aiwc0c8mlqkkh98wmid4l7m99cliphsd4qnn";
6+}
test/golden/importless/3.9.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { sha256 = String; version = String }
test/golden/importless/3.nixnew file+18
@@ -0,0 +1,18 @@
1+{stdenv, fetchurl, automake, autoconf, libtool, autoreconfHook, gmpxx}:
2+stdenv.mkDerivation rec {
3+ pname = "givaro";
4+ version = "3.8.0";
5+ src = fetchurl {
6+ url = "https://forge.imag.fr/frs/download.php/592/givaro-${version}.tar.gz";
7+ sha256 = "1822ksv8653a84hvcz0vxl3nk8dqz7d41ys8rplq0zjjmvb2i5yq";
8+ };
9+ nativeBuildInputs = [ autoreconfHook ];
10+ buildInputs = [autoconf automake libtool gmpxx];
11+ meta = {
12+ inherit version;
13+ description = ''A C++ library for arithmetic and algebraic computations'';
14+ license = stdenv.lib.licenses.cecill-b;
15+ maintainers = [stdenv.lib.maintainers.raskin];
16+ platforms = stdenv.lib.platforms.linux;
17+ };
18+}
test/golden/importless/3.txtnew file
No changes to the content.
test/golden/importless/3.x.nixnew file+38
@@ -0,0 +1,38 @@
1+{ lib, python3, fetchFromGitHub }:
2+
3+python3.pkgs.buildPythonApplication rec {
4+ pname = "radicale";
5+ version = "3.0.5";
6+
7+ # No tests in PyPI tarball
8+ src = fetchFromGitHub {
9+ owner = "Kozea";
10+ repo = "Radicale";
11+ rev = version;
12+ sha256 = "0w8qkjm7b62cr49dbis41kvv3179sfmvvzlhlc0rbqss6vmwbq4p";
13+ };
14+
15+ propagatedBuildInputs = with python3.pkgs; [
16+ defusedxml
17+ passlib
18+ vobject
19+ python-dateutil
20+ setuptools
21+ ];
22+
23+ checkInputs = with python3.pkgs; [
24+ pytestrunner
25+ pytest
26+ pytestcov
27+ pytest-flake8
28+ pytest-isort
29+ waitress
30+ ];
31+
32+ meta = with lib; {
33+ homepage = "https://www.radicale.org/3.0.html";
34+ description = "CalDAV and CardDAV server";
35+ license = licenses.gpl3Plus;
36+ maintainers = with maintainers; [ dotlambda ];
37+ };
38+}
test/golden/importless/3.x.txtnew file
No changes to the content.
test/golden/importless/38.nixnew file+71
@@ -0,0 +1,71 @@
1+{ stdenv, fetchurl, pkgconfig, gnused_422, perl, python2, zip, libffi, readline, icu, zlib, buildPackages
2+, libobjc }:
3+
4+with stdenv.lib;
5+
6+stdenv.mkDerivation rec {
7+ version = "38.8.0";
8+ pname = "spidermonkey";
9+
10+ src = fetchurl {
11+ url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.bz2";
12+ sha256 = "10lrync6cxnjlnadc0j3vg8r2dq9b3wwanw8qj1h6ncxwb7asxcl";
13+ };
14+
15+ buildInputs = [ libffi readline icu zlib ]
16+ ++ stdenv.lib.optional stdenv.isDarwin libobjc;
17+ nativeBuildInputs = [ pkgconfig perl python2 zip gnused_422 ];
18+
19+ postUnpack = "sourceRoot=\${sourceRoot}/js/src";
20+
21+ preConfigure = ''
22+ export CXXFLAGS="-fpermissive"
23+ export LIBXUL_DIST=$out
24+ export PYTHON="${buildPackages.python2.interpreter}"
25+ '';
26+
27+ configureFlags = [
28+ "--enable-threadsafe"
29+ "--with-system-ffi"
30+ "--enable-posix-nspr-emulation"
31+ "--with-system-zlib"
32+ "--with-system-icu"
33+ "--enable-readline"
34+
35+ # enabling these because they're wanted by 0ad. They may or may
36+ # not be good defaults for other uses.
37+ "--enable-gcgenerational"
38+ "--enable-shared-js"
39+ ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
40+ # Spidermonkey seems to use different host/build terminology for cross
41+ # compilation here.
42+ "--host=${stdenv.buildPlatform.config}"
43+ "--target=${stdenv.hostPlatform.config}"
44+ ];
45+
46+ configurePlatforms = [];
47+
48+ depsBuildBuild = [ buildPackages.stdenv.cc ];
49+
50+ # This addresses some build system bug. It's quite likely to be safe
51+ # to re-enable parallel builds if the source revision changes.
52+ enableParallelBuilding = true;
53+
54+ postFixup = ''
55+ # The headers are symlinks to a directory that doesn't get put
56+ # into $out, so they end up broken. Fix that by just resolving the
57+ # symlinks.
58+ for i in $(find $out -type l); do
59+ cp --remove-destination "$(readlink "$i")" "$i";
60+ done
61+ '';
62+
63+ meta = with stdenv.lib; {
64+ description = "Mozilla's JavaScript engine written in C/C++";
65+ homepage = "https://developer.mozilla.org/en/SpiderMonkey";
66+ # TODO: MPL/GPL/LGPL tri-license.
67+
68+ maintainers = [ maintainers.abbradar ];
69+ platforms = platforms.unix;
70+ };
71+}
test/golden/importless/38.txtnew file
No changes to the content.
test/golden/importless/3_1.nixnew file+6
@@ -0,0 +1,6 @@
1+{ callPackage, ... } @ args:
2+
3+callPackage ./. (args // {
4+ version = "3.1.8";
5+ sha256 = "0yrzhsxmjiwkhchagx8dymzhvxl3k5h40wn9wpicqjvgjb9k8523";
6+})
test/golden/importless/3_1.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { callPackage = Path -> α; sha256 = String; version = String }
test/golden/importless/3dovideo.nixnew file+61
@@ -0,0 +1,61 @@
1+{ stdenv, requireFile, writeText, fetchurl, haskellPackages }:
2+
3+with stdenv.lib;
4+
5+let
6+ makeSpin = num: let
7+ padded = (optionalString (lessThan num 10) "0") + toString num;
8+ in "slides.spins.${padded} = 3DOVID:" +
9+ "addons/3dovideo/spins/ship${padded}.duk:" +
10+ "addons/3dovideo/spins/spin.aif:" +
11+ "addons/3dovideo/spins/ship${padded}.aif:89";
12+
13+ videoRMP = writeText "3dovideo.rmp" (''
14+ slides.ending = 3DOVID:addons/3dovideo/ending/victory.duk
15+ slides.intro = 3DOVID:addons/3dovideo/intro/intro.duk
16+ '' + concatMapStrings makeSpin (range 0 24));
17+
18+ helper = with haskellPackages; mkDerivation {
19+ pname = "uqm3donix";
20+ version = "0.1.0.0";
21+
22+ src = fetchurl {
23+ url = "https://github.com/aszlig/uqm3donix/archive/v0.1.0.0.tar.gz";
24+ sha256 = "0d40gpc3bqkw68varjxwgbdzxw0dvwqksijmvij5ixmlcspbjgvb";
25+ };
26+
27+ isLibrary = false;
28+ isExecutable = true;
29+
30+ buildDepends = [ base binary bytestring filepath tar ];
31+
32+ description = "Extract video files from a Star Control II 3DO image";
33+ license = stdenv.lib.licenses.bsd3;
34+ };
35+
36+in stdenv.mkDerivation {
37+ name = "uqm-3dovideo";
38+
39+ src = requireFile rec {
40+ name = "videos.tar";
41+ sha256 = "044h0cl69r0kc43vk4n0akk0prwzb7inq324h5yfqb38sd4zkds1";
42+ message = ''
43+ In order to get the intro and ending sequences from the 3DO version, you
44+ need to have the original 3DO Star Control II CD. Create an image from
45+ the CD and use uqm3donix* to extract a tarball with the videos from it.
46+ The reason for this is because the 3DO uses its own proprietary disk
47+ format.
48+
49+ Save the file as videos.tar and use "nix-prefetch-url file://\$PWD/${name}" to
50+ add it to the Nix store.
51+
52+ [*] ${helper}/bin/uqm3donix CDIMAGE ${name}
53+ '';
54+ };
55+
56+ buildCommand = ''
57+ mkdir -vp "$out"
58+ tar xf "$src" -C "$out" --strip-components=3
59+ cp "${videoRMP}" "$out/3dovideo.rmp"
60+ '';
61+}
test/golden/importless/3dovideo.txtnew file
No changes to the content.
test/golden/importless/3proxy.nixnew file+426
@@ -0,0 +1,426 @@
1+{ config, lib, pkgs, ... }:
2+with lib;
3+let
4+ pkg = pkgs._3proxy;
5+ cfg = config.services._3proxy;
6+ optionalList = list: if list == [ ] then "*" else concatMapStringsSep "," toString list;
7+in {
8+ options.services._3proxy = {
9+ enable = mkEnableOption "3proxy";
10+ confFile = mkOption {
11+ type = types.path;
12+ example = "/var/lib/3proxy/3proxy.conf";
13+ description = ''
14+ Ignore all other 3proxy options and load configuration from this file.
15+ '';
16+ };
17+ usersFile = mkOption {
18+ type = types.nullOr types.path;
19+ default = null;
20+ example = "/var/lib/3proxy/3proxy.passwd";
21+ description = ''
22+ Load users and passwords from this file.
23+
24+ Example users file with plain-text passwords:
25+
26+ <literal>
27+ test1:CL:password1
28+ test2:CL:password2
29+ </literal>
30+
31+ Example users file with md5-crypted passwords:
32+
33+ <literal>
34+ test1:CR:$1$tFkisVd2$1GA8JXkRmTXdLDytM/i3a1
35+ test2:CR:$1$rkpibm5J$Aq1.9VtYAn0JrqZ8M.1ME.
36+ </literal>
37+
38+ You can generate md5-crypted passwords via https://unix4lyfe.org/crypt/
39+ Note that htpasswd tool generates incompatible md5-crypted passwords.
40+ Consult <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/How-To-(incomplete)#USERS">documentation</link> for more information.
41+ '';
42+ };
43+ services = mkOption {
44+ type = types.listOf (types.submodule {
45+ options = {
46+ type = mkOption {
47+ type = types.enum [
48+ "proxy"
49+ "socks"
50+ "pop3p"
51+ "ftppr"
52+ "admin"
53+ "dnspr"
54+ "tcppm"
55+ "udppm"
56+ ];
57+ example = "proxy";
58+ description = ''
59+ Service type. The following values are valid:
60+
61+ <itemizedlist>
62+ <listitem><para>
63+ <literal>"proxy"</literal>: HTTP/HTTPS proxy (default port 3128).
64+ </para></listitem>
65+ <listitem><para>
66+ <literal>"socks"</literal>: SOCKS 4/4.5/5 proxy (default port 1080).
67+ </para></listitem>
68+ <listitem><para>
69+ <literal>"pop3p"</literal>: POP3 proxy (default port 110).
70+ </para></listitem>
71+ <listitem><para>
72+ <literal>"ftppr"</literal>: FTP proxy (default port 21).
73+ </para></listitem>
74+ <listitem><para>
75+ <literal>"admin"</literal>: Web interface (default port 80).
76+ </para></listitem>
77+ <listitem><para>
78+ <literal>"dnspr"</literal>: Caching DNS proxy (default port 53).
79+ </para></listitem>
80+ <listitem><para>
81+ <literal>"tcppm"</literal>: TCP portmapper.
82+ </para></listitem>
83+ <listitem><para>
84+ <literal>"udppm"</literal>: UDP portmapper.
85+ </para></listitem>
86+ </itemizedlist>
87+ '';
88+ };
89+ bindAddress = mkOption {
90+ type = types.str;
91+ default = "[::]";
92+ example = "127.0.0.1";
93+ description = ''
94+ Address used for service.
95+ '';
96+ };
97+ bindPort = mkOption {
98+ type = types.nullOr types.int;
99+ default = null;
100+ example = 3128;
101+ description = ''
102+ Override default port used for service.
103+ '';
104+ };
105+ maxConnections = mkOption {
106+ type = types.int;
107+ default = 100;
108+ example = 1000;
109+ description = ''
110+ Maximum number of simulationeous connections to this service.
111+ '';
112+ };
113+ auth = mkOption {
114+ type = types.listOf (types.enum [ "none" "iponly" "strong" ]);
115+ example = [ "iponly" "strong" ];
116+ description = ''
117+ Authentication type. The following values are valid:
118+
119+ <itemizedlist>
120+ <listitem><para>
121+ <literal>"none"</literal>: disables both authentication and authorization. You can not use ACLs.
122+ </para></listitem>
123+ <listitem><para>
124+ <literal>"iponly"</literal>: specifies no authentication. ACLs authorization is used.
125+ </para></listitem>
126+ <listitem><para>
127+ <literal>"strong"</literal>: authentication by username/password. If user is not registered their access is denied regardless of ACLs.
128+ </para></listitem>
129+ </itemizedlist>
130+
131+ Double authentication is possible, e.g.
132+
133+ <literal>
134+ {
135+ auth = [ "iponly" "strong" ];
136+ acl = [
137+ {
138+ rule = "allow";
139+ targets = [ "192.168.0.0/16" ];
140+ }
141+ {
142+ rule = "allow"
143+ users = [ "user1" "user2" ];
144+ }
145+ ];
146+ }
147+ </literal>
148+ In this example strong username authentication is not required to access 192.168.0.0/16.
149+ '';
150+ };
151+ acl = mkOption {
152+ type = types.listOf (types.submodule {
153+ options = {
154+ rule = mkOption {
155+ type = types.enum [ "allow" "deny" ];
156+ example = "allow";
157+ description = ''
158+ ACL rule. The following values are valid:
159+
160+ <itemizedlist>
161+ <listitem><para>
162+ <literal>"allow"</literal>: connections allowed.
163+ </para></listitem>
164+ <listitem><para>
165+ <literal>"deny"</literal>: connections not allowed.
166+ </para></listitem>
167+ </itemizedlist>
168+ '';
169+ };
170+ users = mkOption {
171+ type = types.listOf types.str;
172+ default = [ ];
173+ example = [ "user1" "user2" "user3" ];
174+ description = ''
175+ List of users, use empty list for any.
176+ '';
177+ };
178+ sources = mkOption {
179+ type = types.listOf types.str;
180+ default = [ ];
181+ example = [ "127.0.0.1" "192.168.1.0/24" ];
182+ description = ''
183+ List of source IP range, use empty list for any.
184+ '';
185+ };
186+ targets = mkOption {
187+ type = types.listOf types.str;
188+ default = [ ];
189+ example = [ "127.0.0.1" "192.168.1.0/24" ];
190+ description = ''
191+ List of target IP ranges, use empty list for any.
192+ May also contain host names instead of addresses.
193+ It's possible to use wildmask in the begginning and in the the end of hostname, e.g. *badsite.com or *badcontent*.
194+ Hostname is only checked if hostname presents in request.
195+ '';
196+ };
197+ targetPorts = mkOption {
198+ type = types.listOf types.int;
199+ default = [ ];
200+ example = [ 80 443 ];
201+ description = ''
202+ List of target ports, use empty list for any.
203+ '';
204+ };
205+ };
206+ });
207+ default = [ ];
208+ example = literalExample ''
209+ [
210+ {
211+ rule = "allow";
212+ users = [ "user1" ];
213+ }
214+ {
215+ rule = "allow";
216+ sources = [ "192.168.1.0/24" ];
217+ }
218+ {
219+ rule = "deny";
220+ }
221+ ]
222+ '';
223+ description = ''
224+ Use this option to limit user access to resources.
225+ '';
226+ };
227+ extraArguments = mkOption {
228+ type = types.nullOr types.str;
229+ default = null;
230+ example = "-46";
231+ description = ''
232+ Extra arguments for service.
233+ Consult "Options" section in <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg">documentation</link> for available arguments.
234+ '';
235+ };
236+ extraConfig = mkOption {
237+ type = types.nullOr types.lines;
238+ default = null;
239+ description = ''
240+ Extra configuration for service. Use this to configure things like bandwidth limiter or ACL-based redirection.
241+ Consult <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg">documentation</link> for available options.
242+ '';
243+ };
244+ };
245+ });
246+ default = [ ];
247+ example = literalExample ''
248+ [
249+ {
250+ type = "proxy";
251+ bindAddress = "192.168.1.24";
252+ bindPort = 3128;
253+ auth = [ "none" ];
254+ }
255+ {
256+ type = "proxy";
257+ bindAddress = "10.10.1.20";
258+ bindPort = 3128;
259+ auth = [ "iponly" ];
260+ }
261+ {
262+ type = "socks";
263+ bindAddress = "172.17.0.1";
264+ bindPort = 1080;
265+ auth = [ "strong" ];
266+ }
267+ ]
268+ '';
269+ description = ''
270+ Use this option to define 3proxy services.
271+ '';
272+ };
273+ denyPrivate = mkOption {
274+ type = types.bool;
275+ default = true;
276+ description = ''
277+ Whether to deny access to private IP ranges including loopback.
278+ '';
279+ };
280+ privateRanges = mkOption {
281+ type = types.listOf types.str;
282+ default = [
283+ "0.0.0.0/8"
284+ "127.0.0.0/8"
285+ "10.0.0.0/8"
286+ "100.64.0.0/10"
287+ "172.16.0.0/12"
288+ "192.168.0.0/16"
289+ "::"
290+ "::1"
291+ "fc00::/7"
292+ ];
293+ example = [
294+ "0.0.0.0/8"
295+ "127.0.0.0/8"
296+ "10.0.0.0/8"
297+ "100.64.0.0/10"
298+ "172.16.0.0/12"
299+ "192.168.0.0/16"
300+ "::"
301+ "::1"
302+ "fc00::/7"
303+ ];
304+ description = ''
305+ What IP ranges to deny access when denyPrivate is set tu true.
306+ '';
307+ };
308+ resolution = mkOption {
309+ type = types.submodule {
310+ options = {
311+ nserver = mkOption {
312+ type = types.listOf types.str;
313+ default = [ ];
314+ example = [ "127.0.0.53" "192.168.1.3:5353/tcp" ];
315+ description = ''
316+ List of nameservers to use.
317+
318+ Up to 5 nservers may be specified. If no nserver is configured,
319+ default system name resolution functions are used.
320+ '';
321+ };
322+ nscache = mkOption {
323+ type = types.int;
324+ default = 65535;
325+ example = 65535;
326+ description = "Set name cache size for IPv4.";
327+ };
328+ nscache6 = mkOption {
329+ type = types.int;
330+ default = 65535;
331+ example = 65535;
332+ description = "Set name cache size for IPv6.";
333+ };
334+ nsrecord = mkOption {
335+ type = types.attrsOf types.str;
336+ default = { };
337+ example = literalExample ''
338+ {
339+ "files.local" = "192.168.1.12";
340+ "site.local" = "192.168.1.43";
341+ }
342+ '';
343+ description = "Adds static nsrecords.";
344+ };
345+ };
346+ };
347+ default = { };
348+ description = ''
349+ Use this option to configure name resolution and DNS caching.
350+ '';
351+ };
352+ extraConfig = mkOption {
353+ type = types.nullOr types.lines;
354+ default = null;
355+ description = ''
356+ Extra configuration, appended to the 3proxy configuration file.
357+ Consult <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg">documentation</link> for available options.
358+ '';
359+ };
360+ };
361+
362+ config = mkIf cfg.enable {
363+ services._3proxy.confFile = mkDefault (pkgs.writeText "3proxy.conf" ''
364+ # log to stdout
365+ log
366+
367+ ${concatMapStringsSep "\n" (x: "nserver " + x) cfg.resolution.nserver}
368+
369+ nscache ${toString cfg.resolution.nscache}
370+ nscache6 ${toString cfg.resolution.nscache6}
371+
372+ ${concatMapStringsSep "\n" (x: "nsrecord " + x)
373+ (mapAttrsToList (name: value: "${name} ${value}")
374+ cfg.resolution.nsrecord)}
375+
376+ ${optionalString (cfg.usersFile != null)
377+ ''users $"${cfg.usersFile}"''
378+ }
379+
380+ ${concatMapStringsSep "\n" (service: ''
381+ auth ${concatStringsSep " " service.auth}
382+
383+ ${optionalString (cfg.denyPrivate)
384+ "deny * * ${optionalList cfg.privateRanges}"}
385+
386+ ${concatMapStringsSep "\n" (acl:
387+ "${acl.rule} ${
388+ concatMapStringsSep " " optionalList [
389+ acl.users
390+ acl.sources
391+ acl.targets
392+ acl.targetPorts
393+ ]
394+ }") service.acl}
395+
396+ maxconn ${toString service.maxConnections}
397+
398+ ${optionalString (service.extraConfig != null) service.extraConfig}
399+
400+ ${service.type} -i${toString service.bindAddress} ${
401+ optionalString (service.bindPort != null)
402+ "-p${toString service.bindPort}"
403+ } ${
404+ optionalString (service.extraArguments != null) service.extraArguments
405+ }
406+
407+ flush
408+ '') cfg.services}
409+ ${optionalString (cfg.extraConfig != null) cfg.extraConfig}
410+ '');
411+ systemd.services."3proxy" = {
412+ description = "Tiny free proxy server";
413+ documentation = [ "https://github.com/z3APA3A/3proxy/wiki" ];
414+ after = [ "network.target" ];
415+ wantedBy = [ "multi-user.target" ];
416+ serviceConfig = {
417+ DynamicUser = true;
418+ StateDirectory = "3proxy";
419+ ExecStart = "${pkg}/bin/3proxy ${cfg.confFile}";
420+ Restart = "on-failure";
421+ };
422+ };
423+ };
424+
425+ meta.maintainers = with maintainers; [ misuzu ];
426+}
test/golden/importless/3proxy.txtnew file+1
@@ -0,0 +1 @@
1+∀ ε ζ η. { config = ε; lib = ζ; pkgs = η } -> { config = { services = { _3proxy = { confFile = String } }; systemd = { services = { 3proxy = { after = [String]; description = String; documentation = [String]; serviceConfig = { DynamicUser = Bool; ExecStart = String; Restart = String; StateDirectory = String }; wantedBy = [String] } } } }; meta = { maintainers = ∀ δ. [δ] }; options = { services = { _3proxy = { confFile = { description = String; example = String; type = ∀ γ. γ }; denyPrivate = { default = Bool; description = String; type = ∀ γ. γ }; enable = String; extraConfig = { default = Null; description = String; type = ∀ γ. γ }; privateRanges = { default = [String]; description = String; example = [String]; type = ∀ γ. γ }; resolution = { default = { }; description = String; type = { options = { nscache = { default = Integer; description = String; example = Integer; type = ∀ β. β }; nscache6 = { default = Integer; description = String; example = Integer; type = ∀ β. β }; nserver = { default = ∀ β. β; description = String; example = [String]; type = ∀ β. β }; nsrecord = { default = { }; description = String; example = String; type = ∀ β. β } } } }; services = { default = ∀ γ. γ; description = String; example = String; type = { options = { acl = { default = ∀ β. β; description = String; example = String; type = { options = { rule = { description = String; example = String; type = [String] }; sources = { default = ∀ α. α; description = String; example = [String]; type = ∀ α. α }; targetPorts = { default = ∀ α. α; description = String; example = [Integer]; type = ∀ α. α }; targets = { default = ∀ α. α; description = String; example = [String]; type = ∀ α. α }; users = { default = ∀ α. α; description = String; example = [String]; type = ∀ α. α } } } }; auth = { description = String; example = [String]; type = [String] }; bindAddress = { default = String; description = String; example = String; type = ∀ β. β }; bindPort = { default = Null; description = String; example = Integer; type = ∀ β. β }; extraArguments = { default = Null; description = String; example = String; type = ∀ β. β }; extraConfig = { default = Null; description = String; type = ∀ β. β }; maxConnections = { default = Integer; description = String; example = Integer; type = ∀ β. β }; type = { description = String; example = String; type = [String] } } } }; usersFile = { default = Null; description = String; example = String; type = ∀ γ. γ } } } } }
test/golden/importless/4.0.nixnew file+41
@@ -0,0 +1,41 @@
1+{ stdenv, fetchurl, omake, ocaml, libtiff, libjpeg, libpng, giflib, findlib, libXpm, freetype, graphicsmagick, ghostscript }:
2+
3+let
4+ pname = "camlimages";
5+ version = "4.0.1";
6+in
7+
8+stdenv.mkDerivation {
9+ name = "${pname}-${version}";
10+
11+ src = fetchurl {
12+ url = "https://bitbucket.org/camlspotter/camlimages/get/v4.0.1.tar.gz";
13+ sha256 = "b40237c1505487049799a7af296eb3996b3fa08eab94415546f46d61355747c4";
14+ };
15+
16+ buildInputs = [ ocaml omake findlib graphicsmagick ghostscript ];
17+
18+ propagatedBuildInputs = [libtiff libjpeg libpng giflib freetype libXpm ];
19+
20+ createFindlibDestdir = true;
21+
22+ preConfigure = ''
23+ rm ./configure
24+ '';
25+
26+ buildPhase = ''
27+ omake
28+ '';
29+
30+ installPhase = ''
31+ omake install
32+ '';
33+
34+ meta = with stdenv.lib; {
35+ branch = "4.0";
36+ homepage = "https://bitbucket.org/camlspotter/camlimages";
37+ description = "OCaml image processing library";
38+ license = licenses.lgpl2;
39+ maintainers = [ maintainers.vbgl ];
40+ };
41+}
test/golden/importless/4.0.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { fetchurl = { sha256 = String; url = String } -> β; findlib = γ; freetype = δ; ghostscript = γ; giflib = δ; graphicsmagick = γ; libXpm = δ; libjpeg = δ; libpng = δ; libtiff = δ; ocaml = γ; omake = γ; stdenv = ε } -> { buildInputs = [γ]; buildPhase = String; createFindlibDestdir = Bool; installPhase = String; meta = { branch = String; description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α] }; name = String; preConfigure = String; propagatedBuildInputs = [δ]; src = { sha256 = String; url = String } }
test/golden/importless/4.00.1.nixnew file+67
@@ -0,0 +1,67 @@
1+{ stdenv, fetchurl, ncurses, xlibsWrapper }:
2+
3+let
4+ useX11 = !stdenv.isAarch32 && !stdenv.isMips;
5+ useNativeCompilers = !stdenv.isMips;
6+ inherit (stdenv.lib) optional optionals optionalString;
7+in
8+
9+stdenv.mkDerivation rec {
10+ pname = "ocaml";
11+ version = "4.00.1";
12+
13+ src = fetchurl {
14+ url = "https://caml.inria.fr/pub/distrib/ocaml-4.00/${pname}-${version}.tar.bz2";
15+ sha256 = "33c3f4acff51685f5bfd7c260f066645e767d4e865877bf1613c176a77799951";
16+ };
17+
18+ prefixKey = "-prefix ";
19+ configureFlags = [ "-no-tk" ] ++ optionals useX11 [ "-x11lib" xlibsWrapper ];
20+ buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
21+ buildInputs = [ ncurses ] ++ optional useX11 xlibsWrapper;
22+ installTargets = "install" + optionalString useNativeCompilers " installopt";
23+ preConfigure = ''
24+ CAT=$(type -tp cat)
25+ sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
26+ '';
27+ postBuild = ''
28+ mkdir -p $out/include
29+ ln -sv $out/lib/ocaml/caml $out/include/caml
30+ '';
31+
32+ passthru = {
33+ nativeCompilers = useNativeCompilers;
34+ };
35+
36+ meta = with stdenv.lib; {
37+ homepage = "http://caml.inria.fr/ocaml";
38+ branch = "4.00";
39+ license = with licenses; [
40+ qpl /* compiler */
41+ lgpl2 /* library */
42+ ];
43+ description = "Most popular variant of the Caml language";
44+
45+ longDescription =
46+ ''
47+ OCaml is the most popular variant of the Caml language. From a
48+ language standpoint, it extends the core Caml language with a
49+ fully-fledged object-oriented layer, as well as a powerful module
50+ system, all connected by a sound, polymorphic type system featuring
51+ type inference.
52+
53+ The OCaml system is an industrial-strength implementation of this
54+ language, featuring a high-performance native-code compiler (ocamlopt)
55+ for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc,
56+ Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc)
57+ and an interactive read-eval-print loop (ocaml) for quick development
58+ and portability. The OCaml distribution includes a comprehensive
59+ standard library, a replay debugger (ocamldebug), lexer (ocamllex) and
60+ parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4)
61+ and a documentation generator (ocamldoc).
62+ '';
63+
64+ platforms = with platforms; linux;
65+ };
66+
67+}
test/golden/importless/4.00.1.txtnew file
No changes to the content.
test/golden/importless/4.01.17.nixnew file+82
@@ -0,0 +1,82 @@
1+# Tested on linux-x86_64. Might work on linux-i386. Probably won't work on anything else.
2+
3+# To use this driver in NixOS, add it to printing.drivers in configuration.nix.
4+# configuration.nix might look like this when you're done:
5+# { pkgs, ... }: {
6+# printing = {
7+# enable = true;
8+# drivers = [ pkgs.samsung-unified-linux-driver_4_01_17 ];
9+# };
10+# (more stuff)
11+# }
12+# (This advice was tested on the 1st November 2016.)
13+
14+{ stdenv, fetchurl, cups, libusb-compat-0_1 }:
15+
16+# Do not bump lightly! Visit <http://www.bchemnet.com/suldr/supported.html>
17+# to see what will break when upgrading. Consider a new versioned attribute.
18+let
19+ installationPath = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" else "i386";
20+ appendPath = if stdenv.hostPlatform.system == "x86_64-linux" then "64" else "";
21+ libPath = stdenv.lib.makeLibraryPath [ cups libusb-compat-0_1 ] + ":$out/lib:${stdenv.cc.cc.lib}/lib${appendPath}";
22+in stdenv.mkDerivation rec {
23+ pname = "samsung-UnifiedLinuxDriver";
24+ version = "4.01.17";
25+
26+ src = fetchurl {
27+ url = "http://www.bchemnet.com/suldr/driver/UnifiedLinuxDriver-${version}.tar.gz";
28+ sha256 = "1vv3pzvqpg1dq3xjr8161x2yp3v7ca75vil56ranhw5pkjwq66x0";
29+ };
30+
31+ dontPatchELF = true;
32+ dontStrip = true;
33+
34+ installPhase = ''
35+ cd Linux/${installationPath}
36+ mkdir -p $out/lib/cups/{backend,filter}
37+ install -Dm755 mfp $out/lib/cups/backend/
38+ install -Dm755 pstosecps pstospl pstosplc rastertospl rastertosplc $out/lib/cups/filter/
39+ install -Dm755 libscmssc.so $out/lib/
40+
41+ GLOBIGNORE=*.so
42+ for exe in $out/lib/cups/**/*; do
43+ echo "Patching $exe"
44+ patchelf \
45+ --set-rpath ${libPath} \
46+ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
47+ $exe
48+ done
49+ unset GLOBIGNORE
50+
51+ install -v at_root/usr/lib${appendPath}/libmfp.so.1.0.1 $out/lib
52+ cd $out/lib
53+ ln -s -f libmfp.so.1.0.1 libmfp.so.1
54+ ln -s -f libmfp.so.1 libmfp.so
55+
56+ for lib in $out/lib/*.so; do
57+ echo "Patching $lib"
58+ patchelf \
59+ --set-rpath ${libPath} \
60+ $lib
61+ done
62+
63+ mkdir -p $out/share/cups/model/samsung
64+ cd -
65+ cd ../noarch/at_opt/share/ppd
66+ for i in *.ppd; do
67+ sed -i $i -e \
68+ "s,pstosecps,$out/lib/cups/filter/pstosecps,g; \
69+ s,pstospl,$out/lib/cups/filter/pstospl,g; \
70+ s,rastertospl,$out/lib/cups/filter/rastertospl,g"
71+ done;
72+ cp -r ./* $out/share/cups/model/samsung
73+ '';
74+
75+ meta = with stdenv.lib; {
76+ description = "Samsung's Linux printing drivers; includes binaries without source code";
77+ homepage = "http://www.samsung.com/";
78+ license = licenses.unfree;
79+ platforms = platforms.linux;
80+ maintainers = with maintainers; [ joko ];
81+ };
82+}
test/golden/importless/4.01.17.txtnew file
No changes to the content.
test/golden/importless/4.1.nixnew file+37
@@ -0,0 +1,37 @@
1+{ stdenv, fetchurl, unzip }:
2+
3+let
4+
5+ src = fetchurl {
6+ url = "http://www.oasis-open.org/docbook/sgml/4.1/docbk41.zip";
7+ sha256 = "04b3gp4zkh9c5g9kvnywdkdfkcqx3kjc04j4mpkr4xk7lgqgrany";
8+ };
9+
10+ isoents = fetchurl {
11+ url = "http://www.oasis-open.org/cover/ISOEnts.zip";
12+ sha256 = "1clrkaqnvc1ja4lj8blr0rdlphngkcda3snm7b9jzvcn76d3br6w";
13+ };
14+
15+in
16+
17+stdenv.mkDerivation {
18+ name = "docbook-sgml-4.1";
19+
20+ dontUnpack = true;
21+
22+ nativeBuildInputs = [ unzip ];
23+
24+ installPhase =
25+ ''
26+ o=$out/sgml/dtd/docbook-4.1
27+ mkdir -p $o
28+ cd $o
29+ unzip ${src}
30+ unzip ${isoents}
31+ sed -e "s/iso-/ISO/" -e "s/.gml//" -i docbook.cat
32+ '';
33+
34+ meta = {
35+ platforms = stdenv.lib.platforms.unix;
36+ };
37+}
test/golden/importless/4.1.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; stdenv = γ; unzip = δ } -> { dontUnpack = Bool; installPhase = String; meta = { platforms = ∀ α. α }; name = String; nativeBuildInputs = [δ] }
test/golden/importless/4.13a.nixnew file+19
@@ -0,0 +1,19 @@
1+{ stdenv, fetchurl, texinfo, ncurses, lzma }:
2+
3+stdenv.mkDerivation rec {
4+ pname = "texinfo";
5+ version = "4.13a";
6+
7+ src = fetchurl {
8+ url = "mirror://gnu/texinfo/${pname}-${version}.tar.lzma";
9+ sha256 = "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d";
10+ };
11+
12+ buildInputs = [ ncurses ];
13+ nativeBuildInputs = [ lzma ];
14+
15+ # Disabled because we don't have zdiff in the stdenv bootstrap.
16+ #doCheck = true;
17+
18+ meta = texinfo.meta // { branch = version; };
19+}
test/golden/importless/4.13a.txtnew file
No changes to the content.
test/golden/importless/4.2.1.nixnew file+29
@@ -0,0 +1,29 @@
1+{stdenv, fetchurl, pkgconfig, libdvdread}:
2+
3+stdenv.mkDerivation {
4+ name = "libdvdnav-4.2.1";
5+
6+ src = fetchurl {
7+ url = "http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.1.tar.xz";
8+ sha256 = "7fca272ecc3241b6de41bbbf7ac9a303ba25cb9e0c82aa23901d3104887f2372";
9+ };
10+
11+ nativeBuildInputs = [ pkgconfig ];
12+ buildInputs = [libdvdread];
13+
14+ configureScript = "./configure2"; # wtf?
15+
16+ preConfigure = ''
17+ mkdir -p $out
18+ '';
19+
20+ meta = {
21+ homepage = "http://dvdnav.mplayerhq.hu/";
22+ description = "A library that implements DVD navigation features such as DVD menus";
23+ license = stdenv.lib.licenses.gpl2;
24+ maintainers = [ stdenv.lib.maintainers.wmertens ];
25+ platforms = stdenv.lib.platforms.linux;
26+ };
27+
28+ passthru = { inherit libdvdread; };
29+}
test/golden/importless/4.2.1.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { fetchurl = { sha256 = String; url = String } -> β; libdvdread = γ; pkgconfig = δ; stdenv = ε } -> { buildInputs = [γ]; configureScript = String; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. α }; name = String; nativeBuildInputs = [δ]; passthru = { libdvdread = γ }; preConfigure = String; src = { sha256 = String; url = String } }
test/golden/importless/4.2.nixnew file+43
@@ -0,0 +1,43 @@
1+{ stdenv, fetchurl, gfortran, blas, lapack }:
2+
3+let
4+ int_t = if blas.isILP64 then "int64_t" else "int32_t";
5+in
6+stdenv.mkDerivation rec {
7+ version = "4.2.1";
8+ pname = "suitesparse";
9+ src = fetchurl {
10+ url = "http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-${version}.tar.gz" ;
11+ sha256 = "1ga69637x7kdkiy3w3lq9dvva7220bdangv2lch2wx1hpi83h0p8";
12+ };
13+
14+ nativeBuildInputs = [ gfortran ];
15+ buildInputs = [ blas lapack ];
16+
17+ preConfigure = ''
18+ mkdir -p $out/lib
19+ mkdir -p $out/include
20+
21+ sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
22+ -e 's/METIS .*$/METIS =/' \
23+ -e 's/METIS_PATH .*$/METIS_PATH =/' \
24+ -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \
25+ -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/'
26+ '';
27+
28+ makeFlags = [
29+ "PREFIX=\"$(out)\""
30+ "INSTALL_LIB=$(out)/lib"
31+ "INSTALL_INCLUDE=$(out)/include"
32+ "BLAS=-lblas"
33+ "LAPACK=-llapack"
34+ ];
35+
36+ meta = with stdenv.lib; {
37+ homepage = "http://faculty.cse.tamu.edu/davis/suitesparse.html";
38+ description = "A suite of sparse matrix algorithms";
39+ license = with licenses; [ bsd2 gpl2Plus lgpl21Plus ];
40+ maintainers = with maintainers; [ ttuegel ];
41+ platforms = with platforms; unix;
42+ };
43+}
test/golden/importless/4.2.txtnew file
No changes to the content.
test/golden/importless/4.25.nixnew file+53
@@ -0,0 +1,53 @@
1+{ stdenv, fetchurl
2+, openssl, readline, ncurses, zlib
3+, dataDir ? "/var/lib/softether" }:
4+
5+let
6+ os = if stdenv.isLinux then "1"
7+ else if stdenv.isFreeBSD then "2"
8+ else if stdenv.isSunOS then "3"
9+ else if stdenv.isDarwin then "4"
10+ else if stdenv.isOpenBSD then "5"
11+ else "";
12+ cpuBits = if stdenv.is64bit then "2" else "1";
13+
14+in
15+
16+stdenv.mkDerivation rec {
17+ pname = "softether";
18+ version = "4.25";
19+ build = "9656";
20+ compiledDate = "2018.01.15";
21+
22+ src = fetchurl {
23+ url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";
24+ sha256 = "1y1m8lf0xfh7m70d15wj2jjf5a5qhi3j49ciwqmsscsqvb1xwimr";
25+ };
26+
27+ buildInputs = [ openssl readline ncurses zlib ];
28+
29+ preConfigure = ''
30+ echo "${os}
31+ ${cpuBits}
32+ " | ./configure
33+ rm configure
34+ '';
35+
36+ buildPhase = ''
37+ mkdir -p $out/bin
38+ sed -i \
39+ -e "/INSTALL_BINDIR=/s|/usr/bin|/bin|g" \
40+ -e "/_DIR=/s|/usr|${dataDir}|g" \
41+ -e "s|\$(INSTALL|$out/\$(INSTALL|g" \
42+ -e "/echo/s|echo $out/|echo |g" \
43+ Makefile
44+ '';
45+
46+ meta = with stdenv.lib; {
47+ description = "An Open-Source Free Cross-platform Multi-protocol VPN Program";
48+ homepage = "https://www.softether.org/";
49+ license = licenses.gpl2;
50+ maintainers = [ maintainers.rick68 ];
51+ platforms = [ "x86_64-linux" ];
52+ };
53+}
test/golden/importless/4.25.txtnew file
No changes to the content.
test/golden/importless/4.29.nixnew file+38
@@ -0,0 +1,38 @@
1+{ stdenv, fetchurl
2+, openssl, readline, ncurses, zlib
3+, dataDir ? "/var/lib/softether" }:
4+
5+stdenv.mkDerivation rec {
6+ pname = "softether";
7+ version = "4.29";
8+ build = "9680";
9+
10+ src = fetchurl {
11+ url = "https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v${version}-${build}-rtm/softether-src-v${version}-${build}-rtm.tar.gz";
12+ sha256 = "1r169s5dr31060r2mxkmm08riy6zrxgapmrc6kdrpxdav6kmy0z6";
13+ };
14+
15+ buildInputs = [ openssl readline ncurses zlib ];
16+
17+ preConfigure = ''
18+ ./configure
19+ '';
20+
21+ buildPhase = ''
22+ mkdir -p $out/bin
23+ sed -i \
24+ -e "/INSTALL_BINDIR=/s|/usr/bin|/bin|g" \
25+ -e "/_DIR=/s|/usr|${dataDir}|g" \
26+ -e "s|\$(INSTALL|$out/\$(INSTALL|g" \
27+ -e "/echo/s|echo $out/|echo |g" \
28+ Makefile
29+ '';
30+
31+ meta = with stdenv.lib; {
32+ description = "An Open-Source Free Cross-platform Multi-protocol VPN Program";
33+ homepage = "https://www.softether.org/";
34+ license = licenses.asl20;
35+ maintainers = [ maintainers.rick68 ];
36+ platforms = [ "x86_64-linux" ];
37+ };
38+}
test/golden/importless/4.29.txtnew file
No changes to the content.
test/golden/importless/4.3.2.nixnew file+75
@@ -0,0 +1,75 @@
1+{ stdenv, fetchurl, m4, cxx ? true }:
2+
3+let self = stdenv.mkDerivation rec {
4+ name = "gmp-4.3.2";
5+
6+ src = fetchurl {
7+ url = "mirror://gnu/gmp/${name}.tar.bz2";
8+ sha256 = "0x8prpqi9amfcmi7r4zrza609ai9529pjaq0h4aw51i867064qck";
9+ };
10+
11+ #outputs TODO: split $cxx due to libstdc++ dependency
12+ # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added
13+ # - see #5855 for related discussion
14+ outputs = [ "out" "dev" "info" ];
15+ passthru.static = self.out;
16+
17+ nativeBuildInputs = [ m4 ];
18+
19+ # Prevent the build system from using sub-architecture-specific
20+ # instructions (e.g., SSE2 on i686).
21+ #
22+ # This is not a problem for Apple machines, which are all alike. In
23+ # addition, `configfsf.guess' would return `i386-apple-darwin10.2.0' on
24+ # `x86_64-darwin', leading to a 32-bit ABI build, which is undesirable.
25+ preConfigure =
26+ if !stdenv.isDarwin
27+ then "ln -sf configfsf.guess config.guess"
28+ else ''echo "Darwin host is `./config.guess`."'';
29+
30+ configureFlags = [
31+ (stdenv.lib.enableFeature cxx "cxx")
32+ ] ++ stdenv.lib.optionals stdenv.isDarwin [
33+ "ac_cv_build=x86_64-apple-darwin13.4.0"
34+ "ac_cv_host=x86_64-apple-darwin13.4.0"
35+ ];
36+
37+ # The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8.
38+ # Newer versions of GMP don't have that issue anymore.
39+ doCheck = false;
40+
41+ meta = {
42+ branch = "4";
43+ description = "GNU multiple precision arithmetic library";
44+
45+ longDescription =
46+ '' GMP is a free library for arbitrary precision arithmetic, operating
47+ on signed integers, rational numbers, and floating point numbers.
48+ There is no practical limit to the precision except the ones implied
49+ by the available memory in the machine GMP runs on. GMP has a rich
50+ set of functions, and the functions have a regular interface.
51+
52+ The main target applications for GMP are cryptography applications
53+ and research, Internet security applications, algebra systems,
54+ computational algebra research, etc.
55+
56+ GMP is carefully designed to be as fast as possible, both for small
57+ operands and for huge operands. The speed is achieved by using
58+ fullwords as the basic arithmetic type, by using fast algorithms,
59+ with highly optimised assembly code for the most common inner loops
60+ for a lot of CPUs, and by a general emphasis on speed.
61+
62+ GMP is faster than any other bignum library. The advantage for GMP
63+ increases with the operand sizes for many operations, since GMP uses
64+ asymptotically faster algorithms.
65+ '';
66+
67+ homepage = "https://gmplib.org/";
68+ license = stdenv.lib.licenses.lgpl3Plus;
69+
70+ maintainers = [ ];
71+ platforms = stdenv.lib.platforms.all;
72+ badPlatforms = [ "x86_64-darwin" ];
73+ };
74+};
75+ in self
test/golden/importless/4.3.2.txtnew file
No changes to the content.
test/golden/importless/4.4.nixnew file+100
@@ -0,0 +1,100 @@
1+{ stdenv, fetchurl, gfortran, blas, lapack
2+, enableCuda ? false, cudatoolkit
3+}:
4+
5+let
6+ version = "4.4.4";
7+ name = "suitesparse-${version}";
8+
9+ int_t = if blas.isILP64 then "int64_t" else "int32_t";
10+ SHLIB_EXT = stdenv.hostPlatform.extensions.sharedLibrary;
11+in
12+stdenv.mkDerivation {
13+ inherit name;
14+
15+ src = fetchurl {
16+ url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${version}.tar.gz";
17+ sha256 = "1zdn1y0ij6amj7smmcslkqgbqv9yy5cwmbyzqc9v6drzdzllgbpj";
18+ };
19+
20+ preConfigure = ''
21+ mkdir -p $out/lib
22+ mkdir -p $out/include
23+
24+ sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
25+ -e 's/METIS .*$/METIS =/' \
26+ -e 's/METIS_PATH .*$/METIS_PATH =/' \
27+ -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \
28+ -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/'
29+ ''
30+ + stdenv.lib.optionalString stdenv.isDarwin ''
31+ sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
32+ -e 's/^[[:space:]]*\(LIB = -lm\) -lrt/\1/'
33+ ''
34+ + stdenv.lib.optionalString enableCuda ''
35+ sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
36+ -e 's|^[[:space:]]*\(CUDA_ROOT =\)|CUDA_ROOT = ${cudatoolkit}|' \
37+ -e 's|^[[:space:]]*\(GPU_BLAS_PATH =\)|GPU_BLAS_PATH = $(CUDA_ROOT)|' \
38+ -e 's|^[[:space:]]*\(GPU_CONFIG =\)|GPU_CONFIG = -I$(CUDA_ROOT)/include -DGPU_BLAS -DCHOLMOD_OMP_NUM_THREADS=$(NIX_BUILD_CORES) |' \
39+ -e 's|^[[:space:]]*\(CUDA_PATH =\)|CUDA_PATH = $(CUDA_ROOT)|' \
40+ -e 's|^[[:space:]]*\(CUDART_LIB =\)|CUDART_LIB = $(CUDA_ROOT)/lib64/libcudart.so|' \
41+ -e 's|^[[:space:]]*\(CUBLAS_LIB =\)|CUBLAS_LIB = $(CUDA_ROOT)/lib64/libcublas.so|' \
42+ -e 's|^[[:space:]]*\(CUDA_INC_PATH =\)|CUDA_INC_PATH = $(CUDA_ROOT)/include/|' \
43+ -e 's|^[[:space:]]*\(NV20 =\)|NV20 = -arch=sm_20 -Xcompiler -fPIC|' \
44+ -e 's|^[[:space:]]*\(NV30 =\)|NV30 = -arch=sm_30 -Xcompiler -fPIC|' \
45+ -e 's|^[[:space:]]*\(NV35 =\)|NV35 = -arch=sm_35 -Xcompiler -fPIC|' \
46+ -e 's|^[[:space:]]*\(NVCC =\) echo|NVCC = $(CUDA_ROOT)/bin/nvcc|' \
47+ -e 's|^[[:space:]]*\(NVCCFLAGS =\)|NVCCFLAGS = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_60,code=sm_60|'
48+ '';
49+
50+ makeFlags = [
51+ "PREFIX=\"$(out)\""
52+ "INSTALL_LIB=$(out)/lib"
53+ "INSTALL_INCLUDE=$(out)/include"
54+ "BLAS=-lblas"
55+ "LAPACK=-llapack"
56+ ];
57+
58+ NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin " -DNTIMER";
59+
60+ postInstall = ''
61+ # Build and install shared library
62+ (
63+ cd "$(mktemp -d)"
64+ for i in "$out"/lib/lib*.a; do
65+ ar -x $i
66+ done
67+ ${if enableCuda then cudatoolkit else stdenv.cc.outPath}/bin/${if enableCuda then "nvcc" else "cc"} *.o ${if stdenv.isDarwin then "-dynamiclib" else "--shared"} -o "$out/lib/libsuitesparse${SHLIB_EXT}" -lblas ${stdenv.lib.optionalString enableCuda "-lcublas"}
68+ )
69+ for i in umfpack cholmod amd camd colamd spqr; do
70+ ln -s libsuitesparse${SHLIB_EXT} "$out"/lib/lib$i${SHLIB_EXT}
71+ done
72+
73+ # Install documentation
74+ outdoc=$out/share/doc/${name}
75+ mkdir -p $outdoc
76+ cp -r AMD/Doc $outdoc/amd
77+ cp -r BTF/Doc $outdoc/bft
78+ cp -r CAMD/Doc $outdoc/camd
79+ cp -r CCOLAMD/Doc $outdoc/ccolamd
80+ cp -r CHOLMOD/Doc $outdoc/cholmod
81+ cp -r COLAMD/Doc $outdoc/colamd
82+ cp -r CXSparse/Doc $outdoc/cxsparse
83+ cp -r KLU/Doc $outdoc/klu
84+ cp -r LDL/Doc $outdoc/ldl
85+ cp -r RBio/Doc $outdoc/rbio
86+ cp -r SPQR/Doc $outdoc/spqr
87+ cp -r UMFPACK/Doc $outdoc/umfpack
88+ '';
89+
90+ nativeBuildInputs = [ gfortran ];
91+ buildInputs = [ blas lapack ];
92+
93+ meta = with stdenv.lib; {
94+ homepage = "http://faculty.cse.tamu.edu/davis/suitesparse.html";
95+ description = "A suite of sparse matrix algorithms";
96+ license = with licenses; [ bsd2 gpl2Plus lgpl21Plus ];
97+ maintainers = with maintainers; [ ttuegel ];
98+ platforms = with platforms; unix;
99+ };
100+}
test/golden/importless/4.4.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε ζ. { blas = β; cudatoolkit = γ; enableCuda = Bool; fetchurl = { sha256 = String; url = String } -> δ; gfortran = ε; lapack = β; stdenv = ζ } -> { NIX_CFLAGS_COMPILE = String; buildInputs = [β]; makeFlags = [String]; meta = { description = String; homepage = String; license = ∀ α. [α]; maintainers = ∀ α. [α]; platforms = ∀ α. α }; name = String; nativeBuildInputs = [ε]; postInstall = String; preConfigure = String; src = { sha256 = String; url = String } }
test/golden/importless/4.7.nixnew file+84
@@ -0,0 +1,84 @@
1+{ stdenv, fetchurl, jre
2+, fetchFromGitHub, cmake, ninja, pkgconfig, libuuid, darwin }:
3+
4+let
5+ version = "4.7.2";
6+ source = fetchFromGitHub {
7+ owner = "antlr";
8+ repo = "antlr4";
9+ rev = version;
10+ sha256 = "1pl0zs6c6wx9nmq30s7ccpc3dl72az55i8vfp574fw9sywmvxmlj";
11+ };
12+
13+ runtime = {
14+ cpp = stdenv.mkDerivation {
15+ pname = "antlr-runtime-cpp";
16+ inherit version;
17+ src = source;
18+
19+ outputs = [ "out" "dev" "doc" ];
20+
21+ nativeBuildInputs = [ cmake ninja pkgconfig ];
22+ buildInputs = stdenv.lib.optional stdenv.isLinux libuuid
23+ ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreFoundation;
24+
25+ postUnpack = ''
26+ export sourceRoot=$sourceRoot/runtime/Cpp
27+ '';
28+
29+ meta = with stdenv.lib; {
30+ description = "C++ target for ANTLR 4";
31+ homepage = "https://www.antlr.org/";
32+ license = licenses.bsd3;
33+ platforms = platforms.unix;
34+ };
35+ };
36+ };
37+
38+ antlr = stdenv.mkDerivation {
39+ pname = "antlr";
40+ inherit version;
41+
42+ src = fetchurl {
43+ url ="https://www.antlr.org/download/antlr-${version}-complete.jar";
44+ sha256 = "1d40nfkq3ws8g4ksx4gj6l6m2l9j4b605q6sf68z5vvmg5nkhlk8";
45+ };
46+
47+ dontUnpack = true;
48+
49+ installPhase = ''
50+ mkdir -p "$out"/{share/java,bin}
51+ cp "$src" "$out/share/java/antlr-${version}-complete.jar"
52+
53+ echo "#! ${stdenv.shell}" >> "$out/bin/antlr"
54+ echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' -Xmx500M org.antlr.v4.Tool \"\$@\"" >> "$out/bin/antlr"
55+
56+ echo "#! ${stdenv.shell}" >> "$out/bin/grun"
57+ echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' org.antlr.v4.gui.TestRig \"\$@\"" >> "$out/bin/grun"
58+
59+ chmod a+x "$out/bin/antlr" "$out/bin/grun"
60+ ln -s "$out/bin/antlr"{,4}
61+ '';
62+
63+ inherit jre;
64+
65+ passthru = {
66+ inherit runtime;
67+ jarLocation = "${antlr}/share/java/antlr-${version}-complete.jar";
68+ };
69+
70+ meta = with stdenv.lib; {
71+ description = "Powerful parser generator";
72+ longDescription = ''
73+ ANTLR (ANother Tool for Language Recognition) is a powerful parser
74+ generator for reading, processing, executing, or translating structured
75+ text or binary files. It's widely used to build languages, tools, and
76+ frameworks. From a grammar, ANTLR generates a parser that can build and
77+ walk parse trees.
78+ '';
79+ homepage = "https://www.antlr.org/";
80+ license = licenses.bsd3;
81+ platforms = platforms.unix;
82+ };
83+ };
84+in antlr
test/golden/importless/4.7.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η θ ι. { cmake = γ; darwin = δ; fetchFromGitHub = { owner = String; repo = String; rev = ∀ α. α; sha256 = String } -> ε; fetchurl = { sha256 = String; url = String } -> ζ; jre = η; libuuid = [θ]; ninja = γ; pkgconfig = γ; stdenv = ι } -> { dontUnpack = Bool; installPhase = String; jre = η; meta = { description = String; homepage = String; license = ∀ β. β; longDescription = String; platforms = ∀ β. β }; passthru = { jarLocation = String }; pname = String; src = { sha256 = String; url = String } }
test/golden/importless/4.9.9.nixnew file+26
@@ -0,0 +1,26 @@
1+{stdenv, fetchurl, libdvdcss}:
2+
3+stdenv.mkDerivation {
4+ name = "libdvdread-4.9.9";
5+
6+ src = fetchurl {
7+ url = "http://dvdnav.mplayerhq.hu/releases/libdvdread-4.9.9.tar.xz";
8+ sha256 = "d91275471ef69d488b05cf15c60e1cd65e17648bfc692b405787419f47ca424a";
9+ };
10+
11+ buildInputs = [libdvdcss];
12+
13+ NIX_LDFLAGS = "-ldvdcss";
14+
15+ postInstall = ''
16+ ln -s dvdread $out/include/libdvdread
17+ '';
18+
19+ meta = {
20+ homepage = "http://dvdnav.mplayerhq.hu/";
21+ description = "A library for reading DVDs";
22+ license = stdenv.lib.licenses.gpl2;
23+ maintainers = [ stdenv.lib.maintainers.wmertens ];
24+ platforms = stdenv.lib.platforms.linux;
25+ };
26+}
test/golden/importless/4.9.9.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { fetchurl = { sha256 = String; url = String } -> β; libdvdcss = γ; stdenv = δ } -> { NIX_LDFLAGS = String; buildInputs = [γ]; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. α }; name = String; postInstall = String; src = { sha256 = String; url = String } }
test/golden/importless/4.9.nixnew file+71
@@ -0,0 +1,71 @@
1+{ stdenv, fetchurl, python2Packages, makeWrapper, unzip
2+, guiSupport ? false, tk ? null
3+, ApplicationServices
4+, mercurialSrc ? fetchurl rec {
5+ meta.name = "mercurial-${meta.version}";
6+ meta.version = "4.9.1";
7+ url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
8+ sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v";
9+ }
10+}:
11+
12+let
13+ inherit (python2Packages) docutils hg-git dulwich python;
14+
15+in python2Packages.buildPythonApplication {
16+
17+ inherit (mercurialSrc.meta) name version;
18+ src = mercurialSrc;
19+
20+ format = "other";
21+
22+ inherit python; # pass it so that the same version can be used in hg2git
23+
24+ buildInputs = [ makeWrapper docutils unzip ]
25+ ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices ];
26+
27+ propagatedBuildInputs = [ hg-git dulwich ];
28+
29+ makeFlags = [ "PREFIX=$(out)" ];
30+
31+ postInstall = (stdenv.lib.optionalString guiSupport
32+ ''
33+ mkdir -p $out/etc/mercurial
34+ cp contrib/hgk $out/bin
35+ cat >> $out/etc/mercurial/hgrc << EOF
36+ [extensions]
37+ hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
38+ EOF
39+ # setting HG so that hgk can be run itself as well (not only hg view)
40+ WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
41+ --set HG $out/bin/hg
42+ --prefix PATH : ${tk}/bin "
43+ '') +
44+ ''
45+ for i in $(cd $out/bin && ls); do
46+ wrapProgram $out/bin/$i \
47+ $WRAP_TK
48+ done
49+
50+ # copy hgweb.cgi to allow use in apache
51+ mkdir -p $out/share/cgi-bin
52+ cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
53+ chmod u+x $out/share/cgi-bin/hgweb.cgi
54+
55+ # install bash/zsh completions
56+ install -v -m644 -D contrib/bash_completion $out/share/bash-completion/completions/_hg
57+ install -v -m644 -D contrib/zsh_completion $out/share/zsh/site-functions/_hg
58+ '';
59+
60+ meta = {
61+ inherit (mercurialSrc.meta) version;
62+ description = "A fast, lightweight SCM system for very large distributed projects";
63+ homepage = "https://www.mercurial-scm.org";
64+ downloadPage = "https://www.mercurial-scm.org/release/";
65+ license = stdenv.lib.licenses.gpl2;
66+ maintainers = [ stdenv.lib.maintainers.eraserhd ];
67+ updateWalker = true;
68+ platforms = stdenv.lib.platforms.unix;
69+ };
70+}
71+
test/golden/importless/4.9.txtnew file
No changes to the content.
test/golden/importless/4.nixnew file+9
@@ -0,0 +1,9 @@
1+{ callPackage, Foundation, libobjc }:
2+
3+callPackage ./generic.nix ({
4+ inherit Foundation libobjc;
5+ version = "4.8.1.0";
6+ sha256 = "1vyvp2g28ihcgxgxr8nhzyzdmzicsh5djzk8dk1hj5p5f2k3ijqq";
7+ enableParallelBuilding = false; # #32386, https://hydra.nixos.org/build/65600645
8+ extraPatches = [ ./mono4-glibc.patch ];
9+})
test/golden/importless/4.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { Foundation = α; callPackage = Path -> β; libobjc = γ } -> { Foundation = α; enableParallelBuilding = Bool; extraPatches = [Path]; libobjc = γ; sha256 = String; version = String }
test/golden/importless/4.x.nixnew file+157
@@ -0,0 +1,157 @@
1+{ stdenv
2+, fetchurl
3+, python
4+, pkgconfig
5+, bison
6+, flex
7+, perl
8+, libxslt
9+, docbook_xsl
10+, rpcgen
11+, fixDarwinDylibNames
12+, docbook_xml_dtd_45
13+, readline
14+, popt
15+, libbsd
16+, libarchive
17+, zlib
18+, liburing
19+, fam
20+, gnutls
21+, libunwind
22+, systemd
23+, jansson
24+, libtasn1
25+, tdb
26+, cmocka
27+, nixosTests
28+
29+, enableLDAP ? false, openldap
30+, enablePrinting ? false, cups
31+, enableProfiling ? true
32+, enableMDNS ? false, avahi
33+, enableDomainController ? false, gpgme, lmdb
34+, enableRegedit ? true, ncurses
35+, enableCephFS ? false, libceph
36+, enableGlusterFS ? false, glusterfs, libuuid
37+, enableAcl ? (!stdenv.isDarwin), acl
38+, enablePam ? (!stdenv.isDarwin), pam
39+}:
40+
41+with stdenv.lib;
42+
43+stdenv.mkDerivation rec {
44+ pname = "samba";
45+ version = "4.12.6";
46+
47+ src = fetchurl {
48+ url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
49+ sha256 = "1v3cmw40csmi3jd8mhlx4bm7bk4m0426zkyin7kq11skwnsrna02";
50+ };
51+
52+ outputs = [ "out" "dev" "man" ];
53+
54+ patches = [
55+ ./4.x-no-persistent-install.patch
56+ ./patch-source3__libads__kerberos_keytab.c.patch
57+ ./4.x-no-persistent-install-dynconfig.patch
58+ ./4.x-fix-makeflags-parsing.patch
59+ ];
60+
61+ nativeBuildInputs = [
62+ pkgconfig
63+ bison
64+ flex
65+ perl
66+ perl.pkgs.ParseYapp
67+ libxslt
68+ docbook_xsl
69+ docbook_xml_dtd_45
70+ cmocka
71+ ] ++ optionals stdenv.isDarwin [
72+ rpcgen
73+ fixDarwinDylibNames
74+ ];
75+
76+ buildInputs = [
77+ python
78+ readline
79+ popt
80+ jansson
81+ libbsd
82+ libarchive
83+ zlib
84+ fam
85+ libunwind
86+ gnutls
87+ libtasn1
88+ tdb
89+ ] ++ optionals stdenv.isLinux [ liburing systemd ]
90+ ++ optional enableLDAP openldap
91+ ++ optional (enablePrinting && stdenv.isLinux) cups
92+ ++ optional enableMDNS avahi
93+ ++ optionals enableDomainController [ gpgme lmdb ]
94+ ++ optional enableRegedit ncurses
95+ ++ optional (enableCephFS && stdenv.isLinux) libceph
96+ ++ optionals (enableGlusterFS && stdenv.isLinux) [ glusterfs libuuid ]
97+ ++ optional enableAcl acl
98+ ++ optional enablePam pam;
99+
100+ postPatch = ''
101+ # Removes absolute paths in scripts
102+ sed -i 's,/sbin/,,g' ctdb/config/functions
103+
104+ # Fix the XML Catalog Paths
105+ sed -i "s,\(XML_CATALOG_FILES=\"\),\1$XML_CATALOG_FILES ,g" buildtools/wafsamba/wafsamba.py
106+
107+ patchShebangs ./buildtools/bin
108+ '';
109+
110+ configureFlags = [
111+ "--with-static-modules=NONE"
112+ "--with-shared-modules=ALL"
113+ "--enable-fhs"
114+ "--sysconfdir=/etc"
115+ "--localstatedir=/var"
116+ "--disable-rpath"
117+ ] ++ optional (!enableDomainController)
118+ "--without-ad-dc"
119+ ++ optionals (!enableLDAP) [
120+ "--without-ldap"
121+ "--without-ads"
122+ ] ++ optional enableProfiling "--with-profiling-data"
123+ ++ optional (!enableAcl) "--without-acl-support"
124+ ++ optional (!enablePam) "--without-pam";
125+
126+ preBuild = ''
127+ export MAKEFLAGS="-j $NIX_BUILD_CORES"
128+ '';
129+
130+ # Some libraries don't have /lib/samba in RPATH but need it.
131+ # Use find -type f -executable -exec echo {} \; -exec sh -c 'ldd {} | grep "not found"' \;
132+ # Looks like a bug in installer scripts.
133+ postFixup = ''
134+ export SAMBA_LIBS="$(find $out -type f -name \*.so -exec dirname {} \; | sort | uniq)"
135+ read -r -d "" SCRIPT << EOF || true
136+ [ -z "\$SAMBA_LIBS" ] && exit 1;
137+ BIN='{}';
138+ OLD_LIBS="\$(patchelf --print-rpath "\$BIN" 2>/dev/null | tr ':' '\n')";
139+ ALL_LIBS="\$(echo -e "\$SAMBA_LIBS\n\$OLD_LIBS" | sort | uniq | tr '\n' ':')";
140+ patchelf --set-rpath "\$ALL_LIBS" "\$BIN" 2>/dev/null || exit $?;
141+ patchelf --shrink-rpath "\$BIN";
142+ EOF
143+ find $out -type f -name \*.so -exec $SHELL -c "$SCRIPT" \;
144+ '';
145+
146+ passthru = {
147+ tests.samba = nixosTests.samba;
148+ };
149+
150+ meta = with stdenv.lib; {
151+ homepage = "https://www.samba.org";
152+ description = "The standard Windows interoperability suite of programs for Linux and Unix";
153+ license = licenses.gpl3;
154+ platforms = platforms.unix;
155+ maintainers = with maintainers; [ aneeshusa ];
156+ };
157+}
test/golden/importless/4.x.txtnew file
No changes to the content.
test/golden/importless/422.nixnew file+33
@@ -0,0 +1,33 @@
1+{ stdenv, fetchurl }:
2+
3+stdenv.mkDerivation {
4+ name = "gnused-4.2.2";
5+
6+ src = fetchurl {
7+ url = "mirror://gnu/sed/sed-4.2.2.tar.bz2";
8+ sha256 = "f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7";
9+ };
10+
11+ configureFlags = stdenv.lib.optional stdenv.hostPlatform.isMinGW "ac_cv_func__set_invalid_parameter_handler=no";
12+
13+ outputs = [ "out" "info" ];
14+
15+ meta = {
16+ homepage = "https://www.gnu.org/software/sed/";
17+ description = "GNU sed, a batch stream editor";
18+
19+ longDescription = ''
20+ Sed (stream editor) isn't really a true text editor or text
21+ processor. Instead, it is used to filter text, i.e., it takes
22+ text input and performs some operation (or set of operations) on
23+ it and outputs the modified text. Sed is typically used for
24+ extracting part of a file using pattern matching or substituting
25+ multiple occurrences of a string within a file.
26+ '';
27+
28+ license = stdenv.lib.licenses.gpl3Plus;
29+
30+ platforms = stdenv.lib.platforms.all;
31+ maintainers = [ ];
32+ };
33+}
test/golden/importless/422.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ. { fetchurl = { sha256 = String; url = String } -> β; stdenv = γ } -> { configureFlags = String; meta = { description = String; homepage = String; license = ∀ α. α; longDescription = String; maintainers = ∀ α. α; platforms = ∀ α. α }; name = String; outputs = [String]; src = { sha256 = String; url = String } }
test/golden/importless/44.0.nixnew file+74
@@ -0,0 +1,74 @@
1+{ stdenv
2+, buildPythonPackage
3+, fetchFromGitHub
4+, python
5+, wrapPython
6+, unzip
7+, callPackage
8+, bootstrapped-pip
9+, lib
10+, pipInstallHook
11+, setuptoolsBuildHook
12+}:
13+
14+let
15+ pname = "setuptools";
16+ version = "44.0.0";
17+
18+ # Create an sdist of setuptools
19+ sdist = stdenv.mkDerivation rec {
20+ name = "${pname}-${version}-sdist.tar.gz";
21+
22+ src = fetchFromGitHub {
23+ owner = "pypa";
24+ repo = pname;
25+ rev = "v${version}";
26+ sha256 = "0z3q0qinyp1rmnxkw3y5f6nbsxhqlfq5k7skfrqa6ymb3zr009y1";
27+ name = "${pname}-${version}-source";
28+ };
29+
30+ buildPhase = ''
31+ ${python.pythonForBuild.interpreter} bootstrap.py
32+ ${python.pythonForBuild.interpreter} setup.py sdist --formats=gztar
33+ '';
34+
35+ installPhase = ''
36+ echo "Moving sdist..."
37+ mv dist/*.tar.gz $out
38+ '';
39+ };
40+in buildPythonPackage rec {
41+ inherit pname version;
42+ # Because of bootstrapping we don't use the setuptoolsBuildHook that comes with format="setuptools" directly.
43+ # Instead, we override it to remove setuptools to avoid a circular dependency.
44+ # The same is done for pip and the pipInstallHook.
45+ format = "other";
46+
47+ src = sdist;
48+
49+ nativeBuildInputs = [
50+ bootstrapped-pip
51+ (pipInstallHook.override{pip=null;})
52+ (setuptoolsBuildHook.override{setuptools=null; wheel=null;})
53+ ];
54+
55+ preBuild = lib.strings.optionalString (!stdenv.hostPlatform.isWindows) ''
56+ export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
57+ '';
58+
59+ pipInstallFlags = [ "--ignore-installed" ];
60+
61+ # Adds setuptools to nativeBuildInputs causing infinite recursion.
62+ catchConflicts = false;
63+
64+ # Requires pytest, causing infinite recursion.
65+ doCheck = false;
66+
67+ meta = with stdenv.lib; {
68+ description = "Utilities to facilitate the installation of Python packages";
69+ homepage = "https://pypi.python.org/pypi/setuptools";
70+ license = with licenses; [ psfl zpl20 ];
71+ platforms = python.meta.platforms;
72+ priority = 10;
73+ };
74+}
test/golden/importless/44.0.txtnew file
No changes to the content.
test/golden/importless/4_0.nixnew file+33
@@ -0,0 +1,33 @@
1+{ stdenv
2+, buildPythonPackage
3+, fetchPypi
4+, unittest2
5+, pyasn1
6+, mock
7+, isPy3k
8+, pythonOlder
9+}:
10+
11+buildPythonPackage rec {
12+ pname = "rsa";
13+ version = "4.0";
14+
15+ src = fetchPypi {
16+ inherit pname version;
17+ sha256 = "1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487";
18+ };
19+
20+ checkInputs = [ unittest2 mock ];
21+ propagatedBuildInputs = [ pyasn1 ];
22+
23+ preConfigure = stdenv.lib.optionalString (isPy3k && pythonOlder "3.7") ''
24+ substituteInPlace setup.py --replace "open('README.md')" "open('README.md',encoding='utf-8')"
25+ '';
26+
27+ meta = with stdenv.lib; {
28+ homepage = "https://stuvel.eu/rsa";
29+ license = licenses.asl20;
30+ description = "A pure-Python RSA implementation";
31+ };
32+
33+}
test/golden/importless/4_0.txtnew file
No changes to the content.
test/golden/importless/5.1.138.nixnew file+29
@@ -0,0 +1,29 @@
1+{ stdenv, fetchurl, b43FirmwareCutter }:
2+
3+let version = "5.100.138"; in
4+
5+stdenv.mkDerivation {
6+ pname = "b43-firmware";
7+ inherit version;
8+
9+ src = fetchurl {
10+ url = "http://www.lwfinger.com/b43-firmware/broadcom-wl-${version}.tar.bz2";
11+ sha256 = "0vz4ka8gycf72gmnaq61k8rh8y17j1wm2k3fidxvcqjvmix0drzi";
12+ };
13+
14+ buildInputs = [ b43FirmwareCutter ];
15+
16+ phases = [ "unpackPhase" "installPhase" ];
17+
18+ installPhase = ''
19+ mkdir -p $out/lib/firmware
20+ b43-fwcutter -w $out/lib/firmware linux/wl_apsta.o
21+ '';
22+
23+ meta = {
24+ description = "Firmware for cards supported by the b43 kernel module";
25+ homepage = "http://wireless.kernel.org/en/users/Drivers/b43";
26+ license = stdenv.lib.licenses.unfree;
27+ };
28+}
29+
test/golden/importless/5.1.138.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { b43FirmwareCutter = β; fetchurl = { sha256 = String; url = String } -> γ; stdenv = δ } -> { buildInputs = [β]; installPhase = String; meta = { description = String; homepage = String; license = ∀ α. α }; phases = [String]; pname = String; src = { sha256 = String; url = String }; version = String }
test/golden/importless/5.1.x.nixnew file+78
@@ -0,0 +1,78 @@
1+{ stdenv, fetchurl, m4, cxx ? true, withStatic ? true }:
2+
3+let inherit (stdenv.lib) optional; in
4+
5+let self = stdenv.mkDerivation rec {
6+ name = "gmp-5.1.3";
7+
8+ src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv
9+ urls = [ "mirror://gnu/gmp/${name}.tar.bz2" "ftp://ftp.gmplib.org/pub/${name}/${name}.tar.bz2" ];
10+ sha256 = "0q5i39pxrasgn9qdxzpfbwhh11ph80p57x6hf48m74261d97j83m";
11+ };
12+
13+ #outputs TODO: split $cxx due to libstdc++ dependency
14+ # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added
15+ # - see #5855 for related discussion
16+ outputs = [ "out" "dev" "info" ];
17+ passthru.static = self.out;
18+
19+ nativeBuildInputs = [ m4 ];
20+
21+ patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null;
22+
23+ configureFlags = [
24+ "--with-pic"
25+ (stdenv.lib.enableFeature cxx "cxx")
26+ # Build a "fat binary", with routines for several sub-architectures
27+ # (x86), except on Solaris where some tests crash with "Memory fault".
28+ # See <https://hydra.nixos.org/build/2760931>, for instance.
29+ #
30+ # no darwin because gmp uses ASM that clang doesn't like
31+ (stdenv.lib.enableFeature (!stdenv.isSunOS && stdenv.hostPlatform.isx86) "fat")
32+ # The config.guess in GMP tries to runtime-detect various
33+ # ARM optimization flags via /proc/cpuinfo (and is also
34+ # broken on multicore CPUs). Avoid this impurity.
35+ "--build=${stdenv.buildPlatform.config}"
36+ ] ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
37+ ++ optional (stdenv.isDarwin && stdenv.is64bit) "ABI=64"
38+ ;
39+
40+ doCheck = true;
41+
42+ dontDisableStatic = withStatic;
43+
44+ enableParallelBuilding = true;
45+
46+ meta = with stdenv.lib; {
47+ homepage = "https://gmplib.org/";
48+ description = "GNU multiple precision arithmetic library";
49+ license = licenses.gpl3Plus;
50+
51+ longDescription =
52+ '' GMP is a free library for arbitrary precision arithmetic, operating
53+ on signed integers, rational numbers, and floating point numbers.
54+ There is no practical limit to the precision except the ones implied
55+ by the available memory in the machine GMP runs on. GMP has a rich
56+ set of functions, and the functions have a regular interface.
57+
58+ The main target applications for GMP are cryptography applications
59+ and research, Internet security applications, algebra systems,
60+ computational algebra research, etc.
61+
62+ GMP is carefully designed to be as fast as possible, both for small
63+ operands and for huge operands. The speed is achieved by using
64+ fullwords as the basic arithmetic type, by using fast algorithms,
65+ with highly optimised assembly code for the most common inner loops
66+ for a lot of CPUs, and by a general emphasis on speed.
67+
68+ GMP is faster than any other bignum library. The advantage for GMP
69+ increases with the operand sizes for many operations, since GMP uses
70+ asymptotically faster algorithms.
71+ '';
72+
73+ platforms = platforms.all;
74+ badPlatforms = [ "x86_64-darwin" ];
75+ maintainers = [ maintainers.peti ];
76+ };
77+};
78+ in self
test/golden/importless/5.1.x.txtnew file
No changes to the content.
test/golden/importless/5.2.nixnew file+20
@@ -0,0 +1,20 @@
1+{ stdenv, fetchurl }:
2+
3+stdenv.mkDerivation {
4+ name = "proj-5.2.0";
5+
6+ src = fetchurl {
7+ url = "https://download.osgeo.org/proj/proj-5.2.0.tar.gz";
8+ sha256 = "0q3ydh2j8qhwlxmnac72pg69rw2znbi5b6k5wama8qmwzycr94gg";
9+ };
10+
11+ doCheck = stdenv.is64bit;
12+
13+ meta = with stdenv.lib; {
14+ description = "Cartographic Projections Library";
15+ homepage = "https://proj4.org";
16+ license = licenses.mit;
17+ platforms = platforms.linux ++ platforms.darwin;
18+ maintainers = with maintainers; [ vbgl ];
19+ };
20+}
test/golden/importless/5.2.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ. { fetchurl = { sha256 = String; url = String } -> γ; stdenv = δ } -> { doCheck = ∀ β. β; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. [α] }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/5.41.nixnew file+102
@@ -0,0 +1,102 @@
1+{ stdenv, fetchurl, fetchpatch, sbcl, texinfo, perl, python, makeWrapper, rlwrap ? null
2+, tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false
3+}:
4+
5+let
6+ name = "maxima";
7+ # old version temporarily kept for sage, see discussion at
8+ # https://github.com/NixOS/nixpkgs/commit/82254747af35f3e0e0d6f78023ded3a81e25331b
9+ version = "5.41.0";
10+
11+ searchPath =
12+ stdenv.lib.makeBinPath
13+ (stdenv.lib.filter (x: x != null) [ sbcl ecl rlwrap tk gnuplot ]);
14+in
15+stdenv.mkDerivation ({
16+ inherit version;
17+ name = "${name}-${version}";
18+
19+ src = fetchurl {
20+ url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
21+ sha256 = "0x0n81z0s4pl8nwpf7ivlsbvsdphm9w42250g7qdkizl0132by6s";
22+ };
23+
24+ buildInputs = stdenv.lib.filter (x: x != null) [
25+ sbcl ecl texinfo perl python makeWrapper
26+ ];
27+
28+ postInstall = ''
29+ # Make sure that maxima can find its runtime dependencies.
30+ for prog in "$out/bin/"*; do
31+ wrapProgram "$prog" --prefix PATH ":" "$out/bin:${searchPath}"
32+ done
33+ # Move emacs modules and documentation into the right place.
34+ mkdir -p $out/share/emacs $out/share/doc
35+ ln -s ../maxima/${version}/emacs $out/share/emacs/site-lisp
36+ ln -s ../maxima/${version}/doc $out/share/doc/maxima
37+ ''
38+ + (stdenv.lib.optionalString ecl-fasl ''
39+ cp src/binary-ecl/maxima.fas* "$out/lib/maxima/${version}/binary-ecl/"
40+ '')
41+ ;
42+
43+ patches = [
44+ # fix path to info dir (see https://trac.sagemath.org/ticket/11348)
45+ (fetchpatch {
46+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/infodir.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
47+ sha256 = "09v64n60f7i6frzryrj0zd056lvdpms3ajky4f9p6kankhbiv21x";
48+ })
49+
50+ # fix https://sourceforge.net/p/maxima/bugs/2596/
51+ (fetchpatch {
52+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/matrixexp.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
53+ sha256 = "06961hn66rhjijfvyym21h39wk98sfxhp051da6gz0n9byhwc6zg";
54+ })
55+
56+ # undo https://sourceforge.net/p/maxima/code/ci/f5e9b0f7eb122c4e48ea9df144dd57221e5ea0ca, see see https://trac.sagemath.org/ticket/13364#comment:93
57+ (fetchpatch {
58+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/undoing_true_false_printing_patch.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
59+ sha256 = "0fvi3rcjv6743sqsbgdzazy9jb6r1p1yq63zyj9fx42wd1hgf7yx";
60+ })
61+
62+ # upstream bug https://sourceforge.net/p/maxima/bugs/2520/ (not fixed)
63+ # introduced in https://trac.sagemath.org/ticket/13364
64+ (fetchpatch {
65+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/0001-taylor2-Avoid-blowing-the-stack-when-diff-expand-isn.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
66+ sha256 = "0xa0b6cr458zp7lc7qi0flv5ar0r3ivsqhjl0c3clv86di2y522d";
67+ })
68+ ] ++ stdenv.lib.optionals ecl-fasl [
69+ # build fasl, needed for ECL support
70+ (fetchpatch {
71+ url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/maxima.system.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
72+ sha256 = "18zafig8vflhkr80jq2ivk46k92dkszqlyq8cfmj0b2vcfjwwbar";
73+ })
74+ # There are some transient test failures. I hope this disables all those tests.
75+ # If those test failures ever happen in the non-ecl version, that should be
76+ # reportetd upstream.
77+ ./known-ecl-failures.patch
78+ ];
79+
80+ # Failures in the regression test suite won't abort the build process. We run
81+ # the suite only so that potential errors show up in the build log. See also:
82+ # https://sourceforge.net/tracker/?func=detail&aid=3365831&group_id=4933&atid=104933.
83+ doCheck = true;
84+
85+ enableParallelBuilding = true;
86+
87+ meta = {
88+ description = "Computer algebra system";
89+ homepage = "http://maxima.sourceforge.net";
90+ license = stdenv.lib.licenses.gpl2;
91+
92+ longDescription = ''
93+ Maxima is a fairly complete computer algebra system written in
94+ lisp with an emphasis on symbolic computation. It is based on
95+ DOE-MACSYMA and licensed under the GPL. Its abilities include
96+ symbolic integration, 3D plotting, and an ODE solver.
97+ '';
98+
99+ platforms = stdenv.lib.platforms.unix;
100+ maintainers = [ stdenv.lib.maintainers.peti ];
101+ };
102+})
test/golden/importless/5.41.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { ecl = Null; ecl-fasl = Bool; fetchpatch = { sha256 = String; url = String } -> β; fetchurl = { sha256 = String; url = String } -> γ; gnuplot = Null; makeWrapper = Null; perl = Null; python = Null; rlwrap = Null; sbcl = Null; stdenv = δ; texinfo = Null; tk = Null } -> { buildInputs = [Null]; doCheck = Bool; enableParallelBuilding = Bool; meta = { description = String; homepage = String; license = ∀ α. α; longDescription = String; maintainers = ∀ α. [α]; platforms = ∀ α. α }; name = String; patches = [{ sha256 = String; url = String }]; postInstall = String; src = { sha256 = String; url = String }; version = String }
test/golden/importless/5.6.nixnew file+34
@@ -0,0 +1,34 @@
1+{stdenv, fetchurl, autoreconfHook}:
2+
3+let
4+ version = "5.6";
5+in
6+
7+stdenv.mkDerivation {
8+ pname = "polyml";
9+ inherit version;
10+
11+ prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
12+ substituteInPlace configure.ac --replace stdc++ c++
13+ '';
14+
15+ buildInputs = stdenv.lib.optional stdenv.isDarwin autoreconfHook;
16+
17+ src = fetchurl {
18+ url = "mirror://sourceforge/polyml/polyml.${version}.tar.gz";
19+ sha256 = "05d6l2a5m9jf32a8kahwg2p2ph4x9rjf1nsl83331q3gwn5bkmr0";
20+ };
21+
22+ meta = {
23+ description = "Standard ML compiler and interpreter";
24+ longDescription = ''
25+ Poly/ML is a full implementation of Standard ML.
26+ '';
27+ homepage = "https://www.polyml.org/";
28+ license = stdenv.lib.licenses.lgpl21;
29+ platforms = with stdenv.lib.platforms; linux;
30+ maintainers = [ #Add your name here!
31+ stdenv.lib.maintainers.maggesi
32+ ];
33+ };
34+}
test/golden/importless/5.6.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { autoreconfHook = β; fetchurl = { sha256 = String; url = String } -> γ; stdenv = δ } -> { buildInputs = β; meta = { description = String; homepage = String; license = ∀ α. α; longDescription = String; maintainers = ∀ α. [α]; platforms = ∀ α. α }; pname = String; prePatch = String; src = { sha256 = String; url = String }; version = String }
test/golden/importless/5.6.x.nixnew file+61
@@ -0,0 +1,61 @@
1+{ stdenv, fetchurl, cmake, bison, ncurses, openssl, zlib, libaio, perl }:
2+
3+stdenv.mkDerivation rec {
4+ pname = "percona-server";
5+ version = "5.6.49-89.0";
6+
7+ src = fetchurl {
8+ url = "https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${version}/source/tarball/percona-server-${version}.tar.gz";
9+ sha256 = "09qqk02iny7jvngyk6k2j0kk2sspc6gw8sm3i6nn97njbkihi697";
10+ };
11+
12+ buildInputs = [ cmake bison ncurses openssl zlib libaio perl ];
13+
14+ enableParallelBuilding = true;
15+
16+ cmakeFlags = [
17+ "-DFEATURE_SET=community"
18+ "-DBUILD_CONFIG=mysql_release"
19+ "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
20+ "-DWITH_SSL=yes"
21+ "-DWITH_READLINE=no"
22+ "-DWITH_EMBEDDED_SERVER=no"
23+ "-DWITH_EDITLINE=bundled"
24+ "-DWITH_ZLIB=yes"
25+ "-DHAVE_IPV6=no"
26+ "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
27+ "-DMYSQL_DATADIR=/var/lib/mysql"
28+ "-DINSTALL_SYSCONFDIR=etc/mysql"
29+ "-DINSTALL_INFODIR=share/mysql/docs"
30+ "-DINSTALL_MANDIR=share/man"
31+ "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
32+ "-DINSTALL_SCRIPTDIR=bin"
33+ "-DINSTALL_INCLUDEDIR=include/mysql"
34+ "-DINSTALL_DOCREADMEDIR=share/mysql"
35+ "-DINSTALL_SUPPORTFILESDIR=share/mysql"
36+ "-DINSTALL_MYSQLSHAREDIR=share/mysql"
37+ "-DINSTALL_DOCDIR=share/mysql/docs"
38+ "-DINSTALL_SHAREDIR=share/mysql"
39+ ];
40+
41+ NIX_CFLAGS_COMPILE = [ "-Wno-error=address-of-packed-member" ];
42+ NIX_LDFLAGS = "-lgcc_s";
43+
44+ prePatch = ''
45+ sed -i -e "s|/usr/bin/libtool|libtool|" cmake/libutils.cmake
46+ '';
47+ postInstall = ''
48+ sed -i -e "s|basedir=\"\"|basedir=\"$out\"|" $out/bin/mysql_install_db
49+ rm -r $out/mysql-test $out/sql-bench $out/data "$out"/lib/*.a
50+ '';
51+
52+ passthru.mysqlVersion = "5.6";
53+
54+ meta = with stdenv.lib; {
55+ homepage = "https://www.percona.com";
56+ description = "a free, fully compatible, enhanced, open source drop-in replacement for MySQL that provides superior performance, scalability and instrumentation";
57+ platforms = platforms.linux;
58+ license = licenses.gpl2;
59+ maintainers = with maintainers; [ grahamc ];
60+ };
61+}
test/golden/importless/5.6.x.txtnew file
No changes to the content.
test/golden/importless/5.7.nixnew file+40
@@ -0,0 +1,40 @@
1+{ stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi }:
2+
3+stdenv.mkDerivation rec {
4+ pname = "polyml";
5+ version = "5.7.1";
6+
7+ prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
8+ substituteInPlace configure.ac --replace stdc++ c++
9+ '';
10+
11+ patches = [ ./5.7-new-libffi-FFI_SYSV.patch ];
12+
13+ buildInputs = [ libffi gmp ];
14+
15+ nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin autoreconfHook;
16+
17+ configureFlags = [
18+ "--enable-shared"
19+ "--with-system-libffi"
20+ "--with-gmp"
21+ ];
22+
23+ src = fetchFromGitHub {
24+ owner = "polyml";
25+ repo = "polyml";
26+ rev = "v${version}";
27+ sha256 = "0j0wv3ijfrjkfngy7dswm4k1dchk3jak9chl5735dl8yrl8mq755";
28+ };
29+
30+ meta = with stdenv.lib; {
31+ description = "Standard ML compiler and interpreter";
32+ longDescription = ''
33+ Poly/ML is a full implementation of Standard ML.
34+ '';
35+ homepage = "https://www.polyml.org/";
36+ license = licenses.lgpl21;
37+ platforms = with platforms; (linux ++ darwin);
38+ maintainers = with maintainers; [ maggesi ];
39+ };
40+}
test/golden/importless/5.7.txtnew file
No changes to the content.
test/golden/importless/5.7.x.nixnew file+85
@@ -0,0 +1,85 @@
1+{ stdenv, fetchurl, cmake, bison, pkgconfig
2+, boost, libedit, libevent, lz4, ncurses, openssl, protobuf, readline, zlib, perl
3+, cctools, CoreServices, developer_cmds }:
4+
5+# Note: zlib is not required; MySQL can use an internal zlib.
6+
7+let
8+self = stdenv.mkDerivation rec {
9+ pname = "mysql";
10+ version = "5.7.27";
11+
12+ src = fetchurl {
13+ url = "mirror://mysql/MySQL-5.7/${pname}-${version}.tar.gz";
14+ sha256 = "1fhv16zr46pxm1j8vb8x8mh3nwzglg01arz8gnazbmjqldr5idpq";
15+ };
16+
17+ preConfigure = stdenv.lib.optional stdenv.isDarwin ''
18+ ln -s /bin/ps $TMPDIR/ps
19+ export PATH=$PATH:$TMPDIR
20+ '';
21+
22+ nativeBuildInputs = [ cmake bison pkgconfig ];
23+
24+ buildInputs = [ boost libedit libevent lz4 ncurses openssl protobuf readline zlib ]
25+ ++ stdenv.lib.optionals stdenv.isDarwin [ perl cctools CoreServices developer_cmds ];
26+
27+ outputs = [ "out" "static" ];
28+
29+ cmakeFlags = [
30+ "-DCMAKE_SKIP_BUILD_RPATH=OFF" # To run libmysql/libmysql_api_test during build.
31+ "-DWITH_SSL=yes"
32+ "-DWITH_EMBEDDED_SERVER=yes"
33+ "-DWITH_UNIT_TESTS=no"
34+ "-DWITH_EDITLINE=system"
35+ "-DWITH_LIBEVENT=system"
36+ "-DWITH_LZ4=system"
37+ "-DWITH_PROTOBUF=system"
38+ "-DWITH_ZLIB=system"
39+ "-DWITH_ARCHIVE_STORAGE_ENGINE=yes"
40+ "-DWITH_BLACKHOLE_STORAGE_ENGINE=yes"
41+ "-DWITH_FEDERATED_STORAGE_ENGINE=yes"
42+ "-DHAVE_IPV6=yes"
43+ "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
44+ "-DMYSQL_DATADIR=/var/lib/mysql"
45+ "-DINSTALL_INFODIR=share/mysql/docs"
46+ "-DINSTALL_MANDIR=share/man"
47+ "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
48+ "-DINSTALL_SCRIPTDIR=bin"
49+ "-DINSTALL_INCLUDEDIR=include/mysql"
50+ "-DINSTALL_DOCREADMEDIR=share/mysql"
51+ "-DINSTALL_SUPPORTFILESDIR=share/mysql"
52+ "-DINSTALL_MYSQLSHAREDIR=share/mysql"
53+ "-DINSTALL_MYSQLTESTDIR="
54+ "-DINSTALL_DOCDIR=share/mysql/docs"
55+ "-DINSTALL_SHAREDIR=share/mysql"
56+ ];
57+
58+ CXXFLAGS = "-fpermissive -std=c++11";
59+ NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
60+
61+ prePatch = ''
62+ sed -i -e "s|/usr/bin/libtool|libtool|" cmake/merge_archives.cmake.in
63+ '';
64+ postInstall = ''
65+ moveToOutput "lib/*.a" $static
66+ ln -s libmysqlclient${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libmysqlclient_r${stdenv.hostPlatform.extensions.sharedLibrary}
67+ '';
68+
69+ passthru = {
70+ client = self;
71+ connector-c = self;
72+ server = self;
73+ mysqlVersion = "5.7";
74+ };
75+
76+ meta = with stdenv.lib; {
77+ homepage = "https://www.mysql.com/";
78+ description = "The world's most popular open source database";
79+ platforms = platforms.unix;
80+ license = with licenses; [
81+ artistic1 bsd0 bsd2 bsd3 bsdOriginal
82+ gpl2 lgpl2 lgpl21 mit publicDomain licenses.zlib
83+ ];
84+ };
85+}; in self
test/golden/importless/5.7.x.txtnew file
No changes to the content.
test/golden/importless/5.9.0.nixnew file+136
@@ -0,0 +1,136 @@
1+{ stdenv, fetchurl, fetchgit
2+, pkgconfig, makeWrapper, libtool, autoconf, automake, fetchpatch
3+, coreutils, libxml2, gnutls, perl, python2, attr
4+, iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext
5+, libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
6+, dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
7+, curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, glib
8+, enableXen ? false, xen ? null
9+, enableIscsi ? false, openiscsi
10+, enableCeph ? false, ceph
11+}:
12+
13+with stdenv.lib;
14+
15+# if you update, also bump <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> and SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
16+let
17+ buildFromTarball = stdenv.isDarwin;
18+in stdenv.mkDerivation rec {
19+ pname = "libvirt";
20+ version = "5.9.0";
21+
22+ src =
23+ if buildFromTarball then
24+ fetchurl {
25+ url = "http://libvirt.org/sources/${pname}-${version}.tar.xz";
26+ sha256 = "0fc9jxw3v6x5hc10bkd7bbcayn24hbld5adj2gh5s648v7hx55il";
27+ }
28+ else
29+ fetchgit {
30+ url = "git://libvirt.org/libvirt.git";
31+ rev = "v${version}";
32+ sha256 = "0smm77ag8bg24xkbhl4akqikjrsq2pd3wk31nj0hk1avqnl00gmk";
33+ fetchSubmodules = true;
34+ };
35+
36+ nativeBuildInputs = [ makeWrapper pkgconfig ];
37+ buildInputs = [
38+ libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
39+ libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib
40+ ] ++ optionals (!buildFromTarball) [
41+ libtool autoconf automake
42+ ] ++ optionals stdenv.isLinux [
43+ libpciaccess lvm2 utillinux systemd libnl numad zfs
44+ libapparmor libcap_ng numactl attr parted
45+ ] ++ optionals (enableXen && stdenv.isLinux && stdenv.isx86_64) [
46+ xen
47+ ] ++ optionals enableIscsi [
48+ openiscsi
49+ ] ++ optionals enableCeph [
50+ ceph
51+ ] ++ optionals stdenv.isDarwin [
52+ libiconv gmp
53+ ];
54+
55+ preConfigure = ''
56+ ${ optionalString (!buildFromTarball) "./bootstrap --no-git --gnulib-srcdir=$(pwd)/.gnulib" }
57+ PATH=${stdenv.lib.makeBinPath ([ dnsmasq ] ++ optionals stdenv.isLinux [ iproute iptables ebtables lvm2 systemd numad ] ++ optionals enableIscsi [ openiscsi ])}:$PATH
58+ # the path to qemu-kvm will be stored in VM's .xml and .save files
59+ # do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations
60+ substituteInPlace src/lxc/lxc_conf.c \
61+ --replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",'
62+ patchShebangs . # fixes /usr/bin/python references
63+ '';
64+
65+ configureFlags = [
66+ "--localstatedir=/var"
67+ "--sysconfdir=/var/lib"
68+ "--with-libpcap"
69+ "--with-qemu"
70+ "--with-vmware"
71+ "--with-vbox"
72+ "--with-test"
73+ "--with-esx"
74+ "--with-remote"
75+ ] ++ optionals stdenv.isLinux [
76+ "QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper"
77+ "QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper"
78+ "EBTABLES_PATH=${ebtables}/bin/ebtables-legacy"
79+ "--with-attr"
80+ "--with-apparmor"
81+ "--with-secdriver-apparmor"
82+ "--with-numad"
83+ "--with-macvtap"
84+ "--with-virtualport"
85+ "--with-storage-disk"
86+ ] ++ optionals (stdenv.isLinux && zfs != null) [
87+ "--with-storage-zfs"
88+ ] ++ optionals enableIscsi [
89+ "--with-storage-iscsi"
90+ ] ++ optionals enableCeph [
91+ "--with-storage-rbd"
92+ ] ++ optionals stdenv.isDarwin [
93+ "--with-init-script=none"
94+ ];
95+
96+ installFlags = [
97+ "localstatedir=$(TMPDIR)/var"
98+ "sysconfdir=$(out)/var/lib"
99+ ];
100+
101+
102+ postInstall = let
103+ binPath = [ iptables iproute pmutils numad numactl bridge-utils dmidecode dnsmasq ebtables ] ++ optionals enableIscsi [ openiscsi ];
104+ in ''
105+ substituteInPlace $out/libexec/libvirt-guests.sh \
106+ --replace 'ON_BOOT=start' 'ON_BOOT=''${ON_BOOT:-start}' \
107+ --replace 'ON_SHUTDOWN=suspend' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
108+ --replace "$out/bin" '${gettext}/bin' \
109+ --replace 'lock/subsys' 'lock' \
110+ --replace 'gettext.sh' 'gettext.sh
111+ # Added in nixpkgs:
112+ gettext() { "${gettext}/bin/gettext" "$@"; }
113+ '
114+ '' + optionalString stdenv.isLinux ''
115+ substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill
116+ rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
117+ wrapProgram $out/sbin/libvirtd \
118+ --prefix PATH : /run/libvirt/nix-emulators:${makeBinPath binPath}
119+ '';
120+
121+ enableParallelBuilding = true;
122+
123+ NIX_CFLAGS_COMPILE = "-fno-stack-protector";
124+
125+ meta = {
126+ homepage = "http://libvirt.org/";
127+ repositories.git = "git://libvirt.org/libvirt.git";
128+ description = ''
129+ A toolkit to interact with the virtualization capabilities of recent
130+ versions of Linux (and other OSes)
131+ '';
132+ license = licenses.lgpl2Plus;
133+ platforms = platforms.unix;
134+ maintainers = with maintainers; [ fpletz globin ];
135+ };
136+}
test/golden/importless/5.9.0.txtnew file
No changes to the content.
test/golden/importless/5.nixnew file+25
@@ -0,0 +1,25 @@
1+{ stdenv, fetchurl, allegro }:
2+stdenv.mkDerivation rec {
3+ version = "5.6.4";
4+ pname = "liquidwar5";
5+ src = fetchurl {
6+ url = "https://download.savannah.gnu.org/releases/liquidwar/liquidwar-${version}.tar.gz";
7+ sha256 = "18wkbfzp07yckg05b5gjy67rw06z9lxp0hzg0zwj7rz8i12jxi9j";
8+ };
9+
10+ buildInputs = [ allegro ];
11+
12+ configureFlags = stdenv.lib.optional stdenv.isx86_64 "--disable-asm";
13+
14+ hardeningDisable = [ "format" ];
15+
16+ NIX_CFLAGS_COMPILE = [ "-lm" ];
17+
18+ meta = with stdenv.lib; {
19+ description = ''The classic version of a quick tactics game LiquidWar'';
20+ maintainers = [ maintainers.raskin ];
21+ license = licenses.gpl2Plus;
22+ platforms = platforms.linux;
23+ broken = true;
24+ };
25+}
test/golden/importless/5.txtnew file
No changes to the content.
test/golden/importless/5.x.nixnew file+29
@@ -0,0 +1,29 @@
1+{ stdenv, fetchFromGitHub, cmake, neon, libdiscid, libxml2, pkgconfig }:
2+
3+stdenv.mkDerivation rec {
4+ version = "5.1.0";
5+ pname = "libmusicbrainz";
6+
7+ nativeBuildInputs = [ pkgconfig ];
8+ buildInputs = [ cmake neon libdiscid libxml2 ];
9+
10+ src = fetchFromGitHub {
11+ owner = "metabrainz";
12+ repo = "libmusicbrainz";
13+ sha256 = "0ah9kaf3g3iv1cps2vs1hs33nfbjfx1xscpjgxr1cg28p4ri6jhq";
14+ rev = "release-${version}";
15+ };
16+
17+ dontUseCmakeBuildDir=true;
18+
19+ meta = with stdenv.lib; {
20+ homepage = "http://musicbrainz.org/doc/libmusicbrainz";
21+ description = "MusicBrainz Client Library (5.x version)";
22+ longDescription = ''
23+ The libmusicbrainz (also known as mb_client or MusicBrainz Client
24+ Library) is a development library geared towards developers who wish to
25+ add MusicBrainz lookup capabilities to their applications.'';
26+ platforms = platforms.all;
27+ license = licenses.lgpl21;
28+ };
29+}
test/golden/importless/5.x.txtnew file
No changes to the content.
test/golden/importless/5_x.nixnew file+199
@@ -0,0 +1,199 @@
1+{ stdenv, lib, fetchgit, fetchFromGitHub, gyp, readline, python, which, icu
2+, patchelf, coreutils, xcbuild
3+, doCheck ? false
4+, static ? false
5+}:
6+
7+assert readline != null;
8+
9+let
10+ arch = if stdenv.isx86_64 then "x64"
11+ else if stdenv.isi686 then "ia32"
12+ else if stdenv.isAarch64 then "arm64"
13+ else if stdenv.isAarch32 then "arm"
14+ else throw "Unknown architecture for v8";
15+ git_url = "https://chromium.googlesource.com";
16+ clangFlag = if stdenv.isDarwin then "1" else "0";
17+ sharedFlag = if static then "static_library" else "shared_library";
18+
19+ deps = {
20+ build = fetchgit {
21+ url = "${git_url}/chromium/src/build.git";
22+ rev = "2c67d4d74b6b3673228fab191918500a582ef3b0";
23+ sha256 = "0jc7hci5yh792pw0ahjfxrk5xzllnlrv9llmwlgcgn2x8x6bn34q";
24+ };
25+ "tools/gyp" = fetchgit {
26+ url = "${git_url}/external/gyp.git";
27+ rev = "e7079f0e0e14108ab0dba58728ff219637458563";
28+ sha256 = "0yd1ds13z0r9d2sb67f9i1gjn1zgzwyfv96qqqp6pn5pcfbialg6";
29+ };
30+ "third_party/icu" = fetchgit {
31+ url = "${git_url}/chromium/deps/icu.git";
32+ rev = "b5ecbb29a26532f72ef482569b223d5a51fd50bf";
33+ sha256 = "0ld47wdnk8grcba221z67l3pnphv9zwifk4y44f5b946w3iwmpns";
34+ };
35+ buildtools = fetchgit {
36+ url = "${git_url}/chromium/buildtools.git";
37+ rev = "60f7f9a8b421ebf9a46041dfa2ff11c0fe59c582";
38+ sha256 = "0i10bw7yhslklqwcx5krs3k05sicb73cpwd0mkaz96yxsvmkvjq0";
39+ };
40+ "base/trace_event/common" = fetchgit {
41+ url = "${git_url}/chromium/src/base/trace_event/common.git";
42+ rev = "315bf1e2d45be7d53346c31cfcc37424a32c30c8";
43+ sha256 = "1pp2ygvp20j6g4868hrmiw0j704kdvsi9d9wx2gbk7w79rc36695";
44+ };
45+ "platform/inspector_protocol" = fetchgit {
46+ url = "${git_url}/chromium/src/third_party/WebKit/Source/platform/inspector_protocol.git";
47+ rev = "f49542089820a34a9a6e33264e09b73779407512";
48+ sha256 = "1lwpass3p4rpp2kjmxxxpkqyv4lznxhf4i0yy7mmrd7jkpc7kn8k";
49+ };
50+ "tools/mb" = fetchgit {
51+ url = "${git_url}/chromium/src/tools/mb.git";
52+ rev = "0c4dc43c454f26936ddf3074ab8e9a41e3dc03a3";
53+ sha256 = "0f96qphbmwn1pprv0a6xf68p01s1jzx2sz6pmadqbrs1dgh1xwnk";
54+ };
55+ "tools/swarming_client" = fetchgit {
56+ url = "${git_url}/external/swarming.client.git";
57+ rev = "7f63a272f7d9785ce41b6d10bb3106c49a968e57";
58+ sha256 = "1pmb8bq4qifjf2dzz8c4jdwhlvwgrl9ycjaalcyh1sbh4lx3yvv2";
59+ };
60+ "testing/gtest" = fetchgit {
61+ url = "${git_url}/external/github.com/google/googletest.git";
62+ rev = "6f8a66431cb592dad629028a50b3dd418a408c87";
63+ sha256 = "0bdba2lr6pg15bla9600zg0r0vm4lnrx0wqz84p376wfdxra24vw";
64+ };
65+ "testing/gmock" = fetchgit {
66+ url = "${git_url}/external/googlemock.git";
67+ rev = "0421b6f358139f02e102c9c332ce19a33faf75be";
68+ sha256 = "1xiky4v98maxs8fg1avcd56y0alv3hw8qyrlpd899zgzbq2k10pp";
69+ };
70+ "test/benchmarks/data" = fetchgit {
71+ url = "${git_url}/v8/deps/third_party/benchmarks.git";
72+ rev = "05d7188267b4560491ff9155c5ee13e207ecd65f";
73+ sha256 = "0ad2ay14bn67d61ks4dmzadfnhkj9bw28r4yjdjjyzck7qbnzchl";
74+ };
75+ "test/mozilla/data" = fetchgit {
76+ url = "${git_url}/v8/deps/third_party/mozilla-tests.git";
77+ rev = "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be";
78+ sha256 = "0rfdan76yfawqxbwwb35aa57b723j3z9fx5a2w16nls02yk2kqyn";
79+ };
80+ "test/simdjs/data" = fetchgit {
81+ url = "${git_url}/external/github.com/tc39/ecmascript_simd.git";
82+ rev = "baf493985cb9ea7cdbd0d68704860a8156de9556";
83+ sha256 = "178r0k40a58c1187gfzqz2i6as34l8cliy1g1x870wyy0qcvlq2q";
84+ };
85+ "test/test262/data" = fetchgit {
86+ url = "${git_url}/external/github.com/tc39/test262.git";
87+ rev = "88bc7fe7586f161201c5f14f55c9c489f82b1b67";
88+ sha256 = "0gc7fmaqrgwb6rl02jnrm3synpwzzg0dfqy3zm386r1qcisl93xs";
89+ };
90+ "test/test262/harness" = fetchgit {
91+ url = "${git_url}/external/github.com/test262-utils/test262-harness-py.git";
92+ rev = "cbd968f54f7a95c6556d53ba852292a4c49d11d8";
93+ sha256 = "094c3600a4wh1m3fvvlivn290kik1pzzvwabq77lk8bh4jkkv7ki";
94+ };
95+ "tools/clang" = fetchgit {
96+ url = "${git_url}/chromium/src/tools/clang.git";
97+ rev = "496622ab4aaa5be7e5a9b80617013cb02f45dc87";
98+ sha256 = "1gkhk2bzpxwzkirzcqfixxpprbr8mn6rk00krm25daarm3smydmf";
99+ };
100+ };
101+
102+in
103+
104+stdenv.mkDerivation rec {
105+ pname = "v8";
106+ version = "5.4.232";
107+
108+ inherit doCheck;
109+
110+ src = fetchFromGitHub {
111+ owner = "v8";
112+ repo = "v8";
113+ rev = version;
114+ sha256 = "1nqxbkz75m8xrjih0sj3f3iqvif4192vxdaxzy8r787rihjwg9nx";
115+ };
116+
117+ postUnpack = ''
118+ ${lib.concatStringsSep "\n" (
119+ lib.mapAttrsToList (n: v: ''
120+ mkdir -p $sourceRoot/${n}
121+ cp -r ${v}/* $sourceRoot/${n}
122+ '') deps)}
123+ '';
124+
125+ # Patch based off of:
126+ # https://github.com/cowboyd/libv8/tree/v5.1.281.67.0/patches
127+ patches = lib.optional (!doCheck) ./libv8-5.4.232.patch;
128+
129+ postPatch = ''
130+ sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,' gypfiles/gyp_v8
131+ sed -i 's,/bin/echo,${coreutils}/bin/echo,' gypfiles/standalone.gypi
132+ sed -i '/CR_CLANG_REVISION/ d' gypfiles/standalone.gypi
133+ sed -i 's/-Wno-format-pedantic//g' gypfiles/standalone.gypi
134+ '';
135+
136+ configurePhase = ''
137+ PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \
138+ PYTHONPATH="$(toPythonPath ${gyp}):$PYTHONPATH" \
139+ gypfiles/gyp_v8 \
140+ -f make \
141+ --generator-output="out" \
142+ -Dflock_index=0 \
143+ -Dclang=${clangFlag} \
144+ -Dv8_enable_i18n_support=1 \
145+ -Duse_system_icu=1 \
146+ -Dcomponent=${sharedFlag} \
147+ -Dconsole=readline \
148+ -Dv8_target_arch=${arch} \
149+ -Dv8_use_external_startup_data=0
150+ '';
151+
152+ nativeBuildInputs = [ which ];
153+ buildInputs = [ readline python icu ]
154+ ++ stdenv.lib.optional stdenv.isDarwin xcbuild
155+ ++ stdenv.lib.optional stdenv.isLinux patchelf;
156+
157+ NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow -Wno-error=unused-function -Wno-error=attributes"
158+ + stdenv.lib.optionalString stdenv.cc.isClang " -Wno-error=unused-lambda-capture";
159+
160+ buildFlags = [
161+ "LINK=c++"
162+ "-C out"
163+ "builddir=$(CURDIR)/Release"
164+ "BUILDTYPE=Release"
165+ ];
166+
167+ enableParallelBuilding = true;
168+
169+ dontUpdateAutotoolsGnuConfigScripts = if stdenv.isAarch64 then true else null;
170+
171+ # the `libv8_libplatform` target is _only_ built as a static library,
172+ # and is expected to be statically linked in when needed.
173+ # see the following link for further commentary:
174+ # https://github.com/cowboyd/therubyracer/issues/391
175+ installPhase = ''
176+ install -vD out/Release/d8 "$out/bin/d8"
177+ install -vD out/Release/mksnapshot "$out/bin/mksnapshot"
178+ ${if static then ""
179+ else if stdenv.isDarwin then ''
180+ install -vD out/Release/libv8.dylib "$out/lib/libv8.dylib"
181+ install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/bin/d8
182+ install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib
183+ '' else ''
184+ install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so"
185+ ''}
186+ mkdir -p "$out/include"
187+ cp -vr include/*.h "$out/include"
188+ cp -vr include/libplatform "$out/include"
189+ mkdir -p "$out/lib"
190+ cp -v out/Release/*.a "$out/lib"
191+ '';
192+
193+ meta = with lib; {
194+ description = "Google's open source JavaScript engine";
195+ maintainers = with maintainers; [ cstrahan proglodyte ];
196+ platforms = platforms.linux ++ platforms.darwin;
197+ license = licenses.bsd3;
198+ };
199+}
test/golden/importless/5_x.txtnew file
No changes to the content.
test/golden/importless/6.3.nixnew file+53
@@ -0,0 +1,53 @@
1+{ stdenv, buildPythonPackage, fetchFromGitHub
2+, betamax
3+, betamax-serializers
4+, betamax-matchers
5+, mock
6+, six
7+, pytestrunner
8+, prawcore
9+, pytest
10+, requests-toolbelt
11+, update_checker
12+, websocket_client
13+}:
14+
15+buildPythonPackage rec {
16+ pname = "praw";
17+ version = "6.3.1";
18+
19+ src = fetchFromGitHub {
20+ owner = "praw-dev";
21+ repo = "praw";
22+ rev = "v${version}";
23+ sha256 = "0by89aw7m803dvjcc33m9390msjm6v5v8g3k8ink9gfm421lw8ky";
24+ };
25+
26+ nativeBuildInputs = [
27+ pytestrunner
28+ ];
29+
30+ propagatedBuildInputs = [
31+ mock
32+ prawcore
33+ update_checker
34+ websocket_client
35+ ];
36+
37+ checkInputs = [
38+ betamax
39+ betamax-serializers
40+ betamax-matchers
41+ mock
42+ pytest
43+ requests-toolbelt
44+ six
45+ ];
46+
47+ meta = with stdenv.lib; {
48+ description = "Python Reddit API wrapper";
49+ homepage = "https://praw.readthedocs.org/";
50+ license = licenses.bsd2;
51+ maintainers = with maintainers; [ ];
52+ };
53+}
test/golden/importless/6.3.txtnew file
No changes to the content.
test/golden/importless/6.30.163.46.nixnew file+29
@@ -0,0 +1,29 @@
1+{ stdenv, fetchurl, b43FirmwareCutter }:
2+
3+stdenv.mkDerivation rec {
4+ pname = "b43-firmware";
5+ version = "6.30.163.46";
6+
7+ src = fetchurl {
8+ url = "http://www.lwfinger.com/b43-firmware/broadcom-wl-${version}.tar.bz2";
9+ sha256 = "0baw6gcnrhxbb447msv34xg6rmlcj0gm3ahxwvdwfcvq4xmknz50";
10+ };
11+
12+ buildInputs = [ b43FirmwareCutter ];
13+
14+ phases = [ "unpackPhase" "installPhase" ];
15+
16+ sourceRoot = ".";
17+
18+ installPhase = ''
19+ mkdir $out
20+ b43-fwcutter -w $out *.wl_apsta.o
21+ '';
22+
23+ meta = with stdenv.lib; {
24+ description = "Firmware for cards supported by the b43 kernel module";
25+ homepage = "http://wireless.kernel.org/en/users/Drivers/b43";
26+ downloadPage = "http://www.lwfinger.com/b43-firmware";
27+ license = licenses.unfree;
28+ };
29+}
test/golden/importless/6.30.163.46.txtnew file
No changes to the content.
test/golden/importless/6.nixnew file+9
@@ -0,0 +1,9 @@
1+{ callPackage, Foundation, libobjc }:
2+
3+callPackage ./generic.nix ({
4+ inherit Foundation libobjc;
5+ version = "6.0.0.313";
6+ srcArchiveSuffix = "tar.xz";
7+ sha256 = "0l0cd6q5xh1vdm6zr78rkfqdsmrgzanjgpxvgig0pyd3glfyjim9";
8+ enableParallelBuilding = true;
9+})
test/golden/importless/6.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { Foundation = α; callPackage = Path -> β; libobjc = γ } -> { Foundation = α; enableParallelBuilding = Bool; libobjc = γ; sha256 = String; srcArchiveSuffix = String; version = String }
test/golden/importless/6.x.nixnew file+45
@@ -0,0 +1,45 @@
1+{ stdenv, fetchurl, libxml2, openssl, readline, gawk }:
2+
3+stdenv.mkDerivation rec {
4+ name = "virtuoso-opensource-6.1.6";
5+
6+ src = fetchurl {
7+ url = "mirror://sourceforge/virtuoso/${name}.tar.gz";
8+ sha256 = "0dx0lp7cngdchi0772hp93zzn6sdap7z8s3vay3mzb9xgf0sdgy6";
9+ };
10+
11+ outputs = [ "out" "dev" "doc" ];
12+
13+ buildInputs = [ libxml2 openssl readline gawk ];
14+
15+ CPP = "${stdenv.cc}/bin/gcc -E";
16+
17+ configureFlags = [
18+ "--enable-shared" "--disable-all-vads" "--with-readline=${readline.dev}"
19+ "--disable-hslookup" "--disable-wbxml2" "--without-iodbc"
20+ "--enable-openssl=${openssl.dev}"
21+ ];
22+
23+ postInstall = ''
24+ echo Moving documentation
25+ mkdir -pv $out/share/doc
26+ mv -v $out/share/virtuoso/doc $out/share/doc/${name}
27+
28+ echo Removing jars and empty directories
29+ find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete
30+
31+ for f in $out/lib/*.la; do
32+ echo "Fixing $f"
33+ substituteInPlace $f \
34+ --replace "${readline.dev}" "${readline.out}/lib" \
35+ --replace "${openssl.dev}/lib" "${openssl.out}/lib"
36+ done
37+ '';
38+
39+ meta = with stdenv.lib; {
40+ description = "SQL/RDF database used by, e.g., KDE-nepomuk";
41+ homepage = "http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/";
42+ platforms = platforms.linux;
43+ license = licenses.gpl2;
44+ };
45+}
test/golden/importless/6.x.txtnew file
No changes to the content.
test/golden/importless/60.nixnew file+83
@@ -0,0 +1,83 @@
1+{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, python2, zip, buildPackages
2+, which, readline, zlib, icu }:
3+
4+with stdenv.lib;
5+
6+let
7+ version = "60.9.0";
8+in stdenv.mkDerivation {
9+ pname = "spidermonkey";
10+ inherit version;
11+
12+ src = fetchurl {
13+ url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
14+ sha256 = "0gy5x2rnnbkqmjd9sq93s3q5na9nkba68xwpizild7k6qn63qicz";
15+ };
16+
17+ outputs = [ "out" "dev" ];
18+ setOutputFlags = false; # Configure script only understands --includedir
19+
20+ buildInputs = [ readline zlib icu ];
21+ nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ];
22+
23+ patches = [
24+ # Fixed in 62.0
25+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1415202
26+ (fetchpatch {
27+ url = "https://src.fedoraproject.org/rpms/mozjs60/raw/a1b605c73f382db25977cb2d4d70a3ba2ff85b92/f/Always-use-the-equivalent-year-to-determine-the-time-zone.patch";
28+ sha256 = "12i225qbzlyfj2disms50zrr5jy8zgn2cc4rgsg58sfgf1bn7150";
29+ })
30+ ];
31+
32+ preConfigure = ''
33+ export CXXFLAGS="-fpermissive"
34+ export LIBXUL_DIST=$out
35+ export PYTHON="${buildPackages.python2.interpreter}"
36+
37+ # We can't build in js/src/, so create a build dir
38+ mkdir obj
39+ cd obj/
40+ configureScript=../js/src/configure
41+ '';
42+
43+ configureFlags = [
44+ "--with-system-zlib"
45+ "--with-system-icu"
46+ "--with-intl-api"
47+ "--enable-readline"
48+ "--enable-shared-js"
49+ "--enable-posix-nspr-emulation"
50+ "--disable-jemalloc"
51+ # Fedora and Arch disable optimize, but it doesn't seme to be necessary
52+ # It turns on -O3 which some gcc version had a problem with:
53+ # https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd60f370ab4216e
54+ "--enable-optimize"
55+ "--enable-release"
56+ ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
57+ # Spidermonkey seems to use different host/build terminology for cross
58+ # compilation here.
59+ "--host=${stdenv.buildPlatform.config}"
60+ "--target=${stdenv.hostPlatform.config}"
61+ ];
62+
63+ configurePlatforms = [];
64+
65+ depsBuildBuild = [ buildPackages.stdenv.cc ];
66+
67+ # Remove unnecessary static lib
68+ preFixup = ''
69+ moveToOutput bin/js60-config "$dev"
70+ rm $out/lib/libjs_static.ajs
71+ ln -s $out/bin/js60 $out/bin/js
72+ '';
73+
74+ enableParallelBuilding = true;
75+
76+ meta = with stdenv.lib; {
77+ description = "Mozilla's JavaScript engine written in C/C++";
78+ homepage = "https://developer.mozilla.org/en/SpiderMonkey";
79+ license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
80+ maintainers = [ maintainers.abbradar ];
81+ platforms = platforms.linux;
82+ };
83+}
test/golden/importless/60.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η θ. { autoconf213 = γ; buildPackages = δ; fetchpatch = { sha256 = String; url = String } -> ε; fetchurl = { sha256 = String; url = String } -> ζ; icu = η; perl = γ; pkgconfig = γ; python2 = γ; readline = η; stdenv = θ; which = γ; zip = γ; zlib = η } -> { buildInputs = [η]; configureFlags = [String]; configurePlatforms = ∀ β. β; depsBuildBuild = ∀ β. [β]; enableParallelBuilding = Bool; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. α }; nativeBuildInputs = [γ]; outputs = [String]; patches = [{ sha256 = String; url = String }]; pname = String; preConfigure = String; preFixup = String; setOutputFlags = Bool; src = { sha256 = String; url = String }; version = String }
test/golden/importless/68.nixnew file+95
@@ -0,0 +1,95 @@
1+{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, python2, python3, zip, buildPackages
2+, which, readline, zlib, icu, cargo, rustc, llvmPackages }:
3+
4+with stdenv.lib;
5+
6+let
7+ python3Env = buildPackages.python3.withPackages (p: [p.six]);
8+in stdenv.mkDerivation rec {
9+ pname = "spidermonkey";
10+ version = "68.10.0";
11+
12+ src = fetchurl {
13+ url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
14+ sha256 = "0azdinwqjfv2q37gqpxmfvzsk86pvsi6cjaq1310zs26gric5j1f";
15+ };
16+
17+ outputs = [ "out" "dev" ];
18+ setOutputFlags = false; # Configure script only understands --includedir
19+
20+ nativeBuildInputs = [
21+ autoconf213
22+ pkgconfig
23+ perl
24+ which
25+ python2
26+ zip
27+ cargo
28+ rustc
29+ llvmPackages.llvm
30+ ];
31+
32+ buildInputs = [
33+ readline
34+ zlib
35+ icu
36+ ];
37+
38+ preConfigure = ''
39+ export CXXFLAGS="-fpermissive"
40+ export LIBXUL_DIST=$out
41+ export PYTHON3="${python3Env.interpreter}"
42+
43+ # We can't build in js/src/, so create a build dir
44+ mkdir obj
45+ cd obj/
46+ configureScript=../js/src/configure
47+ '';
48+
49+ configureFlags = [
50+ # Reccommended by gjs upstream
51+ "--disable-jemalloc"
52+ "--enable-unaligned-private-values"
53+ "--with-intl-api"
54+ "--enable-posix-nspr-emulation"
55+ "--with-system-zlib"
56+ "--with-system-icu"
57+
58+ "--with-libclang-path=${llvmPackages.libclang}/lib"
59+ "--with-clang-path=${llvmPackages.clang}/bin/clang"
60+
61+ "--enable-shared-js"
62+ "--enable-readline"
63+ # Fedora and Arch disable optimize, but it doesn't seme to be necessary
64+ # It turns on -O3 which some gcc version had a problem with:
65+ # https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd60f370ab4216e
66+ "--enable-optimize"
67+ "--enable-release"
68+ ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
69+ # Spidermonkey seems to use different host/build terminology for cross
70+ # compilation here.
71+ "--host=${stdenv.buildPlatform.config}"
72+ "--target=${stdenv.hostPlatform.config}"
73+ ];
74+
75+ configurePlatforms = [];
76+
77+ depsBuildBuild = [ buildPackages.stdenv.cc ];
78+
79+ # Remove unnecessary static lib
80+ preFixup = ''
81+ moveToOutput bin/js60-config "$dev"
82+ rm $out/lib/libjs_static.ajs
83+ ln -s $out/bin/js60 $out/bin/js
84+ '';
85+
86+ enableParallelBuilding = true;
87+
88+ meta = with stdenv.lib; {
89+ description = "Mozilla's JavaScript engine written in C/C++";
90+ homepage = "https://developer.mozilla.org/en/SpiderMonkey";
91+ license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
92+ maintainers = [ maintainers.abbradar ];
93+ platforms = platforms.linux;
94+ };
95+}
test/golden/importless/68.txtnew file
No changes to the content.
test/golden/importless/68_sources.nixnew file+615
@@ -0,0 +1,615 @@
1+{
2+ version = "68.12.0";
3+ sources = [
4+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/ar/thunderbird-68.12.0.tar.bz2";
5+ locale = "ar";
6+ arch = "linux-x86_64";
7+ sha256 = "70cfb9e6a7a1f285f37a8f13c9a010237e6aabf815b77a12f54ee0deedd36400";
8+ }
9+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/ast/thunderbird-68.12.0.tar.bz2";
10+ locale = "ast";
11+ arch = "linux-x86_64";
12+ sha256 = "5645657f20d37ffdb11f383f164f03c66ed2024244849b09bfa60075d5d07490";
13+ }
14+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/be/thunderbird-68.12.0.tar.bz2";
15+ locale = "be";
16+ arch = "linux-x86_64";
17+ sha256 = "d38cdcc2ba4534c23a1bb42b93f271623c497f48e1d255a23bf12a368ff339bd";
18+ }
19+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/bg/thunderbird-68.12.0.tar.bz2";
20+ locale = "bg";
21+ arch = "linux-x86_64";
22+ sha256 = "c8883242683dec57f9db502d96d2036ec46753f474a33c0f1ae31f97f2c3113c";
23+ }
24+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/br/thunderbird-68.12.0.tar.bz2";
25+ locale = "br";
26+ arch = "linux-x86_64";
27+ sha256 = "cfb669e2378f97689a14f23e2c55ef4987e2508695eb195be3af75ed1d648345";
28+ }
29+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/ca/thunderbird-68.12.0.tar.bz2";
30+ locale = "ca";
31+ arch = "linux-x86_64";
32+ sha256 = "9ae4b43e0d5d9edd83291f0be7d53d07e5c84f1d0ad4348654136543b7b53a54";
33+ }
34+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/cak/thunderbird-68.12.0.tar.bz2";
35+ locale = "cak";
36+ arch = "linux-x86_64";
37+ sha256 = "d6d635a15b913679ed943c3501dd03140d099ff36b48c8731a47eacda1b5232b";
38+ }
39+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/cs/thunderbird-68.12.0.tar.bz2";
40+ locale = "cs";
41+ arch = "linux-x86_64";
42+ sha256 = "616fbf24e36d63ce3cbc957d69b8972d517524c613a22bedcf5b57534f9a9a41";
43+ }
44+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/cy/thunderbird-68.12.0.tar.bz2";
45+ locale = "cy";
46+ arch = "linux-x86_64";
47+ sha256 = "548c51228d2f3003bb94e1bee91cea0d2edb95bd0f86ee4259c8daef90a2dca8";
48+ }
49+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/da/thunderbird-68.12.0.tar.bz2";
50+ locale = "da";
51+ arch = "linux-x86_64";
52+ sha256 = "ad0e4b7a693d881b8875a5b8cc3e607a3883df759278129f0933522b9a6acd24";
53+ }
54+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/de/thunderbird-68.12.0.tar.bz2";
55+ locale = "de";
56+ arch = "linux-x86_64";
57+ sha256 = "bf9b70b345ffe5df03365d819c5abc3339ed3af4d8a716cdfe7099134864a9b4";
58+ }
59+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/dsb/thunderbird-68.12.0.tar.bz2";
60+ locale = "dsb";
61+ arch = "linux-x86_64";
62+ sha256 = "a2cd7ffb0e8b4c3d1715c18e636d0dcd5efa245200d6d0f14048fc4b399b8121";
63+ }
64+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/el/thunderbird-68.12.0.tar.bz2";
65+ locale = "el";
66+ arch = "linux-x86_64";
67+ sha256 = "07836ce122936848e26cd5a1522967760bee67654582076c53e4ec183cc4c40e";
68+ }
69+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/en-GB/thunderbird-68.12.0.tar.bz2";
70+ locale = "en-GB";
71+ arch = "linux-x86_64";
72+ sha256 = "c89fa35af79eca3cc26b492c602a3f8af0dbaf6ce4ee3af93d93f10daf4e9d6e";
73+ }
74+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/en-US/thunderbird-68.12.0.tar.bz2";
75+ locale = "en-US";
76+ arch = "linux-x86_64";
77+ sha256 = "6eeea0de838909f91da7270e42ae1513d2b801f412fc758f2f8c682d260a7c24";
78+ }
79+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/es-AR/thunderbird-68.12.0.tar.bz2";
80+ locale = "es-AR";
81+ arch = "linux-x86_64";
82+ sha256 = "e9d84032a91f7feb2db3d22a500c564f273c2b637f97aaab2edf3209b93dda1d";
83+ }
84+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/es-ES/thunderbird-68.12.0.tar.bz2";
85+ locale = "es-ES";
86+ arch = "linux-x86_64";
87+ sha256 = "a986e8a48b59354421193f2dd01e3c291fb6c98031af43531e723dc217a43d4a";
88+ }
89+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/et/thunderbird-68.12.0.tar.bz2";
90+ locale = "et";
91+ arch = "linux-x86_64";
92+ sha256 = "2f7508e83aba4fd64a817c7eb4b44d4ea9371956339a009ba541bf3a349693cf";
93+ }
94+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/eu/thunderbird-68.12.0.tar.bz2";
95+ locale = "eu";
96+ arch = "linux-x86_64";
97+ sha256 = "edbc5ff4ba45106233cdbf5255405c4ee52ba7e6811736958323a616881b943f";
98+ }
99+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/fi/thunderbird-68.12.0.tar.bz2";
100+ locale = "fi";
101+ arch = "linux-x86_64";
102+ sha256 = "f4ad740a724efdbfec54445304ca75e9a16e0881bc18789b8ea35632d8857d4b";
103+ }
104+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/fr/thunderbird-68.12.0.tar.bz2";
105+ locale = "fr";
106+ arch = "linux-x86_64";
107+ sha256 = "ebf60a227c9fe5237eff22fb81f3c8bc02a593de823d6f0ad9b67f07af129dea";
108+ }
109+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/fy-NL/thunderbird-68.12.0.tar.bz2";
110+ locale = "fy-NL";
111+ arch = "linux-x86_64";
112+ sha256 = "b12983077a62c5bf7353f50dd951348a457ce07f5beb2a579f199c4d77ed0906";
113+ }
114+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/ga-IE/thunderbird-68.12.0.tar.bz2";
115+ locale = "ga-IE";
116+ arch = "linux-x86_64";
117+ sha256 = "aa7c3a4b54fd6fef0f120a6748c45a3f379268f31e087cb3df07d270bf060bad";
118+ }
119+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/gd/thunderbird-68.12.0.tar.bz2";
120+ locale = "gd";
121+ arch = "linux-x86_64";
122+ sha256 = "39fadb2bd4c01da0eb188cb9f52ccd726ec9f7eb5ced44e2a30ee0cfac2527bf";
123+ }
124+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/gl/thunderbird-68.12.0.tar.bz2";
125+ locale = "gl";
126+ arch = "linux-x86_64";
127+ sha256 = "b4ee1f89b0326b22fc7a5b980b857c2652d6881d096060a8bc083015b47762d8";
128+ }
129+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/he/thunderbird-68.12.0.tar.bz2";
130+ locale = "he";
131+ arch = "linux-x86_64";
132+ sha256 = "cefbc742672942e310dc9f4dbcefc8b66cf01d58ac64448ac8c0dc33fdace5ae";
133+ }
134+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/hr/thunderbird-68.12.0.tar.bz2";
135+ locale = "hr";
136+ arch = "linux-x86_64";
137+ sha256 = "9e132811cb6bd98faee86e298b78e845727bfded84c0cdab41608ed1565f1aee";
138+ }
139+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/hsb/thunderbird-68.12.0.tar.bz2";
140+ locale = "hsb";
141+ arch = "linux-x86_64";
142+ sha256 = "2a41d1e188fd5fed93a37a1bedc67cb745367447504a76836f79928194730d3b";
143+ }
144+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/hu/thunderbird-68.12.0.tar.bz2";
145+ locale = "hu";
146+ arch = "linux-x86_64";
147+ sha256 = "9196df7850b9cff69f52b5db69ec3b64cfa312bba5669380c137b95a8140cf39";
148+ }
149+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/hy-AM/thunderbird-68.12.0.tar.bz2";
150+ locale = "hy-AM";
151+ arch = "linux-x86_64";
152+ sha256 = "4a08137a9a714677ecf86a24f165047b809e22eff50d196b92c153e59f943c30";
153+ }
154+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/id/thunderbird-68.12.0.tar.bz2";
155+ locale = "id";
156+ arch = "linux-x86_64";
157+ sha256 = "39784aab0bc3253af47cdcd95824eccdecae4dac819bacf6a04daa7b5c86d6e3";
158+ }
159+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/is/thunderbird-68.12.0.tar.bz2";
160+ locale = "is";
161+ arch = "linux-x86_64";
162+ sha256 = "a041d1af23e9c64967e4d014b6a84ddc80ad24e852146e448f6b380cdd672e67";
163+ }
164+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/it/thunderbird-68.12.0.tar.bz2";
165+ locale = "it";
166+ arch = "linux-x86_64";
167+ sha256 = "b0e3161c801fbaee2f589b1bc61a4fba9968f5f363a62cf0f8af855d23e4782c";
168+ }
169+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/ja/thunderbird-68.12.0.tar.bz2";
170+ locale = "ja";
171+ arch = "linux-x86_64";
172+ sha256 = "ad416d47930d81be9ac2f20b3699f4c74471c36e08b14f9d5c6ee1af97c7c9d4";
173+ }
174+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/ka/thunderbird-68.12.0.tar.bz2";
175+ locale = "ka";
176+ arch = "linux-x86_64";
177+ sha256 = "3b30bc5f0971310d71e1909b4ed891481457ac8baf11c1e505c3400b2a7cfb63";
178+ }
179+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/kab/thunderbird-68.12.0.tar.bz2";
180+ locale = "kab";
181+ arch = "linux-x86_64";
182+ sha256 = "abdc58d5d5ef251e63c0c40a48460f90e299a4420cbe4e290d519fbed4c335b8";
183+ }
184+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/kk/thunderbird-68.12.0.tar.bz2";
185+ locale = "kk";
186+ arch = "linux-x86_64";
187+ sha256 = "08018b951de59b1a92717fc82bd98a0c324a019ee0ae14888f09c5351a586284";
188+ }
189+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/ko/thunderbird-68.12.0.tar.bz2";
190+ locale = "ko";
191+ arch = "linux-x86_64";
192+ sha256 = "1178adc42b3a2ddac46dd50ad8436d1be50db409963e8fac3beb22a431f885fe";
193+ }
194+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/lt/thunderbird-68.12.0.tar.bz2";
195+ locale = "lt";
196+ arch = "linux-x86_64";
197+ sha256 = "18d88a8cbb24d2a78af0de282187a743e707136fdb61912e5f64bf75730e3a76";
198+ }
199+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/ms/thunderbird-68.12.0.tar.bz2";
200+ locale = "ms";
201+ arch = "linux-x86_64";
202+ sha256 = "e1754cfbf20e286fd6304b8d75337e3794893c5ebd9b242cf624090e6fc6e9ee";
203+ }
204+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/nb-NO/thunderbird-68.12.0.tar.bz2";
205+ locale = "nb-NO";
206+ arch = "linux-x86_64";
207+ sha256 = "6379f6dca3d8bacb466044f0a7d11b32eb61166d3f14c37431f77843eb884c90";
208+ }
209+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/nl/thunderbird-68.12.0.tar.bz2";
210+ locale = "nl";
211+ arch = "linux-x86_64";
212+ sha256 = "66a56e218365bb260980848427609d390674e2ba3c70b9adc4121f73c861d9b8";
213+ }
214+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/nn-NO/thunderbird-68.12.0.tar.bz2";
215+ locale = "nn-NO";
216+ arch = "linux-x86_64";
217+ sha256 = "ccdb135d43f5542151fe2c99a8e13cebfbc032367abb0308213433b753dc8125";
218+ }
219+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/pl/thunderbird-68.12.0.tar.bz2";
220+ locale = "pl";
221+ arch = "linux-x86_64";
222+ sha256 = "5dc2151d1bb956c4b6fbd1b6185d9328f7091e60fdcd51bad5a9ebaa8fcbb7d7";
223+ }
224+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/pt-BR/thunderbird-68.12.0.tar.bz2";
225+ locale = "pt-BR";
226+ arch = "linux-x86_64";
227+ sha256 = "5ebf77d47bf45b058aaeca857060c908dbf7036bae2c2c5812ff145aed840203";
228+ }
229+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/pt-PT/thunderbird-68.12.0.tar.bz2";
230+ locale = "pt-PT";
231+ arch = "linux-x86_64";
232+ sha256 = "73baa68f79b4a15795fc426dfc9a8d573a05e4ab8a663d122cfd802f93941825";
233+ }
234+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/rm/thunderbird-68.12.0.tar.bz2";
235+ locale = "rm";
236+ arch = "linux-x86_64";
237+ sha256 = "29f8ba57d9000803bae795c2ff977347af9a1f0df123337eaab3bdcc20786734";
238+ }
239+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/ro/thunderbird-68.12.0.tar.bz2";
240+ locale = "ro";
241+ arch = "linux-x86_64";
242+ sha256 = "b8233ad81c6620c26a02457b9235ce0be0c5d93b81f88d9ddc84bc12f869dbad";
243+ }
244+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/ru/thunderbird-68.12.0.tar.bz2";
245+ locale = "ru";
246+ arch = "linux-x86_64";
247+ sha256 = "f959f786dbbb7d06cb33eca24efd9e2763c5ca73fc4ba47e9b933b6298d7f026";
248+ }
249+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/si/thunderbird-68.12.0.tar.bz2";
250+ locale = "si";
251+ arch = "linux-x86_64";
252+ sha256 = "dcf59c0c1ea0acdcc894463b04c54339a72dcceb25fe5478608265eb3ead226a";
253+ }
254+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/sk/thunderbird-68.12.0.tar.bz2";
255+ locale = "sk";
256+ arch = "linux-x86_64";
257+ sha256 = "2a06329fd4a9dd6333e2d73a44fca7eaf593032e8ace33736a03dbfffb2920a0";
258+ }
259+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/sl/thunderbird-68.12.0.tar.bz2";
260+ locale = "sl";
261+ arch = "linux-x86_64";
262+ sha256 = "f7bd3e3a407dbab07836342ff29fc143fe3904e7f878ea719522ade3fc4f6b84";
263+ }
264+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/sq/thunderbird-68.12.0.tar.bz2";
265+ locale = "sq";
266+ arch = "linux-x86_64";
267+ sha256 = "0edc58751a6794494efab8b0a2ce852374a747ccb73b38455475f0099ea0f238";
268+ }
269+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/sr/thunderbird-68.12.0.tar.bz2";
270+ locale = "sr";
271+ arch = "linux-x86_64";
272+ sha256 = "91ac5cc0646c062b00b3b064af53ba03c7e034b75afa13dca7586eb80578d377";
273+ }
274+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/sv-SE/thunderbird-68.12.0.tar.bz2";
275+ locale = "sv-SE";
276+ arch = "linux-x86_64";
277+ sha256 = "5aa21e4b78f4294835197f784a651f17453d83fce98e7140e49c6da117464fd9";
278+ }
279+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/tr/thunderbird-68.12.0.tar.bz2";
280+ locale = "tr";
281+ arch = "linux-x86_64";
282+ sha256 = "3ab2639dd126e3ed9b031fc10f4396c7d98ffa7b7ffca6a9b3f2f47590e3b83c";
283+ }
284+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/uk/thunderbird-68.12.0.tar.bz2";
285+ locale = "uk";
286+ arch = "linux-x86_64";
287+ sha256 = "59be2ddc7c65405e0b3854c2a551dab73df9736842ee362b2a20dc9088242a96";
288+ }
289+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/uz/thunderbird-68.12.0.tar.bz2";
290+ locale = "uz";
291+ arch = "linux-x86_64";
292+ sha256 = "ae196683b283525511fbd2e3ad428339672f2f1339566a323e01f6f649d333c1";
293+ }
294+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/vi/thunderbird-68.12.0.tar.bz2";
295+ locale = "vi";
296+ arch = "linux-x86_64";
297+ sha256 = "9d66b8e4eefbb6b8c0d9893b056fc684310ae583921d626cb676cd8a7b4b39de";
298+ }
299+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/zh-CN/thunderbird-68.12.0.tar.bz2";
300+ locale = "zh-CN";
301+ arch = "linux-x86_64";
302+ sha256 = "2839f2f076a8a6e283a3ffdd6100986a11d19b9108fce074f8e7f127cb0f375e";
303+ }
304+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-x86_64/zh-TW/thunderbird-68.12.0.tar.bz2";
305+ locale = "zh-TW";
306+ arch = "linux-x86_64";
307+ sha256 = "02ef645a7de8abc1c5dd92eb685d64570cf1db971cfe7e248111d6a17b3ddcd9";
308+ }
309+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/ar/thunderbird-68.12.0.tar.bz2";
310+ locale = "ar";
311+ arch = "linux-i686";
312+ sha256 = "5c4d899245a38626fa18d849bcf01d50125dee60d715d76224ca0bb4623f73be";
313+ }
314+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/ast/thunderbird-68.12.0.tar.bz2";
315+ locale = "ast";
316+ arch = "linux-i686";
317+ sha256 = "f657bdc5b43b75e43578251abccf5c7b9e6d0848fd55c6105060daba33c36721";
318+ }
319+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/be/thunderbird-68.12.0.tar.bz2";
320+ locale = "be";
321+ arch = "linux-i686";
322+ sha256 = "669a2cbfe600727b9d9a8ed5046272a1f19b80b6af9a6a6977ce1b89f60fa36e";
323+ }
324+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/bg/thunderbird-68.12.0.tar.bz2";
325+ locale = "bg";
326+ arch = "linux-i686";
327+ sha256 = "e1b33857544c10c0191316f6e3d16b34957196b35a922c884315714fe851389b";
328+ }
329+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/br/thunderbird-68.12.0.tar.bz2";
330+ locale = "br";
331+ arch = "linux-i686";
332+ sha256 = "b9e4a530529449446fe5a302277878c4d2192ef7bb48206f8528024087f520ea";
333+ }
334+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/ca/thunderbird-68.12.0.tar.bz2";
335+ locale = "ca";
336+ arch = "linux-i686";
337+ sha256 = "aa5e4ae20fa9e5dbb8c0ba275ba18d1ba94900094ba3186aac40ffb27396a96f";
338+ }
339+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/cak/thunderbird-68.12.0.tar.bz2";
340+ locale = "cak";
341+ arch = "linux-i686";
342+ sha256 = "a812c9150feec48e2ebfb1786f5e30ade33203160fa4102382435641caeaf3b8";
343+ }
344+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/cs/thunderbird-68.12.0.tar.bz2";
345+ locale = "cs";
346+ arch = "linux-i686";
347+ sha256 = "75813ad7dd0ae5c073964296dd687e5c1289178491adc98d40e853ed812bdca9";
348+ }
349+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/cy/thunderbird-68.12.0.tar.bz2";
350+ locale = "cy";
351+ arch = "linux-i686";
352+ sha256 = "b3894f05cf905aa96612860dcef0bdb4bb9564901ef84172e11856a9fa9e0ca4";
353+ }
354+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/da/thunderbird-68.12.0.tar.bz2";
355+ locale = "da";
356+ arch = "linux-i686";
357+ sha256 = "a4f21bd2017043872a962167f98db358b824ae1821fcf03e2df1bef7783e07c0";
358+ }
359+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/de/thunderbird-68.12.0.tar.bz2";
360+ locale = "de";
361+ arch = "linux-i686";
362+ sha256 = "3a079685f75d2ec0320ec9e366b4e037954d67fa3f9e3bda055b8cd7de8fbdd0";
363+ }
364+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/dsb/thunderbird-68.12.0.tar.bz2";
365+ locale = "dsb";
366+ arch = "linux-i686";
367+ sha256 = "295a0f56429b3638dd0dcbf8d97a6376636b67e22d493ce8dfaceeb579466d18";
368+ }
369+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/el/thunderbird-68.12.0.tar.bz2";
370+ locale = "el";
371+ arch = "linux-i686";
372+ sha256 = "86e4b98ede80cc07cc1aec043af82068a73b7c76820f70df8314e3b91c108d18";
373+ }
374+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/en-GB/thunderbird-68.12.0.tar.bz2";
375+ locale = "en-GB";
376+ arch = "linux-i686";
377+ sha256 = "2cb03a17f88e3826181911ec6a7455528d1e4c051b065252c964c6c0794175e4";
378+ }
379+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/en-US/thunderbird-68.12.0.tar.bz2";
380+ locale = "en-US";
381+ arch = "linux-i686";
382+ sha256 = "11fe953ede0d99656534ac676f118e939024744c5301d378acbeac6792e668e5";
383+ }
384+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/es-AR/thunderbird-68.12.0.tar.bz2";
385+ locale = "es-AR";
386+ arch = "linux-i686";
387+ sha256 = "596264396a25adb873320222697e7f1a58aaab484de9c0d2e85f99962b6d893d";
388+ }
389+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/es-ES/thunderbird-68.12.0.tar.bz2";
390+ locale = "es-ES";
391+ arch = "linux-i686";
392+ sha256 = "a9512af30e2b1613a6bd1ae6f4ce785f676b2cf70b80a37d85a5e1566bb2b35f";
393+ }
394+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/et/thunderbird-68.12.0.tar.bz2";
395+ locale = "et";
396+ arch = "linux-i686";
397+ sha256 = "b7dcb196881a23e979edb5ae247a7c07b1cf1250cb4c159ce523d1a26be188c2";
398+ }
399+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/eu/thunderbird-68.12.0.tar.bz2";
400+ locale = "eu";
401+ arch = "linux-i686";
402+ sha256 = "4066164b4c9242a9885bc2de802c4f5b6b594c928db36ac72c94faabaad86679";
403+ }
404+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/fi/thunderbird-68.12.0.tar.bz2";
405+ locale = "fi";
406+ arch = "linux-i686";
407+ sha256 = "a7c635cbbbc10725b28052ccc61603fb60b91e06bbf1f240561bdb8f941af55a";
408+ }
409+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/fr/thunderbird-68.12.0.tar.bz2";
410+ locale = "fr";
411+ arch = "linux-i686";
412+ sha256 = "7dba28adb1287e1aa9ae85840fc3aca42aaedd4b2c2aa6cc68d5f793549d19b7";
413+ }
414+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/fy-NL/thunderbird-68.12.0.tar.bz2";
415+ locale = "fy-NL";
416+ arch = "linux-i686";
417+ sha256 = "bd763e264eb684ec3b0b1f2c68ce295d1df86994d15f5c66c487e4742bfef86e";
418+ }
419+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/ga-IE/thunderbird-68.12.0.tar.bz2";
420+ locale = "ga-IE";
421+ arch = "linux-i686";
422+ sha256 = "52f9b5694efbdd8ecc76aef58695423c6a4b547b5b0cfedca313386b7500685e";
423+ }
424+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/gd/thunderbird-68.12.0.tar.bz2";
425+ locale = "gd";
426+ arch = "linux-i686";
427+ sha256 = "6c9c1b0f11ad13e0780371d54fedb52d2463713db3bc52adb72c8ea9ff80eb8f";
428+ }
429+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/gl/thunderbird-68.12.0.tar.bz2";
430+ locale = "gl";
431+ arch = "linux-i686";
432+ sha256 = "608bf5c0d6148cc3014758829ba06135222b462242456ca0984e7dc12654c2cd";
433+ }
434+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/he/thunderbird-68.12.0.tar.bz2";
435+ locale = "he";
436+ arch = "linux-i686";
437+ sha256 = "f92d569a53f34bfdda4dac185834e5692526f13f20853d1943f165af33b54a37";
438+ }
439+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/hr/thunderbird-68.12.0.tar.bz2";
440+ locale = "hr";
441+ arch = "linux-i686";
442+ sha256 = "60d2f184219f8d17c2739ee3cc8463bed474142bd2caad74157b97db2306b27f";
443+ }
444+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/hsb/thunderbird-68.12.0.tar.bz2";
445+ locale = "hsb";
446+ arch = "linux-i686";
447+ sha256 = "40ffece26101b2f6a7789511b026d99234bd34ec78e566e7e25065ae3201d693";
448+ }
449+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/hu/thunderbird-68.12.0.tar.bz2";
450+ locale = "hu";
451+ arch = "linux-i686";
452+ sha256 = "e74da0bdb27fe3375dfbd1ab042892de3ded84f33a6f6d46e209fdcaa28183d0";
453+ }
454+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/hy-AM/thunderbird-68.12.0.tar.bz2";
455+ locale = "hy-AM";
456+ arch = "linux-i686";
457+ sha256 = "fd93972c11842b56453449e72617deb3177d020c8f25cf4d5fb687f4a3ddb5c0";
458+ }
459+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/id/thunderbird-68.12.0.tar.bz2";
460+ locale = "id";
461+ arch = "linux-i686";
462+ sha256 = "546825968ad86e4c5c6effefd0f924cc1d10489fff7968f17401e3f84c4d1ab0";
463+ }
464+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/is/thunderbird-68.12.0.tar.bz2";
465+ locale = "is";
466+ arch = "linux-i686";
467+ sha256 = "1f2e2228c685be2d65d6e0b92eef8ff3e58d7b772f846d0707a9b02e6d0ad306";
468+ }
469+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/it/thunderbird-68.12.0.tar.bz2";
470+ locale = "it";
471+ arch = "linux-i686";
472+ sha256 = "41b27c8195432e1412e3c4645b823b8dd1f673eabf07ddc72f3d792d3f7488da";
473+ }
474+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/ja/thunderbird-68.12.0.tar.bz2";
475+ locale = "ja";
476+ arch = "linux-i686";
477+ sha256 = "68940d44d933bb7228d6f9a03406ca01903c54fdf57eb5a1e1033b12ef507df6";
478+ }
479+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/ka/thunderbird-68.12.0.tar.bz2";
480+ locale = "ka";
481+ arch = "linux-i686";
482+ sha256 = "ce0aff0fd47b00803ea66278b3514dcf65ecb5547878f8081f7ec6c1f411ce10";
483+ }
484+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/kab/thunderbird-68.12.0.tar.bz2";
485+ locale = "kab";
486+ arch = "linux-i686";
487+ sha256 = "3936b56eaa1e05a96626f7d10c8fcc3ba9014b1385b21243c049b133b923ddef";
488+ }
489+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/kk/thunderbird-68.12.0.tar.bz2";
490+ locale = "kk";
491+ arch = "linux-i686";
492+ sha256 = "7fa0aa64d0f0dcc6f71d6a21647cc4fccef935b783deb5d19b88f5b96b4b4ec4";
493+ }
494+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/ko/thunderbird-68.12.0.tar.bz2";
495+ locale = "ko";
496+ arch = "linux-i686";
497+ sha256 = "4bddd0ccb747bb12cdc6d88c2c9544354293000c586454bb5932f4d81afbf400";
498+ }
499+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/lt/thunderbird-68.12.0.tar.bz2";
500+ locale = "lt";
501+ arch = "linux-i686";
502+ sha256 = "f1a3514188c1b887afd2c662a1b6abf6fe37b558864be0cc79e87ed147188461";
503+ }
504+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/ms/thunderbird-68.12.0.tar.bz2";
505+ locale = "ms";
506+ arch = "linux-i686";
507+ sha256 = "7ea045d6db78ec7d6ebf164c8e3d28c2540a573238de518e934646573aec71dc";
508+ }
509+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/nb-NO/thunderbird-68.12.0.tar.bz2";
510+ locale = "nb-NO";
511+ arch = "linux-i686";
512+ sha256 = "d2c0e2099ea60b9da95ebd9bd79a5d0a6a1ebc84b8b490511a68c81355f97761";
513+ }
514+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/nl/thunderbird-68.12.0.tar.bz2";
515+ locale = "nl";
516+ arch = "linux-i686";
517+ sha256 = "48741be79422d80140ec862d004fa75a407f67490f67a3e440c01e0defe1f85f";
518+ }
519+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/nn-NO/thunderbird-68.12.0.tar.bz2";
520+ locale = "nn-NO";
521+ arch = "linux-i686";
522+ sha256 = "b40f0d7112cadab322c8b71cacce5d6df87fb80f40cc55ca22c279016c3ea805";
523+ }
524+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/pl/thunderbird-68.12.0.tar.bz2";
525+ locale = "pl";
526+ arch = "linux-i686";
527+ sha256 = "e64b10526cb460f437427cc4a7ea90959cc693a75fd6a61b43e9d3fd76ded618";
528+ }
529+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/pt-BR/thunderbird-68.12.0.tar.bz2";
530+ locale = "pt-BR";
531+ arch = "linux-i686";
532+ sha256 = "bdb558f9430c06871954ec6c7d54267625184a0cba914a87ad199e8f32b03de2";
533+ }
534+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/pt-PT/thunderbird-68.12.0.tar.bz2";
535+ locale = "pt-PT";
536+ arch = "linux-i686";
537+ sha256 = "4631e8247446653e91f239fdb5ad3c8531f3d007dbdc83818178a4cdc525edf4";
538+ }
539+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/rm/thunderbird-68.12.0.tar.bz2";
540+ locale = "rm";
541+ arch = "linux-i686";
542+ sha256 = "13e6aca7139fd89e83e7ae9b71253731f0954b0a83cc3560ecc00500b9bc1df7";
543+ }
544+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/ro/thunderbird-68.12.0.tar.bz2";
545+ locale = "ro";
546+ arch = "linux-i686";
547+ sha256 = "023a567c42dad9bdbd465c8b99f12cf5f667ef4691e16971e09496c4a7db0f12";
548+ }
549+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/ru/thunderbird-68.12.0.tar.bz2";
550+ locale = "ru";
551+ arch = "linux-i686";
552+ sha256 = "9ec35bbce5f026a4262a5d708b53a767f47ac8e90314513d36a587d1a49dbb6b";
553+ }
554+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/si/thunderbird-68.12.0.tar.bz2";
555+ locale = "si";
556+ arch = "linux-i686";
557+ sha256 = "c540b94a45deeddf1f7f5a8cca8de7e944ee8ad9f8595a308836c159901ec0b6";
558+ }
559+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/sk/thunderbird-68.12.0.tar.bz2";
560+ locale = "sk";
561+ arch = "linux-i686";
562+ sha256 = "5296241664023773d2c0c4fa55e74eb6470482389c834d1934c252f79e79ebff";
563+ }
564+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/sl/thunderbird-68.12.0.tar.bz2";
565+ locale = "sl";
566+ arch = "linux-i686";
567+ sha256 = "cd0376137d8018875873332fdfae3bc3c0d6b2a2b881dfa970d7d7999e8b312b";
568+ }
569+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/sq/thunderbird-68.12.0.tar.bz2";
570+ locale = "sq";
571+ arch = "linux-i686";
572+ sha256 = "6fbf47759ca8c4d7cf30ca3af8a3fd35a01b7738422d29448cfd9eed81eba49b";
573+ }
574+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/sr/thunderbird-68.12.0.tar.bz2";
575+ locale = "sr";
576+ arch = "linux-i686";
577+ sha256 = "636708320247c7c45622fd9179d5689da97472a9308f11810623129cf5a0e8d7";
578+ }
579+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/sv-SE/thunderbird-68.12.0.tar.bz2";
580+ locale = "sv-SE";
581+ arch = "linux-i686";
582+ sha256 = "9550c173b047e3ff774f4c3faf2c1f125b3abc34e6feb5801c108fda94e54e4e";
583+ }
584+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/tr/thunderbird-68.12.0.tar.bz2";
585+ locale = "tr";
586+ arch = "linux-i686";
587+ sha256 = "ffe82a300c7fa7a0e826d11613f5187c003b009efa29f4755f17af0f88d9e73b";
588+ }
589+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/uk/thunderbird-68.12.0.tar.bz2";
590+ locale = "uk";
591+ arch = "linux-i686";
592+ sha256 = "b018769149c0a4ff323b90b5d51465733629e7c527b39381ba9696cb077ad767";
593+ }
594+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/uz/thunderbird-68.12.0.tar.bz2";
595+ locale = "uz";
596+ arch = "linux-i686";
597+ sha256 = "b0b59ac4d08c9f385f4ed7980065ce99ef24874734390a83af6e8fbd18173d99";
598+ }
599+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/vi/thunderbird-68.12.0.tar.bz2";
600+ locale = "vi";
601+ arch = "linux-i686";
602+ sha256 = "901b40a99d84e7c7360fd5be6a14aa04ef6cc04fe1275cac26824b310bbd26e0";
603+ }
604+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/zh-CN/thunderbird-68.12.0.tar.bz2";
605+ locale = "zh-CN";
606+ arch = "linux-i686";
607+ sha256 = "509478710f7c4fb404eec9fed0b6d22f4c5d76fee09ed833dffcefdacc53d55c";
608+ }
609+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.12.0/linux-i686/zh-TW/thunderbird-68.12.0.tar.bz2";
610+ locale = "zh-TW";
611+ arch = "linux-i686";
612+ sha256 = "a12dd777cc3eaf629cc7a6f4b8d4744cf63c3e778e559d9b3ce332414e509515";
613+ }
614+ ];
615+}
test/golden/importless/68_sources.txtnew file+1
@@ -0,0 +1 @@
1+{ sources = [{ arch = String; locale = String; sha256 = String; url = String }]; version = String }
test/golden/importless/6_qt4.nixnew file+41
@@ -0,0 +1,41 @@
1+{ stdenv, fetchurl, qt4, qmake4Hook, AGL }:
2+
3+stdenv.mkDerivation rec {
4+ name = "qwt-6.1.5";
5+
6+ src = fetchurl {
7+ url = "mirror://sourceforge/qwt/${name}.tar.bz2";
8+ sha256 = "0hf0mpca248xlqn7xnzkfj8drf19gdyg5syzklvq8pibxiixwxj0";
9+ };
10+
11+ buildInputs = [
12+ qt4
13+ ] ++ stdenv.lib.optionals stdenv.isDarwin [ AGL ];
14+
15+ nativeBuildInputs = [ qmake4Hook ];
16+
17+ enableParallelBuilding = true;
18+
19+ postPatch = ''
20+ sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
21+ '';
22+
23+ # qwt.framework output includes a relative reference to itself, which breaks dependents
24+ preFixup =
25+ stdenv.lib.optionalString stdenv.isDarwin ''
26+ echo "Attempting to repair qwt"
27+ install_name_tool -id "$out/lib/qwt.framework/Versions/6/qwt" "$out/lib/qwt.framework/Versions/6/qwt"
28+ '';
29+
30+ qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
31+
32+ meta = with stdenv.lib; {
33+ description = "Qt widgets for technical applications";
34+ homepage = "http://qwt.sourceforge.net/";
35+ # LGPL 2.1 plus a few exceptions (more liberal)
36+ license = stdenv.lib.licenses.qwt;
37+ platforms = platforms.linux ++ platforms.darwin;
38+ maintainers = [ maintainers.bjornfor ];
39+ branch = "6";
40+ };
41+}
test/golden/importless/6_qt4.txtnew file
No changes to the content.
test/golden/importless/7.0.nixnew file+88
@@ -0,0 +1,88 @@
1+{ lib, stdenv, fetchFromGitHub, pkgconfig, libtool
2+, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
3+, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
4+, ApplicationServices
5+}:
6+
7+let
8+ arch =
9+ if stdenv.hostPlatform.system == "i686-linux" then "i686"
10+ else if stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" then "x86-64"
11+ else if stdenv.hostPlatform.system == "armv7l-linux" then "armv7l"
12+ else if stdenv.hostPlatform.system == "aarch64-linux" then "aarch64"
13+ else throw "ImageMagick is not supported on this platform.";
14+
15+ cfg = {
16+ version = "7.0.10-27";
17+ sha256 = "1fqwbg2ws6ix3bymx7ncb4k4f6bg8q44n9xnlvngjapflnrmhcph";
18+ patches = [];
19+ };
20+in
21+
22+stdenv.mkDerivation {
23+ pname = "imagemagick";
24+ inherit (cfg) version;
25+
26+ src = fetchFromGitHub {
27+ owner = "ImageMagick";
28+ repo = "ImageMagick";
29+ rev = cfg.version;
30+ inherit (cfg) sha256;
31+ };
32+
33+ patches = cfg.patches;
34+
35+ outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
36+ outputMan = "out"; # it's tiny
37+
38+ enableParallelBuilding = true;
39+
40+ configureFlags =
41+ [ "--with-frozenpaths" ]
42+ ++ [ "--with-gcc-arch=${arch}" ]
43+ ++ lib.optional (librsvg != null) "--with-rsvg"
44+ ++ lib.optionals (ghostscript != null)
45+ [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
46+ "--with-gslib"
47+ ]
48+ ++ lib.optionals stdenv.hostPlatform.isMinGW
49+ [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM
50+ ;
51+
52+ nativeBuildInputs = [ pkgconfig libtool ];
53+
54+ buildInputs =
55+ [ zlib fontconfig freetype ghostscript
56+ libpng libtiff libxml2 libheif djvulibre
57+ ]
58+ ++ lib.optionals (!stdenv.hostPlatform.isMinGW)
59+ [ openexr librsvg openjpeg ]
60+ ++ lib.optional stdenv.isDarwin ApplicationServices;
61+
62+ propagatedBuildInputs =
63+ [ bzip2 freetype libjpeg lcms2 ]
64+ ++ lib.optionals (!stdenv.hostPlatform.isMinGW)
65+ [ libX11 libXext libXt libwebp ]
66+ ;
67+
68+ postInstall = ''
69+ (cd "$dev/include" && ln -s ImageMagick* ImageMagick)
70+ moveToOutput "bin/*-config" "$dev"
71+ moveToOutput "lib/ImageMagick-*/config-Q16HDRI" "$dev" # includes configure params
72+ for file in "$dev"/bin/*-config; do
73+ substituteInPlace "$file" --replace pkg-config \
74+ "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config'"
75+ done
76+ '' + lib.optionalString (ghostscript != null) ''
77+ for la in $out/lib/*.la; do
78+ sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la
79+ done
80+ '';
81+
82+ meta = with stdenv.lib; {
83+ homepage = "http://www.imagemagick.org/";
84+ description = "A software suite to create, edit, compose, or convert bitmap images";
85+ platforms = platforms.linux ++ platforms.darwin;
86+ license = licenses.asl20;
87+ };
88+}
test/golden/importless/7.0.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η θ. { ApplicationServices = [Null]; bzip2 = γ; djvulibre = Null; fetchFromGitHub = { owner = String; repo = String; rev = String; sha256 = String } -> δ; fontconfig = ε; freetype = ε; ghostscript = Null; lcms2 = ε; lib = ζ; libX11 = γ; libXext = γ; libXt = γ; libheif = Null; libjpeg = ε; libpng = Null; librsvg = Null; libtiff = Null; libtool = η; libwebp = γ; libxml2 = Null; openexr = Null; openjpeg = Null; pkgconfig = η; stdenv = θ; zlib = ε } -> { buildInputs = [Null]; configureFlags = [String]; enableParallelBuilding = Bool; meta = { description = String; homepage = String; license = ∀ α. α; platforms = ∀ α. [α] }; nativeBuildInputs = [η]; outputMan = String; outputs = [String]; patches = ∀ β. β; pname = String; postInstall = String; propagatedBuildInputs = [γ]; src = { owner = String; repo = String; rev = String; sha256 = String }; version = String }
test/golden/importless/7.3.nixnew file+29
@@ -0,0 +1,29 @@
1+{ stdenv, fetchurl, fetchpatch, cmake, ninja, tcl, tk,
2+ libGL, libGLU, libXext, libXmu, libXi, darwin }:
3+
4+stdenv.mkDerivation rec {
5+ pname = "opencascade-occt";
6+ version = "7.3.0p3";
7+ commit = "V${builtins.replaceStrings ["."] ["_"] version}";
8+
9+ src = fetchurl {
10+ name = "occt-${commit}.tar.gz";
11+ url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${commit};sf=tgz";
12+ sha256 = "0k9c3ypcnjcilq1dhsf6xxbd52gyq4h5rchvp30k3c8ph4ris5pz";
13+ };
14+
15+ nativeBuildInputs = [ cmake ninja ];
16+ buildInputs = [ tcl tk libGL libGLU libXext libXmu libXi ]
17+ ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa;
18+
19+ meta = with stdenv.lib; {
20+ description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation";
21+ homepage = "https://www.opencascade.org/";
22+ license = licenses.lgpl21; # essentially...
23+ # The special exception defined in the file OCCT_LGPL_EXCEPTION.txt
24+ # are basically about making the license a little less share-alike.
25+ maintainers = with maintainers; [ amiloradovsky ];
26+ platforms = platforms.all;
27+ };
28+
29+}
test/golden/importless/7.3.txtnew file
No changes to the content.
test/golden/importless/7.6.6.nixnew file+74
@@ -0,0 +1,74 @@
1+{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libatomic_ops
2+, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v7.6.6/doc/README.macros#L179
3+}:
4+
5+stdenv.mkDerivation rec {
6+ pname = "boehm-gc";
7+ version = "7.6.6";
8+
9+ src = fetchurl {
10+ urls = [
11+ "https://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
12+ "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
13+ ];
14+ sha256 = "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79";
15+ };
16+
17+ buildInputs = [ libatomic_ops ];
18+ nativeBuildInputs = [ pkgconfig ];
19+
20+ outputs = [ "out" "dev" "doc" ];
21+ separateDebugInfo = stdenv.isLinux;
22+
23+ preConfigure = stdenv.lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
24+ export NIX_CFLAGS_COMPILE+=" -D_GNU_SOURCE -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR"
25+ '';
26+
27+ patches = [ (fetchpatch {
28+ url = "https://gitweb.gentoo.org/proj/musl.git/plain/dev-libs/boehm-gc/files/boehm-gc-7.6.0-sys_select.patch";
29+ sha256 = "1gydwlklvci30f5dpp5ccw2p2qpph5y41r55wx9idamjlq66fbb3";
30+ }) ] ++
31+ # https://github.com/ivmai/bdwgc/pull/208
32+ lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch;
33+
34+ configureFlags =
35+ [ "--enable-cplusplus" ]
36+ ++ lib.optional enableLargeConfig "--enable-large-config"
37+ ++ lib.optional (stdenv.hostPlatform.libc == "musl") "--disable-static";
38+
39+ doCheck = true; # not cross;
40+
41+ # Don't run the native `strip' when cross-compiling.
42+ dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
43+
44+ enableParallelBuilding = true;
45+
46+ meta = {
47+ description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++";
48+
49+ longDescription = ''
50+ The Boehm-Demers-Weiser conservative garbage collector can be used as a
51+ garbage collecting replacement for C malloc or C++ new. It allows you
52+ to allocate memory basically as you normally would, without explicitly
53+ deallocating memory that is no longer useful. The collector
54+ automatically recycles memory when it determines that it can no longer
55+ be otherwise accessed.
56+
57+ The collector is also used by a number of programming language
58+ implementations that either use C as intermediate code, want to
59+ facilitate easier interoperation with C libraries, or just prefer the
60+ simple collector interface.
61+
62+ Alternatively, the garbage collector may be used as a leak detector for
63+ C or C++ programs, though that is not its primary goal.
64+ '';
65+
66+ homepage = "https://hboehm.info/gc/";
67+
68+ # non-copyleft, X11-style license
69+ license = "https://hboehm.info/gc/license.txt";
70+
71+ maintainers = [ ];
72+ platforms = stdenv.lib.platforms.all;
73+ };
74+}
test/golden/importless/7.6.6.txtnew file
No changes to the content.
test/golden/importless/7.x.nixnew file+36
@@ -0,0 +1,36 @@
1+{ stdenv, fetchurl, libxml2, openssl, readline, gawk }:
2+
3+stdenv.mkDerivation rec {
4+ name = "virtuoso-opensource-7.2.4.2";
5+
6+ src = fetchurl {
7+ url = "mirror://sourceforge/virtuoso/${name}.tar.gz";
8+ sha256 = "12dqam1gc1v93l0bj0vlpvjqppki6y1hqrlznywxnw0rrz9pb002";
9+ };
10+
11+ buildInputs = [ libxml2 openssl readline gawk ];
12+
13+ CPP = "${stdenv.cc}/bin/gcc -E";
14+
15+ configureFlags = [
16+ "--enable-shared" "--disable-all-vads" "--with-readline=${readline.dev}"
17+ "--disable-hslookup" "--disable-wbxml2" "--without-iodbc"
18+ "--enable-openssl=${openssl.dev}"
19+ ];
20+
21+ postInstall=''
22+ echo Moving documentation
23+ mkdir -pv $out/share/doc
24+ mv -v $out/share/virtuoso/doc $out/share/doc/${name}
25+ echo Removing jars and empty directories
26+ find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete
27+ '';
28+
29+ meta = with stdenv.lib; {
30+ description = "SQL/RDF database used by, e.g., KDE-nepomuk";
31+ homepage = "http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/";
32+ #configure: The current version [...] can only be built on 64bit platforms
33+ platforms = [ "x86_64-linux" ];
34+ license = licenses.gpl2;
35+ };
36+}
test/golden/importless/7.x.txtnew file
No changes to the content.
test/golden/importless/78.nixnew file+118
@@ -0,0 +1,118 @@
1+{ stdenv
2+, fetchurl
3+, fetchpatch
4+, autoconf213
5+, pkgconfig
6+, perl
7+, python3
8+, zip
9+, buildPackages
10+, which
11+, readline
12+, zlib
13+, icu67
14+, cargo
15+, rustc
16+, rust-cbindgen
17+, yasm
18+, llvmPackages
19+, nspr
20+}:
21+
22+stdenv.mkDerivation rec {
23+ pname = "spidermonkey";
24+ version = "78.1.0";
25+
26+ src = fetchurl {
27+ url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
28+ sha256 = "18k47dl9hbnpqw69csxjar5dhwa7r8k7j9kvcfgmwb1iv6ba601n";
29+ };
30+
31+ outputs = [ "out" "dev" ];
32+ setOutputFlags = false; # Configure script only understands --includedir
33+
34+ nativeBuildInputs = [
35+ autoconf213
36+ cargo
37+ llvmPackages.llvm # for llvm-objdump
38+ perl
39+ pkgconfig
40+ python3
41+ rust-cbindgen
42+ rustc
43+ which
44+ yasm # to buid icu? seems weird
45+ zip
46+ ];
47+
48+ buildInputs = [
49+ icu67
50+ nspr
51+ readline
52+ zlib
53+ ];
54+
55+ patches = [
56+ # https://mail.gnome.org/archives/distributor-list/2020-August/msg00000.html
57+ (fetchpatch {
58+ url = "https://github.com/ptomato/mozjs/commit/b2974f8a6558d2dc4517b49ee313a9900a853285.patch";
59+ sha256 = "1bl5mbx7gmad6fmpc427263i1ychi2linpg69kxlr2w91r5m6ji3";
60+ })
61+ (fetchpatch {
62+ url = "https://github.com/ptomato/mozjs/commit/e5a2eb99f653ae03c67e536df1d55d265a0a1605.patch";
63+ sha256 = "0xhy63nw2byibmjc41yh6dwpg282nylganrs5aprn9pbqbcpsvif";
64+ })
65+ ];
66+
67+ preConfigure = ''
68+ export CXXFLAGS="-fpermissive"
69+ export LIBXUL_DIST=$out
70+ export PYTHON="${buildPackages.python3.interpreter}"
71+
72+ # We can't build in js/src/, so create a build dir
73+ mkdir obj
74+ cd obj/
75+ configureScript=../js/src/configure
76+ '';
77+
78+ configureFlags = [
79+ "--with-system-zlib"
80+ "--with-system-nspr"
81+ "--with-system-icu"
82+ "--with-intl-api"
83+ "--enable-readline"
84+ "--enable-shared-js"
85+ "--disable-jemalloc"
86+ # Fedora and Arch disable optimize, but it doesn't seme to be necessary
87+ # It turns on -O3 which some gcc version had a problem with:
88+ # https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd60f370ab4216e
89+ "--enable-optimize"
90+ "--enable-release"
91+ ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
92+ # Spidermonkey seems to use different host/build terminology for cross
93+ # compilation here.
94+ "--host=${stdenv.buildPlatform.config}"
95+ "--target=${stdenv.hostPlatform.config}"
96+ ];
97+
98+ configurePlatforms = [ ];
99+
100+ depsBuildBuild = [ buildPackages.stdenv.cc ];
101+
102+ # Remove unnecessary static lib
103+ preFixup = ''
104+ moveToOutput bin/js60-config "$dev"
105+ rm $out/lib/libjs_static.ajs
106+ ln -s $out/bin/js60 $out/bin/js
107+ '';
108+
109+ enableParallelBuilding = true;
110+
111+ meta = with stdenv.lib; {
112+ description = "Mozilla's JavaScript engine written in C/C++";
113+ homepage = "https://developer.mozilla.org/en/SpiderMonkey";
114+ license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
115+ maintainers = [ maintainers.abbradar ];
116+ platforms = platforms.linux;
117+ };
118+}
test/golden/importless/78.txtnew file
No changes to the content.
test/golden/importless/8.0.x.nixnew file+73
@@ -0,0 +1,73 @@
1+{ lib, stdenv, fetchurl, bison, cmake, pkgconfig
2+, boost, icu, libedit, libevent, lz4, ncurses, openssl, protobuf, re2, readline, zlib
3+, numactl, perl, cctools, CoreServices, developer_cmds
4+}:
5+
6+let
7+self = stdenv.mkDerivation rec {
8+ pname = "mysql";
9+ version = "8.0.17";
10+
11+ src = fetchurl {
12+ url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${pname}-${version}.tar.gz";
13+ sha256 = "1mjrlxn8vigi69r0r674j2dibdnkaar01ji5965gsyx7k60z7qy6";
14+ };
15+
16+ patches = [
17+ ./abi-check.patch
18+ ./libutils.patch
19+ ];
20+
21+ nativeBuildInputs = [ bison cmake pkgconfig ];
22+
23+ buildInputs = [
24+ boost icu libedit libevent lz4 ncurses openssl protobuf re2 readline zlib
25+ ] ++ lib.optionals stdenv.isLinux [
26+ numactl
27+ ] ++ lib.optionals stdenv.isDarwin [
28+ cctools CoreServices developer_cmds
29+ ];
30+
31+ outputs = [ "out" "static" ];
32+
33+ cmakeFlags = [
34+ "-DCMAKE_SKIP_BUILD_RPATH=OFF" # To run libmysql/libmysql_api_test during build.
35+ "-DFORCE_UNSUPPORTED_COMPILER=1" # To configure on Darwin.
36+ "-DWITH_ROUTER=OFF" # It may be packaged separately.
37+ "-DWITH_SYSTEM_LIBS=ON"
38+ "-DWITH_UNIT_TESTS=OFF"
39+ "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
40+ "-DMYSQL_DATADIR=/var/lib/mysql"
41+ "-DINSTALL_INFODIR=share/mysql/docs"
42+ "-DINSTALL_MANDIR=share/man"
43+ "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
44+ "-DINSTALL_INCLUDEDIR=include/mysql"
45+ "-DINSTALL_DOCREADMEDIR=share/mysql"
46+ "-DINSTALL_SUPPORTFILESDIR=share/mysql"
47+ "-DINSTALL_MYSQLSHAREDIR=share/mysql"
48+ "-DINSTALL_MYSQLTESTDIR="
49+ "-DINSTALL_DOCDIR=share/mysql/docs"
50+ "-DINSTALL_SHAREDIR=share/mysql"
51+ ];
52+
53+ postInstall = ''
54+ moveToOutput "lib/*.a" $static
55+ so=${stdenv.hostPlatform.extensions.sharedLibrary}
56+ ln -s libmysqlclient$so $out/lib/libmysqlclient_r$so
57+ '';
58+
59+ passthru = {
60+ client = self;
61+ connector-c = self;
62+ server = self;
63+ mysqlVersion = "8.0";
64+ };
65+
66+ meta = with lib; {
67+ homepage = "https://www.mysql.com/";
68+ description = "The world's most popular open source database";
69+ license = licenses.gpl2;
70+ maintainers = with maintainers; [ orivej ];
71+ platforms = platforms.unix;
72+ };
73+}; in self
test/golden/importless/8.0.x.txtnew file
No changes to the content.
test/golden/importless/8.10.1.nixnew file+258
@@ -0,0 +1,258 @@
1+{ stdenv, pkgsBuildTarget, targetPackages
2+
3+# build-tools
4+, bootPkgs
5+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
6+, bash
7+
8+, libiconv ? null, ncurses
9+
10+, # GHC can be built with system libffi or a bundled one.
11+ libffi ? null
12+
13+, useLLVM ? !stdenv.targetPlatform.isx86
14+, # LLVM is conceptually a run-time-only depedendency, but for
15+ # non-x86, we need LLVM to bootstrap later stages, so it becomes a
16+ # build-time dependency too.
17+ buildLlvmPackages, llvmPackages
18+
19+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
20+ # library instead of the faster but GPLed integer-gmp library.
21+ enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
22+
23+, # If enabled, use -fPIC when compiling static libs.
24+ enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
25+
26+ # aarch64 outputs otherwise exceed 2GB limit
27+, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
28+
29+, # Whether to build dynamic libs for the standard library (on the target
30+ # platform). Static libs are always built.
31+ enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
32+
33+, # Whether to build terminfo.
34+ enableTerminfo ? !stdenv.targetPlatform.isWindows
35+
36+, # What flavour to build. An empty string indicates no
37+ # specific flavour and falls back to ghc default values.
38+ ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
39+ (if useLLVM then "perf-cross" else "perf-cross-ncg")
40+
41+, # Whether to disable the large address space allocator
42+ # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
43+ disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
44+}:
45+
46+assert !enableIntegerSimple -> gmp != null;
47+
48+let
49+ inherit (stdenv) buildPlatform hostPlatform targetPlatform;
50+
51+ inherit (bootPkgs) ghc;
52+
53+ # TODO(@Ericson2314) Make unconditional
54+ targetPrefix = stdenv.lib.optionalString
55+ (targetPlatform != hostPlatform)
56+ "${targetPlatform.config}-";
57+
58+ buildMK = dontStrip: ''
59+ BuildFlavour = ${ghcFlavour}
60+ ifneq \"\$(BuildFlavour)\" \"\"
61+ include mk/flavours/\$(BuildFlavour).mk
62+ endif
63+ DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
64+ INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
65+ ''
66+ # We only need to build stage1 on most cross-compilation because
67+ # we will be running the compiler on the native system. In some
68+ # situations, like native Musl compilation, we need the compiler
69+ # to actually link to our new Libc. The iOS simulator is a special
70+ # exception because we can’t actually run simulators binaries
71+ # ourselves.
72+ + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
73+ Stage1Only = ${if (targetPlatform.system == hostPlatform.system && !targetPlatform.isiOS) then "NO" else "YES"}
74+ CrossCompilePrefix = ${targetPrefix}
75+ HADDOCK_DOCS = NO
76+ BUILD_SPHINX_HTML = NO
77+ BUILD_SPHINX_PDF = NO
78+ '' + stdenv.lib.optionalString dontStrip ''
79+ STRIP_CMD = :
80+ '' + stdenv.lib.optionalString (!enableProfiledLibs) ''
81+ GhcLibWays = "v dyn"
82+ '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
83+ GhcLibHcOpts += -fPIC
84+ GhcRtsHcOpts += -fPIC
85+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
86+ EXTRA_CC_OPTS += -std=gnu99
87+ '';
88+
89+ # Splicer will pull out correct variations
90+ libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
91+ ++ [libffi]
92+ ++ stdenv.lib.optional (!enableIntegerSimple) gmp
93+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
94+
95+ toolsForTarget = [
96+ pkgsBuildTarget.targetPackages.stdenv.cc
97+ ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
98+
99+ targetCC = builtins.head toolsForTarget;
100+
101+ # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
102+ # see #84670 and #49071 for more background.
103+ useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl;
104+
105+in
106+stdenv.mkDerivation (rec {
107+ version = "8.10.1";
108+ name = "${targetPrefix}ghc-${version}";
109+
110+ src = fetchurl {
111+ url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
112+ sha256 = "1xgdl6ig5jzli3bg054vfryfkg0y6wggf68g66c32sr67bw0ffsf";
113+ };
114+
115+ enableParallelBuilding = true;
116+
117+ outputs = [ "out" "doc" ];
118+
119+ postPatch = "patchShebangs .";
120+
121+ # GHC is a bit confused on its cross terminology.
122+ preConfigure = ''
123+ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
124+ export "''${env#TARGET_}=''${!env}"
125+ done
126+ # GHC is a bit confused on its cross terminology, as these would normally be
127+ # the *host* tools.
128+ export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
129+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
130+ # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
131+ export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
132+ export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
133+ export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
134+ export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
135+ export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
136+ export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
137+ export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
138+
139+ echo -n "${buildMK dontStrip}" > mk/build.mk
140+ sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
141+ '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
142+ export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
143+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
144+ export NIX_LDFLAGS+=" -no_dtrace_dof"
145+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
146+ sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
147+ '' + stdenv.lib.optionalString targetPlatform.isMusl ''
148+ echo "patching llvm-targets for musl targets..."
149+ echo "Cloning these existing '*-linux-gnu*' targets:"
150+ grep linux-gnu llvm-targets | sed 's/^/ /'
151+ echo "(go go gadget sed)"
152+ sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
153+ echo "llvm-targets now contains these '*-linux-musl*' targets:"
154+ grep linux-musl llvm-targets | sed 's/^/ /'
155+
156+ echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
157+ # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
158+ for x in configure aclocal.m4; do
159+ substituteInPlace $x \
160+ --replace '*-android*|*-gnueabi*)' \
161+ '*-android*|*-gnueabi*|*-musleabi*)'
162+ done
163+ '';
164+
165+ # TODO(@Ericson2314): Always pass "--target" and always prefix.
166+ configurePlatforms = [ "build" "host" ]
167+ ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
168+
169+ # `--with` flags for libraries needed for RTS linker
170+ configureFlags = [
171+ "--datadir=$doc/share/doc/ghc"
172+ "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
173+ ] ++ stdenv.lib.optionals (libffi != null) [
174+ "--with-system-libffi"
175+ "--with-ffi-includes=${targetPackages.libffi.dev}/include"
176+ "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
177+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
178+ "--with-gmp-includes=${targetPackages.gmp.dev}/include"
179+ "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
180+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
181+ "--with-iconv-includes=${libiconv}/include"
182+ "--with-iconv-libraries=${libiconv}/lib"
183+ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
184+ "--enable-bootstrap-with-devel-snapshot"
185+ ] ++ stdenv.lib.optionals useLdGold [
186+ "CFLAGS=-fuse-ld=gold"
187+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
188+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
189+ ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
190+ "--disable-large-address-space"
191+ ];
192+
193+ # Make sure we never relax`$PATH` and hooks support for compatibility.
194+ strictDeps = true;
195+
196+ # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
197+ dontAddExtraLibs = true;
198+
199+ nativeBuildInputs = [
200+ perl autoconf automake m4 python3 sphinx
201+ ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
202+ ];
203+
204+ # For building runtime libs
205+ depsBuildTarget = toolsForTarget;
206+
207+ buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
208+
209+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
210+ ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
211+
212+ depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
213+ depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
214+
215+ # required, because otherwise all symbols from HSffi.o are stripped, and
216+ # that in turn causes GHCi to abort
217+ stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
218+
219+ checkTarget = "test";
220+
221+ hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
222+
223+ postInstall = ''
224+ # Install the bash completion file.
225+ install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
226+
227+ # Patch scripts to include "readelf" and "cat" in $PATH.
228+ for i in "$out/bin/"*; do
229+ test ! -h $i || continue
230+ egrep --quiet '^#!' <(head -n 1 $i) || continue
231+ sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
232+ done
233+ '';
234+
235+ passthru = {
236+ inherit bootPkgs targetPrefix;
237+
238+ inherit llvmPackages;
239+ inherit enableShared;
240+
241+ # Our Cabal compiler name
242+ haskellCompilerName = "ghc-${version}";
243+ };
244+
245+ meta = {
246+ homepage = "http://haskell.org/ghc";
247+ description = "The Glasgow Haskell Compiler";
248+ maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
249+ timeout = 24 * 3600;
250+ inherit (ghc.meta) license platforms;
251+ };
252+
253+ dontStrip = (targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm);
254+
255+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt{
256+ dontPatchELF = true;
257+ noAuditTmpdir = true;
258+})
test/golden/importless/8.10.1.txtnew file
No changes to the content.
test/golden/importless/8.10.2-binary.nixnew file+222
@@ -0,0 +1,222 @@
1+{ stdenv
2+, fetchurl, perl, gcc
3+, ncurses6, gmp, glibc, libiconv, numactl
4+, llvmPackages
5+
6+ # minimal = true; will remove files that aren't strictly necessary for
7+ # regular builds and GHC bootstrapping.
8+ # This is "useful" for staying within hydra's output limits for at least the
9+ # aarch64-linux architecture.
10+, minimal ? false
11+}:
12+
13+# Prebuilt only does native
14+assert stdenv.targetPlatform == stdenv.hostPlatform;
15+
16+let
17+ useLLVM = !stdenv.targetPlatform.isx86;
18+
19+ libPath = stdenv.lib.makeLibraryPath ([
20+ ncurses6 gmp
21+ ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv
22+ ++ stdenv.lib.optional (stdenv.hostPlatform.isAarch64) numactl);
23+
24+ libEnvVar = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin "DY"
25+ + "LD_LIBRARY_PATH";
26+
27+ glibcDynLinker = assert stdenv.isLinux;
28+ if stdenv.hostPlatform.libc == "glibc" then
29+ # Could be stdenv.cc.bintools.dynamicLinker, keeping as-is to avoid rebuild.
30+ ''"$(cat $NIX_CC/nix-support/dynamic-linker)"''
31+ else
32+ "${stdenv.lib.getLib glibc}/lib/ld-linux*";
33+
34+in
35+
36+stdenv.mkDerivation rec {
37+ version = "8.10.2";
38+
39+ name = "ghc-${version}-binary";
40+
41+ # https://downloads.haskell.org/~ghc/8.10.2/
42+ src = fetchurl ({
43+ i686-linux = {
44+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb9-linux.tar.xz";
45+ sha256 = "0bvwisl4w0z5z8z0da10m9sv0mhm9na2qm43qxr8zl23mn32mblx";
46+ };
47+ x86_64-linux = {
48+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb10-linux.tar.xz";
49+ sha256 = "0chnzy9j23b2wa8clx5arwz8wnjfxyjmz9qkj548z14cqf13slcl";
50+ };
51+ armv7l-linux = {
52+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-armv7-deb10-linux.tar.xz";
53+ sha256 = "1j41cq5d3rmlgz7hzw8f908fs79gc5mn3q5wz277lk8zdf19g75v";
54+ };
55+ aarch64-linux = {
56+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-aarch64-deb10-linux.tar.xz";
57+ sha256 = "14smwl3741ixnbgi0l51a7kh7xjkiannfqx15b72svky0y4l3wjw";
58+ };
59+ x86_64-darwin = {
60+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
61+ sha256 = "1hngyq14l4f950hzhh2d204ca2gfc98pc9xdasxihzqd1jq75dzd";
62+ };
63+ }.${stdenv.hostPlatform.system}
64+ or (throw "cannot bootstrap GHC on this platform"));
65+
66+ nativeBuildInputs = [ perl ];
67+ propagatedBuildInputs = stdenv.lib.optionals useLLVM [ llvmPackages.llvm ];
68+
69+ # Cannot patchelf beforehand due to relative RPATHs that anticipate
70+ # the final install location/
71+ ${libEnvVar} = libPath;
72+
73+ postUnpack =
74+ # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib
75+ # during linking
76+ stdenv.lib.optionalString stdenv.isDarwin ''
77+ export NIX_LDFLAGS+=" -no_dtrace_dof"
78+ # not enough room in the object files for the full path to libiconv :(
79+ for exe in $(find . -type f -executable); do
80+ isScript $exe && continue
81+ ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
82+ install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe
83+ done
84+ '' +
85+
86+ # Some scripts used during the build need to have their shebangs patched
87+ ''
88+ patchShebangs ghc-${version}/utils/
89+ patchShebangs ghc-${version}/configure
90+ '' +
91+ # We have to patch the GMP paths for the integer-gmp package.
92+ ''
93+ find . -name integer-gmp.buildinfo \
94+ -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \;
95+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
96+ find . -name base.buildinfo \
97+ -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \;
98+ '' +
99+ # aarch64 does HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in
100+ # FFI_LIB_DIR is a good indication of places it must be needed.
101+ stdenv.lib.optionalString stdenv.hostPlatform.isAarch64 ''
102+ find . -name package.conf.in \
103+ -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \;
104+ '' +
105+ # Rename needed libraries and binaries, fix interpreter
106+ stdenv.lib.optionalString stdenv.isLinux ''
107+ find . -type f -perm -0100 -exec patchelf \
108+ --replace-needed libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.6 libncurses.so \
109+ --interpreter ${glibcDynLinker} {} \;
110+
111+ sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
112+ sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
113+ '' +
114+ # We're kludging a glibc bindist into working with non-glibc...
115+ # Here we patch up the use of `__strdup` (part of glibc binary ABI)
116+ # to instead use `strdup` since musl doesn't provide __strdup
117+ # (`__strdup` is defined to be an alias of `strdup` anyway[1]).
118+ # [1] http://refspecs.linuxbase.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/baselib---strdup-1.html
119+ # Use objcopy magic to make the change:
120+ stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
121+ find ./ghc-${version}/rts -name "libHSrts*.a" -exec ''${OBJCOPY:-objcopy} --redefine-sym __strdup=strdup {} \;
122+ '';
123+
124+ # fix for `configure: error: Your linker is affected by binutils #16177`
125+ preConfigure = stdenv.lib.optionalString
126+ stdenv.targetPlatform.isAarch32
127+ "LD=ld.gold";
128+
129+ configurePlatforms = [ ];
130+ configureFlags = [
131+ "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib"
132+ "--with-gmp-includes=${stdenv.lib.getDev gmp}/include"
133+ ] ++ stdenv.lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"
134+ ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override";
135+
136+ # No building is necessary, but calling make without flags ironically
137+ # calls install-strip ...
138+ dontBuild = true;
139+
140+ # On Linux, use patchelf to modify the executables so that they can
141+ # find editline/gmp.
142+ postFixup = stdenv.lib.optionalString stdenv.isLinux
143+ (if stdenv.hostPlatform.isAarch64 then
144+ # Keep rpath as small as possible on aarch64 for patchelf#244. All Elfs
145+ # are 2 directories deep from $out/lib, so pooling symlinks there makes
146+ # a short rpath.
147+ ''
148+ (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6)
149+ (cd $out/lib; ln -s ${gmp.out}/lib/libgmp.so.10)
150+ (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1)
151+ for p in $(find "$out/lib" -type f -name "*\.so*"); do
152+ (cd $out/lib; ln -s $p)
153+ done
154+
155+ for p in $(find "$out/lib" -type f -executable); do
156+ if isELF "$p"; then
157+ echo "Patchelfing $p"
158+ patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p
159+ fi
160+ done
161+ ''
162+ else
163+ ''
164+ for p in $(find "$out" -type f -executable); do
165+ if isELF "$p"; then
166+ echo "Patchelfing $p"
167+ patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p
168+ fi
169+ done
170+ '') + stdenv.lib.optionalString stdenv.isDarwin ''
171+ # not enough room in the object files for the full path to libiconv :(
172+ for exe in $(find "$out" -type f -executable); do
173+ isScript $exe && continue
174+ ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
175+ install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe
176+ done
177+
178+ for file in $(find "$out" -name setup-config); do
179+ substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
180+ done
181+ '' +
182+ stdenv.lib.optionalString minimal ''
183+ # Remove profiling files
184+ find $out -type f -name '*.p_o' -delete
185+ find $out -type f -name '*.p_hi' -delete
186+ find $out -type f -name '*_p.a' -delete
187+ rm $out/lib/ghc-*/bin/ghc-iserv-prof
188+ # Hydra will redistribute this derivation, so we have to keep the docs for
189+ # legal reasons (retaining the legal notices etc)
190+ # As a last resort we could unpack the docs separately and symlink them in.
191+ # They're in $out/share/{doc,man}.
192+ '';
193+
194+ doInstallCheck = true;
195+ installCheckPhase = ''
196+ unset ${libEnvVar}
197+ # Sanity check, can ghc create executables?
198+ cd $TMP
199+ mkdir test-ghc; cd test-ghc
200+ cat > main.hs << EOF
201+ {-# LANGUAGE TemplateHaskell #-}
202+ module Main where
203+ main = putStrLn \$([|"yes"|])
204+ EOF
205+ $out/bin/ghc --make main.hs || exit 1
206+ echo compilation ok
207+ [ $(./main) == "yes" ]
208+ '';
209+
210+ passthru = {
211+ targetPrefix = "";
212+ enableShared = true;
213+ };
214+
215+ meta = {
216+ homepage = "http://haskell.org/ghc";
217+ description = "The Glasgow Haskell Compiler";
218+ license = stdenv.lib.licenses.bsd3;
219+ platforms = ["x86_64-linux" "armv7l-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"];
220+ maintainers = with stdenv.lib.maintainers; [ lostnet ];
221+ };
222+}
test/golden/importless/8.10.2-binary.txtnew file
No changes to the content.
test/golden/importless/8.10.2.nixnew file+253
@@ -0,0 +1,253 @@
1+{ stdenv, pkgsBuildTarget, targetPackages
2+
3+# build-tools
4+, bootPkgs
5+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
6+, bash
7+
8+, libiconv ? null, ncurses
9+
10+, # GHC can be built with system libffi or a bundled one.
11+ libffi ? null
12+
13+, useLLVM ? !stdenv.targetPlatform.isx86
14+, # LLVM is conceptually a run-time-only depedendency, but for
15+ # non-x86, we need LLVM to bootstrap later stages, so it becomes a
16+ # build-time dependency too.
17+ buildLlvmPackages, llvmPackages
18+
19+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
20+ # library instead of the faster but GPLed integer-gmp library.
21+ enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
22+
23+, # If enabled, use -fPIC when compiling static libs.
24+ enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
25+
26+ # aarch64 outputs otherwise exceed 2GB limit
27+, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
28+
29+, # Whether to build dynamic libs for the standard library (on the target
30+ # platform). Static libs are always built.
31+ enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
32+
33+, # Whether to build terminfo.
34+ enableTerminfo ? !stdenv.targetPlatform.isWindows
35+
36+, # What flavour to build. An empty string indicates no
37+ # specific flavour and falls back to ghc default values.
38+ ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
39+ (if useLLVM then "perf-cross" else "perf-cross-ncg")
40+
41+, # Whether to disable the large address space allocator
42+ # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
43+ disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
44+}:
45+
46+assert !enableIntegerSimple -> gmp != null;
47+
48+let
49+ inherit (stdenv) buildPlatform hostPlatform targetPlatform;
50+
51+ inherit (bootPkgs) ghc;
52+
53+ # TODO(@Ericson2314) Make unconditional
54+ targetPrefix = stdenv.lib.optionalString
55+ (targetPlatform != hostPlatform)
56+ "${targetPlatform.config}-";
57+
58+ buildMK = ''
59+ BuildFlavour = ${ghcFlavour}
60+ ifneq \"\$(BuildFlavour)\" \"\"
61+ include mk/flavours/\$(BuildFlavour).mk
62+ endif
63+ DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
64+ INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
65+ '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
66+ Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
67+ CrossCompilePrefix = ${targetPrefix}
68+ HADDOCK_DOCS = NO
69+ BUILD_SPHINX_HTML = NO
70+ BUILD_SPHINX_PDF = NO
71+ '' + stdenv.lib.optionalString (!enableProfiledLibs) ''
72+ GhcLibWays = "v dyn"
73+ '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
74+ GhcLibHcOpts += -fPIC
75+ GhcRtsHcOpts += -fPIC
76+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
77+ EXTRA_CC_OPTS += -std=gnu99
78+ '';
79+
80+ # Splicer will pull out correct variations
81+ libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
82+ ++ [libffi]
83+ ++ stdenv.lib.optional (!enableIntegerSimple) gmp
84+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
85+
86+ toolsForTarget = [
87+ pkgsBuildTarget.targetPackages.stdenv.cc
88+ ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
89+
90+ targetCC = builtins.head toolsForTarget;
91+
92+ # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
93+ # see #84670 and #49071 for more background.
94+ useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl;
95+
96+in
97+stdenv.mkDerivation (rec {
98+ version = "8.10.2";
99+ name = "${targetPrefix}ghc-${version}";
100+
101+ src = fetchurl {
102+ url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
103+ sha256 = "02w8n085bw38vyp694j0lfk5wcnwkdaj7hhp0saj71x74533lmww";
104+ };
105+
106+ enableParallelBuilding = true;
107+
108+ outputs = [ "out" "doc" ];
109+
110+ # https://gitlab.haskell.org/ghc/ghc/-/issues/18549
111+ patches = [
112+ ./issue-18549.patch
113+ ];
114+
115+ postPatch = "patchShebangs .";
116+
117+ # GHC is a bit confused on its cross terminology.
118+ preConfigure = ''
119+ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
120+ export "''${env#TARGET_}=''${!env}"
121+ done
122+ # GHC is a bit confused on its cross terminology, as these would normally be
123+ # the *host* tools.
124+ export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
125+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
126+ # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
127+ export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
128+ export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
129+ export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
130+ export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
131+ export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
132+ export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
133+ export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
134+
135+ echo -n "${buildMK}" > mk/build.mk
136+ sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
137+ '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
138+ export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
139+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
140+ export NIX_LDFLAGS+=" -no_dtrace_dof"
141+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
142+ sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
143+ '' + stdenv.lib.optionalString targetPlatform.isMusl ''
144+ echo "patching llvm-targets for musl targets..."
145+ echo "Cloning these existing '*-linux-gnu*' targets:"
146+ grep linux-gnu llvm-targets | sed 's/^/ /'
147+ echo "(go go gadget sed)"
148+ sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
149+ echo "llvm-targets now contains these '*-linux-musl*' targets:"
150+ grep linux-musl llvm-targets | sed 's/^/ /'
151+
152+ echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
153+ # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
154+ for x in configure aclocal.m4; do
155+ substituteInPlace $x \
156+ --replace '*-android*|*-gnueabi*)' \
157+ '*-android*|*-gnueabi*|*-musleabi*)'
158+ done
159+ '';
160+
161+ # TODO(@Ericson2314): Always pass "--target" and always prefix.
162+ configurePlatforms = [ "build" "host" ]
163+ ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
164+
165+ # `--with` flags for libraries needed for RTS linker
166+ configureFlags = [
167+ "--datadir=$doc/share/doc/ghc"
168+ "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
169+ ] ++ stdenv.lib.optionals (libffi != null) [
170+ "--with-system-libffi"
171+ "--with-ffi-includes=${targetPackages.libffi.dev}/include"
172+ "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
173+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
174+ "--with-gmp-includes=${targetPackages.gmp.dev}/include"
175+ "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
176+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
177+ "--with-iconv-includes=${libiconv}/include"
178+ "--with-iconv-libraries=${libiconv}/lib"
179+ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
180+ "--enable-bootstrap-with-devel-snapshot"
181+ ] ++ stdenv.lib.optionals useLdGold [
182+ "CFLAGS=-fuse-ld=gold"
183+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
184+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
185+ ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
186+ "--disable-large-address-space"
187+ ];
188+
189+ # Make sure we never relax`$PATH` and hooks support for compatibility.
190+ strictDeps = true;
191+
192+ # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
193+ dontAddExtraLibs = true;
194+
195+ nativeBuildInputs = [
196+ perl autoconf automake m4 python3 sphinx
197+ ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
198+ ];
199+
200+ # For building runtime libs
201+ depsBuildTarget = toolsForTarget;
202+
203+ buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
204+
205+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
206+ ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
207+
208+ depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
209+ depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
210+
211+ # required, because otherwise all symbols from HSffi.o are stripped, and
212+ # that in turn causes GHCi to abort
213+ stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
214+
215+ checkTarget = "test";
216+
217+ hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
218+
219+ postInstall = ''
220+ # Install the bash completion file.
221+ install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
222+
223+ # Patch scripts to include "readelf" and "cat" in $PATH.
224+ for i in "$out/bin/"*; do
225+ test ! -h $i || continue
226+ egrep --quiet '^#!' <(head -n 1 $i) || continue
227+ sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
228+ done
229+ '';
230+
231+ passthru = {
232+ inherit bootPkgs targetPrefix;
233+
234+ inherit llvmPackages;
235+ inherit enableShared;
236+
237+ # Our Cabal compiler name
238+ haskellCompilerName = "ghc-${version}";
239+ };
240+
241+ meta = {
242+ homepage = "http://haskell.org/ghc";
243+ description = "The Glasgow Haskell Compiler";
244+ maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
245+ timeout = 24 * 3600;
246+ inherit (ghc.meta) license platforms;
247+ };
248+
249+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
250+ dontStrip = true;
251+ dontPatchELF = true;
252+ noAuditTmpdir = true;
253+})
test/golden/importless/8.10.2.txtnew file
No changes to the content.
test/golden/importless/8.5.nixnew file+10
@@ -0,0 +1,10 @@
1+{ callPackage, fetchurl, tcl, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+
5+ src = fetchurl {
6+ url = "mirror://sourceforge/tcl/tk${tcl.version}-src.tar.gz";
7+ sha256 = "0an3wqkjzlyyq6l9l3nawz76axsrsppbyylx0zk9lkv7llrala03";
8+ };
9+
10+})
test/golden/importless/8.5.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ. { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; tcl = γ } -> { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; src = { sha256 = String; url = String }; tcl = γ }
test/golden/importless/8.6.5-binary.nixnew file+165
@@ -0,0 +1,165 @@
1+{ stdenv
2+, fetchurl, perl, gcc
3+, ncurses5, gmp, glibc, libiconv
4+, llvmPackages
5+}:
6+
7+# Prebuilt only does native
8+assert stdenv.targetPlatform == stdenv.hostPlatform;
9+
10+let
11+ useLLVM = !stdenv.targetPlatform.isx86;
12+
13+ libPath = stdenv.lib.makeLibraryPath ([
14+ ncurses5 gmp
15+ ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv);
16+
17+ libEnvVar = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin "DY"
18+ + "LD_LIBRARY_PATH";
19+
20+ glibcDynLinker = assert stdenv.isLinux;
21+ if stdenv.hostPlatform.libc == "glibc" then
22+ # Could be stdenv.cc.bintools.dynamicLinker, keeping as-is to avoid rebuild.
23+ ''"$(cat $NIX_CC/nix-support/dynamic-linker)"''
24+ else
25+ "${stdenv.lib.getLib glibc}/lib/ld-linux*";
26+
27+in
28+
29+stdenv.mkDerivation rec {
30+ version = "8.6.5";
31+
32+ name = "ghc-${version}-binary";
33+
34+ # https://downloads.haskell.org/~ghc/8.6.5/
35+ src = fetchurl ({
36+ i686-linux = {
37+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb9-linux.tar.xz";
38+ sha256 = "1p2h29qghql19ajk755xa0yxkn85slbds8m9n5196ris743vkp8w";
39+ };
40+ x86_64-linux = {
41+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb9-linux.tar.xz";
42+ sha256 = "1pqlx6rdjs2110g0y1i9f8x18lmdizibjqd15f5xahcz39hgaxdw";
43+ };
44+ aarch64-linux = {
45+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-aarch64-ubuntu18.04-linux.tar.xz";
46+ sha256 = "11n7l2a36i5vxzzp85la2555q4m34l747g0pnmd81cp46y85hlhq";
47+ };
48+ x86_64-darwin = {
49+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
50+ sha256 = "0s9188vhhgf23q3rjarwhbr524z6h2qga5xaaa2pma03sfqvvhfz";
51+ };
52+ }.${stdenv.hostPlatform.system}
53+ or (throw "cannot bootstrap GHC on this platform"));
54+
55+ nativeBuildInputs = [ perl ];
56+ propagatedBuildInputs = stdenv.lib.optionals useLLVM [ llvmPackages.llvm ];
57+
58+ # Cannot patchelf beforehand due to relative RPATHs that anticipate
59+ # the final install location/
60+ ${libEnvVar} = libPath;
61+
62+ postUnpack =
63+ # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib
64+ # during linking
65+ stdenv.lib.optionalString stdenv.isDarwin ''
66+ export NIX_LDFLAGS+=" -no_dtrace_dof"
67+ # not enough room in the object files for the full path to libiconv :(
68+ for exe in $(find . -type f -executable); do
69+ isScript $exe && continue
70+ ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
71+ install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe
72+ done
73+ '' +
74+
75+ # Some scripts used during the build need to have their shebangs patched
76+ ''
77+ patchShebangs ghc-${version}/utils/
78+ patchShebangs ghc-${version}/configure
79+ '' +
80+
81+ # We have to patch the GMP paths for the integer-gmp package.
82+ ''
83+ find . -name integer-gmp.buildinfo \
84+ -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \;
85+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
86+ find . -name base.buildinfo \
87+ -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \;
88+ '' +
89+ # Rename needed libraries and binaries, fix interpreter
90+ stdenv.lib.optionalString stdenv.isLinux ''
91+ find . -type f -perm -0100 -exec patchelf \
92+ --replace-needed libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5 libncurses.so \
93+ --replace-needed libtinfo.so libtinfo.so.5 \
94+ --interpreter ${glibcDynLinker} {} \;
95+
96+ sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
97+ sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
98+ '' +
99+ # We're kludging a glibc bindist into working with non-glibc...
100+ # Here we patch up the use of `__strdup` (part of glibc binary ABI)
101+ # to instead use `strdup` since musl doesn't provide __strdup
102+ # (`__strdup` is defined to be an alias of `strdup` anyway[1]).
103+ # [1] http://refspecs.linuxbase.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/baselib---strdup-1.html
104+ # Use objcopy magic to make the change:
105+ stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
106+ find ./ghc-${version}/rts -name "libHSrts*.a" -exec ''${OBJCOPY:-objcopy} --redefine-sym __strdup=strdup {} \;
107+ '';
108+
109+ configurePlatforms = [ ];
110+ configureFlags = [
111+ "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib"
112+ "--with-gmp-includes=${stdenv.lib.getDev gmp}/include"
113+ ] ++ stdenv.lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"
114+ ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override";
115+
116+ # No building is necessary, but calling make without flags ironically
117+ # calls install-strip ...
118+ dontBuild = true;
119+
120+ # On Linux, use patchelf to modify the executables so that they can
121+ # find editline/gmp.
122+ postFixup = stdenv.lib.optionalString stdenv.isLinux ''
123+ for p in $(find "$out" -type f -executable); do
124+ if isELF "$p"; then
125+ echo "Patchelfing $p"
126+ patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p
127+ fi
128+ done
129+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
130+ # not enough room in the object files for the full path to libiconv :(
131+ for exe in $(find "$out" -type f -executable); do
132+ isScript $exe && continue
133+ ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
134+ install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe
135+ done
136+
137+ for file in $(find "$out" -name setup-config); do
138+ substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
139+ done
140+ '';
141+
142+ doInstallCheck = true;
143+ installCheckPhase = ''
144+ unset ${libEnvVar}
145+ # Sanity check, can ghc create executables?
146+ cd $TMP
147+ mkdir test-ghc; cd test-ghc
148+ cat > main.hs << EOF
149+ {-# LANGUAGE TemplateHaskell #-}
150+ module Main where
151+ main = putStrLn \$([|"yes"|])
152+ EOF
153+ $out/bin/ghc --make main.hs || exit 1
154+ echo compilation ok
155+ [ $(./main) == "yes" ]
156+ '';
157+
158+ passthru = {
159+ targetPrefix = "";
160+ enableShared = true;
161+ };
162+
163+ meta.license = stdenv.lib.licenses.bsd3;
164+ meta.platforms = ["x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"];
165+}
test/golden/importless/8.6.5-binary.txtnew file
No changes to the content.
test/golden/importless/8.6.5.nixnew file+267
@@ -0,0 +1,267 @@
1+{ stdenv, pkgsBuildTarget, targetPackages
2+
3+# build-tools
4+, bootPkgs
5+, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx
6+, bash
7+
8+, libiconv ? null, ncurses
9+
10+, # GHC can be built with system libffi or a bundled one.
11+ libffi ? null
12+
13+, useLLVM ? !stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isiOS
14+, # LLVM is conceptually a run-time-only depedendency, but for
15+ # non-x86, we need LLVM to bootstrap later stages, so it becomes a
16+ # build-time dependency too.
17+ buildLlvmPackages, llvmPackages
18+
19+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
20+ # library instead of the faster but GPLed integer-gmp library.
21+ enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
22+
23+, # If enabled, use -fPIC when compiling static libs.
24+ enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
25+
26+, # Whether to build dynamic libs for the standard library (on the target
27+ # platform). Static libs are always built.
28+ enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
29+
30+, # Whether to build terminfo.
31+ enableTerminfo ? !stdenv.targetPlatform.isWindows
32+
33+, # What flavour to build. An empty string indicates no
34+ # specific flavour and falls back to ghc default values.
35+ ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
36+ (if useLLVM then "perf-cross" else "perf-cross-ncg")
37+
38+, # Whether to disable the large address space allocator
39+ # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
40+ disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
41+}:
42+
43+assert !enableIntegerSimple -> gmp != null;
44+
45+let
46+ inherit (stdenv) buildPlatform hostPlatform targetPlatform;
47+
48+ inherit (bootPkgs) ghc;
49+
50+ # TODO(@Ericson2314) Make unconditional
51+ targetPrefix = stdenv.lib.optionalString
52+ (targetPlatform != hostPlatform)
53+ "${targetPlatform.config}-";
54+
55+ buildMK = ''
56+ BuildFlavour = ${ghcFlavour}
57+ ifneq \"\$(BuildFlavour)\" \"\"
58+ include mk/flavours/\$(BuildFlavour).mk
59+ endif
60+ DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
61+ INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
62+ ''
63+ # We only need to build stage1 on most cross-compilation because
64+ # we will be running the compiler on the native system. In some
65+ # situations, like native Musl compilation, we need the compiler
66+ # to actually link to our new Libc. The iOS simulator is a special
67+ # exception because we can’t actually run simulators binaries
68+ # ourselves.
69+ + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
70+ Stage1Only = ${if (targetPlatform.system == hostPlatform.system && !targetPlatform.isiOS) then "NO" else "YES"}
71+ CrossCompilePrefix = ${targetPrefix}
72+ HADDOCK_DOCS = NO
73+ BUILD_SPHINX_HTML = NO
74+ BUILD_SPHINX_PDF = NO
75+ '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
76+ GhcLibHcOpts += -fPIC
77+ GhcRtsHcOpts += -fPIC
78+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
79+ EXTRA_CC_OPTS += -std=gnu99
80+ '';
81+
82+ # Splicer will pull out correct variations
83+ libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
84+ ++ [libffi]
85+ ++ stdenv.lib.optional (!enableIntegerSimple) gmp
86+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
87+
88+ toolsForTarget = [
89+ pkgsBuildTarget.targetPackages.stdenv.cc
90+ ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
91+
92+ targetCC = builtins.head toolsForTarget;
93+
94+ # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
95+ # see #84670 and #49071 for more background.
96+ useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl;
97+
98+in
99+stdenv.mkDerivation (rec {
100+ version = "8.6.5";
101+ name = "${targetPrefix}ghc-${version}";
102+
103+ src = fetchurl {
104+ url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
105+ sha256 = "0qg3zsmbk4rkwkc3jpas3zs74qaxmw4sp4v1mhsbj0a0dzls2jjd";
106+ };
107+
108+ enableParallelBuilding = true;
109+
110+ outputs = [ "out" "doc" ];
111+
112+ patches = [
113+ (fetchpatch rec { # https://phabricator.haskell.org/D5123
114+ url = "http://tarballs.nixos.org/sha256/${sha256}";
115+ name = "D5123.diff";
116+ sha256 = "0nhqwdamf2y4gbwqxcgjxs0kqx23w9gv5kj0zv6450dq19rji82n";
117+ })
118+ (fetchpatch { # https://github.com/haskell/haddock/issues/900
119+ url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/983.diff";
120+ name = "loadpluginsinmodules.diff";
121+ sha256 = "0bvvv0zsfq2581zsir97zfkggc1kkircbbajc2fz3b169ycpbha1";
122+ extraPrefix = "utils/haddock/";
123+ stripLen = 1;
124+ })
125+ ];
126+
127+ postPatch = "patchShebangs .";
128+
129+ # GHC is a bit confused on its cross terminology.
130+ preConfigure = ''
131+ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
132+ export "''${env#TARGET_}=''${!env}"
133+ done
134+ # GHC is a bit confused on its cross terminology, as these would normally be
135+ # the *host* tools.
136+ export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
137+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
138+ # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
139+ export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
140+ export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
141+ export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
142+ export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
143+ export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
144+ export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
145+ export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
146+
147+ echo -n "${buildMK}" > mk/build.mk
148+ sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
149+ '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
150+ export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
151+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
152+ export NIX_LDFLAGS+=" -no_dtrace_dof"
153+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
154+ sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
155+ '' + stdenv.lib.optionalString targetPlatform.isMusl ''
156+ echo "patching llvm-targets for musl targets..."
157+ echo "Cloning these existing '*-linux-gnu*' targets:"
158+ grep linux-gnu llvm-targets | sed 's/^/ /'
159+ echo "(go go gadget sed)"
160+ sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
161+ echo "llvm-targets now contains these '*-linux-musl*' targets:"
162+ grep linux-musl llvm-targets | sed 's/^/ /'
163+
164+ echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
165+ # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
166+ for x in configure aclocal.m4; do
167+ substituteInPlace $x \
168+ --replace '*-android*|*-gnueabi*)' \
169+ '*-android*|*-gnueabi*|*-musleabi*)'
170+ done
171+ '';
172+
173+ # TODO(@Ericson2314): Always pass "--target" and always prefix.
174+ configurePlatforms = [ "build" "host" ]
175+ ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
176+ # `--with` flags for libraries needed for RTS linker
177+ configureFlags = [
178+ "--datadir=$doc/share/doc/ghc"
179+ "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
180+ ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
181+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
182+ "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
183+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
184+ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
185+ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
186+ "--enable-bootstrap-with-devel-snapshot"
187+ ] ++ stdenv.lib.optionals useLdGold [
188+ "CFLAGS=-fuse-ld=gold"
189+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
190+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
191+ ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
192+ "--disable-large-address-space"
193+ ];
194+
195+ # Make sure we never relax`$PATH` and hooks support for compatibility.
196+ strictDeps = true;
197+
198+ # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
199+ dontAddExtraLibs = true;
200+
201+ nativeBuildInputs = [
202+ perl autoconf automake m4 python3 sphinx
203+ ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
204+ ];
205+
206+ # For building runtime libs
207+ depsBuildTarget = toolsForTarget;
208+
209+ buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
210+
211+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
212+ ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
213+
214+ depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
215+ depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
216+
217+ # required, because otherwise all symbols from HSffi.o are stripped, and
218+ # that in turn causes GHCi to abort
219+ stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
220+
221+ # See #63511 - the only unstripped file is the debug rts which isn't meant to
222+ # be stripped.
223+ dontStrip = true;
224+
225+ checkTarget = "test";
226+
227+ hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
228+
229+ postInstall = ''
230+ # Install the bash completion file.
231+ install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
232+
233+ # Patch scripts to include "readelf" and "cat" in $PATH.
234+ for i in "$out/bin/"*; do
235+ test ! -h $i || continue
236+ egrep --quiet '^#!' <(head -n 1 $i) || continue
237+ sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
238+ done
239+ ''
240+ # Temporary work-around for https://github.com/NixOS/nixpkgs/issues/66277
241+ + stdenv.lib.optionalString hostPlatform.isAarch64 ''
242+ rm -rf "$doc/share/doc/ghc/html/libraries"
243+ '';
244+
245+ passthru = {
246+ inherit bootPkgs targetPrefix;
247+
248+ inherit llvmPackages;
249+ inherit enableShared;
250+
251+ # Our Cabal compiler name
252+ haskellCompilerName = "ghc-${version}";
253+ };
254+
255+ meta = {
256+ homepage = "http://haskell.org/ghc";
257+ description = "The Glasgow Haskell Compiler";
258+ maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
259+ timeout = 24 * 3600;
260+ inherit (ghc.meta) license platforms;
261+ };
262+
263+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
264+ dontStrip = true;
265+ dontPatchELF = true;
266+ noAuditTmpdir = true;
267+})
test/golden/importless/8.6.5.txtnew file
No changes to the content.
test/golden/importless/8.6.nixnew file+12
@@ -0,0 +1,12 @@
1+{ callPackage, fetchurl, tcl, stdenv, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+
5+ src = fetchurl {
6+ url = "mirror://sourceforge/tcl/tk${tcl.version}.1-src.tar.gz"; # TODO: remove '.1' for v8.6.10 or v8.7.x
7+ sha256 = "1d7bfkxpacy33w5nahf73lkwxqpff44w1jplg7i2gmwgiaawvjwg";
8+ };
9+
10+ patches = [ ./different-prefix-with-tcl.patch ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./Fix-bad-install_name-for-libtk8.6.dylib.patch ];
11+
12+})
test/golden/importless/8.6.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ. { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; stdenv = γ; tcl = δ } -> { callPackage = Path -> α; fetchurl = { sha256 = String; url = String } -> β; patches = [Path]; src = { sha256 = String; url = String }; stdenv = γ; tcl = δ }
test/golden/importless/8.8.2.nixnew file+253
@@ -0,0 +1,253 @@
1+{ stdenv, pkgsBuildTarget, targetPackages
2+
3+# build-tools
4+, bootPkgs
5+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
6+, bash
7+
8+, libiconv ? null, ncurses
9+
10+, # GHC can be built with system libffi or a bundled one.
11+ libffi ? null
12+
13+, useLLVM ? !stdenv.targetPlatform.isx86
14+, # LLVM is conceptually a run-time-only depedendency, but for
15+ # non-x86, we need LLVM to bootstrap later stages, so it becomes a
16+ # build-time dependency too.
17+ buildLlvmPackages, llvmPackages
18+
19+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
20+ # library instead of the faster but GPLed integer-gmp library.
21+ enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
22+
23+, # If enabled, use -fPIC when compiling static libs.
24+ enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
25+
26+, # Whether to build dynamic libs for the standard library (on the target
27+ # platform). Static libs are always built.
28+ enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
29+
30+, # Whether to build terminfo.
31+ enableTerminfo ? !stdenv.targetPlatform.isWindows
32+
33+, # What flavour to build. An empty string indicates no
34+ # specific flavour and falls back to ghc default values.
35+ ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
36+ (if useLLVM then "perf-cross" else "perf-cross-ncg")
37+
38+, # Whether to disable the large address space allocator
39+ # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
40+ disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
41+}:
42+
43+assert !enableIntegerSimple -> gmp != null;
44+
45+let
46+ inherit (stdenv) buildPlatform hostPlatform targetPlatform;
47+
48+ inherit (bootPkgs) ghc;
49+
50+ # TODO(@Ericson2314) Make unconditional
51+ targetPrefix = stdenv.lib.optionalString
52+ (targetPlatform != hostPlatform)
53+ "${targetPlatform.config}-";
54+
55+ buildMK = dontStrip: ''
56+ BuildFlavour = ${ghcFlavour}
57+ ifneq \"\$(BuildFlavour)\" \"\"
58+ include mk/flavours/\$(BuildFlavour).mk
59+ endif
60+ DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
61+ INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
62+ ''
63+ # We only need to build stage1 on most cross-compilation because
64+ # we will be running the compiler on the native system. In some
65+ # situations, like native Musl compilation, we need the compiler
66+ # to actually link to our new Libc. The iOS simulator is a special
67+ # exception because we can’t actually run simulators binaries
68+ # ourselves.
69+ + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
70+ Stage1Only = ${if (targetPlatform.system == hostPlatform.system && !targetPlatform.isiOS) then "NO" else "YES"}
71+ CrossCompilePrefix = ${targetPrefix}
72+ HADDOCK_DOCS = NO
73+ BUILD_SPHINX_HTML = NO
74+ BUILD_SPHINX_PDF = NO
75+ '' + stdenv.lib.optionalString dontStrip ''
76+ STRIP_CMD = :
77+ '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
78+ GhcLibHcOpts += -fPIC
79+ GhcRtsHcOpts += -fPIC
80+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
81+ EXTRA_CC_OPTS += -std=gnu99
82+ '';
83+
84+ # Splicer will pull out correct variations
85+ libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
86+ ++ [libffi]
87+ ++ stdenv.lib.optional (!enableIntegerSimple) gmp
88+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
89+
90+ toolsForTarget = [
91+ pkgsBuildTarget.targetPackages.stdenv.cc
92+ ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
93+
94+ targetCC = builtins.head toolsForTarget;
95+
96+ # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
97+ # see #84670 and #49071 for more background.
98+ useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl;
99+
100+in
101+stdenv.mkDerivation (rec {
102+ version = "8.8.2";
103+ name = "${targetPrefix}ghc-${version}";
104+
105+ src = fetchurl {
106+ url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
107+ sha256 = "02qa6wgjpxgakg7hv4zfdlrx9k7zxa5i02wnr6y9fsv8j16sbkh1";
108+ };
109+
110+ enableParallelBuilding = true;
111+
112+ outputs = [ "out" "doc" ];
113+
114+ postPatch = "patchShebangs .";
115+
116+ # GHC is a bit confused on its cross terminology.
117+ preConfigure = ''
118+ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
119+ export "''${env#TARGET_}=''${!env}"
120+ done
121+ # GHC is a bit confused on its cross terminology, as these would normally be
122+ # the *host* tools.
123+ export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
124+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
125+ # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
126+ export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
127+ export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
128+ export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
129+ export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
130+ export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
131+ export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
132+ export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
133+
134+ echo -n "${buildMK dontStrip}" > mk/build.mk
135+ sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
136+ '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
137+ export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
138+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
139+ export NIX_LDFLAGS+=" -no_dtrace_dof"
140+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
141+ sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
142+ '' + stdenv.lib.optionalString targetPlatform.isMusl ''
143+ echo "patching llvm-targets for musl targets..."
144+ echo "Cloning these existing '*-linux-gnu*' targets:"
145+ grep linux-gnu llvm-targets | sed 's/^/ /'
146+ echo "(go go gadget sed)"
147+ sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
148+ echo "llvm-targets now contains these '*-linux-musl*' targets:"
149+ grep linux-musl llvm-targets | sed 's/^/ /'
150+
151+ echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
152+ # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
153+ for x in configure aclocal.m4; do
154+ substituteInPlace $x \
155+ --replace '*-android*|*-gnueabi*)' \
156+ '*-android*|*-gnueabi*|*-musleabi*)'
157+ done
158+ '';
159+
160+ # TODO(@Ericson2314): Always pass "--target" and always prefix.
161+ configurePlatforms = [ "build" "host" ]
162+ ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
163+
164+ # `--with` flags for libraries needed for RTS linker
165+ configureFlags = [
166+ "--datadir=$doc/share/doc/ghc"
167+ "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
168+ ] ++ stdenv.lib.optionals (libffi != null) [
169+ "--with-system-libffi"
170+ "--with-ffi-includes=${targetPackages.libffi.dev}/include"
171+ "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
172+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
173+ "--with-gmp-includes=${targetPackages.gmp.dev}/include"
174+ "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
175+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
176+ "--with-iconv-includes=${libiconv}/include"
177+ "--with-iconv-libraries=${libiconv}/lib"
178+ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
179+ "--enable-bootstrap-with-devel-snapshot"
180+ ] ++ stdenv.lib.optionals useLdGold [
181+ "CFLAGS=-fuse-ld=gold"
182+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
183+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
184+ ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
185+ "--disable-large-address-space"
186+ ];
187+
188+ # Make sure we never relax`$PATH` and hooks support for compatibility.
189+ strictDeps = true;
190+
191+ # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
192+ dontAddExtraLibs = true;
193+
194+ nativeBuildInputs = [
195+ perl autoconf automake m4 python3 sphinx
196+ ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
197+ ];
198+
199+ # For building runtime libs
200+ depsBuildTarget = toolsForTarget;
201+
202+ buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
203+
204+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
205+ ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
206+
207+ depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
208+ depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
209+
210+ # required, because otherwise all symbols from HSffi.o are stripped, and
211+ # that in turn causes GHCi to abort
212+ stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
213+
214+ checkTarget = "test";
215+
216+ hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
217+
218+ postInstall = ''
219+ # Install the bash completion file.
220+ install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
221+
222+ # Patch scripts to include "readelf" and "cat" in $PATH.
223+ for i in "$out/bin/"*; do
224+ test ! -h $i || continue
225+ egrep --quiet '^#!' <(head -n 1 $i) || continue
226+ sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
227+ done
228+ '';
229+
230+ passthru = {
231+ inherit bootPkgs targetPrefix;
232+
233+ inherit llvmPackages;
234+ inherit enableShared;
235+
236+ # Our Cabal compiler name
237+ haskellCompilerName = "ghc-${version}";
238+ };
239+
240+ meta = {
241+ homepage = "http://haskell.org/ghc";
242+ description = "The Glasgow Haskell Compiler";
243+ maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
244+ timeout = 24 * 3600;
245+ inherit (ghc.meta) license platforms;
246+ };
247+
248+ dontStrip = (targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm);
249+
250+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt{
251+ dontPatchELF = true;
252+ noAuditTmpdir = true;
253+})
test/golden/importless/8.8.2.txtnew file
No changes to the content.
test/golden/importless/8.8.3.nixnew file+258
@@ -0,0 +1,258 @@
1+{ stdenv, pkgsBuildTarget, targetPackages
2+
3+# build-tools
4+, bootPkgs
5+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
6+, bash
7+
8+, libiconv ? null, ncurses
9+
10+, # GHC can be built with system libffi or a bundled one.
11+ libffi ? null
12+
13+, useLLVM ? !stdenv.targetPlatform.isx86
14+, # LLVM is conceptually a run-time-only depedendency, but for
15+ # non-x86, we need LLVM to bootstrap later stages, so it becomes a
16+ # build-time dependency too.
17+ buildLlvmPackages, llvmPackages
18+
19+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
20+ # library instead of the faster but GPLed integer-gmp library.
21+ enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
22+
23+, # If enabled, use -fPIC when compiling static libs.
24+ enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
25+
26+ # aarch64 outputs otherwise exceed 2GB limit
27+, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
28+
29+, # Whether to build dynamic libs for the standard library (on the target
30+ # platform). Static libs are always built.
31+ enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
32+
33+, # Whether to build terminfo.
34+ enableTerminfo ? !stdenv.targetPlatform.isWindows
35+
36+, # What flavour to build. An empty string indicates no
37+ # specific flavour and falls back to ghc default values.
38+ ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
39+ (if useLLVM then "perf-cross" else "perf-cross-ncg")
40+
41+, # Whether to disable the large address space allocator
42+ # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
43+ disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
44+}:
45+
46+assert !enableIntegerSimple -> gmp != null;
47+
48+let
49+ inherit (stdenv) buildPlatform hostPlatform targetPlatform;
50+
51+ inherit (bootPkgs) ghc;
52+
53+ # TODO(@Ericson2314) Make unconditional
54+ targetPrefix = stdenv.lib.optionalString
55+ (targetPlatform != hostPlatform)
56+ "${targetPlatform.config}-";
57+
58+ buildMK = dontStrip: ''
59+ BuildFlavour = ${ghcFlavour}
60+ ifneq \"\$(BuildFlavour)\" \"\"
61+ include mk/flavours/\$(BuildFlavour).mk
62+ endif
63+ DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
64+ INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
65+ ''
66+ # We only need to build stage1 on most cross-compilation because
67+ # we will be running the compiler on the native system. In some
68+ # situations, like native Musl compilation, we need the compiler
69+ # to actually link to our new Libc. The iOS simulator is a special
70+ # exception because we can’t actually run simulators binaries
71+ # ourselves.
72+ + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
73+ Stage1Only = ${if (targetPlatform.system == hostPlatform.system && !targetPlatform.isiOS) then "NO" else "YES"}
74+ CrossCompilePrefix = ${targetPrefix}
75+ HADDOCK_DOCS = NO
76+ BUILD_SPHINX_HTML = NO
77+ BUILD_SPHINX_PDF = NO
78+ '' + stdenv.lib.optionalString dontStrip ''
79+ STRIP_CMD = :
80+ '' + stdenv.lib.optionalString (!enableProfiledLibs) ''
81+ GhcLibWays = "v dyn"
82+ '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
83+ GhcLibHcOpts += -fPIC
84+ GhcRtsHcOpts += -fPIC
85+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
86+ EXTRA_CC_OPTS += -std=gnu99
87+ '';
88+
89+ # Splicer will pull out correct variations
90+ libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
91+ ++ [libffi]
92+ ++ stdenv.lib.optional (!enableIntegerSimple) gmp
93+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
94+
95+ toolsForTarget = [
96+ pkgsBuildTarget.targetPackages.stdenv.cc
97+ ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
98+
99+ targetCC = builtins.head toolsForTarget;
100+
101+ # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
102+ # see #84670 and #49071 for more background.
103+ useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl;
104+
105+in
106+stdenv.mkDerivation (rec {
107+ version = "8.8.3";
108+ name = "${targetPrefix}ghc-${version}";
109+
110+ src = fetchurl {
111+ url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
112+ sha256 = "128g932i3wix6ic03v04nh5755vyjiidzri9iybwad72yfmc1p70";
113+ };
114+
115+ enableParallelBuilding = true;
116+
117+ outputs = [ "out" "doc" ];
118+
119+ postPatch = "patchShebangs .";
120+
121+ # GHC is a bit confused on its cross terminology.
122+ preConfigure = ''
123+ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
124+ export "''${env#TARGET_}=''${!env}"
125+ done
126+ # GHC is a bit confused on its cross terminology, as these would normally be
127+ # the *host* tools.
128+ export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
129+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
130+ # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
131+ export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
132+ export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
133+ export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
134+ export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
135+ export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
136+ export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
137+ export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
138+
139+ echo -n "${buildMK dontStrip}" > mk/build.mk
140+ sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
141+ '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
142+ export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
143+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
144+ export NIX_LDFLAGS+=" -no_dtrace_dof"
145+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
146+ sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
147+ '' + stdenv.lib.optionalString targetPlatform.isMusl ''
148+ echo "patching llvm-targets for musl targets..."
149+ echo "Cloning these existing '*-linux-gnu*' targets:"
150+ grep linux-gnu llvm-targets | sed 's/^/ /'
151+ echo "(go go gadget sed)"
152+ sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
153+ echo "llvm-targets now contains these '*-linux-musl*' targets:"
154+ grep linux-musl llvm-targets | sed 's/^/ /'
155+
156+ echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
157+ # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
158+ for x in configure aclocal.m4; do
159+ substituteInPlace $x \
160+ --replace '*-android*|*-gnueabi*)' \
161+ '*-android*|*-gnueabi*|*-musleabi*)'
162+ done
163+ '';
164+
165+ # TODO(@Ericson2314): Always pass "--target" and always prefix.
166+ configurePlatforms = [ "build" "host" ]
167+ ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
168+
169+ # `--with` flags for libraries needed for RTS linker
170+ configureFlags = [
171+ "--datadir=$doc/share/doc/ghc"
172+ "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
173+ ] ++ stdenv.lib.optionals (libffi != null) [
174+ "--with-system-libffi"
175+ "--with-ffi-includes=${targetPackages.libffi.dev}/include"
176+ "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
177+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
178+ "--with-gmp-includes=${targetPackages.gmp.dev}/include"
179+ "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
180+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
181+ "--with-iconv-includes=${libiconv}/include"
182+ "--with-iconv-libraries=${libiconv}/lib"
183+ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
184+ "--enable-bootstrap-with-devel-snapshot"
185+ ] ++ stdenv.lib.optionals useLdGold [
186+ "CFLAGS=-fuse-ld=gold"
187+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
188+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
189+ ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
190+ "--disable-large-address-space"
191+ ];
192+
193+ # Make sure we never relax`$PATH` and hooks support for compatibility.
194+ strictDeps = true;
195+
196+ # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
197+ dontAddExtraLibs = true;
198+
199+ nativeBuildInputs = [
200+ perl autoconf automake m4 python3 sphinx
201+ ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
202+ ];
203+
204+ # For building runtime libs
205+ depsBuildTarget = toolsForTarget;
206+
207+ buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
208+
209+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
210+ ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
211+
212+ depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
213+ depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
214+
215+ # required, because otherwise all symbols from HSffi.o are stripped, and
216+ # that in turn causes GHCi to abort
217+ stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
218+
219+ checkTarget = "test";
220+
221+ hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
222+
223+ postInstall = ''
224+ # Install the bash completion file.
225+ install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
226+
227+ # Patch scripts to include "readelf" and "cat" in $PATH.
228+ for i in "$out/bin/"*; do
229+ test ! -h $i || continue
230+ egrep --quiet '^#!' <(head -n 1 $i) || continue
231+ sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
232+ done
233+ '';
234+
235+ passthru = {
236+ inherit bootPkgs targetPrefix;
237+
238+ inherit llvmPackages;
239+ inherit enableShared;
240+
241+ # Our Cabal compiler name
242+ haskellCompilerName = "ghc-${version}";
243+ };
244+
245+ meta = {
246+ homepage = "http://haskell.org/ghc";
247+ description = "The Glasgow Haskell Compiler";
248+ maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
249+ timeout = 24 * 3600;
250+ inherit (ghc.meta) license platforms;
251+ };
252+
253+ dontStrip = (targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm);
254+
255+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt{
256+ dontPatchELF = true;
257+ noAuditTmpdir = true;
258+})
test/golden/importless/8.8.3.txtnew file
No changes to the content.
test/golden/importless/8.8.4.nixnew file+265
@@ -0,0 +1,265 @@
1+{ stdenv, pkgsBuildTarget, targetPackages
2+
3+# build-tools
4+, bootPkgs
5+, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
6+, bash
7+
8+, libiconv ? null, ncurses
9+
10+, # GHC can be built with system libffi or a bundled one.
11+ libffi ? null
12+
13+, useLLVM ? !stdenv.targetPlatform.isx86
14+, # LLVM is conceptually a run-time-only depedendency, but for
15+ # non-x86, we need LLVM to bootstrap later stages, so it becomes a
16+ # build-time dependency too.
17+ buildLlvmPackages, llvmPackages
18+
19+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
20+ # library instead of the faster but GPLed integer-gmp library.
21+ enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
22+
23+, # If enabled, use -fPIC when compiling static libs.
24+ enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
25+
26+ # aarch64 outputs otherwise exceed 2GB limit
27+, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
28+
29+, # Whether to build dynamic libs for the standard library (on the target
30+ # platform). Static libs are always built.
31+ enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
32+
33+, # Whether to build terminfo.
34+ enableTerminfo ? !stdenv.targetPlatform.isWindows
35+
36+, # What flavour to build. An empty string indicates no
37+ # specific flavour and falls back to ghc default values.
38+ ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
39+ (if useLLVM then "perf-cross" else "perf-cross-ncg")
40+
41+, # Whether to disable the large address space allocator
42+ # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
43+ disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
44+}:
45+
46+assert !enableIntegerSimple -> gmp != null;
47+
48+let
49+ inherit (stdenv) buildPlatform hostPlatform targetPlatform;
50+
51+ inherit (bootPkgs) ghc;
52+
53+ # TODO(@Ericson2314) Make unconditional
54+ targetPrefix = stdenv.lib.optionalString
55+ (targetPlatform != hostPlatform)
56+ "${targetPlatform.config}-";
57+
58+ buildMK = dontStrip: ''
59+ BuildFlavour = ${ghcFlavour}
60+ ifneq \"\$(BuildFlavour)\" \"\"
61+ include mk/flavours/\$(BuildFlavour).mk
62+ endif
63+ DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
64+ INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
65+ ''
66+ # We only need to build stage1 on most cross-compilation because
67+ # we will be running the compiler on the native system. In some
68+ # situations, like native Musl compilation, we need the compiler
69+ # to actually link to our new Libc. The iOS simulator is a special
70+ # exception because we can’t actually run simulators binaries
71+ # ourselves.
72+ + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
73+ Stage1Only = ${if (targetPlatform.system == hostPlatform.system && !targetPlatform.isiOS) then "NO" else "YES"}
74+ CrossCompilePrefix = ${targetPrefix}
75+ HADDOCK_DOCS = NO
76+ BUILD_SPHINX_HTML = NO
77+ BUILD_SPHINX_PDF = NO
78+ '' + stdenv.lib.optionalString dontStrip ''
79+ STRIP_CMD = :
80+ '' + stdenv.lib.optionalString (!enableProfiledLibs) ''
81+ GhcLibWays = "v dyn"
82+ '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
83+ GhcLibHcOpts += -fPIC
84+ GhcRtsHcOpts += -fPIC
85+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
86+ EXTRA_CC_OPTS += -std=gnu99
87+ '';
88+
89+ # Splicer will pull out correct variations
90+ libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
91+ ++ [libffi]
92+ ++ stdenv.lib.optional (!enableIntegerSimple) gmp
93+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
94+
95+ toolsForTarget = [
96+ pkgsBuildTarget.targetPackages.stdenv.cc
97+ ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
98+
99+ targetCC = builtins.head toolsForTarget;
100+
101+ # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
102+ # see #84670 and #49071 for more background.
103+ useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl;
104+
105+in
106+stdenv.mkDerivation (rec {
107+ version = "8.8.4";
108+ name = "${targetPrefix}ghc-${version}";
109+
110+ src = fetchurl {
111+ url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
112+ sha256 = "0bgwbxxvdn56l91bp9p5d083gzcfdi6z8l8b17qzjpr3n8w5wl7h";
113+ };
114+
115+ enableParallelBuilding = true;
116+
117+ outputs = [ "out" "doc" ];
118+
119+ postPatch = "patchShebangs .";
120+
121+ # GHC is a bit confused on its cross terminology.
122+ preConfigure = stdenv.lib.optionalString stdenv.isAarch64 ''
123+ # Aarch64 allow backward bootstrapping since earlier versions are unstable.
124+ find . -name \*\.cabal\* -exec sed -i -e 's/\(base.*\)4.14/\14.16/' {} \; \
125+ -exec sed -i -e 's/\(prim.*\)0.6/\10.8/' {} \;
126+ '' + ''
127+ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
128+ export "''${env#TARGET_}=''${!env}"
129+ done
130+ # GHC is a bit confused on its cross terminology, as these would normally be
131+ # the *host* tools.
132+ export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
133+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
134+ # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
135+ export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
136+ export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
137+ export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
138+ export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
139+ export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
140+ export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
141+ export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
142+
143+ echo -n "${buildMK dontStrip}" > mk/build.mk
144+ sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
145+ '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
146+ export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
147+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
148+ # This comment serves to trigger a rebuild on hydra.nixos.org
149+ # See https://github.com/NixOS/hydra/issues/830
150+ # Please remove this comment before the next darwin rebuild.
151+ export NIX_LDFLAGS+=" -no_dtrace_dof"
152+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
153+ sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
154+ '' + stdenv.lib.optionalString targetPlatform.isMusl ''
155+ echo "patching llvm-targets for musl targets..."
156+ echo "Cloning these existing '*-linux-gnu*' targets:"
157+ grep linux-gnu llvm-targets | sed 's/^/ /'
158+ echo "(go go gadget sed)"
159+ sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
160+ echo "llvm-targets now contains these '*-linux-musl*' targets:"
161+ grep linux-musl llvm-targets | sed 's/^/ /'
162+
163+ echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
164+ # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
165+ for x in configure aclocal.m4; do
166+ substituteInPlace $x \
167+ --replace '*-android*|*-gnueabi*)' \
168+ '*-android*|*-gnueabi*|*-musleabi*)'
169+ done
170+ '';
171+
172+ # TODO(@Ericson2314): Always pass "--target" and always prefix.
173+ configurePlatforms = [ "build" "host" ]
174+ ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
175+
176+ # `--with` flags for libraries needed for RTS linker
177+ configureFlags = [
178+ "--datadir=$doc/share/doc/ghc"
179+ "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
180+ ] ++ stdenv.lib.optionals (libffi != null) [
181+ "--with-system-libffi"
182+ "--with-ffi-includes=${targetPackages.libffi.dev}/include"
183+ "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
184+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
185+ "--with-gmp-includes=${targetPackages.gmp.dev}/include"
186+ "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
187+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
188+ "--with-iconv-includes=${libiconv}/include"
189+ "--with-iconv-libraries=${libiconv}/lib"
190+ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
191+ "--enable-bootstrap-with-devel-snapshot"
192+ ] ++ stdenv.lib.optionals useLdGold [
193+ "CFLAGS=-fuse-ld=gold"
194+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
195+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
196+ ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
197+ "--disable-large-address-space"
198+ ];
199+
200+ # Make sure we never relax`$PATH` and hooks support for compatibility.
201+ strictDeps = true;
202+
203+ # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
204+ dontAddExtraLibs = true;
205+
206+ nativeBuildInputs = [
207+ perl autoconf automake m4 python3 sphinx
208+ ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
209+ ];
210+
211+ # For building runtime libs
212+ depsBuildTarget = toolsForTarget;
213+
214+ buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
215+
216+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
217+ ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
218+
219+ depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
220+ depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
221+
222+ # required, because otherwise all symbols from HSffi.o are stripped, and
223+ # that in turn causes GHCi to abort
224+ stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
225+
226+ checkTarget = "test";
227+
228+ hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
229+
230+ postInstall = ''
231+ # Install the bash completion file.
232+ install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
233+
234+ # Patch scripts to include "readelf" and "cat" in $PATH.
235+ for i in "$out/bin/"*; do
236+ test ! -h $i || continue
237+ egrep --quiet '^#!' <(head -n 1 $i) || continue
238+ sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
239+ done
240+ '';
241+
242+ passthru = {
243+ inherit bootPkgs targetPrefix;
244+
245+ inherit llvmPackages;
246+ inherit enableShared;
247+
248+ # Our Cabal compiler name
249+ haskellCompilerName = "ghc-${version}";
250+ };
251+
252+ meta = {
253+ homepage = "http://haskell.org/ghc";
254+ description = "The Glasgow Haskell Compiler";
255+ maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
256+ timeout = 24 * 3600;
257+ inherit (ghc.meta) license platforms;
258+ };
259+
260+ dontStrip = (targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm);
261+
262+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt{
263+ dontPatchELF = true;
264+ noAuditTmpdir = true;
265+})
test/golden/importless/8.8.4.txtnew file
No changes to the content.
test/golden/importless/8.nixnew file+65
@@ -0,0 +1,65 @@
1+{ stdenv, fetchurl, unzip, setJavaClassPath, freetype }:
2+let
3+ jce-policies = fetchurl {
4+ # Ugh, unversioned URLs... I hope this doesn't change often enough to cause pain before we move to a Darwin source build of OpenJDK!
5+ url = "http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
6+ sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0";
7+ };
8+
9+ jdk = stdenv.mkDerivation {
10+ # @hlolli: Later version than 1.8.0_202 throws error when building jvmci.
11+ # dyld: lazy symbol binding failed: Symbol not found: _JVM_BeforeHalt
12+ # Referenced from: ../libjava.dylib Expected in: .../libjvm.dylib
13+ name = "zulu1.8.0_202-8.36.0.1";
14+
15+ src = fetchurl {
16+ url = "https://cdn.azul.com/zulu/bin/zulu8.36.0.1-ca-jdk8.0.202-macosx_x64.zip";
17+ sha256 = "0s92l1wlf02vjx8dvrsla2kq7qwxnmgh325b38mgqy872016jm9p";
18+ curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-linux/";
19+ };
20+
21+ buildInputs = [ unzip freetype ];
22+
23+ installPhase = ''
24+ mkdir -p $out
25+ mv * $out
26+
27+ unzip ${jce-policies}
28+ mv -f ZuluJCEPolicies/*.jar $out/jre/lib/security/
29+
30+ # jni.h expects jni_md.h to be in the header search path.
31+ ln -s $out/include/darwin/*_md.h $out/include/
32+
33+ if [ -f $out/LICENSE ]; then
34+ install -D $out/LICENSE $out/share/zulu/LICENSE
35+ rm $out/LICENSE
36+ fi
37+ '';
38+
39+ preFixup = ''
40+ # Propagate the setJavaClassPath setup hook from the JRE so that
41+ # any package that depends on the JRE has $CLASSPATH set up
42+ # properly.
43+ mkdir -p $out/nix-support
44+ printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
45+
46+ install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/jre/lib/libfontmanager.dylib
47+
48+ # Set JAVA_HOME automatically.
49+ cat <<EOF >> $out/nix-support/setup-hook
50+ if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
51+ EOF
52+ '';
53+
54+ passthru = {
55+ jre = jdk;
56+ home = jdk;
57+ };
58+
59+ meta = with stdenv.lib; {
60+ license = licenses.gpl2;
61+ platforms = platforms.darwin;
62+ };
63+
64+ };
65+in jdk
test/golden/importless/8.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { fetchurl = { sha256 = String; url = String } -> β; freetype = γ; setJavaClassPath = δ; stdenv = ε; unzip = γ } -> { buildInputs = [γ]; installPhase = String; meta = { license = ∀ α. α; platforms = ∀ α. α }; name = String; passthru = { home = ∀ α. α; jre = ∀ α. α }; preFixup = String; src = { curlOpts = String; sha256 = String; url = String } }
test/golden/importless/825_40_1.nixnew file+13
@@ -0,0 +1,13 @@
1+{ appleDerivation, ed, unifdef }:
2+
3+appleDerivation {
4+ nativeBuildInputs = [ ed unifdef ];
5+
6+ installPhase = ''
7+ export SRCROOT=$PWD
8+ export DSTROOT=$out
9+ export PUBLIC_HEADERS_FOLDER_PATH=include
10+ export PRIVATE_HEADERS_FOLDER_PATH=include
11+ bash xcodescripts/headers.sh
12+ '';
13+}
test/golden/importless/825_40_1.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β. { appleDerivation = { installPhase = String; nativeBuildInputs = [α] } -> β; ed = α; unifdef = α } -> { installPhase = String; nativeBuildInputs = [α] }
test/golden/importless/8_0.nixnew file+14
@@ -0,0 +1,14 @@
1+{ callPackage, ... } @ args:
2+
3+callPackage ./generic.nix (args // {
4+ version = "8.0.13";
5+ sha256 = "0cj0fnjimv22ykfl0yk6w29wcjvqp8y8j2g1c6gcml65qazrswyr";
6+
7+ extraPatches = [
8+ ./../../../servers/sql/mysql/abi-check.patch
9+ ];
10+
11+ extraPostInstall = ''
12+ rm -r "$out"/docs
13+ '';
14+})
test/golden/importless/8_0.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { callPackage = Path -> α } -> { callPackage = Path -> α; extraPatches = [Path]; extraPostInstall = String; sha256 = String; version = String }
test/golden/importless/9.2.nixnew file+65
@@ -0,0 +1,65 @@
1+{ stdenv, git, clang,
2+ fetchFromGitHub, requireFile,
3+ openssl, xz, gnutar,
4+ automake, autoconf, libtool, clangStdenv } :
5+
6+clangStdenv.mkDerivation rec {
7+ name = "ios-cross-compile-${version}";
8+ version = "9.2";
9+ sdk = "iPhoneOS9.2.sdk";
10+ cctools_port = fetchFromGitHub {
11+ owner = "tpoechtrager";
12+ repo = "cctools-port";
13+ rev = "7d405492b09fa27546caaa989b8493829365deab";
14+ sha256 = "0nj1q5bqdx5jm68dispybxc7wnkb6p8p2igpnap9q6qyv2r9p07w";
15+ };
16+ ldid = fetchFromGitHub {
17+ owner = "tpoechtrager";
18+ repo = "ldid";
19+ rev = "3064ed628108da4b9a52cfbe5d4c1a5817811400";
20+ sha256 = "1a6zaz8fgbi239l5zqx9xi3hsrv3jmfh8dkiy5gmnjs6v4gcf6sf";
21+ };
22+ src = requireFile rec {
23+ name = "iPhoneOS9.2.sdk.tar.xz";
24+ sha256 = "1l2h3cic9psrq3nmfv9aaxkdk8y2pvr0iq6apj87mb3ms9a4cqrq";
25+ message = ''
26+ You need to do the following steps to get a prepared
27+ ios tarball.
28+
29+ 1) Download an XCode dmg, specifically XCode_7.2.dmg
30+ 2) Install darling-dmg, available via: nix-env -i darling-dmg
31+ 3) Follow this shell history:
32+
33+ $ cd ~/
34+ $ mkdir xcode
35+ $ darling-dmg Xcode_7.2dmg xcode
36+ $ cd xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
37+ $ mktemp -d
38+ /tmp/gar/tmp.4ZZ8kqyfqp/
39+ $ mkdir /tmp/gar/tmp.4ZZ8kqyfqp/iPhoneOS9.2.sdk
40+ $ cp -r iPhoneOS.sdk/* /tmp/gar/tmp.4ZZ8kqyfqp/iPhoneOS9.2.sdk
41+ $ cp -r ../../../../Toolchains/XcodeDefault.xctoolchain/usr/include/c++/* \
42+ /tmp/gar/tmp.4ZZ8kqyfqp/iPhoneOS9.2.sdk/usr/include/c++
43+ $ tar -cf - * | xz -9 -c - > iPhoneOS9.2.sdk.tar.xz
44+ $ cd ~/
45+ $ fusermount -u xcode
46+
47+ Then do:
48+
49+ nix-prefetch-url file:///path/to/${name}
50+
51+ and run this installation again.
52+ '';
53+ };
54+ buildInputs = [ git xz gnutar openssl automake autoconf libtool clang ];
55+ alt_wrapper = ./alt_wrapper.c;
56+ builder = ./9.2_builder.sh;
57+ meta = {
58+ description =
59+ "Provides an iOS cross compiler from 7.1 up to iOS-${version} and ldid";
60+ platforms = stdenv.lib.platforms.linux;
61+ hydraPlatforms = [];
62+ maintainers = with stdenv.lib.maintainers; [ fxfactorial ];
63+ license = stdenv.lib.licenses.gpl2;
64+ };
65+}
test/golden/importless/9.2.txtnew file
No changes to the content.
test/golden/importless/9.nixnew file+122
@@ -0,0 +1,122 @@
1+{ stdenv
2+, coreutils
3+, patchelf
4+, requireFile
5+, alsaLib
6+, fontconfig
7+, freetype
8+, gcc
9+, glib
10+, ncurses
11+, opencv2
12+, openssl
13+, unixODBC
14+, xorg
15+}:
16+
17+let
18+ platform =
19+ if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then
20+ "Linux"
21+ else
22+ throw "Mathematica requires i686-linux or x86_64 linux";
23+in
24+stdenv.mkDerivation rec {
25+
26+ name = "mathematica-9.0.0";
27+
28+ src = requireFile {
29+ name = "Mathematica_9.0.0_LINUX.sh";
30+ message = ''
31+ This nix expression requires that Mathematica_9.0.0_LINUX.sh is
32+ already part of the store. Find the file on your Mathematica CD
33+ and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
34+ '';
35+ sha256 = "106zfaplhwcfdl9rdgs25x83xra9zcny94gb22wncbfxvrsk3a4q";
36+ };
37+
38+ buildInputs = [
39+ coreutils
40+ patchelf
41+ alsaLib
42+ coreutils
43+ fontconfig
44+ freetype
45+ gcc.cc
46+ gcc.libc
47+ glib
48+ ncurses
49+ opencv2
50+ openssl
51+ unixODBC
52+ ] ++ (with xorg; [
53+ libX11
54+ libXext
55+ libXtst
56+ libXi
57+ libXmu
58+ libXrender
59+ libxcb
60+ ]);
61+
62+ ldpath = stdenv.lib.makeLibraryPath buildInputs
63+ + stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux")
64+ (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
65+
66+ phases = "unpackPhase installPhase fixupPhase";
67+
68+ unpackPhase = ''
69+ echo "=== Extracting makeself archive ==="
70+ # find offset from file
71+ offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src)
72+ dd if="$src" ibs=$offset skip=1 | tar -xf -
73+ cd Unix
74+ '';
75+
76+ installPhase = ''
77+ cd Installer
78+ # don't restrict PATH, that has already been done
79+ sed -i -e 's/^PATH=/# PATH=/' MathInstaller
80+
81+ echo "=== Running MathInstaller ==="
82+ ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -platforms=${platform} -silent
83+ '';
84+
85+ preFixup = ''
86+ echo "=== PatchElfing away ==="
87+ find $out/libexec/Mathematica/SystemFiles -type f -perm -0100 | while read f; do
88+ type=$(readelf -h "$f" 2>/dev/null | grep 'Type:' | sed -e 's/ *Type: *\([A-Z]*\) (.*/\1/')
89+ if [ -z "$type" ]; then
90+ :
91+ elif [ "$type" == "EXEC" ]; then
92+ echo "patching $f executable <<"
93+ patchelf \
94+ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
95+ --set-rpath "${ldpath}" \
96+ "$f"
97+ patchelf --shrink-rpath "$f"
98+ elif [ "$type" == "DYN" ]; then
99+ echo "patching $f library <<"
100+ patchelf \
101+ --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \
102+ "$f" \
103+ && patchelf --shrink-rpath "$f" \
104+ || echo unable to patch ... ignoring 1>&2
105+ else
106+ echo "not patching $f <<: unknown elf type"
107+ fi
108+ done
109+ '';
110+
111+ # all binaries are already stripped
112+ dontStrip = true;
113+
114+ # we did this in prefixup already
115+ dontPatchELF = true;
116+
117+ meta = {
118+ description = "Wolfram Mathematica computational software system";
119+ homepage = "http://www.wolfram.com/mathematica/";
120+ license = stdenv.lib.licenses.unfree;
121+ };
122+}
test/golden/importless/9.txtnew file
No changes to the content.
test/golden/importless/9.x.nixnew file+95
@@ -0,0 +1,95 @@
1+{ stdenv, mkDerivation, fetchurl, cmake, libGLU, libGL, libX11, xorgproto, libXt, libtiff
2+, fetchpatch
3+, enableQt ? false, qtbase, qtx11extras, qttools
4+, enablePython ? false, python ? null
5+# Darwin support
6+, Cocoa, CoreServices, DiskArbitration, IOKit, CFNetwork, Security, GLUT, OpenGL
7+, ApplicationServices, CoreText, IOSurface, ImageIO, xpc, libobjc }:
8+
9+with stdenv.lib;
10+
11+let
12+ os = stdenv.lib.optionalString;
13+ majorVersion = "9.0";
14+ minorVersion = "1";
15+ version = "${majorVersion}.${minorVersion}";
16+in
17+
18+mkDerivation rec {
19+ name = "vtk-${os enableQt "qvtk-"}${version}";
20+ src = fetchurl {
21+ url = "${meta.homepage}files/release/${majorVersion}/VTK-${version}.tar.gz";
22+ sha256 = "1ir2lq9i45ls374lcmjzw0nrm5l5hnm1w47lg8g8d0n2j7hsaf8v";
23+ };
24+
25+ nativeBuildInputs = [ cmake ];
26+
27+ buildInputs = [ libtiff ]
28+ ++ optionals enableQt [ qtbase qtx11extras qttools ]
29+ ++ optionals stdenv.isLinux [
30+ libGLU
31+ libGL
32+ libX11
33+ xorgproto
34+ libXt
35+ ] ++ optionals stdenv.isDarwin [
36+ xpc
37+ Cocoa
38+ CoreServices
39+ DiskArbitration
40+ IOKit
41+ CFNetwork
42+ Security
43+ ApplicationServices
44+ CoreText
45+ IOSurface
46+ ImageIO
47+ OpenGL
48+ GLUT
49+ ]
50+ ++ optional enablePython [
51+ python
52+ ];
53+ propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ libobjc ];
54+
55+ preBuild = ''
56+ export LD_LIBRARY_PATH="$(pwd)/lib";
57+ '';
58+
59+ # Shared libraries don't work, because of rpath troubles with the current
60+ # nixpkgs cmake approach. It wants to call a binary at build time, just
61+ # built and requiring one of the shared objects.
62+ # At least, we use -fPIC for other packages to be able to use this in shared
63+ # objects.
64+ cmakeFlags = [
65+ "-DCMAKE_C_FLAGS=-fPIC"
66+ "-DCMAKE_CXX_FLAGS=-fPIC"
67+ "-DVTK_USE_SYSTEM_TIFF=1"
68+ "-DOPENGL_INCLUDE_DIR=${libGL}/include"
69+ "-DCMAKE_INSTALL_LIBDIR=lib"
70+ "-DCMAKE_INSTALL_INCLUDEDIR=include"
71+ "-DCMAKE_INSTALL_BINDIR=bin"
72+ ]
73+ ++ optionals enableQt [ "-DVTK_Group_Qt:BOOL=ON" ]
74+ ++ optionals stdenv.isDarwin [ "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks" ]
75+ ++ optionals enablePython [
76+ "-DVTK_WRAP_PYTHON:BOOL=ON"
77+ "-DVTK_PYTHON_VERSION:STRING=3"
78+ ];
79+
80+ postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
81+ sed -i 's|COMMAND vtkHashSource|COMMAND "DYLD_LIBRARY_PATH=''${VTK_BINARY_DIR}/lib" ''${VTK_BINARY_DIR}/bin/vtkHashSource-${majorVersion}|' ./Parallel/Core/CMakeLists.txt
82+ sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/' ./ThirdParty/libxml2/vtklibxml2/xmlschemas.c
83+ sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/g' ./ThirdParty/libxml2/vtklibxml2/xpath.c
84+ '';
85+
86+ enableParallelBuilding = true;
87+
88+ meta = with stdenv.lib; {
89+ description = "Open source libraries for 3D computer graphics, image processing and visualization";
90+ homepage = "https://www.vtk.org/";
91+ license = licenses.bsd3;
92+ maintainers = with maintainers; [ tfmoraes ];
93+ platforms = with platforms; unix;
94+ };
95+}
test/golden/importless/9.x.txtnew file
No changes to the content.
test/golden/importless/Cargo.nixnew file+64
@@ -0,0 +1,64 @@
1+{ stdenv, file, curl, pkgconfig, python3, openssl, cmake, zlib
2+, installShellFiles, makeWrapper, libiconv, cacert, rustPlatform, rustc
3+, CoreFoundation, Security
4+}:
5+
6+rustPlatform.buildRustPackage {
7+ name = "cargo-${rustc.version}";
8+ inherit (rustc) version src;
9+
10+ # the rust source tarball already has all the dependencies vendored, no need to fetch them again
11+ cargoVendorDir = "vendor";
12+ buildAndTestSubdir = "src/tools/cargo";
13+
14+ passthru.rustc = rustc;
15+
16+ # changes hash of vendor directory otherwise
17+ dontUpdateAutotoolsGnuConfigScripts = true;
18+
19+ nativeBuildInputs = [ pkgconfig cmake installShellFiles makeWrapper ];
20+ buildInputs = [ cacert file curl python3 openssl zlib ]
21+ ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ];
22+
23+ # cargo uses git-rs which is made for a version of libgit2 from recent master that
24+ # is not compatible with the current version in nixpkgs.
25+ #LIBGIT2_SYS_USE_PKG_CONFIG = 1;
26+
27+ # fixes: the cargo feature `edition` requires a nightly version of Cargo, but this is the `stable` channel
28+ RUSTC_BOOTSTRAP = 1;
29+
30+ postInstall = ''
31+ # NOTE: We override the `http.cainfo` option usually specified in
32+ # `.cargo/config`. This is an issue when users want to specify
33+ # their own certificate chain as environment variables take
34+ # precedence
35+ wrapProgram "$out/bin/cargo" \
36+ --suffix PATH : "${rustc}/bin" \
37+ --set CARGO_HTTP_CAINFO "${cacert}/etc/ssl/certs/ca-bundle.crt" \
38+ --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt"
39+
40+ installManPage src/tools/cargo/src/etc/man/*
41+
42+ installShellCompletion --bash --name cargo \
43+ src/tools/cargo/src/etc/cargo.bashcomp.sh
44+
45+ installShellCompletion --zsh src/tools/cargo/src/etc/_cargo
46+ '';
47+
48+ checkPhase = ''
49+ # Disable cross compilation tests
50+ export CFG_DISABLE_CROSS_TESTS=1
51+ cargo test
52+ '';
53+
54+ # Disable check phase as there are failures (4 tests fail)
55+ doCheck = false;
56+
57+ meta = with stdenv.lib; {
58+ homepage = "https://crates.io";
59+ description = "Downloads your Rust project's dependencies and builds your project";
60+ maintainers = with maintainers; [ retrry ];
61+ license = [ licenses.mit licenses.asl20 ];
62+ platforms = platforms.unix;
63+ };
64+}
test/golden/importless/Cargo.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε ζ η. { CoreFoundation = β; Security = β; cacert = β; cmake = γ; curl = δ; file = δ; installShellFiles = γ; libiconv = β; makeWrapper = γ; openssl = δ; pkgconfig = γ; python3 = δ; rustPlatform = ε; rustc = ζ; stdenv = η; zlib = δ } -> { RUSTC_BOOTSTRAP = Integer; buildAndTestSubdir = String; buildInputs = [β]; cargoVendorDir = String; checkPhase = String; doCheck = Bool; dontUpdateAutotoolsGnuConfigScripts = Bool; meta = { description = String; homepage = String; license = ∀ α. [α]; maintainers = ∀ α. [α]; platforms = ∀ α. α }; name = String; nativeBuildInputs = [γ]; passthru = { rustc = ζ }; postInstall = String }
test/golden/importless/HEAD.nixnew file+266
@@ -0,0 +1,266 @@
1+{ stdenv, pkgsBuildTarget, targetPackages
2+
3+# build-tools
4+, bootPkgs
5+, autoconf, autoreconfHook, automake, coreutils, fetchgit, perl, python3, m4, sphinx
6+, bash
7+
8+, libiconv ? null, ncurses
9+
10+, # GHC can be built with system libffi or a bundled one.
11+ libffi ? null
12+
13+, enableDwarf ? !stdenv.targetPlatform.isDarwin &&
14+ !stdenv.targetPlatform.isWindows
15+, elfutils # for DWARF support
16+
17+, useLLVM ? !stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isiOS
18+, # LLVM is conceptually a run-time-only depedendency, but for
19+ # non-x86, we need LLVM to bootstrap later stages, so it becomes a
20+ # build-time dependency too.
21+ buildLlvmPackages, llvmPackages
22+
23+, # If enabled, GHC will be built with the GPL-free but slightly slower native
24+ # bignum backend instead of the faster but GPLed gmp backend.
25+ enableNativeBignum ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms)
26+, gmp
27+
28+, # If enabled, use -fPIC when compiling static libs.
29+ enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
30+
31+ # aarch64 outputs otherwise exceed 2GB limit
32+, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
33+
34+, # Whether to build dynamic libs for the standard library (on the target
35+ # platform). Static libs are always built.
36+ enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
37+
38+, # Whether to build terminfo.
39+ enableTerminfo ? !stdenv.targetPlatform.isWindows
40+
41+, version ? "8.11.20200824"
42+, # What flavour to build. An empty string indicates no
43+ # specific flavour and falls back to ghc default values.
44+ ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
45+ (if useLLVM then "perf-cross" else "perf-cross-ncg")
46+
47+, # Whether to disable the large address space allocator
48+ # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
49+ disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
50+}:
51+
52+assert !enableNativeBignum -> gmp != null;
53+
54+let
55+ inherit (stdenv) buildPlatform hostPlatform targetPlatform;
56+
57+ inherit (bootPkgs) ghc;
58+
59+ # TODO(@Ericson2314) Make unconditional
60+ targetPrefix = stdenv.lib.optionalString
61+ (targetPlatform != hostPlatform)
62+ "${targetPlatform.config}-";
63+
64+ buildMK = dontStrip: ''
65+ BuildFlavour = ${ghcFlavour}
66+ ifneq \"\$(BuildFlavour)\" \"\"
67+ include mk/flavours/\$(BuildFlavour).mk
68+ endif
69+ DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
70+ BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
71+ '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
72+ Stage1Only = ${if (targetPlatform.system == hostPlatform.system && !targetPlatform.isiOS) then "NO" else "YES"}
73+ CrossCompilePrefix = ${targetPrefix}
74+ HADDOCK_DOCS = NO
75+ BUILD_SPHINX_HTML = NO
76+ BUILD_SPHINX_PDF = NO
77+ '' + stdenv.lib.optionalString dontStrip ''
78+ STRIP_CMD = :
79+ '' + stdenv.lib.optionalString (!enableProfiledLibs) ''
80+ GhcLibWays = "v dyn"
81+ '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
82+ GhcLibHcOpts += -fPIC
83+ GhcRtsHcOpts += -fPIC
84+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
85+ EXTRA_CC_OPTS += -std=gnu99
86+ '';
87+
88+ # Splicer will pull out correct variations
89+ libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
90+ ++ [libffi]
91+ ++ stdenv.lib.optional (!enableNativeBignum) gmp
92+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
93+ ++ stdenv.lib.optional enableDwarf elfutils;
94+
95+ toolsForTarget = [
96+ pkgsBuildTarget.targetPackages.stdenv.cc
97+ ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
98+
99+ targetCC = builtins.head toolsForTarget;
100+
101+ # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
102+ # see #84670 and #49071 for more background.
103+ useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl;
104+
105+in
106+stdenv.mkDerivation (rec {
107+ inherit version;
108+ inherit (src) rev;
109+ name = "${targetPrefix}ghc-${version}";
110+
111+ src = fetchgit {
112+ url = "https://gitlab.haskell.org/ghc/ghc.git/";
113+ rev = "3f50154591ada9064351ccec4adfe6df53ca2439";
114+ sha256 = "1w2p5bc74aswspzvgvrhcb95hvj5ky38rgqqjvrri19z2qyiky6d";
115+ };
116+
117+ enableParallelBuilding = true;
118+
119+ outputs = [ "out" "doc" ];
120+
121+ postPatch = "patchShebangs .";
122+
123+ # GHC is a bit confused on its cross terminology.
124+ preConfigure = ''
125+ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
126+ export "''${env#TARGET_}=''${!env}"
127+ done
128+ # GHC is a bit confused on its cross terminology, as these would normally be
129+ # the *host* tools.
130+ export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
131+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
132+ # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
133+ # and more generally have a faster linker.
134+ export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
135+ export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
136+ export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
137+ export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
138+ export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
139+ export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
140+ export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
141+
142+ echo -n "${buildMK dontStrip}" > mk/build.mk
143+ echo ${version} > VERSION
144+ echo ${src.rev} > GIT_COMMIT_ID
145+ ./boot
146+ sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
147+ '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
148+ export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
149+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
150+ export NIX_LDFLAGS+=" -no_dtrace_dof"
151+ '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
152+ sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
153+ '' + stdenv.lib.optionalString targetPlatform.isMusl ''
154+ echo "patching llvm-targets for musl targets..."
155+ echo "Cloning these existing '*-linux-gnu*' targets:"
156+ grep linux-gnu llvm-targets | sed 's/^/ /'
157+ echo "(go go gadget sed)"
158+ sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
159+ echo "llvm-targets now contains these '*-linux-musl*' targets:"
160+ grep linux-musl llvm-targets | sed 's/^/ /'
161+
162+ echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
163+ # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
164+ for x in configure aclocal.m4; do
165+ substituteInPlace $x \
166+ --replace '*-android*|*-gnueabi*)' \
167+ '*-android*|*-gnueabi*|*-musleabi*)'
168+ done
169+ '';
170+
171+ # TODO(@Ericson2314): Always pass "--target" and always prefix.
172+ configurePlatforms = [ "build" "host" ]
173+ ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
174+
175+ # `--with` flags for libraries needed for RTS linker
176+ configureFlags = [
177+ "--datadir=$doc/share/doc/ghc"
178+ "--with-curses-libraries=${ncurses.out}/lib"
179+ ] ++ stdenv.lib.optionals (libffi != null) [
180+ "--with-system-libffi"
181+ "--with-ffi-includes=${targetPackages.libffi.dev}/include"
182+ "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
183+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
184+ "--with-gmp-includes=${targetPackages.gmp.dev}/include"
185+ "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
186+ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
187+ "--with-iconv-includes=${libiconv}/include"
188+ "--with-iconv-libraries=${libiconv}/lib"
189+ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
190+ "--enable-bootstrap-with-devel-snapshot"
191+ ] ++ stdenv.lib.optionals useLdGold [
192+ "CFLAGS=-fuse-ld=gold"
193+ "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
194+ "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
195+ ] ++ stdenv.lib.optional disableLargeAddressSpace "--disable-large-address-space"
196+ ++ stdenv.lib.optionals enableDwarf [
197+ "--enable-dwarf-unwind"
198+ "--with-libdw-includes=${stdenv.lib.getDev elfutils}/include"
199+ "--with-libdw-libraries=${stdenv.lib.getLib elfutils}/lib"
200+ ];
201+
202+ # Make sure we never relax`$PATH` and hooks support for compatibility.
203+ strictDeps = true;
204+
205+ # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
206+ dontAddExtraLibs = true;
207+
208+ nativeBuildInputs = [
209+ perl autoconf autoreconfHook automake m4 python3 sphinx
210+ ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
211+ ];
212+
213+ # For building runtime libs
214+ depsBuildTarget = toolsForTarget;
215+
216+ buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
217+
218+ propagatedBuildInputs = [ targetPackages.stdenv.cc ]
219+ ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
220+
221+ depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
222+ depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
223+
224+ # required, because otherwise all symbols from HSffi.o are stripped, and
225+ # that in turn causes GHCi to abort
226+ stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
227+
228+ checkTarget = "test";
229+
230+ hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
231+
232+ postInstall = ''
233+ # Install the bash completion file.
234+ install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
235+
236+ # Patch scripts to include "readelf" and "cat" in $PATH.
237+ for i in "$out/bin/"*; do
238+ test ! -h $i || continue
239+ egrep --quiet '^#!' <(head -n 1 $i) || continue
240+ sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
241+ done
242+ '';
243+
244+ passthru = {
245+ inherit bootPkgs targetPrefix;
246+
247+ inherit llvmPackages;
248+ inherit enableShared;
249+
250+ # Our Cabal compiler name
251+ haskellCompilerName = "ghc-${version}";
252+ };
253+
254+ meta = {
255+ homepage = "http://haskell.org/ghc";
256+ description = "The Glasgow Haskell Compiler";
257+ maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
258+ inherit (ghc.meta) license platforms;
259+ };
260+
261+ dontStrip = (targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm);
262+
263+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt{
264+ dontPatchELF = true;
265+ noAuditTmpdir = true;
266+})
test/golden/importless/HEAD.txtnew file
No changes to the content.
test/golden/importless/LASzip2.nixnew file+21
@@ -0,0 +1,21 @@
1+{ stdenv, fetchurl, cmake }:
2+
3+stdenv.mkDerivation rec {
4+ version = "2.2.0";
5+ pname = "LASzip";
6+
7+ src = fetchurl {
8+ url = "https://github.com/LASzip/LASzip/archive/v${version}.tar.gz";
9+ sha256 = "b8e8cc295f764b9d402bc587f3aac67c83ed8b39f1cb686b07c168579c61fbb2";
10+ };
11+
12+ nativeBuildInputs = [ cmake ];
13+
14+ meta = with stdenv.lib; {
15+ description = "Turn quickly bulky LAS files into compact LAZ files without information loss";
16+ homepage = "https://laszip.org";
17+ license = licenses.lgpl2;
18+ maintainers = [ maintainers.michelk ];
19+ platforms = platforms.unix;
20+ };
21+}
test/golden/importless/LASzip2.txtnew file
No changes to the content.
test/golden/importless/Prelude.nixnew file+59
@@ -0,0 +1,59 @@
1+{ buildDhallGitHubPackage, lib }:
2+
3+let
4+ makePrelude =
5+ version: { rev, sha256 }:
6+ buildDhallGitHubPackage {
7+ name = "Prelude-${version}";
8+ owner = "dhall-lang";
9+ repo = "dhall-lang";
10+ directory = "Prelude";
11+ file = "package.dhall";
12+
13+ inherit rev sha256;
14+ };
15+
16+in
17+ lib.mapAttrs makePrelude {
18+ # Prelude versions older than 7.0.0 use old-style union literals, which are
19+ # no longer supported by the latest version of the standard
20+ "7.0.0" = {
21+ rev = "f0509b403ace4b8a72ebb5fa9c473b9aeabeaf33";
22+ sha256 = "00ldlvqfh411vnrnc41zfnlvgfanwfd3l8hdia8kni3r8q9qmd71";
23+ };
24+
25+ "8.0.0" = {
26+ rev = "136a3491753fef251b2087031617d1ee1053f285";
27+ sha256 = "0haxd5dhi5bmg06a0hx1blpivmwrcnndydwagibj3zvch4knyi2q";
28+ };
29+
30+ "9.0.0" = {
31+ rev = "6cbf57c946e7e6576babc23a38320e53ecfa6bee";
32+ sha256 = "1r06fijszyifq5b4j6libwkm06g8693m9n5c4kq61dvzrjfd2gim";
33+ };
34+
35+ "10.0.0" = {
36+ rev = "ecbf82785cff406bbd162bbabf3df6f817c805e0";
37+ sha256 = "0gxkr9649jqpykdzqjc98gkwnjry8wp469037brfghyidwsm021m";
38+ };
39+
40+ "11.0.0" = {
41+ rev = "8098184d17c3aecc82674a7b874077a7641be05a";
42+ sha256 = "0rdvyxq7mvas82wsfzzpk6imzm8ax4q58l522mx0ks69pacpr3yi";
43+ };
44+
45+ "11.1.0" = {
46+ rev = "31e90e1996f6c4cb50e03ccb1f3c45beb4bd278c";
47+ sha256 = "0rdvyxq7mvas82wsfzzpk6imzm8ax4q58l522mx0ks69pacpr3yi";
48+ };
49+
50+ "12.0.0" = {
51+ rev = "9f248138f69ee5e22192dc3d0417d5c77b189e04";
52+ sha256 = "1gbr0376sfamp0ibhcbxz4vaxr6ipv42y42p5wyksfhz3ls9x5ph";
53+ };
54+
55+ "13.0.0" = {
56+ rev = "48db9e1ff1f8881fa4310085834fbc19e313ebf0";
57+ sha256 = "0kg3rzag3irlcldck63rjspls614bc2sbs3zq44h0pzcz9v7z5h9";
58+ };
59+ }
test/golden/importless/Prelude.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ. { buildDhallGitHubPackage = { directory = String; file = String; name = String; owner = String; repo = String; rev = α; sha256 = β } -> γ; lib = δ } -> { 10.0.0 = { rev = String; sha256 = String }; 11.0.0 = { rev = String; sha256 = String }; 11.1.0 = { rev = String; sha256 = String }; 12.0.0 = { rev = String; sha256 = String }; 13.0.0 = { rev = String; sha256 = String }; 7.0.0 = { rev = String; sha256 = String }; 8.0.0 = { rev = String; sha256 = String }; 9.0.0 = { rev = String; sha256 = String } }
test/golden/importless/R16B02-basho.nixnew file+65
@@ -0,0 +1,65 @@
1+{ pkgs, mkDerivation }:
2+
3+mkDerivation {
4+ baseName = "erlang";
5+ version = "16B02.basho10";
6+
7+ src = pkgs.fetchFromGitHub {
8+ owner = "basho";
9+ repo = "otp";
10+ rev = "OTP_R16B02_basho10";
11+ sha256 = "1s2c3ag9dnp6xmcr27kh95n1w50xly97n1mp8ivc2a3gpv4blqmj";
12+ };
13+
14+ preConfigure = ''
15+ export HOME=$PWD/../
16+ export LANG=C
17+ export ERL_TOP=$(pwd)
18+ sed -e s@/bin/pwd@pwd@g -i otp_build
19+ sed -e s@"/usr/bin/env escript"@$(pwd)/bootstrap/bin/escript@g -i lib/diameter/bin/diameterc
20+
21+ ./otp_build autoconf
22+ '';
23+
24+ enableHipe = false;
25+
26+ # Do not install docs, instead use prebuilt versions.
27+ installTargets = "install";
28+ postInstall = let
29+ manpages = pkgs.fetchurl {
30+ url = "https://www.erlang.org/download/otp_doc_man_R16B02.tar.gz";
31+ sha256 = "12apxjmmd591y9g9bhr97z5jbd1jarqg7wj0y2sqhl21hc1yp75p";
32+ };
33+ in ''
34+ sed -e s@$(pwd)/bootstrap/bin/escript@$out/bin/escript@g -i $out/lib/erlang/lib/diameter-1.4.3/bin/diameterc
35+
36+ tar xf "${manpages}" -C "$out/lib/erlang"
37+ for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
38+ prefix="''${i%/*}"
39+ mkdir -p "$out/share/man/''${prefix##*/}"
40+ ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl"
41+ done
42+ '';
43+
44+ meta = {
45+ homepage = "https://github.com/basho/otp/";
46+ description = "Programming language used for massively scalable soft real-time systems, Basho fork";
47+
48+ longDescription = ''
49+ Erlang is a programming language used to build massively scalable
50+ soft real-time systems with requirements on high availability.
51+ Some of its uses are in telecoms, banking, e-commerce, computer
52+ telephony and instant messaging. Erlang's runtime system has
53+ built-in support for concurrency, distribution and fault
54+ tolerance.
55+ This version of Erlang is Basho's version, forked from Ericsson's
56+ repository.
57+ '';
58+
59+ knownVulnerabilities = [ "CVE-2017-1000385" ];
60+
61+ platforms = ["x86_64-linux" "x86_64-darwin"];
62+ license = pkgs.stdenv.lib.licenses.asl20;
63+ maintainers = with pkgs.stdenv.lib.maintainers; [ mdaiter ];
64+ };
65+}
test/golden/importless/R16B02-basho.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ. { mkDerivation = { baseName = String; enableHipe = Bool; installTargets = String; meta = { description = String; homepage = String; knownVulnerabilities = [String]; license = ∀ α. α; longDescription = String; maintainers = ∀ α. [α]; platforms = [String] }; postInstall = String; preConfigure = String; src = { owner = String; repo = String; rev = String; sha256 = String }; version = String } -> γ; pkgs = δ } -> { baseName = String; enableHipe = Bool; installTargets = String; meta = { description = String; homepage = String; knownVulnerabilities = [String]; license = ∀ β. β; longDescription = String; maintainers = ∀ β. [β]; platforms = [String] }; postInstall = String; preConfigure = String; src = { owner = String; repo = String; rev = String; sha256 = String }; version = String }
test/golden/importless/R18.nixnew file+34
@@ -0,0 +1,34 @@
1+{ mkDerivation, fetchpatch }:
2+
3+let
4+ rmAndPwdPatch = fetchpatch {
5+ url = "https://github.com/erlang/otp/commit/98b8650d22e94a5ff839170833f691294f6276d0.patch";
6+ sha256 = "0zjs7as83prgq4d5gaw2cmnajnsprdk8cjl5kklknx0pc2b3hfg5";
7+ };
8+
9+ envAndCpPatch = fetchpatch {
10+ url = "https://github.com/erlang/otp/commit/9f9841eb7327c9fe73e84e197fd2965a97b639cf.patch";
11+ sha256 = "00fx5wc88ki3z71z5q4xzi9h3whhjw1zblpn09w995ygn07m9qhm";
12+ };
13+
14+ makeOrderingPatch = fetchpatch {
15+ url = "https://github.com/erlang/otp/commit/2f1a37f1011ff9d129bc35a6efa0ab937a2aa0e9.patch";
16+ sha256 = "0xfa6hzxh9d7qllkyidcgh57xrrx11w65y7s1hyg52alm06l6b9n";
17+ };
18+
19+ makeParallelInstallPatch = fetchpatch {
20+ url ="https://github.com/erlang/otp/commit/de8fe86f67591dd992bae33f7451523dab36e5bd.patch";
21+ sha256 = "1cj9fjhdng6yllajjm3gkk04ag9bwyb3n70hrb5nk6c292v8a45c";
22+ };
23+
24+in mkDerivation {
25+ version = "18.3.4.8";
26+ sha256 = "16c0h25hh5yvkv436ks5jbd7qmxzb6ndvk64mr404347a20iib0g";
27+
28+ patches = [
29+ rmAndPwdPatch
30+ envAndCpPatch
31+ makeOrderingPatch
32+ makeParallelInstallPatch
33+ ];
34+}
test/golden/importless/R18.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β. { fetchpatch = { sha256 = String; url = String } -> α; mkDerivation = { patches = [{ sha256 = String; url = String }]; sha256 = String; version = String } -> β } -> { patches = [{ sha256 = String; url = String }]; sha256 = String; version = String }
test/golden/importless/R19.nixnew file+19
@@ -0,0 +1,19 @@
1+{ mkDerivation, fetchpatch }:
2+
3+mkDerivation {
4+ version = "19.3.6.11";
5+ sha256 = "0b02iv8dly1vkc2xnqqi030sdj34h4gji2h4qgilllajr1f868vm";
6+
7+ patches = [
8+ # macOS 10.13 crypto fix from OTP-20.1.2
9+ (fetchpatch {
10+ name = "darwin-crypto.patch";
11+ url = "https://github.com/erlang/otp/commit/882c90f72ba4e298aa5a7796661c28053c540a96.patch";
12+ sha256 = "1gggzpm8ssamz6975z7px0g8qq5i4jqw81j846ikg49c5cxvi0hi";
13+ })
14+ ];
15+
16+ prePatch = ''
17+ substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
18+ '';
19+}
test/golden/importless/R19.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β. { fetchpatch = { name = String; sha256 = String; url = String } -> α; mkDerivation = { patches = [{ name = String; sha256 = String; url = String }]; prePatch = String; sha256 = String; version = String } -> β } -> { patches = [{ name = String; sha256 = String; url = String }]; prePatch = String; sha256 = String; version = String }
test/golden/importless/R20.nixnew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation }:
2+
3+mkDerivation {
4+ version = "20.3.8.9";
5+ sha256 = "0v2iiyzss8hiih98wvj0gi2qzdmmhh7bvc9p025wlfm4k7r1109a";
6+
7+ prePatch = ''
8+ substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
9+ '';
10+}
test/golden/importless/R20.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { mkDerivation = { prePatch = String; sha256 = String; version = String } -> α } -> { prePatch = String; sha256 = String; version = String }
test/golden/importless/R21.nixnew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation }:
2+
3+mkDerivation {
4+ version = "21.3.8.3";
5+ sha256 = "1szybirrcpqsl2nmlmpbkxjqnm6i7l7bma87m5cpwi0kpvlxwmcw";
6+
7+ prePatch = ''
8+ substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
9+ '';
10+}
test/golden/importless/R21.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { mkDerivation = { prePatch = String; sha256 = String; version = String } -> α } -> { prePatch = String; sha256 = String; version = String }
test/golden/importless/SystemdJournal2Gelf.nixnew file+59
@@ -0,0 +1,59 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let cfg = config.services.SystemdJournal2Gelf;
6+in
7+
8+{ options = {
9+ services.SystemdJournal2Gelf = {
10+ enable = mkOption {
11+ type = types.bool;
12+ default = false;
13+ description = ''
14+ Whether to enable SystemdJournal2Gelf.
15+ '';
16+ };
17+
18+ graylogServer = mkOption {
19+ type = types.str;
20+ example = "graylog2.example.com:11201";
21+ description = ''
22+ Host and port of your graylog2 input. This should be a GELF
23+ UDP input.
24+ '';
25+ };
26+
27+ extraOptions = mkOption {
28+ type = types.separatedString " ";
29+ default = "";
30+ description = ''
31+ Any extra flags to pass to SystemdJournal2Gelf. Note that
32+ these are basically <literal>journalctl</literal> flags.
33+ '';
34+ };
35+
36+ package = mkOption {
37+ type = types.package;
38+ default = pkgs.systemd-journal2gelf;
39+ description = ''
40+ SystemdJournal2Gelf package to use.
41+ '';
42+ };
43+
44+ };
45+ };
46+
47+ config = mkIf cfg.enable {
48+ systemd.services.SystemdJournal2Gelf = {
49+ description = "SystemdJournal2Gelf";
50+ after = [ "network.target" ];
51+ wantedBy = [ "multi-user.target" ];
52+ serviceConfig = {
53+ ExecStart = "${cfg.package}/bin/SystemdJournal2Gelf ${cfg.graylogServer} --follow ${cfg.extraOptions}";
54+ Restart = "on-failure";
55+ RestartSec = "30";
56+ };
57+ };
58+ };
59+}
test/golden/importless/SystemdJournal2Gelf.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { config = { systemd = { services = { SystemdJournal2Gelf = { after = [String]; description = String; serviceConfig = { ExecStart = String; Restart = String; RestartSec = String }; wantedBy = [String] } } } }; options = { services = { SystemdJournal2Gelf = { enable = { default = Bool; description = String; type = ∀ α. α }; extraOptions = { default = String; description = String; type = String }; graylogServer = { description = String; example = String; type = ∀ α. α }; package = { default = ∀ α. α; description = String; type = ∀ α. α } } } } }
test/golden/importless/_3bmd.nixnew file+30
@@ -0,0 +1,30 @@
1+args @ { fetchurl, ... }:
2+rec {
3+ baseName = ''_3bmd'';
4+ version = ''20171019-git'';
5+
6+ description = ''markdown processor in CL using esrap parser.'';
7+
8+ deps = [ args."alexandria" args."esrap" args."split-sequence" ];
9+
10+ src = fetchurl {
11+ url = ''http://beta.quicklisp.org/archive/3bmd/2017-10-19/3bmd-20171019-git.tgz'';
12+ sha256 = ''1lrh1ypn9wrjcayi9vc706knac1vsxlrzlsxq73apdc7jx4wzywz'';
13+ };
14+
15+ packageName = "3bmd";
16+
17+ asdFilesToKeep = ["3bmd.asd"];
18+ overrides = x: x;
19+}
20+/* (SYSTEM 3bmd DESCRIPTION markdown processor in CL using esrap parser. SHA256
21+ 1lrh1ypn9wrjcayi9vc706knac1vsxlrzlsxq73apdc7jx4wzywz URL
22+ http://beta.quicklisp.org/archive/3bmd/2017-10-19/3bmd-20171019-git.tgz MD5
23+ d691962a511f2edc15f4fc228ecdf546 NAME 3bmd FILENAME _3bmd DEPS
24+ ((NAME alexandria FILENAME alexandria) (NAME esrap FILENAME esrap)
25+ (NAME split-sequence FILENAME split-sequence))
26+ DEPENDENCIES (alexandria esrap split-sequence) VERSION 20171019-git
27+ SIBLINGS
28+ (3bmd-ext-code-blocks 3bmd-ext-definition-lists 3bmd-ext-tables
29+ 3bmd-ext-wiki-links 3bmd-youtube-tests 3bmd-youtube)
30+ PARASITES NIL) */
test/golden/importless/_3bmd.txtnew file
No changes to the content.
test/golden/importless/abnf.nixnew file+27
@@ -0,0 +1,27 @@
1+args @ { fetchurl, ... }:
2+{
3+ baseName = ''abnf'';
4+ version = ''cl-20150608-git'';
5+
6+ description = ''ABNF Parser Generator, per RFC2234'';
7+
8+ deps = [ args."alexandria" args."cl-ppcre" args."esrap" ];
9+
10+ src = fetchurl {
11+ url = ''http://beta.quicklisp.org/archive/cl-abnf/2015-06-08/cl-abnf-20150608-git.tgz'';
12+ sha256 = ''00x95h7v5q7azvr9wrpcfcwsq3sdipjr1hgq9a9lbimp8gfbz687'';
13+ };
14+
15+ packageName = "abnf";
16+
17+ asdFilesToKeep = ["abnf.asd"];
18+ overrides = x: x;
19+}
20+/* (SYSTEM abnf DESCRIPTION ABNF Parser Generator, per RFC2234 SHA256
21+ 00x95h7v5q7azvr9wrpcfcwsq3sdipjr1hgq9a9lbimp8gfbz687 URL
22+ http://beta.quicklisp.org/archive/cl-abnf/2015-06-08/cl-abnf-20150608-git.tgz
23+ MD5 311c2b17e49666dac1c2bb45256be708 NAME abnf FILENAME abnf DEPS
24+ ((NAME alexandria FILENAME alexandria) (NAME cl-ppcre FILENAME cl-ppcre)
25+ (NAME esrap FILENAME esrap))
26+ DEPENDENCIES (alexandria cl-ppcre esrap) VERSION cl-20150608-git SIBLINGS
27+ NIL PARASITES NIL) */
test/golden/importless/abnf.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { fetchurl = { sha256 = String; url = String } -> β } -> { asdFilesToKeep = [String]; baseName = String; deps = ∀ α. [α]; description = String; overrides = ∀ α. α -> α; packageName = String; src = { sha256 = String; url = String }; version = String }
test/golden/importless/account-service-util.nixnew file+44
@@ -0,0 +1,44 @@
1+{ accountsservice
2+, glib
3+, gobject-introspection
4+, python3
5+, wrapGAppsHook
6+, lib
7+}:
8+
9+python3.pkgs.buildPythonApplication {
10+ name = "set-session";
11+
12+ format = "other";
13+
14+ src = ./set-session.py;
15+
16+ dontUnpack = true;
17+
18+ strictDeps = false;
19+
20+ nativeBuildInputs = [
21+ wrapGAppsHook
22+ gobject-introspection
23+ ];
24+
25+ buildInputs = [
26+ accountsservice
27+ glib
28+ ];
29+
30+ propagatedBuildInputs = with python3.pkgs; [
31+ pygobject3
32+ ordered-set
33+ ];
34+
35+ installPhase = ''
36+ mkdir -p $out/bin
37+ cp $src $out/bin/set-session
38+ chmod +x $out/bin/set-session
39+ '';
40+
41+ meta = with lib; {
42+ maintainers = with maintainers; [ worldofpeace ];
43+ };
44+}
test/golden/importless/account-service-util.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ. { accountsservice = γ; glib = γ; gobject-introspection = δ; lib = ε; python3 = ζ; wrapGAppsHook = δ } -> { buildInputs = [γ]; dontUnpack = Bool; format = String; installPhase = String; meta = { maintainers = ∀ α. [α] }; name = String; nativeBuildInputs = [δ]; propagatedBuildInputs = ∀ β. [β]; src = Path; strictDeps = Bool }
test/golden/importless/accountsservice.nixnew file+58
@@ -0,0 +1,58 @@
1+# AccountsService daemon.
2+
3+{ config, lib, pkgs, ... }:
4+
5+with lib;
6+
7+{
8+
9+ meta = {
10+ maintainers = teams.freedesktop.members;
11+ };
12+
13+ ###### interface
14+
15+ options = {
16+
17+ services.accounts-daemon = {
18+
19+ enable = mkOption {
20+ type = types.bool;
21+ default = false;
22+ description = ''
23+ Whether to enable AccountsService, a DBus service for accessing
24+ the list of user accounts and information attached to those accounts.
25+ '';
26+ };
27+
28+ };
29+
30+ };
31+
32+
33+ ###### implementation
34+
35+ config = mkIf config.services.accounts-daemon.enable {
36+
37+ environment.systemPackages = [ pkgs.accountsservice ];
38+
39+ # Accounts daemon looks for dbus interfaces in $XDG_DATA_DIRS/accountsservice
40+ environment.pathsToLink = [ "/share/accountsservice" ];
41+
42+ services.dbus.packages = [ pkgs.accountsservice ];
43+
44+ systemd.packages = [ pkgs.accountsservice ];
45+
46+ systemd.services.accounts-daemon = recursiveUpdate {
47+
48+ wantedBy = [ "graphical.target" ];
49+
50+ # Accounts daemon looks for dbus interfaces in $XDG_DATA_DIRS/accountsservice
51+ environment.XDG_DATA_DIRS = "${config.system.path}/share";
52+
53+ } (optionalAttrs (!config.users.mutableUsers) {
54+ environment.NIXOS_USERS_PURE = "true";
55+ });
56+ };
57+
58+}
test/golden/importless/accountsservice.txtnew file+1
@@ -0,0 +1 @@
1+∀ ε ζ η. { config = ε; lib = ζ; pkgs = η } -> { config = { environment = { pathsToLink = [String]; systemPackages = ∀ γ. [γ] }; services = { dbus = { packages = ∀ β. [β] } }; systemd = { packages = ∀ γ. [γ]; services = { accounts-daemon = { environment = { NIXOS_USERS_PURE = String } } } } }; meta = { maintainers = ∀ δ. δ }; options = { services = { accounts-daemon = { enable = { default = Bool; description = String; type = ∀ α. α } } } } }
test/golden/importless/acpid.nixnew file+156
@@ -0,0 +1,156 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+
7+ canonicalHandlers = {
8+ powerEvent = {
9+ event = "button/power.*";
10+ action = config.services.acpid.powerEventCommands;
11+ };
12+
13+ lidEvent = {
14+ event = "button/lid.*";
15+ action = config.services.acpid.lidEventCommands;
16+ };
17+
18+ acEvent = {
19+ event = "ac_adapter.*";
20+ action = config.services.acpid.acEventCommands;
21+ };
22+ };
23+
24+ acpiConfDir = pkgs.runCommand "acpi-events" { preferLocalBuild = true; }
25+ ''
26+ mkdir -p $out
27+ ${
28+ # Generate a configuration file for each event. (You can't have
29+ # multiple events in one config file...)
30+ let f = name: handler:
31+ ''
32+ fn=$out/${name}
33+ echo "event=${handler.event}" > $fn
34+ echo "action=${pkgs.writeShellScriptBin "${name}.sh" handler.action }/bin/${name}.sh '%e'" >> $fn
35+ '';
36+ in concatStringsSep "\n" (mapAttrsToList f (canonicalHandlers // config.services.acpid.handlers))
37+ }
38+ '';
39+
40+in
41+
42+{
43+
44+ ###### interface
45+
46+ options = {
47+
48+ services.acpid = {
49+
50+ enable = mkOption {
51+ type = types.bool;
52+ default = false;
53+ description = "Whether to enable the ACPI daemon.";
54+ };
55+
56+ logEvents = mkOption {
57+ type = types.bool;
58+ default = false;
59+ description = "Log all event activity.";
60+ };
61+
62+ handlers = mkOption {
63+ type = types.attrsOf (types.submodule {
64+ options = {
65+ event = mkOption {
66+ type = types.str;
67+ example = [ "button/power.*" "button/lid.*" "ac_adapter.*" "button/mute.*" "button/volumedown.*" "cd/play.*" "cd/next.*" ];
68+ description = "Event type.";
69+ };
70+
71+ action = mkOption {
72+ type = types.lines;
73+ description = "Shell commands to execute when the event is triggered.";
74+ };
75+ };
76+ });
77+
78+ description = ''
79+ Event handlers.
80+
81+ <note><para>
82+ Handler can be a single command.
83+ </para></note>
84+ '';
85+ default = {};
86+ example = {
87+ ac-power = {
88+ event = "ac_adapter/*";
89+ action = ''
90+ vals=($1) # space separated string to array of multiple values
91+ case ''${vals[3]} in
92+ 00000000)
93+ echo unplugged >> /tmp/acpi.log
94+ ;;
95+ 00000001)
96+ echo plugged in >> /tmp/acpi.log
97+ ;;
98+ *)
99+ echo unknown >> /tmp/acpi.log
100+ ;;
101+ esac
102+ '';
103+ };
104+ };
105+ };
106+
107+ powerEventCommands = mkOption {
108+ type = types.lines;
109+ default = "";
110+ description = "Shell commands to execute on a button/power.* event.";
111+ };
112+
113+ lidEventCommands = mkOption {
114+ type = types.lines;
115+ default = "";
116+ description = "Shell commands to execute on a button/lid.* event.";
117+ };
118+
119+ acEventCommands = mkOption {
120+ type = types.lines;
121+ default = "";
122+ description = "Shell commands to execute on an ac_adapter.* event.";
123+ };
124+
125+ };
126+
127+ };
128+
129+
130+ ###### implementation
131+
132+ config = mkIf config.services.acpid.enable {
133+
134+ systemd.services.acpid = {
135+ description = "ACPI Daemon";
136+
137+ wantedBy = [ "multi-user.target" ];
138+ after = [ "systemd-udev-settle.service" ];
139+
140+ path = [ pkgs.acpid ];
141+
142+ serviceConfig = {
143+ Type = "forking";
144+ };
145+
146+ unitConfig = {
147+ ConditionVirtualization = "!systemd-nspawn";
148+ ConditionPathExists = [ "/proc/acpi" ];
149+ };
150+
151+ script = "acpid ${optionalString config.services.acpid.logEvents "--logevents"} --confdir ${acpiConfDir}";
152+ };
153+
154+ };
155+
156+}
test/golden/importless/acpid.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { config = γ; lib = δ; pkgs = ε } -> { config = { systemd = { services = { acpid = { after = [String]; description = String; path = ∀ β. [β]; script = String; serviceConfig = { Type = String }; unitConfig = { ConditionPathExists = [String]; ConditionVirtualization = String }; wantedBy = [String] } } } }; options = { services = { acpid = { acEventCommands = { default = String; description = String; type = ∀ β. β }; enable = { default = Bool; description = String; type = ∀ β. β }; handlers = { default = { }; description = String; example = { ac-power = { action = String; event = String } }; type = { options = { action = { description = String; type = ∀ α. α }; event = { description = String; example = [String]; type = ∀ α. α } } } }; lidEventCommands = { default = String; description = String; type = ∀ β. β }; logEvents = { default = Bool; description = String; type = ∀ β. β }; powerEventCommands = { default = String; description = String; type = ∀ β. β } } } } }
test/golden/importless/acpilight.nixnew file+24
@@ -0,0 +1,24 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+let
5+ cfg = config.hardware.acpilight;
6+in
7+{
8+ options = {
9+ hardware.acpilight = {
10+ enable = mkOption {
11+ default = false;
12+ type = types.bool;
13+ description = ''
14+ Enable acpilight.
15+ This will allow brightness control via xbacklight from users in the video group
16+ '';
17+ };
18+ };
19+ };
20+
21+ config = mkIf cfg.enable {
22+ services.udev.packages = with pkgs; [ acpilight ];
23+ };
24+}
test/golden/importless/acpilight.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { config = γ; lib = δ; pkgs = ε } -> { config = { services = { udev = { packages = ∀ β. [β] } } }; options = { hardware = { acpilight = { enable = { default = Bool; description = String; type = ∀ α. α } } } } }
test/golden/importless/actkbd.nixnew file+133
@@ -0,0 +1,133 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+
7+ cfg = config.services.actkbd;
8+
9+ configFile = pkgs.writeText "actkbd.conf" ''
10+ ${concatMapStringsSep "\n"
11+ ({ keys, events, attributes, command, ... }:
12+ ''${concatMapStringsSep "+" toString keys}:${concatStringsSep "," events}:${concatStringsSep "," attributes}:${command}''
13+ )
14+ cfg.bindings}
15+ ${cfg.extraConfig}
16+ '';
17+
18+ bindingCfg = { ... }: {
19+ options = {
20+
21+ keys = mkOption {
22+ type = types.listOf types.int;
23+ description = "List of keycodes to match.";
24+ };
25+
26+ events = mkOption {
27+ type = types.listOf (types.enum ["key" "rep" "rel"]);
28+ default = [ "key" ];
29+ description = "List of events to match.";
30+ };
31+
32+ attributes = mkOption {
33+ type = types.listOf types.str;
34+ default = [ "exec" ];
35+ description = "List of attributes.";
36+ };
37+
38+ command = mkOption {
39+ type = types.str;
40+ default = "";
41+ description = "What to run.";
42+ };
43+
44+ };
45+ };
46+
47+in
48+
49+{
50+
51+ ###### interface
52+
53+ options = {
54+
55+ services.actkbd = {
56+
57+ enable = mkOption {
58+ type = types.bool;
59+ default = false;
60+ description = ''
61+ Whether to enable the <command>actkbd</command> key mapping daemon.
62+
63+ Turning this on will start an <command>actkbd</command>
64+ instance for every evdev input that has at least one key
65+ (which is okay even for systems with tiny memory footprint,
66+ since actkbd normally uses <100 bytes of memory per
67+ instance).
68+
69+ This allows binding keys globally without the need for e.g.
70+ X11.
71+ '';
72+ };
73+
74+ bindings = mkOption {
75+ type = types.listOf (types.submodule bindingCfg);
76+ default = [];
77+ example = lib.literalExample ''
78+ [ { keys = [ 113 ]; events = [ "key" ]; command = "''${pkgs.alsaUtils}/bin/amixer -q set Master toggle"; }
79+ ]
80+ '';
81+ description = ''
82+ Key bindings for <command>actkbd</command>.
83+
84+ See <command>actkbd</command> <filename>README</filename> for documentation.
85+
86+ The example shows a piece of what <option>sound.mediaKeys.enable</option> does when enabled.
87+ '';
88+ };
89+
90+ extraConfig = mkOption {
91+ type = types.lines;
92+ default = "";
93+ description = ''
94+ Literal contents to append to the end of actkbd configuration file.
95+ '';
96+ };
97+
98+ };
99+
100+ };
101+
102+
103+ ###### implementation
104+
105+ config = mkIf cfg.enable {
106+
107+ services.udev.packages = lib.singleton (pkgs.writeTextFile {
108+ name = "actkbd-udev-rules";
109+ destination = "/etc/udev/rules.d/61-actkbd.rules";
110+ text = ''
111+ ACTION=="add", SUBSYSTEM=="input", KERNEL=="event[0-9]*", ENV{ID_INPUT_KEY}=="1", TAG+="systemd", ENV{SYSTEMD_WANTS}+="actkbd@$env{DEVNAME}.service"
112+ '';
113+ });
114+
115+ systemd.services."actkbd@" = {
116+ enable = true;
117+ restartIfChanged = true;
118+ unitConfig = {
119+ Description = "actkbd on %I";
120+ ConditionPathExists = "%I";
121+ };
122+ serviceConfig = {
123+ Type = "forking";
124+ ExecStart = "${pkgs.actkbd}/bin/actkbd -D -c ${configFile} -d %I";
125+ };
126+ };
127+
128+ # For testing
129+ environment.systemPackages = [ pkgs.actkbd ];
130+
131+ };
132+
133+}
test/golden/importless/actkbd.txtnew file+1
@@ -0,0 +1 @@
1+∀ δ ε ζ. { config = δ; lib = ε; pkgs = ζ } -> { config = { environment = { systemPackages = ∀ γ. [γ] }; services = { udev = { packages = { destination = String; name = String; text = String } } }; systemd = { services = { actkbd@ = { enable = Bool; restartIfChanged = Bool; serviceConfig = { ExecStart = String; Type = String }; unitConfig = { ConditionPathExists = String; Description = String } } } } }; options = { services = { actkbd = { bindings = { default = ∀ β. β; description = String; example = String; type = { } -> { options = { attributes = { default = [String]; description = String; type = ∀ α. α }; command = { default = String; description = String; type = ∀ α. α }; events = { default = [String]; description = String; type = [String] }; keys = { description = String; type = ∀ α. α } } } }; enable = { default = Bool; description = String; type = ∀ β. β }; extraConfig = { default = String; description = String; type = ∀ β. β } } } } }
test/golden/importless/adb.nixnew file+30
@@ -0,0 +1,30 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+{
6+ meta.maintainers = [ maintainers.mic92 ];
7+
8+ ###### interface
9+ options = {
10+ programs.adb = {
11+ enable = mkOption {
12+ default = false;
13+ type = types.bool;
14+ description = ''
15+ Whether to configure system to use Android Debug Bridge (adb).
16+ To grant access to a user, it must be part of adbusers group:
17+ <code>users.users.alice.extraGroups = ["adbusers"];</code>
18+ '';
19+ };
20+ };
21+ };
22+
23+ ###### implementation
24+ config = mkIf config.programs.adb.enable {
25+ services.udev.packages = [ pkgs.android-udev-rules ];
26+ # Give platform-tools lower priority so mke2fs+friends are taken from other packages first
27+ environment.systemPackages = [ (lowPrio pkgs.androidenv.androidPkgs_9_0.platform-tools) ];
28+ users.groups.adbusers = {};
29+ };
30+}
test/golden/importless/adb.txtnew file+1
@@ -0,0 +1 @@
1+∀ ε ζ η. { config = ε; lib = ζ; pkgs = η } -> { config = { environment = { systemPackages = ∀ γ. [γ] }; services = { udev = { packages = ∀ β. [β] } }; users = { groups = { adbusers = { } } } }; meta = { maintainers = ∀ δ. [δ] }; options = { programs = { adb = { enable = { default = Bool; description = String; type = ∀ α. α } } } } }
test/golden/importless/addons.nixnew file+964
@@ -0,0 +1,964 @@
1+
2+{fetchurl}:
3+
4+{
5+ addons = {
6+
7+ "10"."google_apis" = {
8+ name = "google_apis";
9+ path = "add-ons/addon-google_apis-google-10";
10+ revision = "10";
11+ displayName = "Google APIs";
12+ archives = {
13+
14+ all = fetchurl {
15+ url = "https://dl.google.com/android/repository/google_apis-10_r02.zip";
16+ sha1 = "cc0711857c881fa7534f90cf8cc09b8fe985484d";
17+ };
18+
19+ };
20+ };
21+
22+ "11"."google_apis" = {
23+ name = "google_apis";
24+ path = "add-ons/addon-google_apis-google-11";
25+ revision = "11";
26+ displayName = "Google APIs";
27+ archives = {
28+
29+ all = fetchurl {
30+ url = "https://dl.google.com/android/repository/google_apis-11_r01.zip";
31+ sha1 = "5eab5e81addee9f3576d456d205208314b5146a5";
32+ };
33+
34+ };
35+ };
36+
37+ "12"."google_apis" = {
38+ name = "google_apis";
39+ path = "add-ons/addon-google_apis-google-12";
40+ revision = "12";
41+ displayName = "Google APIs";
42+ archives = {
43+
44+ all = fetchurl {
45+ url = "https://dl.google.com/android/repository/google_apis-12_r01.zip";
46+ sha1 = "e9999f4fa978812174dfeceec0721c793a636e5d";
47+ };
48+
49+ };
50+ };
51+
52+ "13"."google_apis" = {
53+ name = "google_apis";
54+ path = "add-ons/addon-google_apis-google-13";
55+ revision = "13";
56+ displayName = "Google APIs";
57+ archives = {
58+
59+ all = fetchurl {
60+ url = "https://dl.google.com/android/repository/google_apis-13_r01.zip";
61+ sha1 = "3b153edd211c27dc736c893c658418a4f9041417";
62+ };
63+
64+ };
65+ };
66+
67+ "14"."google_apis" = {
68+ name = "google_apis";
69+ path = "add-ons/addon-google_apis-google-14";
70+ revision = "14";
71+ displayName = "Google APIs";
72+ archives = {
73+
74+ all = fetchurl {
75+ url = "https://dl.google.com/android/repository/google_apis-14_r02.zip";
76+ sha1 = "f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39";
77+ };
78+
79+ };
80+ };
81+
82+ "15"."google_apis" = {
83+ name = "google_apis";
84+ path = "add-ons/addon-google_apis-google-15";
85+ revision = "15";
86+ displayName = "Google APIs";
87+ archives = {
88+
89+ all = fetchurl {
90+ url = "https://dl.google.com/android/repository/google_apis-15_r03.zip";
91+ sha1 = "d0d2bf26805eb271693570a1aaec33e7dc3f45e9";
92+ };
93+
94+ };
95+ };
96+
97+ "16"."google_apis" = {
98+ name = "google_apis";
99+ path = "add-ons/addon-google_apis-google-16";
100+ revision = "16";
101+ displayName = "Google APIs";
102+ archives = {
103+
104+ all = fetchurl {
105+ url = "https://dl.google.com/android/repository/google_apis-16_r04.zip";
106+ sha1 = "ee6acf1b01020bfa8a8e24725dbc4478bee5e792";
107+ };
108+
109+ };
110+ };
111+
112+ "17"."google_apis" = {
113+ name = "google_apis";
114+ path = "add-ons/addon-google_apis-google-17";
115+ revision = "17";
116+ displayName = "Google APIs";
117+ archives = {
118+
119+ all = fetchurl {
120+ url = "https://dl.google.com/android/repository/google_apis-17_r04.zip";
121+ sha1 = "a076be0677f38df8ca5536b44dfb411a0c808c4f";
122+ };
123+
124+ };
125+ };
126+
127+ "18"."google_apis" = {
128+ name = "google_apis";
129+ path = "add-ons/addon-google_apis-google-18";
130+ revision = "18";
131+ displayName = "Google APIs";
132+ archives = {
133+
134+ all = fetchurl {
135+ url = "https://dl.google.com/android/repository/google_apis-18_r04.zip";
136+ sha1 = "6109603409debdd40854d4d4a92eaf8481462c8b";
137+ };
138+
139+ };
140+ };
141+
142+ "19"."google_apis" = {
143+ name = "google_apis";
144+ path = "add-ons/addon-google_apis-google-19";
145+ revision = "19";
146+ displayName = "Google APIs";
147+ archives = {
148+
149+ all = fetchurl {
150+ url = "https://dl.google.com/android/repository/google_apis-19_r20.zip";
151+ sha1 = "5b933abe830b2f25b4c0f171d45e9e0651e56311";
152+ };
153+
154+ };
155+ };
156+
157+ "21"."google_apis" = {
158+ name = "google_apis";
159+ path = "add-ons/addon-google_apis-google-21";
160+ revision = "21";
161+ displayName = "Google APIs";
162+ archives = {
163+
164+ all = fetchurl {
165+ url = "https://dl.google.com/android/repository/google_apis-21_r01.zip";
166+ sha1 = "66a754efb24e9bb07cc51648426443c7586c9d4a";
167+ };
168+
169+ };
170+ };
171+
172+ "22"."google_apis" = {
173+ name = "google_apis";
174+ path = "add-ons/addon-google_apis-google-22";
175+ revision = "22";
176+ displayName = "Google APIs";
177+ archives = {
178+
179+ all = fetchurl {
180+ url = "https://dl.google.com/android/repository/google_apis-22_r01.zip";
181+ sha1 = "5def0f42160cba8acff51b9c0c7e8be313de84f5";
182+ };
183+
184+ };
185+ };
186+
187+ "23"."google_apis" = {
188+ name = "google_apis";
189+ path = "add-ons/addon-google_apis-google-23";
190+ revision = "23";
191+ displayName = "Google APIs";
192+ archives = {
193+
194+ all = fetchurl {
195+ url = "https://dl.google.com/android/repository/google_apis-23_r01.zip";
196+ sha1 = "04c5cc1a7c88967250ebba9561d81e24104167db";
197+ };
198+
199+ };
200+ };
201+
202+ "24"."google_apis" = {
203+ name = "google_apis";
204+ path = "add-ons/addon-google_apis-google-24";
205+ revision = "24";
206+ displayName = "Google APIs";
207+ archives = {
208+
209+ all = fetchurl {
210+ url = "https://dl.google.com/android/repository/google_apis-24_r1.zip";
211+ sha1 = "31361c2868f27343ee917fbd259c1463821b6145";
212+ };
213+
214+ };
215+ };
216+
217+ "3"."google_apis" = {
218+ name = "google_apis";
219+ path = "add-ons/addon-google_apis-google-3";
220+ revision = "3";
221+ displayName = "Google APIs";
222+ archives = {
223+
224+ all = fetchurl {
225+ url = "https://dl.google.com/android/repository/google_apis-3-r03.zip";
226+ sha1 = "1f92abf3a76be66ae8032257fc7620acbd2b2e3a";
227+ };
228+
229+ };
230+ };
231+
232+ "4"."google_apis" = {
233+ name = "google_apis";
234+ path = "add-ons/addon-google_apis-google-4";
235+ revision = "4";
236+ displayName = "Google APIs";
237+ archives = {
238+
239+ all = fetchurl {
240+ url = "https://dl.google.com/android/repository/google_apis-4_r02.zip";
241+ sha1 = "9b6e86d8568558de4d606a7debc4f6049608dbd0";
242+ };
243+
244+ };
245+ };
246+
247+ "5"."google_apis" = {
248+ name = "google_apis";
249+ path = "add-ons/addon-google_apis-google-5";
250+ revision = "5";
251+ displayName = "Google APIs";
252+ archives = {
253+
254+ all = fetchurl {
255+ url = "https://dl.google.com/android/repository/google_apis-5_r01.zip";
256+ sha1 = "46eaeb56b645ee7ffa24ede8fa17f3df70db0503";
257+ };
258+
259+ };
260+ };
261+
262+ "6"."google_apis" = {
263+ name = "google_apis";
264+ path = "add-ons/addon-google_apis-google-6";
265+ revision = "6";
266+ displayName = "Google APIs";
267+ archives = {
268+
269+ all = fetchurl {
270+ url = "https://dl.google.com/android/repository/google_apis-6_r01.zip";
271+ sha1 = "5ff545d96e031e09580a6cf55713015c7d4936b2";
272+ };
273+
274+ };
275+ };
276+
277+ "7"."google_apis" = {
278+ name = "google_apis";
279+ path = "add-ons/addon-google_apis-google-7";
280+ revision = "7";
281+ displayName = "Google APIs";
282+ archives = {
283+
284+ all = fetchurl {
285+ url = "https://dl.google.com/android/repository/google_apis-7_r01.zip";
286+ sha1 = "2e7f91e0fe34fef7f58aeced973c6ae52361b5ac";
287+ };
288+
289+ };
290+ };
291+
292+ "8"."google_apis" = {
293+ name = "google_apis";
294+ path = "add-ons/addon-google_apis-google-8";
295+ revision = "8";
296+ displayName = "Google APIs";
297+ archives = {
298+
299+ all = fetchurl {
300+ url = "https://dl.google.com/android/repository/google_apis-8_r02.zip";
301+ sha1 = "3079958e7ec87222cac1e6b27bc471b27bf2c352";
302+ };
303+
304+ };
305+ };
306+
307+ "9"."google_apis" = {
308+ name = "google_apis";
309+ path = "add-ons/addon-google_apis-google-9";
310+ revision = "9";
311+ displayName = "Google APIs";
312+ archives = {
313+
314+ all = fetchurl {
315+ url = "https://dl.google.com/android/repository/google_apis-9_r02.zip";
316+ sha1 = "78664645a1e9accea4430814f8694291a7f1ea5d";
317+ };
318+
319+ };
320+ };
321+
322+ "12"."google_tv_addon" = {
323+ name = "google_tv_addon";
324+ path = "add-ons/addon-google_tv_addon-google-12";
325+ revision = "12";
326+ displayName = "Google TV Addon";
327+ archives = {
328+
329+ all = fetchurl {
330+ url = "https://dl.google.com/android/repository/google_tv-12_r02.zip";
331+ sha1 = "92128a12e7e8b0fb5bac59153d7779b717e7b840";
332+ };
333+
334+ };
335+ };
336+
337+ "13"."google_tv_addon" = {
338+ name = "google_tv_addon";
339+ path = "add-ons/addon-google_tv_addon-google-13";
340+ revision = "13";
341+ displayName = "Google TV Addon";
342+ archives = {
343+
344+ all = fetchurl {
345+ url = "https://dl.google.com/android/repository/google_tv-13_r01.zip";
346+ sha1 = "b73f7c66011ac8180b44aa4e83b8d78c66ea9a09";
347+ };
348+
349+ };
350+ };
351+
352+ "25"."google_apis" = {
353+ name = "google_apis";
354+ path = "add-ons/addon-google_apis-google-25";
355+ revision = "25";
356+ displayName = "Google APIs";
357+ archives = {
358+
359+ all = fetchurl {
360+ url = "https://dl.google.com/android/repository/google_apis-25_r1.zip";
361+ sha1 = "550e83eea9513ab11c44919ac6da54b36084a9f3";
362+ };
363+
364+ };
365+ };
366+
367+ };
368+
369+ extras = {
370+
371+
372+ "extras;android;gapid;1" = {
373+ name = "extras-android-gapid-1";
374+ path = "extras/android/gapid/1";
375+ revision = "1.0.3";
376+ displayName = "GPU Debugging tools";
377+ archives = {
378+ linux = fetchurl {
379+ url = "https://dl.google.com/android/repository/gapid_r01_linux.zip";
380+ sha1 = "7c9ef7544cf0aea030bcc29bd8e12c04fd53e653";
381+ };
382+ macosx = fetchurl {
383+ url = "https://dl.google.com/android/repository/gapid_r01_osx.zip";
384+ sha1 = "597eb271349d890566274861eba2770a84ee4c69";
385+ };
386+
387+ };
388+ };
389+
390+
391+ "extras;android;gapid;3" = {
392+ name = "extras-android-gapid-3";
393+ path = "extras/android/gapid/3";
394+ revision = "3.1.0";
395+ displayName = "GPU Debugging tools";
396+ archives = {
397+ linux = fetchurl {
398+ url = "https://dl.google.com/android/repository/gapid_2994895_linux.zip";
399+ sha1 = "e40371ba191f617e4e79bc760d0ab2948ba8cf46";
400+ };
401+ macosx = fetchurl {
402+ url = "https://dl.google.com/android/repository/gapid_2994895_osx.zip";
403+ sha1 = "ad86a2350b7b9908300277bf03d41649659de384";
404+ };
405+
406+ };
407+ };
408+
409+
410+ "extras;android;m2repository" = {
411+ name = "extras-android-m2repository";
412+ path = "extras/android/m2repository";
413+ revision = "47.0.0";
414+ displayName = "Android Support Repository";
415+ archives = {
416+
417+ all = fetchurl {
418+ url = "https://dl.google.com/android/repository/android_m2repository_r47.zip";
419+ sha1 = "a0d22beacc106a6977321f2b07d692ce4979e96a";
420+ };
421+
422+ };
423+ };
424+
425+
426+ "extras;google;Android_Emulator_Hypervisor_Driver" = {
427+ name = "extras-google-Android_Emulator_Hypervisor_Driver";
428+ path = "extras/google/Android_Emulator_Hypervisor_Driver";
429+ revision = "1.4.0";
430+ displayName = "Android Emulator Hypervisor Driver for AMD Processors (installer)";
431+ archives = {
432+
433+ };
434+ };
435+
436+
437+ "extras;google;admob_ads_sdk" = {
438+ name = "extras-google-admob_ads_sdk";
439+ path = "extras/google/admob_ads_sdk";
440+ revision = "11";
441+ displayName = "Google AdMob Ads SDK";
442+ archives = {
443+
444+ all = fetchurl {
445+ url = "https://dl.google.com/android/repository/GoogleAdMobAdsSdkAndroid-6.4.1.zip";
446+ sha1 = "0102859d9575baa0bf4fd5eb422af2ad0fe6cb82";
447+ };
448+
449+ };
450+ };
451+
452+
453+ "extras;google;analytics_sdk_v2" = {
454+ name = "extras-google-analytics_sdk_v2";
455+ path = "extras/google/analytics_sdk_v2";
456+ revision = "3";
457+ displayName = "Google Analytics App Tracking SDK";
458+ archives = {
459+
460+ all = fetchurl {
461+ url = "https://dl.google.com/android/repository/GoogleAnalyticsAndroid_2.0beta5.zip";
462+ sha1 = "dc14026bf0ce78315cb5dd00552607de0894de83";
463+ };
464+
465+ };
466+ };
467+
468+
469+ "extras;google;auto" = {
470+ name = "extras-google-auto";
471+ path = "extras/google/auto";
472+ revision = "1.1";
473+ displayName = "Android Auto Desktop Head Unit emulator";
474+ archives = {
475+ linux = fetchurl {
476+ url = "https://dl.google.com/android/repository/desktop-head-unit-linux_r01.1.zip";
477+ sha1 = "202a6e1b3009a0eb815f8c672d2d5b3717de6169";
478+ };
479+ macosx = fetchurl {
480+ url = "https://dl.google.com/android/repository/desktop-head-unit-macosx_r01.1.zip";
481+ sha1 = "8179cbb3914493ebc5eb65b731cba061582f2e84";
482+ };
483+
484+ };
485+ };
486+
487+
488+ "extras;google;gcm" = {
489+ name = "extras-google-gcm";
490+ path = "extras/google/gcm";
491+ revision = "3";
492+ displayName = "Google Cloud Messaging for Android Library";
493+ archives = {
494+
495+ all = fetchurl {
496+ url = "https://dl.google.com/android/repository/gcm_r03.zip";
497+ sha1 = "ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf";
498+ };
499+
500+ };
501+ };
502+
503+
504+ "extras;google;google_play_services" = {
505+ name = "extras-google-google_play_services";
506+ path = "extras/google/google_play_services";
507+ revision = "49";
508+ displayName = "Google Play services";
509+ archives = {
510+
511+ all = fetchurl {
512+ url = "https://dl.google.com/android/repository/google_play_services_v16_1_rc09.zip";
513+ sha1 = "f95bf19634e2ab0430923247fe2c50246432d2e9";
514+ };
515+
516+ };
517+ };
518+
519+
520+ "extras;google;google_play_services_froyo" = {
521+ name = "extras-google-google_play_services_froyo";
522+ path = "extras/google/google_play_services_froyo";
523+ revision = "12";
524+ displayName = "Google Play services for Froyo";
525+ archives = {
526+
527+ all = fetchurl {
528+ url = "https://dl.google.com/android/repository/google_play_services_3265130_r12.zip";
529+ sha1 = "92558dbc380bba3d55d0ec181167fb05ce7c79d9";
530+ };
531+
532+ };
533+ };
534+
535+
536+ "extras;google;instantapps" = {
537+ name = "extras-google-instantapps";
538+ path = "extras/google/instantapps";
539+ revision = "1.9.0";
540+ displayName = "Google Play Instant Development SDK";
541+ archives = {
542+
543+ all = fetchurl {
544+ url = "https://dl.google.com/android/repository/iasdk-1.9.0-1566514721.zip";
545+ sha1 = "c498367dcd7db30154b3e70c4ddbb1b0ea4b8d20";
546+ };
547+
548+ };
549+ };
550+
551+
552+ "extras;google;m2repository" = {
553+ name = "extras-google-m2repository";
554+ path = "extras/google/m2repository";
555+ revision = "58";
556+ displayName = "Google Repository";
557+ archives = {
558+
559+ all = fetchurl {
560+ url = "https://dl.google.com/android/repository/google_m2repository_gms_v11_3_rc05_wear_2_0_5.zip";
561+ sha1 = "05086add9e3a0eb1b67111108d7757a4337c3f10";
562+ };
563+
564+ };
565+ };
566+
567+
568+ "extras;google;market_apk_expansion" = {
569+ name = "extras-google-market_apk_expansion";
570+ path = "extras/google/market_apk_expansion";
571+ revision = "1";
572+ displayName = "Google Play APK Expansion library";
573+ archives = {
574+
575+ all = fetchurl {
576+ url = "https://dl.google.com/android/repository/market_apk_expansion-r03.zip";
577+ sha1 = "5305399dc1a56814e86b8459ce24871916f78b8c";
578+ };
579+
580+ };
581+ };
582+
583+
584+ "extras;google;market_licensing" = {
585+ name = "extras-google-market_licensing";
586+ path = "extras/google/market_licensing";
587+ revision = "1";
588+ displayName = "Google Play Licensing Library";
589+ archives = {
590+
591+ all = fetchurl {
592+ url = "https://dl.google.com/android/repository/market_licensing-r02.zip";
593+ sha1 = "355e8dc304a92a5616db235af8ee7bd554356254";
594+ };
595+
596+ };
597+ };
598+
599+
600+ "extras;google;simulators" = {
601+ name = "extras-google-simulators";
602+ path = "extras/google/simulators";
603+ revision = "1";
604+ displayName = "Android Auto API Simulators";
605+ archives = {
606+
607+ all = fetchurl {
608+ url = "https://dl.google.com/android/repository/simulator_r01.zip";
609+ sha1 = "4fb5344e34e8faab4db18af07dace44c50db26a7";
610+ };
611+
612+ };
613+ };
614+
615+
616+ "extras;google;usb_driver" = {
617+ name = "extras-google-usb_driver";
618+ path = "extras/google/usb_driver";
619+ revision = "12";
620+ displayName = "Google USB Driver";
621+ archives = {
622+
623+ };
624+ };
625+
626+
627+ "extras;google;webdriver" = {
628+ name = "extras-google-webdriver";
629+ path = "extras/google/webdriver";
630+ revision = "2";
631+ displayName = "Google Web Driver";
632+ archives = {
633+
634+ all = fetchurl {
635+ url = "https://dl.google.com/android/repository/webdriver_r02.zip";
636+ sha1 = "13f3a3b2670a5fc04a7342861644be9a01b07e38";
637+ };
638+
639+ };
640+ };
641+
642+
643+ "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0" = {
644+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0";
645+ path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0";
646+ revision = "1";
647+ displayName = "Solver for ConstraintLayout 1.0.0";
648+ archives = {
649+
650+ all = fetchurl {
651+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0.zip";
652+ sha1 = "b621b9d5adf273bb0725948589863e60e96eeaf1";
653+ };
654+
655+ };
656+ };
657+
658+
659+ "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha4" = {
660+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha4";
661+ path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha4";
662+ revision = "1";
663+ displayName = "com.android.support.constraint:constraint-layout-solver:1.0.0-alpha4";
664+ archives = {
665+
666+ all = fetchurl {
667+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha4.zip";
668+ sha1 = "2aa2aceecc6ba172742d0af0b43f11d03924eeb8";
669+ };
670+
671+ };
672+ };
673+
674+
675+ "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha8" = {
676+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha8";
677+ path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha8";
678+ revision = "1";
679+ displayName = "Solver for ConstraintLayout 1.0.0-alpha8";
680+ archives = {
681+
682+ all = fetchurl {
683+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha8.zip";
684+ sha1 = "cd13d16a8f0198c1d6040ec8b1d0d4e5bb7feb6a";
685+ };
686+
687+ };
688+ };
689+
690+
691+ "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1" = {
692+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta1";
693+ path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta1";
694+ revision = "1";
695+ displayName = "Solver for ConstraintLayout 1.0.0-beta1";
696+ archives = {
697+
698+ all = fetchurl {
699+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta1.zip";
700+ sha1 = "042c25575e7650e96f0f5f5d1d3c54ed38eb821a";
701+ };
702+
703+ };
704+ };
705+
706+
707+ "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2" = {
708+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta2";
709+ path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta2";
710+ revision = "1";
711+ displayName = "Solver for ConstraintLayout 1.0.0-beta2";
712+ archives = {
713+
714+ all = fetchurl {
715+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta2.zip";
716+ sha1 = "28492fd42b20ae1586591ff906556d459cfdaae8";
717+ };
718+
719+ };
720+ };
721+
722+
723+ "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3" = {
724+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta3";
725+ path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta3";
726+ revision = "1";
727+ displayName = "Solver for ConstraintLayout 1.0.0-beta3";
728+ archives = {
729+
730+ all = fetchurl {
731+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta3.zip";
732+ sha1 = "268e763fa64bd217d8d830e59ce76be19aaba631";
733+ };
734+
735+ };
736+ };
737+
738+
739+ "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4" = {
740+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta4";
741+ path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta4";
742+ revision = "1";
743+ displayName = "Solver for ConstraintLayout 1.0.0-beta4";
744+ archives = {
745+
746+ all = fetchurl {
747+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta4.zip";
748+ sha1 = "2213bf37e7a2869db2635895b8e90ca6841e79d2";
749+ };
750+
751+ };
752+ };
753+
754+
755+ "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5" = {
756+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta5";
757+ path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta5";
758+ revision = "1";
759+ displayName = "Solver for ConstraintLayout 1.0.0-beta5";
760+ archives = {
761+
762+ all = fetchurl {
763+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta5.zip";
764+ sha1 = "3918cfef73e64048d0b3e048068e208b414e7e91";
765+ };
766+
767+ };
768+ };
769+
770+
771+ "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1" = {
772+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.1";
773+ path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.1";
774+ revision = "1";
775+ displayName = "Solver for ConstraintLayout 1.0.1";
776+ archives = {
777+
778+ all = fetchurl {
779+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.1.zip";
780+ sha1 = "76f8823def9a6da8954a54737762a6820bc1d043";
781+ };
782+
783+ };
784+ };
785+
786+
787+ "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2" = {
788+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.2";
789+ path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.2";
790+ revision = "1";
791+ displayName = "Solver for ConstraintLayout 1.0.2";
792+ archives = {
793+
794+ all = fetchurl {
795+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.2.zip";
796+ sha1 = "96d7ff669f0e808e9833b2c2e320702826ccc8be";
797+ };
798+
799+ };
800+ };
801+
802+
803+ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" = {
804+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0";
805+ path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0";
806+ revision = "1";
807+ displayName = "ConstraintLayout for Android 1.0.0";
808+ archives = {
809+
810+ all = fetchurl {
811+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0.zip";
812+ sha1 = "70acf99689b933bc6735645d5c3d92b91954b6cb";
813+ };
814+
815+ };
816+ };
817+
818+
819+ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha4" = {
820+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha4";
821+ path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha4";
822+ revision = "1";
823+ displayName = "com.android.support.constraint:constraint-layout:1.0.0-alpha4";
824+ archives = {
825+
826+ all = fetchurl {
827+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha4.zip";
828+ sha1 = "645a9be1f0c1177301e71cd0ddccf1dd67c554fe";
829+ };
830+
831+ };
832+ };
833+
834+
835+ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha8" = {
836+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha8";
837+ path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha8";
838+ revision = "1";
839+ displayName = "ConstraintLayout for Android 1.0.0-alpha8";
840+ archives = {
841+
842+ all = fetchurl {
843+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha8.zip";
844+ sha1 = "7912ba03b04831f918f523648f118c4ee4da7604";
845+ };
846+
847+ };
848+ };
849+
850+
851+ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1" = {
852+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta1";
853+ path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta1";
854+ revision = "1";
855+ displayName = "ConstraintLayout for Android 1.0.0-beta1";
856+ archives = {
857+
858+ all = fetchurl {
859+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta1.zip";
860+ sha1 = "11f2f5cec4ff02986bad75435e5be77b704b4c64";
861+ };
862+
863+ };
864+ };
865+
866+
867+ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2" = {
868+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta2";
869+ path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta2";
870+ revision = "1";
871+ displayName = "ConstraintLayout for Android 1.0.0-beta2";
872+ archives = {
873+
874+ all = fetchurl {
875+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta2.zip";
876+ sha1 = "623939865ede2e5c2c975dc55963e0d182bcce95";
877+ };
878+
879+ };
880+ };
881+
882+
883+ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3" = {
884+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta3";
885+ path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta3";
886+ revision = "1";
887+ displayName = "ConstraintLayout for Android 1.0.0-beta3";
888+ archives = {
889+
890+ all = fetchurl {
891+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta3.zip";
892+ sha1 = "d78bb6a8ce92005fb1e4ed55d892a65b4258c60b";
893+ };
894+
895+ };
896+ };
897+
898+
899+ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4" = {
900+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta4";
901+ path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta4";
902+ revision = "1";
903+ displayName = "ConstraintLayout for Android 1.0.0-beta4";
904+ archives = {
905+
906+ all = fetchurl {
907+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta4.zip";
908+ sha1 = "dc60844aab93a09a54a3c107685a77b18d7c1c39";
909+ };
910+
911+ };
912+ };
913+
914+
915+ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5" = {
916+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta5";
917+ path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta5";
918+ revision = "1";
919+ displayName = "ConstraintLayout for Android 1.0.0-beta5";
920+ archives = {
921+
922+ all = fetchurl {
923+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta5.zip";
924+ sha1 = "4660f6c7a576ea1364f0c3225db71c29ca660d9a";
925+ };
926+
927+ };
928+ };
929+
930+
931+ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1" = {
932+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.1";
933+ path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.1";
934+ revision = "1";
935+ displayName = "ConstraintLayout for Android 1.0.1";
936+ archives = {
937+
938+ all = fetchurl {
939+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.1.zip";
940+ sha1 = "342b0894b8651fff37586f80f383733e97aba9f9";
941+ };
942+
943+ };
944+ };
945+
946+
947+ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" = {
948+ name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.2";
949+ path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.2";
950+ revision = "1";
951+ displayName = "ConstraintLayout for Android 1.0.2";
952+ archives = {
953+
954+ all = fetchurl {
955+ url = "https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.2.zip";
956+ sha1 = "3d9688a50fe0ed7348275f85d1b02278f616d8a4";
957+ };
958+
959+ };
960+ };
961+
962+ };
963+}
964+
test/golden/importless/addons.txtnew file+1
@@ -0,0 +1 @@
1+∀ α. { fetchurl = { sha1 = String; url = String } -> α } -> { addons = { 10 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 11 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 12 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; google_tv_addon = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 13 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; google_tv_addon = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 14 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 15 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 16 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 17 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 18 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 19 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 21 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 22 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 23 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 24 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 25 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 3 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 4 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 5 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 6 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 7 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 8 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } }; 9 = { google_apis = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } } }; extras = { extras;android;gapid;1 = { archives = { linux = { sha1 = String; url = String }; macosx = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;android;gapid;3 = { archives = { linux = { sha1 = String; url = String }; macosx = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;android;m2repository = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;Android_Emulator_Hypervisor_Driver = { archives = { }; displayName = String; name = String; path = String; revision = String }; extras;google;admob_ads_sdk = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;analytics_sdk_v2 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;auto = { archives = { linux = { sha1 = String; url = String }; macosx = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;gcm = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;google_play_services = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;google_play_services_froyo = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;instantapps = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;m2repository = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;market_apk_expansion = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;market_licensing = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;simulators = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;google;usb_driver = { archives = { }; displayName = String; name = String; path = String; revision = String }; extras;google;webdriver = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha4 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha8 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha4 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha8 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String }; extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 = { archives = { all = { sha1 = String; url = String } }; displayName = String; name = String; path = String; revision = String } } }
test/golden/importless/advanced.nixnew file+26
@@ -0,0 +1,26 @@
1+{ stdenv, fetchFromGitHub, mkDerivation
2+, cmake, libjpeg, libpng, libtiff, boost
3+, qtbase, qttools }:
4+
5+mkDerivation rec {
6+ pname = "scantailor-advanced";
7+ version = "1.0.16";
8+
9+ src = fetchFromGitHub {
10+ owner = "4lex4";
11+ repo = "scantailor-advanced";
12+ rev = "v${version}";
13+ sha256 = "0lc9lzbpiy5hgimyhl4s4q67pb9gacpy985gl6iy8pl79zxhmcyp";
14+ };
15+
16+ nativeBuildInputs = [ cmake qttools ];
17+ buildInputs = [ libjpeg libpng libtiff boost qtbase ];
18+
19+ meta = with stdenv.lib; {
20+ homepage = "https://github.com/4lex4/scantailor-advanced";
21+ description = "Interactive post-processing tool for scanned pages";
22+ license = licenses.gpl3Plus;
23+ maintainers = with maintainers; [ jfrankenau ];
24+ platforms = with platforms; gnu ++ linux ++ darwin;
25+ };
26+}
test/golden/importless/advanced.txtnew file
No changes to the content.
test/golden/importless/aerospike.nixnew file+156
@@ -0,0 +1,156 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+
7+ cfg = config.services.aerospike;
8+
9+ aerospikeConf = pkgs.writeText "aerospike.conf" ''
10+ # This stanza must come first.
11+ service {
12+ user aerospike
13+ group aerospike
14+ paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
15+ proto-fd-max 15000
16+ work-directory ${cfg.workDir}
17+ }
18+ logging {
19+ console {
20+ context any info
21+ }
22+ }
23+ mod-lua {
24+ system-path ${cfg.package}/share/udf/lua
25+ user-path ${cfg.workDir}/udf/lua
26+ }
27+ network {
28+ ${cfg.networkConfig}
29+ }
30+ ${cfg.extraConfig}
31+ '';
32+
33+in
34+
35+{
36+
37+ ###### interface
38+
39+ options = {
40+
41+ services.aerospike = {
42+ enable = mkEnableOption "Aerospike server";
43+
44+ package = mkOption {
45+ default = pkgs.aerospike;
46+ defaultText = "pkgs.aerospike";
47+ type = types.package;
48+ description = "Which Aerospike derivation to use";
49+ };
50+
51+ workDir = mkOption {
52+ type = types.str;
53+ default = "/var/lib/aerospike";
54+ description = "Location where Aerospike stores its files";
55+ };
56+
57+ networkConfig = mkOption {
58+ type = types.lines;
59+ default = ''
60+ service {
61+ address any
62+ port 3000
63+ }
64+
65+ heartbeat {
66+ address any
67+ mode mesh
68+ port 3002
69+ interval 150
70+ timeout 10
71+ }
72+
73+ fabric {
74+ address any
75+ port 3001
76+ }
77+
78+ info {
79+ address any
80+ port 3003
81+ }
82+ '';
83+ description = "network section of configuration file";
84+ };
85+
86+ extraConfig = mkOption {
87+ type = types.lines;
88+ default = "";
89+ example = ''
90+ namespace test {
91+ replication-factor 2
92+ memory-size 4G
93+ default-ttl 30d
94+ storage-engine memory
95+ }
96+ '';
97+ description = "Extra configuration";
98+ };
99+ };
100+
101+ };
102+
103+
104+ ###### implementation
105+
106+ config = mkIf config.services.aerospike.enable {
107+
108+ users.users.aerospike = {
109+ name = "aerospike";
110+ group = "aerospike";
111+ uid = config.ids.uids.aerospike;
112+ description = "Aerospike server user";
113+ };
114+ users.groups.aerospike.gid = config.ids.gids.aerospike;
115+
116+ systemd.services.aerospike = rec {
117+ description = "Aerospike server";
118+
119+ wantedBy = [ "multi-user.target" ];
120+ after = [ "network.target" ];
121+
122+ serviceConfig = {
123+ ExecStart = "${cfg.package}/bin/asd --fgdaemon --config-file ${aerospikeConf}";
124+ User = "aerospike";
125+ Group = "aerospike";
126+ LimitNOFILE = 100000;
127+ PermissionsStartOnly = true;
128+ };
129+
130+ preStart = ''
131+ if [ $(echo "$(${pkgs.procps}/bin/sysctl -n kernel.shmall) < 4294967296" | ${pkgs.bc}/bin/bc) == "1" ]; then
132+ echo "kernel.shmall too low, setting to 4G pages"
133+ ${pkgs.procps}/bin/sysctl -w kernel.shmall=4294967296
134+ fi
135+ if [ $(echo "$(${pkgs.procps}/bin/sysctl -n kernel.shmmax) < 1073741824" | ${pkgs.bc}/bin/bc) == "1" ]; then
136+ echo "kernel.shmmax too low, setting to 1GB"
137+ ${pkgs.procps}/bin/sysctl -w kernel.shmmax=1073741824
138+ fi
139+ if [ $(echo "$(cat /proc/sys/net/core/rmem_max) < 15728640" | ${pkgs.bc}/bin/bc) == "1" ]; then
140+ echo "increasing socket buffer limit (/proc/sys/net/core/rmem_max): $(cat /proc/sys/net/core/rmem_max) -> 15728640"
141+ echo 15728640 > /proc/sys/net/core/rmem_max
142+ fi
143+ if [ $(echo "$(cat /proc/sys/net/core/wmem_max) < 5242880" | ${pkgs.bc}/bin/bc) == "1" ]; then
144+ echo "increasing socket buffer limit (/proc/sys/net/core/wmem_max): $(cat /proc/sys/net/core/wmem_max) -> 5242880"
145+ echo 5242880 > /proc/sys/net/core/wmem_max
146+ fi
147+ install -d -m0700 -o ${serviceConfig.User} -g ${serviceConfig.Group} "${cfg.workDir}"
148+ install -d -m0700 -o ${serviceConfig.User} -g ${serviceConfig.Group} "${cfg.workDir}/smd"
149+ install -d -m0700 -o ${serviceConfig.User} -g ${serviceConfig.Group} "${cfg.workDir}/udf"
150+ install -d -m0700 -o ${serviceConfig.User} -g ${serviceConfig.Group} "${cfg.workDir}/udf/lua"
151+ '';
152+ };
153+
154+ };
155+
156+}
test/golden/importless/aerospike.txtnew file
No changes to the content.
test/golden/importless/aether-util.nixnew file+15
@@ -0,0 +1,15 @@
1+{ fetchMaven }:
2+
3+{
4+ aetherUtil_0_9_0_M2 = map (obj: fetchMaven {
5+ version = "0.9.0.M2";
6+ artifactId = "aether-util";
7+ groupId = "org.eclipse.aether";
8+ sha512 = obj.sha512;
9+ type = obj.type;
10+ }) [
11+ { type = "jar"; sha512 = "1qh3vzdf33fffsry9256vbaskhp0xsw1d8s7c429a1hiyz8qi9p2sqsh2mqj5vrfj0mxri1nm68pv0nm9fhqzrwfy6f2sihl8rp7df1"; }
12+ { type = "pom"; sha512 = "2a0z5r5avm7gfkabkha6h1b0gbnma725dqby9wz6lhhkwqhn3zmdr69a0ll6vfh1mv0ir4spcr02hi61xlng4lakdlmwllm0g5ixaiz"; }
13+ ];
14+}
15+
test/golden/importless/aether-util.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { fetchMaven = { artifactId = String; groupId = String; sha512 = ∀ α. α; type = ∀ α. α; version = String } -> β } -> { aetherUtil_0_9_0_M2 = [{ sha512 = String; type = String }] }
test/golden/importless/afterstep.nixnew file+25
@@ -0,0 +1,25 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.services.xserver.windowManager.afterstep;
7+in
8+{
9+ ###### interface
10+ options = {
11+ services.xserver.windowManager.afterstep.enable = mkEnableOption "afterstep";
12+ };
13+
14+ ###### implementation
15+ config = mkIf cfg.enable {
16+ services.xserver.windowManager.session = singleton {
17+ name = "afterstep";
18+ start = ''
19+ ${pkgs.afterstep}/bin/afterstep &
20+ waitPID=$!
21+ '';
22+ };
23+ environment.systemPackages = [ pkgs.afterstep ];
24+ };
25+}
test/golden/importless/afterstep.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { config = { environment = { systemPackages = ∀ α. [α] }; services = { xserver = { windowManager = { session = { name = String; start = String } } } } }; options = { services = { xserver = { windowManager = { afterstep = { enable = String } } } } } }
test/golden/importless/agda-packages.nixnew file+30
@@ -0,0 +1,30 @@
1+{ pkgs, lib, callPackage, newScope, Agda }:
2+
3+let
4+ mkAgdaPackages = Agda: lib.makeScope newScope (mkAgdaPackages' Agda);
5+ mkAgdaPackages' = Agda: self: let
6+ callPackage = self.callPackage;
7+ inherit (callPackage ../build-support/agda {
8+ inherit Agda self;
9+ inherit (pkgs.haskellPackages) ghcWithPackages;
10+ }) withPackages mkDerivation;
11+ in {
12+ inherit mkDerivation;
13+
14+ agda = withPackages [] // { inherit withPackages; };
15+
16+ standard-library = callPackage ../development/libraries/agda/standard-library {
17+ inherit (pkgs.haskellPackages) ghcWithPackages;
18+ };
19+
20+ iowa-stdlib = callPackage ../development/libraries/agda/iowa-stdlib { };
21+
22+ agda-prelude = callPackage ../development/libraries/agda/agda-prelude { };
23+
24+ agda-categories = callPackage ../development/libraries/agda/agda-categories { };
25+
26+ cubical = callPackage ../development/libraries/agda/cubical { };
27+
28+ generic = callPackage ../development/libraries/agda/generic { };
29+ };
30+in mkAgdaPackages Agda
test/golden/importless/agda-packages.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ ε ζ. { Agda = α; callPackage = Path -> β; lib = γ; newScope = δ -> ε; pkgs = ζ } -> δ
test/golden/importless/age.nixnew file+65
@@ -0,0 +1,65 @@
1+{ stdenv, fetchFromGitHub, bison, flex, postgresql }:
2+
3+stdenv.mkDerivation rec {
4+ pname = "age";
5+ version = "0.2.0";
6+
7+ src = fetchFromGitHub {
8+ owner = "bitnine-oss";
9+ repo = "AgensGraph-Extension";
10+ rev = "v${version}";
11+ sha256 = "0way59lj30727jlz2qz6rnw4fsxcd5028xcwgrwk7jxcaqi5fa17";
12+ };
13+
14+ buildInputs = [ postgresql ];
15+
16+ makeFlags = [
17+ "BISON=${bison}/bin/bison"
18+ "FLEX=${flex}/bin/flex"
19+ ];
20+
21+ installPhase = ''
22+ install -D -t $out/lib *.so
23+ install -D -t $out/share/postgresql/extension *.sql
24+ install -D -t $out/share/postgresql/extension *.control
25+ '';
26+
27+ passthru.tests = stdenv.mkDerivation {
28+ inherit version src;
29+
30+ pname = "age-regression";
31+
32+ dontConfigure = true;
33+
34+ buildPhase = let
35+ postgresqlAge = postgresql.withPackages (ps: [ ps.age ]);
36+ in ''
37+ # The regression tests need to be run in the order specified in the Makefile.
38+ echo -e "include Makefile\nfiles:\n\t@echo \$(REGRESS)" > Makefile.regress
39+ REGRESS_TESTS=$(make -f Makefile.regress files)
40+
41+ ${postgresql}/lib/pgxs/src/test/regress/pg_regress \
42+ --inputdir=./ \
43+ --bindir='${postgresqlAge}/bin' \
44+ --encoding=UTF-8 \
45+ --load-extension=age \
46+ --inputdir=./regress --outputdir=./regress --temp-instance=./regress/instance \
47+ --port=61958 --dbname=contrib_regression \
48+ $REGRESS_TESTS
49+ '';
50+
51+ installPhase = ''
52+ touch $out
53+ '';
54+ };
55+
56+ meta = with stdenv.lib; {
57+ description = "A graph database extension for PostgreSQL";
58+ homepage = "https://github.com/bitnine-oss/AgensGraph-Extension";
59+ changelog = "https://github.com/bitnine-oss/AgensGraph-Extension/releases/tag/v${version}";
60+ maintainers = with maintainers; [ danieldk ];
61+ platforms = postgresql.meta.platforms;
62+ license = licenses.asl20;
63+ broken = versionOlder postgresql.version "11.0";
64+ };
65+}
test/golden/importless/age.txtnew file
No changes to the content.
test/golden/importless/agent.nixnew file+29
@@ -0,0 +1,29 @@
1+{ lib, fetchFromGitHub, rustPlatform
2+, openssl, zeromq, czmq, pkgconfig, cmake, zlib }:
3+
4+with rustPlatform;
5+
6+buildRustPackage rec {
7+ pname = "intecture-agent";
8+ version = "0.3.1";
9+
10+ src = fetchFromGitHub {
11+ owner = "intecture";
12+ repo = "agent";
13+ rev = version;
14+ sha256 = "0j27qdgyxybaixggh7k57mpm6rifimn4z2vydk463msc8b3kgywj";
15+ };
16+
17+ cargoSha256 = "1is1cbbwxf00dc64h76h57s0wxsai0zm5vfrrss7598cim6a4yxb";
18+
19+ buildInputs = [ openssl zeromq czmq zlib ];
20+
21+ nativeBuildInputs = [ pkgconfig cmake ];
22+
23+ meta = with lib; {
24+ description = "Authentication client/server for Intecture components";
25+ homepage = "https://intecture.io";
26+ license = licenses.mpl20;
27+ maintainers = [ maintainers.rushmorem ];
28+ };
29+}
test/golden/importless/agent.txtnew file
No changes to the content.
test/golden/importless/agetty.nixnew file+117
@@ -0,0 +1,117 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+
7+ autologinArg = optionalString (config.services.mingetty.autologinUser != null) "--autologin ${config.services.mingetty.autologinUser}";
8+ gettyCmd = extraArgs: "@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}";
9+
10+in
11+
12+{
13+
14+ ###### interface
15+
16+ options = {
17+
18+ services.mingetty = {
19+
20+ autologinUser = mkOption {
21+ type = types.nullOr types.str;
22+ default = null;
23+ description = ''
24+ Username of the account that will be automatically logged in at the console.
25+ If unspecified, a login prompt is shown as usual.
26+ '';
27+ };
28+
29+ greetingLine = mkOption {
30+ type = types.str;
31+ description = ''
32+ Welcome line printed by mingetty.
33+ The default shows current NixOS version label, machine type and tty.
34+ '';
35+ };
36+
37+ helpLine = mkOption {
38+ type = types.lines;
39+ default = "";
40+ description = ''
41+ Help line printed by mingetty below the welcome line.
42+ Used by the installation CD to give some hints on
43+ how to proceed.
44+ '';
45+ };
46+
47+ serialSpeed = mkOption {
48+ type = types.listOf types.int;
49+ default = [ 115200 57600 38400 9600 ];
50+ example = [ 38400 9600 ];
51+ description = ''
52+ Bitrates to allow for agetty's listening on serial ports. Listing more
53+ bitrates gives more interoperability but at the cost of long delays
54+ for getting a sync on the line.
55+ '';
56+ };
57+
58+ };
59+
60+ };
61+
62+
63+ ###### implementation
64+
65+ config = {
66+ # Note: this is set here rather than up there so that changing
67+ # nixos.label would not rebuild manual pages
68+ services.mingetty.greetingLine = mkDefault ''<<< Welcome to NixOS ${config.system.nixos.label} (\m) - \l >>>'';
69+
70+ systemd.services."getty@" =
71+ { serviceConfig.ExecStart = [
72+ "" # override upstream default with an empty ExecStart
73+ (gettyCmd "--noclear --keep-baud %I 115200,38400,9600 $TERM")
74+ ];
75+ restartIfChanged = false;
76+ };
77+
78+ systemd.services."serial-getty@" =
79+ let speeds = concatStringsSep "," (map toString config.services.mingetty.serialSpeed); in
80+ { serviceConfig.ExecStart = [
81+ "" # override upstream default with an empty ExecStart
82+ (gettyCmd "%I ${speeds} $TERM")
83+ ];
84+ restartIfChanged = false;
85+ };
86+
87+ systemd.services."container-getty@" =
88+ { serviceConfig.ExecStart = [
89+ "" # override upstream default with an empty ExecStart
90+ (gettyCmd "--noclear --keep-baud pts/%I 115200,38400,9600 $TERM")
91+ ];
92+ restartIfChanged = false;
93+ };
94+
95+ systemd.services.console-getty =
96+ { serviceConfig.ExecStart = [
97+ "" # override upstream default with an empty ExecStart
98+ (gettyCmd "--noclear --keep-baud console 115200,38400,9600 $TERM")
99+ ];
100+ serviceConfig.Restart = "always";
101+ restartIfChanged = false;
102+ enable = mkDefault config.boot.isContainer;
103+ };
104+
105+ environment.etc.issue =
106+ { # Friendly greeting on the virtual consoles.
107+ source = pkgs.writeText "issue" ''
108+
109+ [1;32m${config.services.mingetty.greetingLine}[0m
110+ ${config.services.mingetty.helpLine}
111+
112+ '';
113+ };
114+
115+ };
116+
117+}
test/golden/importless/agetty.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { config = { environment = { etc = { issue = { source = String } } }; services = { mingetty = { greetingLine = String } }; systemd = { services = { console-getty = { enable = ∀ α. α; restartIfChanged = Bool; serviceConfig = { ExecStart = [String]; Restart = String } }; container-getty@ = { restartIfChanged = Bool; serviceConfig = { ExecStart = [String] } }; getty@ = { restartIfChanged = Bool; serviceConfig = { ExecStart = [String] } }; serial-getty@ = { restartIfChanged = Bool; serviceConfig = { ExecStart = [String] } } } } }; options = { services = { mingetty = { autologinUser = { default = Null; description = String; type = ∀ α. α }; greetingLine = { description = String; type = ∀ α. α }; helpLine = { default = String; description = String; type = ∀ α. α }; serialSpeed = { default = [Integer]; description = String; example = [Integer]; type = ∀ α. α } } } } }
test/golden/importless/aggregator.nixnew file+35
@@ -0,0 +1,35 @@
1+{ stdenvNoCC, kmod, modules, buildEnv, name ? "kernel-modules" }:
2+
3+buildEnv {
4+ inherit name;
5+
6+ paths = modules;
7+
8+ postBuild =
9+ ''
10+ source ${stdenvNoCC}/setup
11+
12+ if ! test -d "$out/lib/modules"; then
13+ echo "No modules found."
14+ # To support a kernel without modules
15+ exit 0
16+ fi
17+
18+ kernelVersion=$(cd $out/lib/modules && ls -d *)
19+ if test "$(echo $kernelVersion | wc -w)" != 1; then
20+ echo "inconsistent kernel versions: $kernelVersion"
21+ exit 1
22+ fi
23+
24+ echo "kernel version is $kernelVersion"
25+
26+ shopt -s extglob
27+
28+ # Regenerate the depmod map files. Be sure to pass an explicit
29+ # kernel version number, otherwise depmod will use `uname -r'.
30+ if test -w $out/lib/modules/$kernelVersion; then
31+ rm -f $out/lib/modules/$kernelVersion/modules.!(builtin*|order*)
32+ ${kmod}/bin/depmod -b $out -C $out/etc/depmod.d -a $kernelVersion
33+ fi
34+ '';
35+}
test/golden/importless/aggregator.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ. { buildEnv = { name = String; paths = α; postBuild = String } -> β; kmod = γ; modules = α; name = String; stdenvNoCC = δ } -> { name = String; paths = α; postBuild = String }
test/golden/importless/airsonic.nixnew file+155
@@ -0,0 +1,155 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.services.airsonic;
7+in {
8+ options = {
9+
10+ services.airsonic = {
11+ enable = mkEnableOption "Airsonic, the Free and Open Source media streaming server (fork of Subsonic and Libresonic)";
12+
13+ user = mkOption {
14+ type = types.str;
15+ default = "airsonic";
16+ description = "User account under which airsonic runs.";
17+ };
18+
19+ home = mkOption {
20+ type = types.path;
21+ default = "/var/lib/airsonic";
22+ description = ''
23+ The directory where Airsonic will create files.
24+ Make sure it is writable.
25+ '';
26+ };
27+
28+ virtualHost = mkOption {
29+ type = types.nullOr types.str;
30+ default = null;
31+ description = ''
32+ Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost.
33+ '';
34+ };
35+
36+ listenAddress = mkOption {
37+ type = types.str;
38+ default = "127.0.0.1";
39+ description = ''
40+ The host name or IP address on which to bind Airsonic.
41+ Only relevant if you have multiple network interfaces and want
42+ to make Airsonic available on only one of them. The default value
43+ will bind Airsonic to all available network interfaces.
44+ '';
45+ };
46+
47+ port = mkOption {
48+ type = types.int;
49+ default = 4040;
50+ description = ''
51+ The port on which Airsonic will listen for
52+ incoming HTTP traffic. Set to 0 to disable.
53+ '';
54+ };
55+
56+ contextPath = mkOption {
57+ type = types.path;
58+ default = "/";
59+ description = ''
60+ The context path, i.e., the last part of the Airsonic
61+ URL. Typically '/' or '/airsonic'. Default '/'
62+ '';
63+ };
64+
65+ maxMemory = mkOption {
66+ type = types.int;
67+ default = 100;
68+ description = ''
69+ The memory limit (max Java heap size) in megabytes.
70+ Default: 100
71+ '';
72+ };
73+
74+ transcoders = mkOption {
75+ type = types.listOf types.path;
76+ default = [ "${pkgs.ffmpeg.bin}/bin/ffmpeg" ];
77+ defaultText= [ "\${pkgs.ffmpeg.bin}/bin/ffmpeg" ];
78+ description = ''
79+ List of paths to transcoder executables that should be accessible
80+ from Airsonic. Symlinks will be created to each executable inside
81+ ${cfg.home}/transcoders.
82+ '';
83+ };
84+
85+ jvmOptions = mkOption {
86+ description = ''
87+ Extra command line options for the JVM running AirSonic.
88+ Useful for sending jukebox output to non-default alsa
89+ devices.
90+ '';
91+ default = [
92+ ];
93+ type = types.listOf types.str;
94+ example = [
95+ "-Djavax.sound.sampled.Clip='#CODEC [plughw:1,0]'"
96+ "-Djavax.sound.sampled.Port='#Port CODEC [hw:1]'"
97+ "-Djavax.sound.sampled.SourceDataLine='#CODEC [plughw:1,0]'"
98+ "-Djavax.sound.sampled.TargetDataLine='#CODEC [plughw:1,0]'"
99+ ];
100+ };
101+
102+ };
103+ };
104+
105+ config = mkIf cfg.enable {
106+ systemd.services.airsonic = {
107+ description = "Airsonic Media Server";
108+ after = [ "network.target" ];
109+ wantedBy = [ "multi-user.target" ];
110+
111+ preStart = ''
112+ # Install transcoders.
113+ rm -rf ${cfg.home}/transcode
114+ mkdir -p ${cfg.home}/transcode
115+ for exe in ${toString cfg.transcoders}; do
116+ ln -sf "$exe" ${cfg.home}/transcode
117+ done
118+ '';
119+ serviceConfig = {
120+ ExecStart = ''
121+ ${pkgs.jre}/bin/java -Xmx${toString cfg.maxMemory}m \
122+ -Dairsonic.home=${cfg.home} \
123+ -Dserver.address=${cfg.listenAddress} \
124+ -Dserver.port=${toString cfg.port} \
125+ -Dairsonic.contextPath=${cfg.contextPath} \
126+ -Djava.awt.headless=true \
127+ ${optionalString (cfg.virtualHost != null)
128+ "-Dserver.use-forward-headers=true"} \
129+ ${toString cfg.jvmOptions} \
130+ -verbose:gc \
131+ -jar ${pkgs.airsonic}/webapps/airsonic.war
132+ '';
133+ Restart = "always";
134+ User = "airsonic";
135+ UMask = "0022";
136+ };
137+ };
138+
139+ services.nginx = mkIf (cfg.virtualHost != null) {
140+ enable = true;
141+ recommendedProxySettings = true;
142+ virtualHosts.${cfg.virtualHost} = {
143+ locations.${cfg.contextPath}.proxyPass = "http://${cfg.listenAddress}:${toString cfg.port}";
144+ };
145+ };
146+
147+ users.users.airsonic = {
148+ description = "Airsonic service user";
149+ name = cfg.user;
150+ home = cfg.home;
151+ createHome = true;
152+ isSystemUser = true;
153+ };
154+ };
155+}
test/golden/importless/airsonic.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { config = { services = { nginx = { enable = Bool; recommendedProxySettings = Bool } }; systemd = { services = { airsonic = { after = [String]; description = String; preStart = String; serviceConfig = { ExecStart = String; Restart = String; UMask = String; User = String }; wantedBy = [String] } } }; users = { users = { airsonic = { createHome = Bool; description = String; home = ∀ α. α; isSystemUser = Bool; name = ∀ α. α } } } }; options = { services = { airsonic = { contextPath = { default = String; description = String; type = ∀ α. α }; enable = String; home = { default = String; description = String; type = ∀ α. α }; jvmOptions = { default = ∀ α. α; description = String; example = [String]; type = ∀ α. α }; listenAddress = { default = String; description = String; type = ∀ α. α }; maxMemory = { default = Integer; description = String; type = ∀ α. α }; port = { default = Integer; description = String; type = ∀ α. α }; transcoders = { default = [String]; defaultText = [String]; description = String; type = ∀ α. α }; user = { default = String; description = String; type = ∀ α. α }; virtualHost = { default = Null; description = String; type = ∀ α. α } } } } }
test/golden/importless/ais.nixnew file+40
@@ -0,0 +1,40 @@
1+{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio
2+, makeWrapper, cppunit, gr-osmosdr
3+, pythonSupport ? true, python, swig
4+}:
5+
6+assert pythonSupport -> python != null && swig != null;
7+
8+stdenv.mkDerivation {
9+ pname = "gr-ais";
10+ version = "2015-12-20";
11+
12+ src = fetchFromGitHub {
13+ owner = "bistromath";
14+ repo = "gr-ais";
15+ # Upstream PR: https://github.com/bistromath/gr-ais/commit/8502d0252a2a1a9b8d1a71795eaeb5d820684054
16+ rev = "8502d0252a2a1a9b8d1a71795eaeb5d820684054";
17+ sha256 = "1b9j0kc74cw12a7jv4lii77dgzqzg2s8ndzp4xmisxksgva1qfvh";
18+ };
19+
20+ nativeBuildInputs = [ pkgconfig ];
21+ buildInputs = [
22+ cmake boost gnuradio makeWrapper cppunit gr-osmosdr
23+ ] ++ stdenv.lib.optionals pythonSupport [ python swig ];
24+
25+ postInstall = ''
26+ for prog in "$out"/bin/*; do
27+ wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out")
28+ done
29+ '';
30+
31+ enableParallelBuilding = true;
32+
33+ meta = with stdenv.lib; {
34+ description = "Gnuradio block for ais";
35+ homepage = "https://github.com/bistromath/gr-ais";
36+ license = licenses.gpl3Plus;
37+ platforms = platforms.linux ++ platforms.darwin;
38+ maintainers = with maintainers; [ mog ];
39+ };
40+}
test/golden/importless/ais.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { boost = β; cmake = Null; cppunit = β; fetchFromGitHub = { owner = String; repo = String; rev = String; sha256 = String } -> γ; gnuradio = β; gr-osmosdr = β; makeWrapper = β; pkgconfig = δ; python = Null; pythonSupport = Bool; stdenv = ε; swig = Null } -> { buildInputs = [Null]; enableParallelBuilding = Bool; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α]; platforms = ∀ α. [α] }; nativeBuildInputs = [δ]; pname = String; postInstall = String; src = { owner = String; repo = String; rev = String; sha256 = String }; version = String }
test/golden/importless/akonadi-calendar.nixnew file+20
@@ -0,0 +1,20 @@
1+{
2+ mkDerivation, lib, kdepimTeam,
3+ extra-cmake-modules, kdoctools,
4+ akonadi, akonadi-contacts, kcalendarcore, kcalutils, kcontacts,
5+ kidentitymanagement, kio, kmailtransport,
6+}:
7+
8+mkDerivation {
9+ name = "akonadi-calendar";
10+ meta = {
11+ license = with lib.licenses; [ gpl2 lgpl21 ];
12+ maintainers = kdepimTeam;
13+ };
14+ nativeBuildInputs = [ extra-cmake-modules kdoctools ];
15+ propagatedBuildInputs = [
16+ akonadi akonadi-contacts kcalendarcore kcalutils kcontacts kidentitymanagement
17+ kio kmailtransport
18+ ];
19+ outputs = [ "out" "dev" ];
20+}
test/golden/importless/akonadi-calendar.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η. { akonadi = γ; akonadi-contacts = γ; extra-cmake-modules = δ; kcalendarcore = γ; kcalutils = γ; kcontacts = γ; kdepimTeam = ε; kdoctools = δ; kidentitymanagement = γ; kio = γ; kmailtransport = γ; lib = ζ; mkDerivation = { meta = { license = ∀ α. [α]; maintainers = ε }; name = String; nativeBuildInputs = [δ]; outputs = [String]; propagatedBuildInputs = [γ] } -> η } -> { meta = { license = ∀ β. [β]; maintainers = ε }; name = String; nativeBuildInputs = [δ]; outputs = [String]; propagatedBuildInputs = [γ] }
test/golden/importless/akonadi-contacts.nixnew file+25
@@ -0,0 +1,25 @@
1+{
2+ mkDerivation, lib, kdepimTeam,
3+ extra-cmake-modules,
4+ qtwebengine,
5+ grantlee,
6+ kdbusaddons, ki18n, kiconthemes, kio, kitemmodels, ktextwidgets, prison,
7+ akonadi, akonadi-mime, kcontacts, kmime,
8+}:
9+
10+mkDerivation {
11+ name = "akonadi-contacts";
12+ meta = {
13+ license = with lib.licenses; [ gpl2 lgpl21 ];
14+ maintainers = kdepimTeam;
15+ };
16+ nativeBuildInputs = [ extra-cmake-modules ];
17+ buildInputs = [
18+ qtwebengine
19+ grantlee
20+ kdbusaddons ki18n kiconthemes kio kitemmodels ktextwidgets prison
21+ akonadi-mime kcontacts kmime
22+ ];
23+ propagatedBuildInputs = [ akonadi ];
24+ outputs = [ "out" "dev" ];
25+}
test/golden/importless/akonadi-contacts.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η θ. { akonadi = γ; akonadi-mime = δ; extra-cmake-modules = ε; grantlee = δ; kcontacts = δ; kdbusaddons = δ; kdepimTeam = ζ; ki18n = δ; kiconthemes = δ; kio = δ; kitemmodels = δ; kmime = δ; ktextwidgets = δ; lib = η; mkDerivation = { buildInputs = [δ]; meta = { license = ∀ α. [α]; maintainers = ζ }; name = String; nativeBuildInputs = [ε]; outputs = [String]; propagatedBuildInputs = [γ] } -> θ; prison = δ; qtwebengine = δ } -> { buildInputs = [δ]; meta = { license = ∀ β. [β]; maintainers = ζ }; name = String; nativeBuildInputs = [ε]; outputs = [String]; propagatedBuildInputs = [γ] }
test/golden/importless/akonadi-mime.nixnew file+16
@@ -0,0 +1,16 @@
1+{
2+ mkDerivation, lib, kdepimTeam,
3+ extra-cmake-modules, shared-mime-info,
4+ akonadi, kdbusaddons, ki18n, kio, kitemmodels, kmime
5+}:
6+
7+mkDerivation {
8+ name = "akonadi-mime";
9+ meta = {
10+ license = with lib.licenses; [ gpl2 lgpl21 ];
11+ maintainers = kdepimTeam;
12+ };
13+ nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
14+ buildInputs = [ akonadi kdbusaddons ki18n kio kitemmodels kmime ];
15+ outputs = [ "out" "dev" ];
16+}
test/golden/importless/akonadi-mime.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η. { akonadi = γ; extra-cmake-modules = δ; kdbusaddons = γ; kdepimTeam = ε; ki18n = γ; kio = γ; kitemmodels = γ; kmime = γ; lib = ζ; mkDerivation = { buildInputs = [γ]; meta = { license = ∀ α. [α]; maintainers = ε }; name = String; nativeBuildInputs = [δ]; outputs = [String] } -> η; shared-mime-info = δ } -> { buildInputs = [γ]; meta = { license = ∀ β. [β]; maintainers = ε }; name = String; nativeBuildInputs = [δ]; outputs = [String] }
test/golden/importless/akonadi-notes.nixnew file+18
@@ -0,0 +1,18 @@
1+{
2+ mkDerivation, lib, kdepimTeam,
3+ extra-cmake-modules, kdoctools,
4+ akonadi, kcompletion, ki18n, kitemmodels, kmime, kxmlgui
5+}:
6+
7+mkDerivation {
8+ name = "akonadi-notes";
9+ meta = {
10+ license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
11+ maintainers = kdepimTeam;
12+ };
13+ nativeBuildInputs = [ extra-cmake-modules kdoctools ];
14+ buildInputs = [
15+ akonadi kcompletion ki18n kitemmodels kmime kxmlgui
16+ ];
17+ outputs = [ "out" "dev" ];
18+}
test/golden/importless/akonadi-notes.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η. { akonadi = γ; extra-cmake-modules = δ; kcompletion = γ; kdepimTeam = ε; kdoctools = δ; ki18n = γ; kitemmodels = γ; kmime = γ; kxmlgui = γ; lib = ζ; mkDerivation = { buildInputs = [γ]; meta = { license = ∀ α. [α]; maintainers = ε }; name = String; nativeBuildInputs = [δ]; outputs = [String] } -> η } -> { buildInputs = [γ]; meta = { license = ∀ β. [β]; maintainers = ε }; name = String; nativeBuildInputs = [δ]; outputs = [String] }
test/golden/importless/akonadi-search.nixnew file+20
@@ -0,0 +1,20 @@
1+{
2+ mkDerivation, lib, kdepimTeam,
3+ extra-cmake-modules, kdoctools,
4+ akonadi, akonadi-mime, kcalendarcore, kcmutils, kcontacts, kcoreaddons, kmime,
5+ krunner, qtbase, xapian
6+}:
7+
8+mkDerivation {
9+ name = "akonadi-search";
10+ meta = {
11+ license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
12+ maintainers = kdepimTeam;
13+ };
14+ nativeBuildInputs = [ extra-cmake-modules kdoctools ];
15+ buildInputs = [ kcmutils krunner xapian ];
16+ propagatedBuildInputs = [
17+ akonadi akonadi-mime kcalendarcore kcontacts kcoreaddons kmime qtbase
18+ ];
19+ outputs = [ "out" "dev" ];
20+}
test/golden/importless/akonadi-search.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η θ. { akonadi = γ; akonadi-mime = γ; extra-cmake-modules = δ; kcalendarcore = γ; kcmutils = ε; kcontacts = γ; kcoreaddons = γ; kdepimTeam = ζ; kdoctools = δ; kmime = γ; krunner = ε; lib = η; mkDerivation = { buildInputs = [ε]; meta = { license = ∀ α. [α]; maintainers = ζ }; name = String; nativeBuildInputs = [δ]; outputs = [String]; propagatedBuildInputs = [γ] } -> θ; qtbase = γ; xapian = ε } -> { buildInputs = [ε]; meta = { license = ∀ β. [β]; maintainers = ζ }; name = String; nativeBuildInputs = [δ]; outputs = [String]; propagatedBuildInputs = [γ] }
test/golden/importless/akonadiconsole.nixnew file+21
@@ -0,0 +1,21 @@
1+{
2+ mkDerivation, lib, kdepimTeam,
3+ extra-cmake-modules, kdoctools,
4+ akonadi, akonadi-contacts, calendarsupport, kcalendarcore, kcompletion,
5+ kconfigwidgets, kcontacts, kdbusaddons, kitemmodels, kpimtextedit, libkdepim,
6+ ktextwidgets, kxmlgui, messagelib, qtbase, akonadi-search, xapian
7+}:
8+
9+mkDerivation {
10+ name = "akonadiconsole";
11+ meta = {
12+ license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
13+ maintainers = kdepimTeam;
14+ };
15+ nativeBuildInputs = [ extra-cmake-modules kdoctools ];
16+ buildInputs = [
17+ akonadi akonadi-contacts calendarsupport kcalendarcore kcompletion kconfigwidgets
18+ kcontacts kdbusaddons kitemmodels kpimtextedit ktextwidgets kxmlgui
19+ messagelib qtbase libkdepim akonadi-search xapian
20+ ];
21+}
test/golden/importless/akonadiconsole.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η. { akonadi = γ; akonadi-contacts = γ; akonadi-search = γ; calendarsupport = γ; extra-cmake-modules = δ; kcalendarcore = γ; kcompletion = γ; kconfigwidgets = γ; kcontacts = γ; kdbusaddons = γ; kdepimTeam = ε; kdoctools = δ; kitemmodels = γ; kpimtextedit = γ; ktextwidgets = γ; kxmlgui = γ; lib = ζ; libkdepim = γ; messagelib = γ; mkDerivation = { buildInputs = [γ]; meta = { license = ∀ α. [α]; maintainers = ε }; name = String; nativeBuildInputs = [δ] } -> η; qtbase = γ; xapian = γ } -> { buildInputs = [γ]; meta = { license = ∀ β. [β]; maintainers = ε }; name = String; nativeBuildInputs = [δ] }
test/golden/importless/akregator.nixnew file+30
@@ -0,0 +1,30 @@
1+{
2+ mkDerivation, lib, kdepimTeam,
3+ extra-cmake-modules, kdoctools,
4+ qtwebengine,
5+ grantlee,
6+ kcmutils, kcrash, kiconthemes, knotifyconfig, kparts, ktexteditor,
7+ kwindowsystem,
8+ akonadi, akonadi-mime, grantleetheme, kontactinterface, libkdepim, libkleo,
9+ messagelib, syndication
10+}:
11+
12+mkDerivation {
13+ name = "akregator";
14+ meta = {
15+ license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
16+ maintainers = kdepimTeam;
17+ };
18+ nativeBuildInputs = [ extra-cmake-modules kdoctools ];
19+ buildInputs = [
20+ qtwebengine
21+
22+ grantlee
23+
24+ kcmutils kcrash kiconthemes knotifyconfig kparts ktexteditor kwindowsystem
25+
26+ akonadi akonadi-mime grantleetheme kontactinterface libkdepim libkleo
27+ messagelib syndication
28+ ];
29+ outputs = [ "out" "dev" ];
30+}
test/golden/importless/akregator.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ η. { akonadi = γ; akonadi-mime = γ; extra-cmake-modules = δ; grantlee = γ; grantleetheme = γ; kcmutils = γ; kcrash = γ; kdepimTeam = ε; kdoctools = δ; kiconthemes = γ; knotifyconfig = γ; kontactinterface = γ; kparts = γ; ktexteditor = γ; kwindowsystem = γ; lib = ζ; libkdepim = γ; libkleo = γ; messagelib = γ; mkDerivation = { buildInputs = [γ]; meta = { license = ∀ α. [α]; maintainers = ε }; name = String; nativeBuildInputs = [δ]; outputs = [String] } -> η; qtwebengine = γ; syndication = γ } -> { buildInputs = [γ]; meta = { license = ∀ β. [β]; maintainers = ε }; name = String; nativeBuildInputs = [δ]; outputs = [String] }
test/golden/importless/alerta.nixnew file+115
@@ -0,0 +1,115 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.services.alerta;
7+
8+ alertaConf = pkgs.writeTextFile {
9+ name = "alertad.conf";
10+ text = ''
11+ DATABASE_URL = '${cfg.databaseUrl}'
12+ DATABASE_NAME = '${cfg.databaseName}'
13+ LOG_FILE = '${cfg.logDir}/alertad.log'
14+ LOG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
15+ CORS_ORIGINS = [ ${concatMapStringsSep ", " (s: "\"" + s + "\"") cfg.corsOrigins} ];
16+ AUTH_REQUIRED = ${if cfg.authenticationRequired then "True" else "False"}
17+ SIGNUP_ENABLED = ${if cfg.signupEnabled then "True" else "False"}
18+ ${cfg.extraConfig}
19+ '';
20+ };
21+in
22+{
23+ options.services.alerta = {
24+ enable = mkEnableOption "alerta";
25+
26+ port = mkOption {
27+ type = types.int;
28+ default = 5000;
29+ description = "Port of Alerta";
30+ };
31+
32+ bind = mkOption {
33+ type = types.str;
34+ default = "0.0.0.0";
35+ example = literalExample "0.0.0.0";
36+ description = "Address to bind to. The default is to bind to all addresses";
37+ };
38+
39+ logDir = mkOption {
40+ type = types.path;
41+ description = "Location where the logfiles are stored";
42+ default = "/var/log/alerta";
43+ };
44+
45+ databaseUrl = mkOption {
46+ type = types.str;
47+ description = "URL of the MongoDB or PostgreSQL database to connect to";
48+ default = "mongodb://localhost";
49+ example = "mongodb://localhost";
50+ };
51+
52+ databaseName = mkOption {
53+ type = types.str;
54+ description = "Name of the database instance to connect to";
55+ default = "monitoring";
56+ example = "monitoring";
57+ };
58+
59+ corsOrigins = mkOption {
60+ type = types.listOf types.str;
61+ description = "List of URLs that can access the API for Cross-Origin Resource Sharing (CORS)";
62+ example = [ "http://localhost" "http://localhost:5000" ];
63+ default = [ "http://localhost" "http://localhost:5000" ];
64+ };
65+
66+ authenticationRequired = mkOption {
67+ type = types.bool;
68+ description = "Whether users must authenticate when using the web UI or command-line tool";
69+ default = false;
70+ };
71+
72+ signupEnabled = mkOption {
73+ type = types.bool;
74+ description = "Whether to prevent sign-up of new users via the web UI";
75+ default = true;
76+ };
77+
78+ extraConfig = mkOption {
79+ description = "These lines go into alertad.conf verbatim.";
80+ default = "";
81+ type = types.lines;
82+ };
83+ };
84+
85+ config = mkIf cfg.enable {
86+ systemd.tmpfiles.rules = [
87+ "d '${cfg.logDir}' - alerta alerta - -"
88+ ];
89+
90+ systemd.services.alerta = {
91+ description = "Alerta Monitoring System";
92+ wantedBy = [ "multi-user.target" ];
93+ after = [ "networking.target" ];
94+ environment = {
95+ ALERTA_SVR_CONF_FILE = alertaConf;
96+ };
97+ serviceConfig = {
98+ ExecStart = "${pkgs.python36Packages.alerta-server}/bin/alertad run --port ${toString cfg.port} --host ${cfg.bind}";
99+ User = "alerta";
100+ Group = "alerta";
101+ };
102+ };
103+
104+ environment.systemPackages = [ pkgs.python36Packages.alerta ];
105+
106+ users.users.alerta = {
107+ uid = config.ids.uids.alerta;
108+ description = "Alerta user";
109+ };
110+
111+ users.groups.alerta = {
112+ gid = config.ids.gids.alerta;
113+ };
114+ };
115+}
test/golden/importless/alerta.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { config = γ; lib = δ; pkgs = ε } -> { config = { environment = { systemPackages = ∀ β. [β] }; systemd = { services = { alerta = { after = [String]; description = String; environment = { ALERTA_SVR_CONF_FILE = { name = String; text = String } }; serviceConfig = { ExecStart = String; Group = String; User = String }; wantedBy = [String] } }; tmpfiles = { rules = [String] } }; users = { groups = { alerta = { gid = ∀ α. α } }; users = { alerta = { description = String; uid = ∀ α. α } } } }; options = { services = { alerta = { authenticationRequired = { default = Bool; description = String; type = ∀ α. α }; bind = { default = String; description = String; example = String; type = ∀ α. α }; corsOrigins = { default = [String]; description = String; example = [String]; type = ∀ α. α }; databaseName = { default = String; description = String; example = String; type = ∀ α. α }; databaseUrl = { default = String; description = String; example = String; type = ∀ α. α }; enable = String; extraConfig = { default = String; description = String; type = ∀ α. α }; logDir = { default = String; description = String; type = ∀ α. α }; port = { default = Integer; description = String; type = ∀ α. α }; signupEnabled = { default = Bool; description = String; type = ∀ α. α } } } } }
test/golden/importless/alertmanager.nixnew file+41
@@ -0,0 +1,41 @@
1+{ stdenv, go, buildGoPackage, fetchFromGitHub, installShellFiles }:
2+
3+buildGoPackage rec {
4+ pname = "alertmanager";
5+ version = "0.21.0";
6+ rev = "v${version}";
7+
8+ goPackagePath = "github.com/prometheus/alertmanager";
9+
10+ src = fetchFromGitHub {
11+ inherit rev;
12+ owner = "prometheus";
13+ repo = "alertmanager";
14+ sha256 = "0zrzyaqs73pz4rmj4xaj15x4n1542m0nb7jqm2j77k07j75r5w41";
15+ };
16+
17+ buildFlagsArray = let t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; in ''
18+ -ldflags=
19+ -X ${t}.Version=${version}
20+ -X ${t}.Revision=${src.rev}
21+ -X ${t}.Branch=unknown
22+ -X ${t}.BuildUser=nix@nixpkgs
23+ -X ${t}.BuildDate=unknown
24+ -X ${t}.GoVersion=${stdenv.lib.getVersion go}
25+ '';
26+
27+ nativeBuildInputs = [ installShellFiles ];
28+
29+ postInstall = ''
30+ $out/bin/amtool --completion-script-bash > amtool.bash
31+ installShellCompletion amtool.bash
32+ '';
33+
34+ meta = with stdenv.lib; {
35+ description = "Alert dispatcher for the Prometheus monitoring system";
36+ homepage = "https://github.com/prometheus/alertmanager";
37+ license = licenses.asl20;
38+ maintainers = with maintainers; [ benley fpletz globin Frostman ];
39+ platforms = platforms.unix;
40+ };
41+}
test/golden/importless/alertmanager.txtnew file
No changes to the content.
test/golden/importless/alexandria.nixnew file+26
@@ -0,0 +1,26 @@
1+args @ { fetchurl, ... }:
2+rec {
3+ baseName = ''alexandria'';
4+ version = ''20191227-git'';
5+
6+ description = ''Alexandria is a collection of portable public domain utilities.'';
7+
8+ deps = [ ];
9+
10+ src = fetchurl {
11+ url = ''http://beta.quicklisp.org/archive/alexandria/2019-12-27/alexandria-20191227-git.tgz'';
12+ sha256 = ''1vq19i7mcx3dk8vd8l92ld33birs9qhwcs7hbwwphvrwsrxbnd89'';
13+ };
14+
15+ packageName = "alexandria";
16+
17+ asdFilesToKeep = ["alexandria.asd"];
18+ overrides = x: x;
19+}
20+/* (SYSTEM alexandria DESCRIPTION
21+ Alexandria is a collection of portable public domain utilities. SHA256
22+ 1vq19i7mcx3dk8vd8l92ld33birs9qhwcs7hbwwphvrwsrxbnd89 URL
23+ http://beta.quicklisp.org/archive/alexandria/2019-12-27/alexandria-20191227-git.tgz
24+ MD5 634105318a9c82a2a2729d0305c91667 NAME alexandria FILENAME alexandria
25+ DEPS NIL DEPENDENCIES NIL VERSION 20191227-git SIBLINGS (alexandria-tests)
26+ PARASITES NIL) */
test/golden/importless/alexandria.txtnew file
No changes to the content.
test/golden/importless/aliases.nixnew file+143
@@ -0,0 +1,143 @@
1+# Deprecated aliases - for backward compatibility
2+
3+lib: overriden:
4+
5+with overriden;
6+
7+let
8+ # Removing recurseForDerivation prevents derivations of aliased attribute
9+ # set to appear while listing all the packages available.
10+ removeRecurseForDerivations = alias: with lib;
11+ if alias.recurseForDerivations or false then
12+ removeAttrs alias ["recurseForDerivations"]
13+ else alias;
14+
15+ # Disabling distribution prevents top-level aliases for non-recursed package
16+ # sets from building on Hydra.
17+ removeDistribute = alias: with lib;
18+ if isDerivation alias then
19+ dontDistribute alias
20+ else alias;
21+
22+ # Make sure that we are not shadowing something from
23+ # all-packages.nix.
24+ checkInPkgs = n: alias: if builtins.hasAttr n overriden
25+ then throw "Alias ${n} is still in vim-plugins"
26+ else alias;
27+
28+ mapAliases = aliases:
29+ lib.mapAttrs (n: alias: removeDistribute
30+ (removeRecurseForDerivations
31+ (checkInPkgs n alias)))
32+ aliases;
33+
34+ deprecations = lib.mapAttrs (old: info:
35+ throw "${old} was renamed to ${info.new} on ${info.date}. Please update to ${info.new}."
36+ ) (builtins.fromJSON (builtins.readFile ./deprecated.json));
37+
38+in
39+mapAliases ({
40+ airline = vim-airline;
41+ alternative = a-vim; # backwards compat, added 2014-10-21
42+ bats = bats-vim;
43+ BufOnly = BufOnly-vim;
44+ calendar = calendar-vim;
45+ coffee-script = vim-coffee-script;
46+ coffeeScript = vim-coffee-script; # backwards compat, added 2014-10-18
47+ Solarized = vim-colors-solarized;
48+ solarized = vim-colors-solarized;
49+ colors-solarized = vim-colors-solarized;
50+ caw = caw-vim;
51+ colorsamplerpack = Colour-Sampler-Pack;
52+ Colour_Sampler_Pack = Colour-Sampler-Pack;
53+ command_T = command-t; # backwards compat, added 2014-10-18
54+ commentary = vim-commentary;
55+ committia = committia-vim;
56+ concealedyank = concealedyank-vim;
57+ context-filetype = context_filetype-vim;
58+ Cosco = cosco-vim;
59+ css_color_5056 = vim-css-color;
60+ CSApprox = csapprox;
61+ csv = csv-vim;
62+ ctrlp = ctrlp-vim;
63+ cute-python = vim-cute-python;
64+ denite = denite-nvim;
65+ easy-align = vim-easy-align;
66+ easygit = vim-easygit;
67+ easymotion = vim-easymotion;
68+ echodoc = echodoc-vim;
69+ eighties = vim-eighties;
70+ extradite = vim-extradite;
71+ fugitive = vim-fugitive;
72+ ghc-mod-vim = ghcmod-vim;
73+ ghcmod = ghcmod-vim;
74+ goyo = goyo-vim;
75+ Gist = vim-gist;
76+ gitgutter = vim-gitgutter;
77+ gundo = gundo-vim;
78+ Gundo = gundo-vim; # backwards compat, added 2015-10-03
79+ haskellConceal = vim-haskellconceal; # backwards compat, added 2014-10-18
80+ haskellConcealPlus = vim-haskellConcealPlus;
81+ haskellconceal = vim-haskellconceal;
82+ hier = vim-hier;
83+ hlint-refactor = hlint-refactor-vim;
84+ hoogle = vim-hoogle;
85+ Hoogle = vim-hoogle;
86+ ipython = vim-ipython;
87+ latex-live-preview = vim-latex-live-preview;
88+ maktaba = vim-maktaba;
89+ multiple-cursors = vim-multiple-cursors;
90+ necoGhc = neco-ghc; # backwards compat, added 2014-10-18
91+ neocomplete = neocomplete-vim;
92+ neoinclude = neoinclude-vim;
93+ neomru = neomru-vim;
94+ neosnippet = neosnippet-vim;
95+ The_NERD_Commenter = nerdcommenter;
96+ The_NERD_tree = nerdtree;
97+ open-browser = open-browser-vim;
98+ pathogen = vim-pathogen;
99+ polyglot = vim-polyglot;
100+ prettyprint = vim-prettyprint;
101+ quickrun = vim-quickrun;
102+ rainbow_parentheses = rainbow_parentheses-vim;
103+ repeat = vim-repeat;
104+ riv = riv-vim;
105+ rhubarb = vim-rhubarb;
106+ sensible = vim-sensible;
107+ signature = vim-signature;
108+ snipmate = vim-snipmate;
109+ sourcemap = sourcemap-vim;
110+ "sourcemap.vim" = sourcemap-vim;
111+ surround = vim-surround;
112+ sleuth = vim-sleuth;
113+ solidity = vim-solidity;
114+ stylish-haskell = vim-stylish-haskell;
115+ stylishHaskell = vim-stylish-haskell; # backwards compat, added 2014-10-18
116+ Supertab = supertab;
117+ Syntastic = syntastic;
118+ SyntaxRange = vim-SyntaxRange;
119+ table-mode = vim-table-mode;
120+ taglist = taglist-vim;
121+ tabpagebuffer = tabpagebuffer-vim;
122+ tabpagecd = vim-tabpagecd;
123+ Tabular = tabular;
124+ Tagbar = tagbar;
125+ thumbnail = thumbnail-vim;
126+ tlib = tlib_vim;
127+ tmux-navigator = vim-tmux-navigator;
128+ tmuxNavigator = vim-tmux-navigator; # backwards compat, added 2014-10-18
129+ tslime = tslime-vim;
130+ unite = unite-vim;
131+ UltiSnips = ultisnips;
132+ vim-addon-vim2nix = vim2nix;
133+ vimproc = vimproc-vim;
134+ vimshell = vimshell-vim;
135+ vinegar = vim-vinegar;
136+ watchdogs = vim-watchdogs;
137+ WebAPI = webapi-vim;
138+ wombat256 = wombat256-vim; # backwards compat, added 2015-7-8
139+ yankring = YankRing-vim;
140+ Yankring = YankRing-vim;
141+ xterm-color-table = xterm-color-table-vim;
142+ zeavim = zeavim-vim;
143+} // deprecations)
test/golden/importless/aliases.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. β -> Bool -> { BufOnly = ∀ α. α; CSApprox = ∀ α. α; Colour_Sampler_Pack = ∀ α. α; Cosco = ∀ α. α; Gist = ∀ α. α; Gundo = ∀ α. α; Hoogle = ∀ α. α; Solarized = ∀ α. α; Supertab = ∀ α. α; Syntastic = ∀ α. α; SyntaxRange = ∀ α. α; Tabular = ∀ α. α; Tagbar = ∀ α. α; The_NERD_Commenter = ∀ α. α; The_NERD_tree = ∀ α. α; UltiSnips = ∀ α. α; WebAPI = ∀ α. α; Yankring = ∀ α. α; airline = ∀ α. α; alternative = ∀ α. α; bats = ∀ α. α; calendar = ∀ α. α; caw = ∀ α. α; coffee-script = ∀ α. α; coffeeScript = ∀ α. α; colors-solarized = ∀ α. α; colorsamplerpack = ∀ α. α; command_T = ∀ α. α; commentary = ∀ α. α; committia = ∀ α. α; concealedyank = ∀ α. α; context-filetype = ∀ α. α; css_color_5056 = ∀ α. α; csv = ∀ α. α; ctrlp = ∀ α. α; cute-python = ∀ α. α; denite = ∀ α. α; easy-align = ∀ α. α; easygit = ∀ α. α; easymotion = ∀ α. α; echodoc = ∀ α. α; eighties = ∀ α. α; extradite = ∀ α. α; fugitive = ∀ α. α; ghc-mod-vim = ∀ α. α; ghcmod = ∀ α. α; gitgutter = ∀ α. α; goyo = ∀ α. α; gundo = ∀ α. α; haskellConceal = ∀ α. α; haskellConcealPlus = ∀ α. α; haskellconceal = ∀ α. α; hier = ∀ α. α; hlint-refactor = ∀ α. α; hoogle = ∀ α. α; ipython = ∀ α. α; latex-live-preview = ∀ α. α; maktaba = ∀ α. α; multiple-cursors = ∀ α. α; necoGhc = ∀ α. α; neocomplete = ∀ α. α; neoinclude = ∀ α. α; neomru = ∀ α. α; neosnippet = ∀ α. α; open-browser = ∀ α. α; pathogen = ∀ α. α; polyglot = ∀ α. α; prettyprint = ∀ α. α; quickrun = ∀ α. α; rainbow_parentheses = ∀ α. α; repeat = ∀ α. α; rhubarb = ∀ α. α; riv = ∀ α. α; sensible = ∀ α. α; signature = ∀ α. α; sleuth = ∀ α. α; snipmate = ∀ α. α; solarized = ∀ α. α; solidity = ∀ α. α; sourcemap = ∀ α. α; sourcemap.vim = ∀ α. α; stylish-haskell = ∀ α. α; stylishHaskell = ∀ α. α; surround = ∀ α. α; table-mode = ∀ α. α; tabpagebuffer = ∀ α. α; tabpagecd = ∀ α. α; taglist = ∀ α. α; thumbnail = ∀ α. α; tlib = ∀ α. α; tmux-navigator = ∀ α. α; tmuxNavigator = ∀ α. α; tslime = ∀ α. α; unite = ∀ α. α; vim-addon-vim2nix = ∀ α. α; vimproc = ∀ α. α; vimshell = ∀ α. α; vinegar = ∀ α. α; watchdogs = ∀ α. α; wombat256 = ∀ α. α; xterm-color-table = ∀ α. α; yankring = ∀ α. α; zeavim = ∀ α. α }
test/golden/importless/all.nixnew file+15
@@ -0,0 +1,15 @@
1+{ fetchMaven }:
2+
3+{
4+ hamcrestAll_1_3 = map (obj: fetchMaven {
5+ version = "1.3";
6+ artifactId = "hamcrest-all";
7+ groupId = "org.hamcrest";
8+ sha512 = obj.sha512;
9+ type = obj.type;
10+ }) [
11+ { type = "jar"; sha512 = "3pmh19hhwr2vcvj3wqx0m8gipilny4ap9gax1xpks4k5pwykh74w0x9iwpns7cl8r7kqd6rbq4khhc0shcmfh6gydr8ax201wc7lvb8"; }
12+ { type = "pom"; sha512 = "1w0byl3qy1gq2d8r66fzpffalc7pqm82iz5k3bqcxhclb60ifadmsxi1icqdhfpa29gvr5p1j5723zqpr11dk9w3p16njxc0arqxp2h"; }
13+ ];
14+}
15+
test/golden/importless/all.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { fetchMaven = { artifactId = String; groupId = String; sha512 = ∀ α. α; type = ∀ α. α; version = String } -> β } -> { hamcrestAll_1_3 = [{ sha512 = String; type = String }] }
test/golden/importless/alsamixer.app.nixnew file+27
@@ -0,0 +1,27 @@
1+{ stdenv, fetchgit, pkgconfig, libX11, libXpm, libXext, alsaLib }:
2+
3+stdenv.mkDerivation {
4+ name = "alsamixer.app-0.2.1";
5+ src = fetchgit {
6+ url = "git://repo.or.cz/dockapps.git";
7+ rev = "38c74350b02f35824554ce0c4f0f251d71762040";
8+ sha256 = "0g9cwhlqg065fbhav4g4n16a4cqkk9jykl3y0zwbn5whhacfqyhl";
9+ };
10+
11+ nativeBuildInputs = [ pkgconfig ];
12+ buildInputs = [ libX11 libXpm libXext alsaLib ];
13+
14+ postUnpack = "sourceRoot=\${sourceRoot}/AlsaMixer.app";
15+
16+ installPhase = ''
17+ mkdir -pv $out/bin;
18+ cp AlsaMixer.app $out/bin/AlsaMixer;
19+ '';
20+
21+ meta = {
22+ description = "Alsa mixer application for Windowmaker";
23+ homepage = "http://windowmaker.org/dockapps/?name=AlsaMixer.app";
24+ license = stdenv.lib.licenses.gpl2;
25+ maintainers = [ stdenv.lib.maintainers.bstrik ];
26+ };
27+}
test/golden/importless/alsamixer.app.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { alsaLib = β; fetchgit = { rev = String; sha256 = String; url = String } -> γ; libX11 = β; libXext = β; libXpm = β; pkgconfig = δ; stdenv = ε } -> { buildInputs = [β]; installPhase = String; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α] }; name = String; nativeBuildInputs = [δ]; postUnpack = String; src = { rev = String; sha256 = String; url = String } }
test/golden/importless/alternatives-plugin.nixnew file+25
@@ -0,0 +1,25 @@
1+{ stdenv, fetchFromGitHub, beets, pythonPackages }:
2+
3+pythonPackages.buildPythonApplication rec {
4+ pname = "beets-alternatives";
5+ version = "0.9.0";
6+
7+ src = fetchFromGitHub {
8+ repo = "beets-alternatives";
9+ owner = "geigerzaehler";
10+ # This is 0.8.2 with fixes against Beets 1.4.6 and Python 3 compatibility.
11+ rev = "v${version}";
12+ sha256 = "19160gwg5j6asy8mc21g2kf87mx4zs9x2gbk8q4r6330z4kpl5pm";
13+ };
14+
15+ nativeBuildInputs = [ beets pythonPackages.nose ];
16+
17+ checkPhase = "nosetests";
18+
19+ meta = {
20+ description = "Beets plugin to manage external files";
21+ homepage = "https://github.com/geigerzaehler/beets-alternatives";
22+ maintainers = [ stdenv.lib.maintainers.aszlig ];
23+ license = stdenv.lib.licenses.mit;
24+ };
25+}
test/golden/importless/alternatives-plugin.txtnew file
No changes to the content.
test/golden/importless/amazon-init.nixnew file+60
@@ -0,0 +1,60 @@
1+{ config, pkgs, ... }:
2+
3+let
4+ script = ''
5+ #!${pkgs.runtimeShell} -eu
6+
7+ echo "attempting to fetch configuration from EC2 user data..."
8+
9+ export HOME=/root
10+ export PATH=${pkgs.lib.makeBinPath [ config.nix.package pkgs.systemd pkgs.gnugrep pkgs.git pkgs.gnutar pkgs.gzip pkgs.gnused config.system.build.nixos-rebuild]}:$PATH
11+ export NIX_PATH=nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:nixos-config=/etc/nixos/configuration.nix:/nix/var/nix/profiles/per-user/root/channels
12+
13+ userData=/etc/ec2-metadata/user-data
14+
15+ if [ -s "$userData" ]; then
16+ # If the user-data looks like it could be a nix expression,
17+ # copy it over. Also, look for a magic three-hash comment and set
18+ # that as the channel.
19+ if sed '/^\(#\|SSH_HOST_.*\)/d' < "$userData" | grep -q '\S'; then
20+ channels="$(grep '^###' "$userData" | sed 's|###\s*||')"
21+ while IFS= read -r channel; do
22+ echo "writing channel: $channel"
23+ done < <(printf "%s\n" "$channels")
24+
25+ if [[ -n "$channels" ]]; then
26+ printf "%s" "$channels" > /root/.nix-channels
27+ nix-channel --update
28+ fi
29+
30+ echo "setting configuration from EC2 user data"
31+ cp "$userData" /etc/nixos/configuration.nix
32+ else
33+ echo "user data does not appear to be a Nix expression; ignoring"
34+ exit
35+ fi
36+ else
37+ echo "no user data is available"
38+ exit
39+ fi
40+
41+ nixos-rebuild switch
42+ '';
43+in {
44+ systemd.services.amazon-init = {
45+ inherit script;
46+ description = "Reconfigure the system from EC2 userdata on startup";
47+
48+ wantedBy = [ "multi-user.target" ];
49+ after = [ "multi-user.target" ];
50+ requires = [ "network-online.target" ];
51+
52+ restartIfChanged = false;
53+ unitConfig.X-StopOnRemoval = false;
54+
55+ serviceConfig = {
56+ Type = "oneshot";
57+ RemainAfterExit = true;
58+ };
59+ };
60+}
test/golden/importless/amazon-init.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β. { config = α; pkgs = β } -> { systemd = { services = { amazon-init = { after = [String]; description = String; requires = [String]; restartIfChanged = Bool; script = String; serviceConfig = { RemainAfterExit = Bool; Type = String }; unitConfig = { X-StopOnRemoval = Bool }; wantedBy = [String] } } } }
test/golden/importless/amazon-options.nixnew file+21
@@ -0,0 +1,21 @@
1+{ config, lib, pkgs, ... }:
2+{
3+ options = {
4+ ec2 = {
5+ hvm = lib.mkOption {
6+ default = lib.versionAtLeast config.system.stateVersion "17.03";
7+ internal = true;
8+ description = ''
9+ Whether the EC2 instance is a HVM instance.
10+ '';
11+ };
12+ efi = lib.mkOption {
13+ default = pkgs.stdenv.hostPlatform.isAarch64;
14+ internal = true;
15+ description = ''
16+ Whether the EC2 instance is using EFI.
17+ '';
18+ };
19+ };
20+ };
21+}
test/golden/importless/amazon-options.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { options = { ec2 = { efi = { default = ∀ α. α; description = String; internal = Bool }; hvm = { default = String; description = String; internal = Bool } } } }
test/golden/importless/amd-microcode.nixnew file+29
@@ -0,0 +1,29 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+{
6+
7+ ###### interface
8+
9+ options = {
10+
11+ hardware.cpu.amd.updateMicrocode = mkOption {
12+ default = false;
13+ type = types.bool;
14+ description = ''
15+ Update the CPU microcode for AMD processors.
16+ '';
17+ };
18+
19+ };
20+
21+
22+ ###### implementation
23+
24+ config = mkIf config.hardware.cpu.amd.updateMicrocode {
25+ # Microcode updates must be the first item prepended in the initrd
26+ boot.initrd.prepend = mkOrder 1 [ "${pkgs.microcodeAmd}/amd-ucode.img" ];
27+ };
28+
29+}
test/golden/importless/amd-microcode.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { config = { boot = { initrd = { prepend = [String] } } }; options = { hardware = { cpu = { amd = { updateMicrocode = { default = Bool; description = String; type = ∀ α. α } } } } } }
test/golden/importless/amd.nixnew file+29
@@ -0,0 +1,29 @@
1+{ stdenv, firmwareLinuxNonfree, libarchive }:
2+
3+stdenv.mkDerivation {
4+ name = "amd-ucode-${firmwareLinuxNonfree.version}";
5+
6+ src = firmwareLinuxNonfree;
7+
8+ sourceRoot = ".";
9+
10+ buildInputs = [ libarchive ];
11+
12+ buildPhase = ''
13+ mkdir -p kernel/x86/microcode
14+ find ${firmwareLinuxNonfree}/lib/firmware/amd-ucode -name \*.bin \
15+ -exec sh -c 'cat {} >> kernel/x86/microcode/AuthenticAMD.bin' \;
16+ '';
17+
18+ installPhase = ''
19+ mkdir -p $out
20+ echo kernel/x86/microcode/AuthenticAMD.bin | bsdcpio -o -H newc -R 0:0 > $out/amd-ucode.img
21+ '';
22+
23+ meta = with stdenv.lib; {
24+ description = "AMD Processor microcode patch";
25+ homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
26+ license = licenses.unfreeRedistributableFirmware;
27+ platforms = platforms.linux;
28+ };
29+}
test/golden/importless/amd.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { firmwareLinuxNonfree = β; libarchive = γ; stdenv = δ } -> { buildInputs = [γ]; buildPhase = String; installPhase = String; meta = { description = String; homepage = String; license = ∀ α. α; platforms = ∀ α. α }; name = String; sourceRoot = String; src = β }
test/golden/importless/amdgpu-pro.nixnew file+68
@@ -0,0 +1,68 @@
1+# This module provides the proprietary AMDGPU-PRO drivers.
2+
3+{ config, lib, pkgs, ... }:
4+
5+with lib;
6+
7+let
8+
9+ drivers = config.services.xserver.videoDrivers;
10+
11+ enabled = elem "amdgpu-pro" drivers;
12+
13+ package = config.boot.kernelPackages.amdgpu-pro;
14+ package32 = pkgs.pkgsi686Linux.linuxPackages.amdgpu-pro.override { libsOnly = true; kernel = null; };
15+
16+ opengl = config.hardware.opengl;
17+
18+ kernel = pkgs.linux_4_9.override {
19+ extraConfig = ''
20+ KALLSYMS_ALL y
21+ '';
22+ };
23+
24+in
25+
26+{
27+
28+ config = mkIf enabled {
29+
30+ nixpkgs.config.xorg.abiCompat = "1.19";
31+
32+ services.xserver.drivers = singleton
33+ { name = "amdgpu"; modules = [ package ]; display = true; };
34+
35+ hardware.opengl.package = package;
36+ hardware.opengl.package32 = package32;
37+ hardware.opengl.setLdLibraryPath = true;
38+
39+ boot.extraModulePackages = [ package ];
40+
41+ boot.kernelPackages =
42+ pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor kernel);
43+
44+ boot.blacklistedKernelModules = [ "radeon" ];
45+
46+ hardware.firmware = [ package ];
47+
48+ system.activationScripts.setup-amdgpu-pro = ''
49+ mkdir -p /run/lib
50+ ln -sfn ${package}/lib ${package.libCompatDir}
51+ ln -sfn ${package} /run/amdgpu-pro
52+ '' + optionalString opengl.driSupport32Bit ''
53+ ln -sfn ${package32}/lib ${package32.libCompatDir}
54+ '';
55+
56+ system.requiredKernelConfig = with config.lib.kernelConfig; [
57+ (isYes "KALLSYMS_ALL")
58+ ];
59+
60+ environment.etc = {
61+ "amd/amdrc".source = package + "/etc/amd/amdrc";
62+ "amd/amdapfxx.blb".source = package + "/etc/amd/amdapfxx.blb";
63+ "gbm/gbm.conf".source = package + "/etc/gbm/gbm.conf";
64+ };
65+
66+ };
67+
68+}
test/golden/importless/amdgpu-pro.txtnew file+1
@@ -0,0 +1 @@
1+∀ δ ε ζ. { config = δ; lib = ε; pkgs = ζ } -> { config = { boot = { blacklistedKernelModules = [String]; extraModulePackages = [∀ γ. γ]; kernelPackages = { extraConfig = String } }; environment = { etc = { amd/amdapfxx.blb = { source = ∀ β. β }; amd/amdrc = { source = ∀ β. β }; gbm/gbm.conf = { source = ∀ β. β } } }; hardware = { firmware = [∀ γ. γ]; opengl = { package = ∀ γ. γ; package32 = { kernel = Null; libsOnly = Bool }; setLdLibraryPath = Bool } }; nixpkgs = { config = { xorg = { abiCompat = String } } }; services = { xserver = { drivers = { display = Bool; modules = [∀ α. α]; name = String } } }; system = { activationScripts = { setup-amdgpu-pro = String }; requiredKernelConfig = [String] } } }
test/golden/importless/amdgpu.nixnew file+9
@@ -0,0 +1,9 @@
1+{ config, lib, ... }:
2+
3+with lib;
4+{
5+ config = mkIf (elem "amdgpu" config.services.xserver.videoDrivers) {
6+ boot.blacklistedKernelModules = [ "radeon" ];
7+ };
8+}
9+
test/golden/importless/amdgpu.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β. { config = α; lib = β } -> { config = { boot = { blacklistedKernelModules = [String] } } }
test/golden/importless/amuled.nixnew file+77
@@ -0,0 +1,77 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.services.amule;
7+ user = if cfg.user != null then cfg.user else "amule";
8+in
9+
10+{
11+
12+ ###### interface
13+
14+ options = {
15+
16+ services.amule = {
17+
18+ enable = mkOption {
19+ type = types.bool;
20+ default = false;
21+ description = ''
22+ Whether to run the AMule daemon. You need to manually run "amuled --ec-config" to configure the service for the first time.
23+ '';
24+ };
25+
26+ dataDir = mkOption {
27+ default = ''/home/${user}/'';
28+ description = ''
29+ The directory holding configuration, incoming and temporary files.
30+ '';
31+ };
32+
33+ user = mkOption {
34+ default = null;
35+ description = ''
36+ The user the AMule daemon should run as.
37+ '';
38+ };
39+
40+ };
41+
42+ };
43+
44+
45+ ###### implementation
46+
47+ config = mkIf cfg.enable {
48+
49+ users.users = mkIf (cfg.user == null) [
50+ { name = "amule";
51+ description = "AMule daemon";
52+ group = "amule";
53+ uid = config.ids.uids.amule;
54+ } ];
55+
56+ users.groups = mkIf (cfg.user == null) [
57+ { name = "amule";
58+ gid = config.ids.gids.amule;
59+ } ];
60+
61+ systemd.services.amuled = {
62+ description = "AMule daemon";
63+ wantedBy = [ "multi-user.target" ];
64+ after = [ "network.target" ];
65+
66+ preStart = ''
67+ mkdir -p ${cfg.dataDir}
68+ chown ${user} ${cfg.dataDir}
69+ '';
70+
71+ script = ''
72+ ${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${user} \
73+ -c 'HOME="${cfg.dataDir}" ${pkgs.amuleDaemon}/bin/amuled'
74+ '';
75+ };
76+ };
77+}
test/golden/importless/amuled.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { config = { systemd = { services = { amuled = { after = [String]; description = String; preStart = String; script = String; wantedBy = [String] } } }; users = { groups = [{ gid = ∀ α. α; name = String }]; users = [{ description = String; group = String; name = String; uid = ∀ α. α }] } }; options = { services = { amule = { dataDir = { default = String; description = String }; enable = { default = Bool; description = String; type = ∀ α. α }; user = { default = Null; description = String } } } } }
test/golden/importless/anaphora.nixnew file+27
@@ -0,0 +1,27 @@
1+args @ { fetchurl, ... }:
2+rec {
3+ baseName = ''anaphora'';
4+ version = ''20191007-git'';
5+
6+ parasites = [ "anaphora/test" ];
7+
8+ description = ''The Anaphoric Macro Package from Hell'';
9+
10+ deps = [ args."rt" ];
11+
12+ src = fetchurl {
13+ url = ''http://beta.quicklisp.org/archive/anaphora/2019-10-07/anaphora-20191007-git.tgz'';
14+ sha256 = ''0iwfddh3cycjr9vhjnr1ldd5xc3qwqhrp41904s1dvysf99277kv'';
15+ };
16+
17+ packageName = "anaphora";
18+
19+ asdFilesToKeep = ["anaphora.asd"];
20+ overrides = x: x;
21+}
22+/* (SYSTEM anaphora DESCRIPTION The Anaphoric Macro Package from Hell SHA256
23+ 0iwfddh3cycjr9vhjnr1ldd5xc3qwqhrp41904s1dvysf99277kv URL
24+ http://beta.quicklisp.org/archive/anaphora/2019-10-07/anaphora-20191007-git.tgz
25+ MD5 bfaae44cfb6226f35f0afde335e51ca4 NAME anaphora FILENAME anaphora DEPS
26+ ((NAME rt FILENAME rt)) DEPENDENCIES (rt) VERSION 20191007-git SIBLINGS NIL
27+ PARASITES (anaphora/test)) */
test/golden/importless/anaphora.txtnew file
No changes to the content.
test/golden/importless/anbox.nixnew file+139
@@ -0,0 +1,139 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+
7+ cfg = config.virtualisation.anbox;
8+ kernelPackages = config.boot.kernelPackages;
9+ addrOpts = v: addr: pref: name: {
10+ address = mkOption {
11+ default = addr;
12+ type = types.str;
13+ description = ''
14+ IPv${toString v} ${name} address.
15+ '';
16+ };
17+
18+ prefixLength = mkOption {
19+ default = pref;
20+ type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128));
21+ description = ''
22+ Subnet mask of the ${name} address, specified as the number of
23+ bits in the prefix (<literal>${if v == 4 then "24" else "64"}</literal>).
24+ '';
25+ };
26+ };
27+
28+in
29+
30+{
31+
32+ options.virtualisation.anbox = {
33+
34+ enable = mkEnableOption "Anbox";
35+
36+ image = mkOption {
37+ default = pkgs.anbox.image;
38+ example = literalExample "pkgs.anbox.image";
39+ type = types.package;
40+ description = ''
41+ Base android image for Anbox.
42+ '';
43+ };
44+
45+ extraInit = mkOption {
46+ type = types.lines;
47+ default = "";
48+ description = ''
49+ Extra shell commands to be run inside the container image during init.
50+ '';
51+ };
52+
53+ ipv4 = {
54+ container = addrOpts 4 "192.168.250.2" 24 "Container";
55+ gateway = addrOpts 4 "192.168.250.1" 24 "Host";
56+
57+ dns = mkOption {
58+ default = "1.1.1.1";
59+ type = types.str;
60+ description = ''
61+ Container DNS server.
62+ '';
63+ };
64+ };
65+ };
66+
67+ config = mkIf cfg.enable {
68+
69+ assertions = singleton {
70+ assertion = versionAtLeast (getVersion config.boot.kernelPackages.kernel) "4.18";
71+ message = "Anbox needs user namespace support to work properly";
72+ };
73+
74+ environment.systemPackages = with pkgs; [ anbox ];
75+
76+ boot.kernelModules = [ "ashmem_linux" "binder_linux" ];
77+ boot.extraModulePackages = [ kernelPackages.anbox ];
78+
79+ services.udev.extraRules = ''
80+ KERNEL=="ashmem", NAME="%k", MODE="0666"
81+ KERNEL=="binder*", NAME="%k", MODE="0666"
82+ '';
83+
84+ virtualisation.lxc.enable = true;
85+ networking.bridges.anbox0.interfaces = [];
86+ networking.interfaces.anbox0.ipv4.addresses = [ cfg.ipv4.gateway ];
87+
88+ networking.nat = {
89+ enable = true;
90+ internalInterfaces = [ "anbox0" ];
91+ };
92+
93+ systemd.services.anbox-container-manager = let
94+ anboxloc = "/var/lib/anbox";
95+ in {
96+ description = "Anbox Container Management Daemon";
97+
98+ environment.XDG_RUNTIME_DIR="${anboxloc}";
99+
100+ wantedBy = [ "multi-user.target" ];
101+ after = [ "systemd-udev-settle.service" ];
102+ preStart = let
103+ initsh = pkgs.writeText "nixos-init" (''
104+ #!/system/bin/sh
105+ setprop nixos.version ${config.system.nixos.version}
106+
107+ # we don't have radio
108+ setprop ro.radio.noril yes
109+ stop ril-daemon
110+
111+ # speed up boot
112+ setprop debug.sf.nobootanimation 1
113+ '' + cfg.extraInit);
114+ initshloc = "${anboxloc}/rootfs-overlay/system/etc/init.goldfish.sh";
115+ in ''
116+ mkdir -p ${anboxloc}
117+ mkdir -p $(dirname ${initshloc})
118+ [ -f ${initshloc} ] && rm ${initshloc}
119+ cp ${initsh} ${initshloc}
120+ chown 100000:100000 ${initshloc}
121+ chmod +x ${initshloc}
122+ '';
123+
124+ serviceConfig = {
125+ ExecStart = ''
126+ ${pkgs.anbox}/bin/anbox container-manager \
127+ --data-path=${anboxloc} \
128+ --android-image=${cfg.image} \
129+ --container-network-address=${cfg.ipv4.container.address} \
130+ --container-network-gateway=${cfg.ipv4.gateway.address} \
131+ --container-network-dns-servers=${cfg.ipv4.dns} \
132+ --use-rootfs-overlay \
133+ --privileged
134+ '';
135+ };
136+ };
137+ };
138+
139+}
test/golden/importless/anbox.txtnew file+1
@@ -0,0 +1 @@
1+∀ δ ε ζ. { config = δ; lib = ε; pkgs = ζ } -> { config = { assertions = { assertion = String; message = String }; boot = { extraModulePackages = ∀ γ. [γ]; kernelModules = [String] }; environment = { systemPackages = ∀ γ. [γ] }; networking = { bridges = { anbox0 = { interfaces = ∀ β. β } }; interfaces = { anbox0 = { ipv4 = { addresses = ∀ α. [α] } } }; nat = { enable = Bool; internalInterfaces = [String] } }; services = { udev = { extraRules = String } }; systemd = { services = { anbox-container-manager = { after = [String]; description = String; environment = { XDG_RUNTIME_DIR = String }; preStart = String; serviceConfig = { ExecStart = String }; wantedBy = [String] } } }; virtualisation = { lxc = { enable = Bool } } }; options = { virtualisation = { anbox = { enable = String; extraInit = { default = String; description = String; type = ∀ β. β }; image = { default = ∀ β. β; description = String; example = String; type = ∀ β. β }; ipv4 = { container = String; dns = { default = String; description = String; type = ∀ α. α }; gateway = String } } } } }
test/golden/importless/androidndk-pkgs.nixnew file+113
@@ -0,0 +1,113 @@
1+{ stdenv
2+, makeWrapper
3+, runCommand, wrapBintoolsWith, wrapCCWith
4+, buildAndroidndk, androidndk, targetAndroidndkPkgs
5+}:
6+
7+let
8+ # Mapping from a platform to information needed to unpack NDK stuff for that
9+ # platform.
10+ #
11+ # N.B. The Android NDK uses slightly different LLVM-style platform triples
12+ # than we do. We don't just use theirs because ours are less ambiguous and
13+ # some builds need that clarity.
14+ ndkInfoFun = { config, ... }: {
15+ x86_64-apple-darwin = {
16+ double = "darwin-x86_64";
17+ };
18+ x86_64-unknown-linux-gnu = {
19+ double = "linux-x86_64";
20+ };
21+ i686-unknown-linux-android = {
22+ triple = "i686-linux-android";
23+ arch = "x86";
24+ toolchain = "x86";
25+ gccVer = "4.9";
26+ };
27+ x86_64-unknown-linux-android = {
28+ triple = "x86_64-linux-android";
29+ arch = "x86_64";
30+ toolchain = "x86_64";
31+ gccVer = "4.9";
32+ };
33+ armv7a-unknown-linux-androideabi = {
34+ arch = "arm";
35+ triple = "arm-linux-androideabi";
36+ toolchain = "arm-linux-androideabi";
37+ gccVer = "4.9";
38+ };
39+ aarch64-unknown-linux-android = {
40+ arch = "arm64";
41+ triple = "aarch64-linux-android";
42+ toolchain = "aarch64-linux-android";
43+ gccVer = "4.9";
44+ };
45+ }.${config} or
46+ (throw "Android NDK doesn't support ${config}, as far as we know");
47+
48+ hostInfo = ndkInfoFun stdenv.hostPlatform;
49+ targetInfo = ndkInfoFun stdenv.targetPlatform;
50+
51+ prefix = stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) (stdenv.targetPlatform.config + "-");
52+in
53+
54+rec {
55+ # Misc tools
56+ binaries = runCommand "ndk-toolchain-binutils" {
57+ pname = "ndk-toolchain-binutils";
58+ inherit (androidndk) version;
59+ isClang = true; # clang based cc, but bintools ld
60+ nativeBuildInputs = [ makeWrapper ];
61+ propagatedBuildInputs = [ androidndk ];
62+ } ''
63+ mkdir -p $out/bin
64+
65+ # llvm toolchain
66+ for prog in ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${hostInfo.double}/bin/*; do
67+ ln -s $prog $out/bin/$(basename $prog)
68+ ln -s $prog $out/bin/${prefix}$(basename $prog)
69+ done
70+
71+ # bintools toolchain
72+ for prog in ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.toolchain}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}/bin/*; do
73+ prog_suffix=$(basename $prog | sed 's/${targetInfo.triple}-//')
74+ ln -s $prog $out/bin/${stdenv.targetPlatform.config}-$prog_suffix
75+ done
76+
77+ # shitty googly wrappers
78+ rm -f $out/bin/${stdenv.targetPlatform.config}-gcc $out/bin/${stdenv.targetPlatform.config}-g++
79+ '';
80+
81+ binutils = wrapBintoolsWith {
82+ bintools = binaries;
83+ libc = targetAndroidndkPkgs.libraries;
84+ };
85+
86+ clang = wrapCCWith {
87+ cc = binaries // {
88+ # for packages expecting libcompiler-rt, etc. to come from here (stdenv.cc.cc.lib)
89+ lib = targetAndroidndkPkgs.libraries;
90+ };
91+ bintools = binutils;
92+ libc = targetAndroidndkPkgs.libraries;
93+ extraBuildCommands = ''
94+ echo "-D__ANDROID_API__=${stdenv.targetPlatform.sdkVer}" >> $out/nix-support/cc-cflags
95+ echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
96+ echo "-resource-dir=$(echo ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${hostInfo.double}/lib*/clang/*)" >> $out/nix-support/cc-cflags
97+ echo "--gcc-toolchain=${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.toolchain}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}" >> $out/nix-support/cc-cflags
98+ '';
99+ };
100+
101+ # Bionic lib C and other libraries.
102+ #
103+ # We use androidndk from the previous stage, else we waste time or get cycles
104+ # cross-compiling packages to wrap incorrectly wrap binaries we don't include
105+ # anyways.
106+ libraries = runCommand "bionic-prebuilt" {} ''
107+ mkdir -p $out
108+ cp -r ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/sysroot/usr/include $out/include
109+ chmod +w $out/include
110+ cp -r ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/sysroot/usr/include/${targetInfo.triple}/* $out/include
111+ ln -s ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/platforms/android-${stdenv.hostPlatform.sdkVer}/arch-${hostInfo.arch}/usr/${if hostInfo.arch == "x86_64" then "lib64" else "lib"} $out/lib
112+ '';
113+}
test/golden/importless/androidndk-pkgs.txtnew file
No changes to the content.
test/golden/importless/animal-sniffer.nixnew file+15
@@ -0,0 +1,15 @@
1+{ fetchMaven }:
2+
3+{
4+ mojoAnimalSniffer_1_11 = map (obj: fetchMaven {
5+ version = "1.11";
6+ artifactId = "animal-sniffer";
7+ groupId = "org.codehaus.mojo";
8+ sha512 = obj.sha512;
9+ type = obj.type;
10+ }) [
11+ { type = "jar"; sha512 = "36qx2q1zaja470zj7w3ygafb5n07vb623yicgwjqf1nak7ianin5nlmh7pp2pzpdd9arvg7d005rnsn79bqmxcb6y1ihsxsh6l7bmsv"; }
12+ { type = "pom"; sha512 = "1dp427c8vyiw255193s4m0ffag6ngqxfkj1cwl7v40p5c1bh8avxaj8cg56nn8ajp39shxr5wgwgjs7xwjz46yjnblh9pl29z58lm4i"; }
13+ ];
14+}
15+
test/golden/importless/animal-sniffer.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { fetchMaven = { artifactId = String; groupId = String; sha512 = ∀ α. α; type = ∀ α. α; version = String } -> β } -> { mojoAnimalSniffer_1_11 = [{ sha512 = String; type = String }] }
test/golden/importless/ankisyncd.nixnew file+79
@@ -0,0 +1,79 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.services.ankisyncd;
7+
8+ name = "ankisyncd";
9+
10+ stateDir = "/var/lib/${name}";
11+
12+ authDbPath = "${stateDir}/auth.db";
13+
14+ sessionDbPath = "${stateDir}/session.db";
15+
16+ configFile = pkgs.writeText "ankisyncd.conf" (lib.generators.toINI {} {
17+ sync_app = {
18+ host = cfg.host;
19+ port = cfg.port;
20+ data_root = stateDir;
21+ auth_db_path = authDbPath;
22+ session_db_path = sessionDbPath;
23+
24+ base_url = "/sync/";
25+ base_media_url = "/msync/";
26+ };
27+ });
28+in
29+ {
30+ options.services.ankisyncd = {
31+ enable = mkEnableOption "ankisyncd";
32+
33+ package = mkOption {
34+ type = types.package;
35+ default = pkgs.ankisyncd;
36+ defaultText = literalExample "pkgs.ankisyncd";
37+ description = "The package to use for the ankisyncd command.";
38+ };
39+
40+ host = mkOption {
41+ type = types.str;
42+ default = "localhost";
43+ description = "ankisyncd host";
44+ };
45+
46+ port = mkOption {
47+ type = types.int;
48+ default = 27701;
49+ description = "ankisyncd port";
50+ };
51+
52+ openFirewall = mkOption {
53+ default = false;
54+ type = types.bool;
55+ description = "Whether to open the firewall for the specified port.";
56+ };
57+ };
58+
59+ config = mkIf cfg.enable {
60+ networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
61+
62+ environment.etc."ankisyncd/ankisyncd.conf".source = configFile;
63+
64+ systemd.services.ankisyncd = {
65+ description = "ankisyncd - Anki sync server";
66+ after = [ "network.target" ];
67+ wantedBy = [ "multi-user.target" ];
68+ path = [ cfg.package ];
69+
70+ serviceConfig = {
71+ Type = "simple";
72+ DynamicUser = true;
73+ StateDirectory = name;
74+ ExecStart = "${cfg.package}/bin/ankisyncd";
75+ Restart = "always";
76+ };
77+ };
78+ };
79+ }
test/golden/importless/ankisyncd.txtnew file+1
@@ -0,0 +1 @@
1+∀ δ ε ζ. { config = δ; lib = ε; pkgs = ζ } -> { config = { environment = { etc = { ankisyncd/ankisyncd.conf = { source = { sync_app = { auth_db_path = ∀ α. α; base_media_url = String; base_url = String; data_root = ∀ α. α; host = ∀ α. α; port = ∀ α. α; session_db_path = ∀ α. α } } } } }; networking = { firewall = { allowedTCPPorts = ∀ γ. [γ] } }; systemd = { services = { ankisyncd = { after = [String]; description = String; path = ∀ β. [β]; serviceConfig = { DynamicUser = Bool; ExecStart = String; Restart = String; StateDirectory = String; Type = String }; wantedBy = [String] } } } }; options = { services = { ankisyncd = { enable = String; host = { default = String; description = String; type = ∀ β. β }; openFirewall = { default = Bool; description = String; type = ∀ β. β }; package = { default = ∀ β. β; defaultText = String; description = String; type = ∀ β. β }; port = { default = Integer; description = String; type = ∀ β. β } } } } }
test/golden/importless/ant-bloody.nixnew file+34
@@ -0,0 +1,34 @@
1+{ stdenv, fetchurl, gtk-engine-murrine }:
2+
3+let
4+ themeName = "Ant-Bloody";
5+in
6+stdenv.mkDerivation rec {
7+ pname = "ant-bloody-theme";
8+ version = "1.3.0";
9+
10+ src = fetchurl {
11+ url = "https://github.com/EliverLara/${themeName}/releases/download/v${version}/${themeName}.tar";
12+ sha256 = "0rrz50kmzjmqj17hvrw67pbaclwxv85i5m08s7842iky6dnn5z8s";
13+ };
14+
15+ propagatedUserEnvPkgs = [
16+ gtk-engine-murrine
17+ ];
18+
19+ installPhase = ''
20+ runHook preInstall
21+ mkdir -p $out/share/themes/${themeName}
22+ cp -a * $out/share/themes/${themeName}
23+ rm -r $out/share/themes/${themeName}/{Art,LICENSE,README.md,gtk-2.0/render-assets.sh}
24+ runHook postInstall
25+ '';
26+
27+ meta = with stdenv.lib; {
28+ description = "Bloody variant of the Ant theme";
29+ homepage = "https://github.com/EliverLara/${themeName}";
30+ license = licenses.gpl3;
31+ platforms = platforms.all;
32+ maintainers = with maintainers; [ alexarice ];
33+ };
34+}
test/golden/importless/ant-bloody.txtnew file
No changes to the content.
test/golden/importless/ant-build.nixnew file+122
@@ -0,0 +1,122 @@
1+{ src
2+, pkgs
3+, stdenv ? pkgs.stdenv
4+, name
5+, antTargets ? []
6+, jars ? []
7+, jarWrappers ? []
8+, antProperties ? []
9+, antBuildInputs ? []
10+, buildfile ? "build.xml"
11+, ant ? pkgs.ant
12+, jre ? pkgs.jdk
13+, hydraAntLogger ? pkgs.hydraAntLogger
14+, zip ? pkgs.zip
15+, unzip ? pkgs.unzip
16+, ... } @ args:
17+
18+let
19+ antFlags = "-f ${buildfile} " + stdenv.lib.concatMapStrings ({name, value}: "-D${name}=${value} " ) antProperties ;
20+ lib = stdenv.lib;
21+in
22+stdenv.mkDerivation (
23+
24+ {
25+ inherit jre ant;
26+ showBuildStats = true;
27+
28+ postPhases =
29+ ["generateWrappersPhase" "finalPhase"];
30+
31+ prePhases =
32+ ["antSetupPhase"];
33+
34+ antSetupPhase = with stdenv.lib; ''
35+ if test "$hydraAntLogger" != "" ; then
36+ export ANT_ARGS="-logger org.hydra.ant.HydraLogger -lib `ls $hydraAntLogger/share/java/*.jar | head -1`"
37+ fi
38+ for abi in ${concatStringsSep " " (map (f: "`find ${f} -name '*.jar'`") antBuildInputs)}; do
39+ export ANT_ARGS="$ANT_ARGS -lib $abi"
40+ done
41+ '';
42+
43+ installPhase = ''
44+ runHook preInstall
45+
46+ mkdir -p $out/share/java
47+ ${ if jars == [] then ''
48+ find . -name "*.jar" | xargs -I{} cp -v {} $out/share/java
49+ '' else stdenv.lib.concatMapStrings (j: ''
50+ cp -v ${j} $out/share/java
51+ '') jars }
52+
53+ . ${./functions.sh}
54+ for j in $out/share/java/*.jar ; do
55+ canonicalizeJar $j
56+ echo file jar $j >> $out/nix-support/hydra-build-products
57+ done
58+
59+ runHook postInstall
60+ '';
61+
62+ generateWrappersPhase =
63+ let
64+ cp = w: "-cp '${lib.optionalString (w ? classPath) w.classPath}${lib.optionalString (w ? mainClass) ":$out/share/java/*"}'";
65+ in
66+ ''
67+ header "Generating jar wrappers"
68+ '' + (stdenv.lib.concatMapStrings (w: ''
69+
70+ mkdir -p $out/bin
71+ cat >> $out/bin/${w.name} <<EOF
72+ #!${pkgs.runtimeShell}
73+ export JAVA_HOME=$jre
74+ $jre/bin/java ${cp w} ${if w ? mainClass then w.mainClass else "-jar ${w.jar}"} \$@
75+ EOF
76+
77+ chmod a+x $out/bin/${w.name} || exit 1
78+ '') jarWrappers) + ''
79+ closeNest
80+ '';
81+
82+ buildPhase = ''
83+ runHook preBuild
84+ '' + (if antTargets == [] then ''
85+ header "Building default ant target"
86+ ant ${antFlags}
87+ closeNest
88+ '' else stdenv.lib.concatMapStrings (t: ''
89+ header "Building '${t}' target"
90+ ant ${antFlags} ${t}
91+ closeNest
92+ '') antTargets) + ''
93+ runHook postBuild
94+ '';
95+
96+ finalPhase =
97+ ''
98+ # Propagate the release name of the source tarball. This is
99+ # to get nice package names in channels.
100+ if test -e $origSrc/nix-support/hydra-release-name; then
101+ cp $origSrc/nix-support/hydra-release-name $out/nix-support/hydra-release-name
102+ fi
103+ '';
104+ }
105+
106+ // removeAttrs args ["antProperties" "buildInputs" "pkgs" "jarWrappers"] //
107+
108+ {
109+ name = name + (if src ? version then "-" + src.version else "");
110+
111+ buildInputs = [ant jre zip unzip] ++ stdenv.lib.optional (args ? buildInputs) args.buildInputs ;
112+
113+ postHook = ''
114+ mkdir -p $out/nix-support
115+ echo "$system" > $out/nix-support/system
116+ . ${./functions.sh}
117+
118+ origSrc=$src
119+ src=$(findTarball $src)
120+ '';
121+ }
122+)
test/golden/importless/ant-build.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ ε ζ η θ ι κ λ. { ant = α; antBuildInputs = β; antProperties = { name = γ; value = δ }; antTargets = ε; buildfile = String; hydraAntLogger = ζ; jarWrappers = η; jars = θ; jre = α; name = ι; pkgs = κ; src = Bool; stdenv = λ; unzip = α; zip = α } -> { ant = α; antSetupPhase = String; buildInputs = [α]; buildPhase = String; finalPhase = String; generateWrappersPhase = String; installPhase = String; jre = α; name = String; postHook = String; postPhases = [String]; prePhases = [String]; showBuildStats = Bool }
test/golden/importless/ant-dracula.nixnew file+34
@@ -0,0 +1,34 @@
1+{ stdenv, fetchurl, gtk-engine-murrine }:
2+
3+let
4+ themeName = "Ant-Dracula";
5+in
6+stdenv.mkDerivation rec {
7+ pname = "ant-dracula-theme";
8+ version = "1.3.0";
9+
10+ src = fetchurl {
11+ url = "https://github.com/EliverLara/${themeName}/releases/download/v${version}/${themeName}.tar";
12+ sha256 = "00b8w69xapqy8kc7zqwlfz1xpld6hibbh35djvhcnd905gzzymkd";
13+ };
14+
15+ propagatedUserEnvPkgs = [
16+ gtk-engine-murrine
17+ ];
18+
19+ installPhase = ''
20+ runHook preInstall
21+ mkdir -p $out/share/themes/${themeName}
22+ cp -a * $out/share/themes/${themeName}
23+ rm -r $out/share/themes/${themeName}/{Art,LICENSE,README.md,gtk-2.0/render-assets.sh}
24+ runHook postInstall
25+ '';
26+
27+ meta = with stdenv.lib; {
28+ description = "Dracula variant of the Ant theme";
29+ homepage = "https://github.com/EliverLara/${themeName}";
30+ license = licenses.gpl3;
31+ platforms = platforms.all;
32+ maintainers = with maintainers; [ alexarice ];
33+ };
34+}
test/golden/importless/ant-dracula.txtnew file
No changes to the content.
test/golden/importless/ant-launcher.nixnew file+14
@@ -0,0 +1,14 @@
1+{ fetchMaven }:
2+
3+{
4+ antLauncher_1_8_2 = map (obj: fetchMaven {
5+ version = "1.8.2";
6+ artifactId = "ant-launcher";
7+ groupId = "org.apache.ant";
8+ sha512 = obj.sha512;
9+ type = obj.type;
10+ }) [
11+ { type = "jar"; sha512 = "3h1xmlamkh39lz3dgpbyxj0mai9a266qmxkcyb7kqpzkl0xxvgyi8i2l4nnn02n4qbxznhmvsba77v52ldh67qmhxk3vw1q3xqnn2xx"; }
12+ { type = "pom"; sha512 = "3fvz9di9lbfgy5370gwwdp2d380gl42sn44kr97l8i7k0n9crrbjrxs2dpy9cnsnnavvk14nrrkc72n9f1gkg1dvdxqpxlwm0y9lxhy"; }
13+ ];
14+}
test/golden/importless/ant-launcher.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { fetchMaven = { artifactId = String; groupId = String; sha512 = ∀ α. α; type = ∀ α. α; version = String } -> β } -> { antLauncher_1_8_2 = [{ sha512 = String; type = String }] }
test/golden/importless/ant-nebula.nixnew file+34
@@ -0,0 +1,34 @@
1+{ stdenv, fetchurl, gtk-engine-murrine }:
2+
3+let
4+ themeName = "Ant-Nebula";
5+in
6+stdenv.mkDerivation rec {
7+ pname = "ant-nebula-theme";
8+ version = "1.3.0";
9+
10+ src = fetchurl {
11+ url = "https://github.com/EliverLara/${themeName}/releases/download/v${version}/${themeName}.tar";
12+ sha256 = "1xpgw577nmgjk547mg2vvv0gdai60srgncykm5pb1w8dnlk69jbz";
13+ };
14+
15+ propagatedUserEnvPkgs = [
16+ gtk-engine-murrine
17+ ];
18+
19+ installPhase = ''
20+ runHook preInstall
21+ mkdir -p $out/share/themes/${themeName}
22+ cp -a * $out/share/themes/${themeName}
23+ rm -r $out/share/themes/${themeName}/{Art,LICENSE,README.md,gtk-2.0/render-assets.sh}
24+ runHook postInstall
25+ '';
26+
27+ meta = with stdenv.lib; {
28+ description = "Nebula variant of the Ant theme";
29+ homepage = "https://github.com/EliverLara/${themeName}";
30+ license = licenses.gpl3;
31+ platforms = platforms.all;
32+ maintainers = with maintainers; [ alexarice ];
33+ };
34+}
test/golden/importless/ant-nebula.txtnew file
No changes to the content.
test/golden/importless/ant.nixnew file+34
@@ -0,0 +1,34 @@
1+{ stdenv, fetchurl, gtk-engine-murrine }:
2+
3+let
4+ themeName = "Ant";
5+in
6+stdenv.mkDerivation rec {
7+ pname = "ant-theme";
8+ version = "1.3.0";
9+
10+ src = fetchurl {
11+ url = "https://github.com/EliverLara/${themeName}/releases/download/v${version}/${themeName}.tar";
12+ sha256 = "1r795v96ywzcb4dq08q2fdbmfia32g36cc512mhy41s8fb1a47dz";
13+ };
14+
15+ propagatedUserEnvPkgs = [
16+ gtk-engine-murrine
17+ ];
18+
19+ installPhase = ''
20+ runHook preInstall
21+ mkdir -p $out/share/themes/${themeName}
22+ cp -a * $out/share/themes/${themeName}
23+ rm -r $out/share/themes/${themeName}/{Art,LICENSE,README.md,gtk-2.0/render-assets.sh}
24+ runHook postInstall
25+ '';
26+
27+ meta = with stdenv.lib; {
28+ description = "A flat and light theme with a modern look";
29+ homepage = "https://github.com/EliverLara/${themeName}";
30+ license = licenses.gpl3;
31+ platforms = platforms.all;
32+ maintainers = with maintainers; [ alexarice ];
33+ };
34+}
test/golden/importless/ant.txtnew file
No changes to the content.
test/golden/importless/apache-kafka.nixnew file+154
@@ -0,0 +1,154 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.services.apache-kafka;
7+
8+ serverProperties =
9+ if cfg.serverProperties != null then
10+ cfg.serverProperties
11+ else
12+ ''
13+ # Generated by nixos
14+ broker.id=${toString cfg.brokerId}
15+ port=${toString cfg.port}
16+ host.name=${cfg.hostname}
17+ log.dirs=${concatStringsSep "," cfg.logDirs}
18+ zookeeper.connect=${cfg.zookeeper}
19+ ${toString cfg.extraProperties}
20+ '';
21+
22+ serverConfig = pkgs.writeText "server.properties" serverProperties;
23+ logConfig = pkgs.writeText "log4j.properties" cfg.log4jProperties;
24+
25+in {
26+
27+ options.services.apache-kafka = {
28+ enable = mkOption {
29+ description = "Whether to enable Apache Kafka.";
30+ default = false;
31+ type = types.bool;
32+ };
33+
34+ brokerId = mkOption {
35+ description = "Broker ID.";
36+ default = -1;
37+ type = types.int;
38+ };
39+
40+ port = mkOption {
41+ description = "Port number the broker should listen on.";
42+ default = 9092;
43+ type = types.int;
44+ };
45+
46+ hostname = mkOption {
47+ description = "Hostname the broker should bind to.";
48+ default = "localhost";
49+ type = types.str;
50+ };
51+
52+ logDirs = mkOption {
53+ description = "Log file directories";
54+ default = [ "/tmp/kafka-logs" ];
55+ type = types.listOf types.path;
56+ };
57+
58+ zookeeper = mkOption {
59+ description = "Zookeeper connection string";
60+ default = "localhost:2181";
61+ type = types.str;
62+ };
63+
64+ extraProperties = mkOption {
65+ description = "Extra properties for server.properties.";
66+ type = types.nullOr types.lines;
67+ default = null;
68+ };
69+
70+ serverProperties = mkOption {
71+ description = ''
72+ Complete server.properties content. Other server.properties config
73+ options will be ignored if this option is used.
74+ '';
75+ type = types.nullOr types.lines;
76+ default = null;
77+ };
78+
79+ log4jProperties = mkOption {
80+ description = "Kafka log4j property configuration.";
81+ default = ''
82+ log4j.rootLogger=INFO, stdout
83+
84+ log4j.appender.stdout=org.apache.log4j.ConsoleAppender
85+ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
86+ log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
87+ '';
88+ type = types.lines;
89+ };
90+
91+ jvmOptions = mkOption {
92+ description = "Extra command line options for the JVM running Kafka.";
93+ default = [
94+ "-server"
95+ "-Xmx1G"
96+ "-Xms1G"
97+ "-XX:+UseCompressedOops"
98+ "-XX:+UseParNewGC"
99+ "-XX:+UseConcMarkSweepGC"
100+ "-XX:+CMSClassUnloadingEnabled"
101+ "-XX:+CMSScavengeBeforeRemark"
102+ "-XX:+DisableExplicitGC"
103+ "-Djava.awt.headless=true"
104+ "-Djava.net.preferIPv4Stack=true"
105+ ];
106+ type = types.listOf types.str;
107+ example = [
108+ "-Djava.net.preferIPv4Stack=true"
109+ "-Dcom.sun.management.jmxremote"
110+ "-Dcom.sun.management.jmxremote.local.only=true"
111+ ];
112+ };
113+
114+ package = mkOption {
115+ description = "The kafka package to use";
116+ default = pkgs.apacheKafka;
117+ defaultText = "pkgs.apacheKafka";
118+ type = types.package;
119+ };
120+
121+ };
122+
123+ config = mkIf cfg.enable {
124+
125+ environment.systemPackages = [cfg.package];
126+
127+ users.users.apache-kafka = {
128+ uid = config.ids.uids.apache-kafka;
129+ description = "Apache Kafka daemon user";
130+ home = head cfg.logDirs;
131+ };
132+
133+ systemd.tmpfiles.rules = map (logDir: "d '${logDir}' 0700 apache-kafka - - -") cfg.logDirs;
134+
135+ systemd.services.apache-kafka = {
136+ description = "Apache Kafka Daemon";
137+ wantedBy = [ "multi-user.target" ];
138+ after = [ "network.target" ];
139+ serviceConfig = {
140+ ExecStart = ''
141+ ${pkgs.jre}/bin/java \
142+ -cp "${cfg.package}/libs/*" \
143+ -Dlog4j.configuration=file:${logConfig} \
144+ ${toString cfg.jvmOptions} \
145+ kafka.Kafka \
146+ ${serverConfig}
147+ '';
148+ User = "apache-kafka";
149+ SuccessExitStatus = "0 143";
150+ };
151+ };
152+
153+ };
154+}
test/golden/importless/apache-kafka.txtnew file+1
@@ -0,0 +1 @@
1+∀ δ ε ζ. { config = δ; lib = ε; pkgs = ζ } -> { config = { environment = { systemPackages = ∀ γ. [γ] }; systemd = { services = { apache-kafka = { after = [String]; description = String; serviceConfig = { ExecStart = String; SuccessExitStatus = String; User = String }; wantedBy = [String] } }; tmpfiles = { rules = ∀ β. β } }; users = { users = { apache-kafka = { description = String; home = ∀ α. α; uid = ∀ α. α } } } }; options = { services = { apache-kafka = { brokerId = { default = Integer; description = String; type = ∀ α. α }; enable = { default = Bool; description = String; type = ∀ α. α }; extraProperties = { default = Null; description = String; type = ∀ α. α }; hostname = { default = String; description = String; type = ∀ α. α }; jvmOptions = { default = [String]; description = String; example = [String]; type = ∀ α. α }; log4jProperties = { default = String; description = String; type = ∀ α. α }; logDirs = { default = [String]; description = String; type = ∀ α. α }; package = { default = ∀ α. α; defaultText = String; description = String; type = ∀ α. α }; port = { default = Integer; description = String; type = ∀ α. α }; serverProperties = { default = Null; description = String; type = ∀ α. α }; zookeeper = { default = String; description = String; type = ∀ α. α } } } } }
test/golden/importless/apcupsd-exporter.nixnew file+26
@@ -0,0 +1,26 @@
1+{ stdenv, buildGoModule, fetchFromGitHub, nixosTests }:
2+
3+buildGoModule rec {
4+ pname = "apcupsd-exporter";
5+ version = "0.2.0";
6+
7+ src = fetchFromGitHub {
8+ owner = "mdlayher";
9+ repo = "apcupsd_exporter";
10+ rev = "v${version}";
11+ sha256 = "0gjj23qdjs7rqimq95rbfw43m4l6g73j840svxjlmpd1vzzz2v2q";
12+ };
13+
14+ vendorSha256 = "09x8y8pmgfn897hvnk122ry460y12b8a7y5fafri5wn9vxab9r82";
15+
16+ doCheck = false;
17+
18+ passthru.tests = { inherit (nixosTests.prometheus-exporters) apcupsd; };
19+
20+ meta = with stdenv.lib; {
21+ description = "Provides a Prometheus exporter for the apcupsd Network Information Server (NIS)";
22+ homepage = "https://github.com/mdlayher/apcupsd_exporter";
23+ license = licenses.mit;
24+ maintainers = with maintainers; [ _1000101 mdlayher ];
25+ };
26+}
test/golden/importless/apcupsd-exporter.txtnew file
No changes to the content.
test/golden/importless/apcupsd.nixnew file+38
@@ -0,0 +1,38 @@
1+{ config, lib, pkgs, options }:
2+
3+with lib;
4+
5+let
6+ cfg = config.services.prometheus.exporters.apcupsd;
7+in
8+{
9+ port = 9162;
10+ extraOpts = {
11+ apcupsdAddress = mkOption {
12+ type = types.str;
13+ default = ":3551";
14+ description = ''
15+ Address of the apcupsd Network Information Server (NIS).
16+ '';
17+ };
18+
19+ apcupsdNetwork = mkOption {
20+ type = types.enum ["tcp" "tcp4" "tcp6"];
21+ default = "tcp";
22+ description = ''
23+ Network of the apcupsd Network Information Server (NIS): one of "tcp", "tcp4", or "tcp6".
24+ '';
25+ };
26+ };
27+ serviceOpts = {
28+ serviceConfig = {
29+ ExecStart = ''
30+ ${pkgs.prometheus-apcupsd-exporter}/bin/apcupsd_exporter \
31+ -telemetry.addr ${cfg.listenAddress}:${toString cfg.port} \
32+ -apcupsd.addr ${cfg.apcupsdAddress} \
33+ -apcupsd.network ${cfg.apcupsdNetwork} \
34+ ${concatStringsSep " \\\n " cfg.extraFlags}
35+ '';
36+ };
37+ };
38+}
test/golden/importless/apcupsd.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ ε. { config = β; lib = γ; options = δ; pkgs = ε } -> { extraOpts = { apcupsdAddress = { default = String; description = String; type = ∀ α. α }; apcupsdNetwork = { default = String; description = String; type = [String] } }; port = Integer; serviceOpts = { serviceConfig = { ExecStart = String } } }
test/golden/importless/apeclex.nixnew file+8
@@ -0,0 +1,8 @@
1+{ stdenv, attemptoClex, callPackage }:
2+
3+callPackage ./. {
4+ pname = "ape-clex";
5+ lexiconPath = "${attemptoClex}/clex_lexicon.pl";
6+ description = "Parser for Attempto Controlled English (ACE) with a large lexicon (~100,000 entries)";
7+ license = with stdenv.lib; [ licenses.lgpl3 licenses.gpl3 ];
8+}
test/golden/importless/apeclex.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { attemptoClex = β; callPackage = Path -> γ; stdenv = δ } -> { description = String; lexiconPath = String; license = ∀ α. [α]; pname = String }
test/golden/importless/apiextractor.nixnew file+25
@@ -0,0 +1,25 @@
1+{ stdenv, fetchurl, cmake, libxml2, libxslt, python2, qt4 }:
2+
3+# This derivation does not provide any Python module and should therefore be called via `all-packages.nix`.
4+let
5+ pythonEnv = python2.withPackages(ps: with ps; [ sphinx ]);
6+in stdenv.mkDerivation {
7+ name = "pyside-apiextractor-0.10.10";
8+
9+ src = fetchurl {
10+ url = "https://github.com/PySide/Apiextractor/archive/0.10.10.tar.gz";
11+ sha256 = "1zj8yrxy08iv1pk38djxw3faimm226w6wmi0gm32w4yczblylwz3";
12+ };
13+
14+ enableParallelBuilding = true;
15+
16+ buildInputs = [ cmake qt4 pythonEnv libxml2 libxslt ];
17+
18+ meta = {
19+ description = "Eases the development of bindings of Qt-based libraries for high level languages by automating most of the process";
20+ license = stdenv.lib.licenses.gpl2;
21+ homepage = "http://www.pyside.org/docs/apiextractor/";
22+ maintainers = [ ];
23+ platforms = stdenv.lib.platforms.all;
24+ };
25+}
test/golden/importless/apiextractor.txtnew file+1
@@ -0,0 +1 @@
1+∀ ε ζ η θ. { cmake = ∀ γ δ. γ -> [δ]; fetchurl = { sha256 = String; url = String } -> ε; libxml2 = ∀ γ δ. γ -> [δ]; libxslt = ∀ γ δ. γ -> [δ]; python2 = ζ; qt4 = η; stdenv = θ } -> { buildInputs = [∀ α β. α -> [β]]; enableParallelBuilding = Bool; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. α; platforms = ∀ α. α }; name = String; src = { sha256 = String; url = String } }
test/golden/importless/apparmor.nixnew file+65
@@ -0,0 +1,65 @@
1+{ config, lib, pkgs, ... }:
2+
3+let
4+ inherit (lib) mkIf mkOption types concatMapStrings;
5+ cfg = config.security.apparmor;
6+in
7+
8+{
9+ options = {
10+ security.apparmor = {
11+ enable = mkOption {
12+ type = types.bool;
13+ default = false;
14+ description = "Enable the AppArmor Mandatory Access Control system.";
15+ };
16+ profiles = mkOption {
17+ type = types.listOf types.path;
18+ default = [];
19+ description = "List of files containing AppArmor profiles.";
20+ };
21+ packages = mkOption {
22+ type = types.listOf types.package;
23+ default = [];
24+ description = "List of packages to be added to apparmor's include path";
25+ };
26+ parserConfig = mkOption {
27+ type = types.str;
28+ default = "";
29+ description = "AppArmor parser configuration file content";
30+ };
31+ };
32+ };
33+
34+ config = mkIf cfg.enable {
35+ environment.systemPackages = [ pkgs.apparmor-utils ];
36+ environment.etc."apparmor/parser.conf".text = cfg.parserConfig;
37+
38+ boot.kernelParams = [ "apparmor=1" "security=apparmor" ];
39+
40+ systemd.services.apparmor = let
41+ paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d")
42+ ([ pkgs.apparmor-profiles ] ++ cfg.packages);
43+ in {
44+ after = [ "local-fs.target" ];
45+ before = [ "sysinit.target" ];
46+ wantedBy = [ "multi-user.target" ];
47+ unitConfig = {
48+ DefaultDependencies = "no";
49+ };
50+ serviceConfig = {
51+ Type = "oneshot";
52+ RemainAfterExit = "yes";
53+ ExecStart = map (p:
54+ ''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv ${paths} "${p}"''
55+ ) cfg.profiles;
56+ ExecStop = map (p:
57+ ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}"''
58+ ) cfg.profiles;
59+ ExecReload = map (p:
60+ ''${pkgs.apparmor-parser}/bin/apparmor_parser --reload ${paths} "${p}"''
61+ ) cfg.profiles;
62+ };
63+ };
64+ };
65+}
test/golden/importless/apparmor.txtnew file+1
@@ -0,0 +1 @@
1+∀ δ ε ζ. { config = δ; lib = ε; pkgs = ζ } -> { config = { boot = { kernelParams = [String] }; environment = { etc = { apparmor/parser.conf = { text = ∀ β. β } }; systemPackages = ∀ γ. [γ] }; systemd = { services = { apparmor = { after = [String]; before = [String]; serviceConfig = { ExecReload = ∀ α. α; ExecStart = ∀ α. α; ExecStop = ∀ α. α; RemainAfterExit = String; Type = String }; unitConfig = { DefaultDependencies = String }; wantedBy = [String] } } } }; options = { security = { apparmor = { enable = { default = Bool; description = String; type = ∀ β. β }; packages = { default = ∀ β. β; description = String; type = ∀ β. β }; parserConfig = { default = String; description = String; type = ∀ β. β }; profiles = { default = ∀ β. β; description = String; type = ∀ β. β } } } } }
test/golden/importless/appdaemon.nixnew file+70
@@ -0,0 +1,70 @@
1+{ lib, python3, fetchFromGitHub }:
2+
3+let
4+ python = python3.override {
5+ packageOverrides = self: super: {
6+ bcrypt = super.bcrypt.overridePythonAttrs (oldAttrs: rec {
7+ version = "3.1.4";
8+ src = oldAttrs.src.override {
9+ inherit version;
10+ sha256 = "13cyrnqwkhc70rs6dg65z4yrrr3dc42fhk11804fqmci9hvimvb7";
11+ };
12+ });
13+
14+ yarl = super.yarl.overridePythonAttrs (oldAttrs: rec {
15+ version = "1.1.0";
16+ src = oldAttrs.src.override {
17+ inherit version;
18+ sha256 = "6af895b45bd49254cc309ac0fe6e1595636a024953d710e01114257736184698";
19+ };
20+ });
21+
22+ jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec {
23+ version = "2.10.1";
24+ src = oldAttrs.src.override {
25+ inherit version;
26+ sha256 = "065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013";
27+ };
28+ });
29+
30+ aiohttp-jinja2 = super.aiohttp-jinja2.overridePythonAttrs (oldAttrs: rec {
31+ version = "0.15.0";
32+ src = oldAttrs.src.override {
33+ inherit version;
34+ sha256 = "0f390693f46173d8ffb95669acbb0e2a3ec54ecce676703510ad47f1a6d9dc83";
35+ };
36+ });
37+ };
38+ };
39+
40+in python.pkgs.buildPythonApplication rec {
41+ pname = "appdaemon";
42+ version = "4.0.1";
43+
44+ src = fetchFromGitHub {
45+ owner = "home-assistant";
46+ repo = "appdaemon";
47+ rev = version;
48+ sha256 = "13qzjv11b0c7s1c66j70qmc222a78805n10lv2svj9yyk1v4xhjv";
49+ };
50+
51+ propagatedBuildInputs = with python.pkgs; [
52+ daemonize astral requests websocket_client aiohttp yarl jinja2
53+ aiohttp-jinja2 pyyaml voluptuous feedparser iso8601 bcrypt paho-mqtt setuptools
54+ deepdiff dateutil bcrypt python-socketio pid
55+ ];
56+
57+ # no tests implemented
58+ doCheck = false;
59+
60+ postPatch = ''
61+ substituteInPlace requirements.txt --replace "pyyaml==5.1" "pyyaml"
62+ '';
63+
64+ meta = with lib; {
65+ description = "Sandboxed python execution environment for writing automation apps for Home Assistant";
66+ homepage = "https://github.com/home-assistant/appdaemon";
67+ license = licenses.mit;
68+ maintainers = with maintainers; [ peterhoeg dotlambda ];
69+ };
70+}
test/golden/importless/appdaemon.txtnew file
No changes to the content.
test/golden/importless/appliance.nixnew file+11
@@ -0,0 +1,11 @@
1+{ fetchzip }:
2+
3+fetchzip {
4+ name = "libguestfs-appliance-1.40.1";
5+ url = "http://download.libguestfs.org/binaries/appliance/appliance-1.40.1.tar.xz";
6+ sha256 = "00863mm08p55cv6w8awp7y0lv894rcrm70mjwqfc8nc4yyb70xlm";
7+
8+ meta = {
9+ hydraPlatforms = []; # Hydra fails with "Output limit exceeded"
10+ };
11+}
test/golden/importless/appliance.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ. { fetchzip = { meta = { hydraPlatforms = ∀ α. α }; name = String; sha256 = String; url = String } -> γ } -> { meta = { hydraPlatforms = ∀ β. β }; name = String; sha256 = String; url = String }
test/golden/importless/appmenu-gtk-module.nixnew file+31
@@ -0,0 +1,31 @@
1+{ stdenv, fetchFromGitHub, cmake, vala, glib, gtk2, gtk3 }:
2+stdenv.mkDerivation rec {
3+ pname = "vala-panel-appmenu-xfce";
4+ version = "0.6.94";
5+
6+ src = "${fetchFromGitHub {
7+ owner = "rilian-la-te";
8+ repo = "vala-panel-appmenu";
9+ rev = version;
10+ fetchSubmodules = true;
11+
12+ sha256 = "0xxn3zs60a9nfix8wrdp056wviq281cm1031hznzf1l38lp3wr5p";
13+ }}/subprojects/appmenu-gtk-module";
14+
15+ nativeBuildInputs = [ cmake vala ];
16+ buildInputs = [ glib gtk2 gtk3 ];
17+
18+ configurePhase = ''
19+ cmake . -DGTK3_INCLUDE_GDK=
20+ '';
21+ installPhase = ''
22+ make DESTDIR=output install
23+ cp -r output/var/empty/* "$out"
24+ '';
25+
26+ meta = with stdenv.lib; {
27+ description = "Port of the Unity GTK Module";
28+ license = licenses.lgpl3;
29+ maintainers = with maintainers; [ jD91mZM2 ];
30+ };
31+}
test/golden/importless/appmenu-gtk-module.txtnew file
No changes to the content.
test/golden/importless/appstream.nixnew file+25
@@ -0,0 +1,25 @@
1+{ config, lib, ... }:
2+
3+with lib;
4+{
5+ options = {
6+ appstream.enable = mkOption {
7+ type = types.bool;
8+ default = true;
9+ description = ''
10+ Whether to install files to support the
11+ <link xlink:href="https://www.freedesktop.org/software/appstream/docs/index.html">AppStream metadata specification</link>.
12+ '';
13+ };
14+ };
15+
16+ config = mkIf config.appstream.enable {
17+ environment.pathsToLink = [
18+ # per component metadata
19+ "/share/metainfo"
20+ # legacy path for above
21+ "/share/appdata"
22+ ];
23+ };
24+
25+}
test/golden/importless/appstream.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ. { config = β; lib = γ } -> { config = { environment = { pathsToLink = [String] } }; options = { appstream = { enable = { default = Bool; description = String; type = ∀ α. α } } } }
test/golden/importless/arbtt.nixnew file+63
@@ -0,0 +1,63 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.services.arbtt;
7+in {
8+ options = {
9+ services.arbtt = {
10+ enable = mkOption {
11+ type = types.bool;
12+ default = false;
13+ description = ''
14+ Enable the arbtt statistics capture service.
15+ '';
16+ };
17+
18+ package = mkOption {
19+ type = types.package;
20+ default = pkgs.haskellPackages.arbtt;
21+ defaultText = "pkgs.haskellPackages.arbtt";
22+ example = literalExample "pkgs.haskellPackages.arbtt";
23+ description = ''
24+ The package to use for the arbtt binaries.
25+ '';
26+ };
27+
28+ logFile = mkOption {
29+ type = types.str;
30+ default = "%h/.arbtt/capture.log";
31+ example = "/home/username/.arbtt-capture.log";
32+ description = ''
33+ The log file for captured samples.
34+ '';
35+ };
36+
37+ sampleRate = mkOption {
38+ type = types.int;
39+ default = 60;
40+ example = 120;
41+ description = ''
42+ The sampling interval in seconds.
43+ '';
44+ };
45+ };
46+ };
47+
48+ config = mkIf cfg.enable {
49+ systemd.user.services.arbtt = {
50+ description = "arbtt statistics capture service";
51+ wantedBy = [ "graphical-session.target" ];
52+ partOf = [ "graphical-session.target" ];
53+
54+ serviceConfig = {
55+ Type = "simple";
56+ ExecStart = "${cfg.package}/bin/arbtt-capture --logfile=${cfg.logFile} --sample-rate=${toString cfg.sampleRate}";
57+ Restart = "always";
58+ };
59+ };
60+ };
61+
62+ meta.maintainers = [ maintainers.michaelpj ];
63+}
test/golden/importless/arbtt.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { config = γ; lib = δ; pkgs = ε } -> { config = { systemd = { user = { services = { arbtt = { description = String; partOf = [String]; serviceConfig = { ExecStart = String; Restart = String; Type = String }; wantedBy = [String] } } } } }; meta = { maintainers = ∀ β. [β] }; options = { services = { arbtt = { enable = { default = Bool; description = String; type = ∀ α. α }; logFile = { default = String; description = String; example = String; type = ∀ α. α }; package = { default = ∀ α. α; defaultText = String; description = String; example = String; type = ∀ α. α }; sampleRate = { default = Integer; description = String; example = Integer; type = ∀ α. α } } } } }
test/golden/importless/architectures.nixnew file+77
@@ -0,0 +1,77 @@
1+{ lib }:
2+
3+rec {
4+ # platform.gcc.arch to its features (as in /proc/cpuinfo)
5+ features = {
6+ default = [ ];
7+ # x86_64 Intel
8+ westmere = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" ];
9+ sandybridge = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" ];
10+ ivybridge = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" ];
11+ haswell = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "fma" ];
12+ broadwell = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "fma" ];
13+ skylake = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "fma" ];
14+ skylake-avx512 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "avx512" "fma" ];
15+ # x86_64 AMD
16+ btver1 = [ "sse3" "ssse3" "sse4_1" "sse4_2" ];
17+ btver2 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" ];
18+ bdver1 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "sse4a" "aes" "avx" "fma" "fma4" ];
19+ bdver2 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "sse4a" "aes" "avx" "fma" "fma4" ];
20+ bdver3 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "sse4a" "aes" "avx" "fma" "fma4" ];
21+ bdver4 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "sse4a" "aes" "avx" "avx2" "fma" "fma4" ];
22+ znver1 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "sse4a" "aes" "avx" "avx2" "fma" ];
23+ znver2 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "sse4a" "aes" "avx" "avx2" "fma" ];
24+ # other
25+ armv5te = [ ];
26+ armv6 = [ ];
27+ armv7-a = [ ];
28+ armv8-a = [ ];
29+ mips32 = [ ];
30+ loongson2f = [ ];
31+ };
32+
33+ # a superior CPU has all the features of an inferior and is able to build and test code for it
34+ inferiors = {
35+ # x86_64 Intel
36+ default = [ ];
37+ westmere = [ ];
38+ sandybridge = [ "westmere" ] ++ inferiors.westmere;
39+ ivybridge = [ "sandybridge" ] ++ inferiors.sandybridge;
40+ haswell = [ "ivybridge" ] ++ inferiors.ivybridge;
41+ broadwell = [ "haswell" ] ++ inferiors.haswell;
42+ skylake = [ "broadwell" ] ++ inferiors.broadwell;
43+ skylake-avx512 = [ "skylake" ] ++ inferiors.skylake;
44+ # x86_64 AMD
45+ btver1 = [ ];
46+ btver2 = [ ]; # TODO: fill this (need testing)
47+ bdver1 = [ ]; # TODO: fill this (need testing)
48+ bdver2 = [ ]; # TODO: fill this (need testing)
49+ bdver3 = [ ]; # TODO: fill this (need testing)
50+ bdver4 = [ ]; # TODO: fill this (need testing)
51+ znver1 = [ ]; # TODO: fill this (need testing)
52+ znver2 = [ ]; # TODO: fill this (need testing)
53+ # other
54+ armv5te = [ ];
55+ armv6 = [ ];
56+ armv7-a = [ ];
57+ armv8-a = [ ];
58+ mips32 = [ ];
59+ loongson2f = [ ];
60+ };
61+
62+ predicates = let
63+ featureSupport = feature: x: builtins.elem feature features.${x} or [];
64+ in {
65+ sse3Support = featureSupport "sse3";
66+ ssse3Support = featureSupport "ssse3";
67+ sse4_1Support = featureSupport "sse4_1";
68+ sse4_2Support = featureSupport "sse4_2";
69+ sse4_aSupport = featureSupport "sse4a";
70+ avxSupport = featureSupport "avx";
71+ avx2Support = featureSupport "avx2";
72+ avx512Support = featureSupport "avx512";
73+ aesSupport = featureSupport "aes";
74+ fmaSupport = featureSupport "fma";
75+ fma4Support = featureSupport "fma4";
76+ };
77+}
test/golden/importless/architectures.txtnew file
No changes to the content.
test/golden/importless/archive-version.nixnew file+11
@@ -0,0 +1,11 @@
1+lib: version:
2+
3+with lib;
4+
5+let
6+ fragments = splitVersion version;
7+ major = head fragments;
8+ minor = concatMapStrings (fixedWidthNumber 2) (tail fragments);
9+in
10+
11+major + minor + "00"
test/golden/importless/archive-version.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ. β -> γ -> ∀ α. α
test/golden/importless/archiver.nixnew file+25
@@ -0,0 +1,25 @@
1+{ fetchMaven }:
2+
3+{
4+ plexusArchiver_1_0_alpha7 = map (obj: fetchMaven {
5+ version = "1.0-alpha-7";
6+ artifactId = "plexus-archiver";
7+ groupId = "org.codehaus.plexus";
8+ sha512 = obj.sha512;
9+ type = obj.type;
10+ }) [
11+ { type = "jar"; sha512 = "3r1c5bknlk9010wqw1m6asqhnbmqz6xammhpci929gjjims27fr0c9qmskqr55vnbswcmvsiikfjnjwa36msgscirzsay48zrs5iwfk"; }
12+ { type = "pom"; sha512 = "05gnm321rx3zi5bnkgl64nbx6j8f3pz6y0v6nb3xfw44kgv7rxaq8b1v716wpr2p0bdrmarxmzidc92hps2w5src0ramg6xv35zfw6w"; }
13+ ];
14+
15+ plexusArchiver_2_1 = map (obj: fetchMaven {
16+ version = "2.1";
17+ artifactId = "plexus-archiver";
18+ groupId = "org.codehaus.plexus";
19+ sha512 = obj.sha512;
20+ type = obj.type;
21+ }) [
22+ { type = "jar"; sha512 = "0xwsvld0s5p4abk5ain2ya3zbz97bkk8vzjdrmfrly3mwfbxp7lyjhshxqnr58m7kan6l0vygv7lsnyfg0yyxmnj8f5nwvssgxm1izx"; }
23+ { type = "pom"; sha512 = "3rrwjlrwsl9ba7dyf5vp5r1pfvfmk4vwwpyq52yrmrv22djlh4dmbh1r97aizmrf17qbs7995vmcxs83ybpc62263dgxx1qa7c85hy1"; }
24+ ];
25+}
test/golden/importless/archiver.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { fetchMaven = { artifactId = String; groupId = String; sha512 = ∀ α. α; type = ∀ α. α; version = String } -> β } -> { plexusArchiver_1_0_alpha7 = [{ sha512 = String; type = String }]; plexusArchiver_2_1 = [{ sha512 = String; type = String }] }
test/golden/importless/aria2.nixnew file+131
@@ -0,0 +1,131 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.services.aria2;
7+
8+ homeDir = "/var/lib/aria2";
9+
10+ settingsDir = "${homeDir}";
11+ sessionFile = "${homeDir}/aria2.session";
12+ downloadDir = "${homeDir}/Downloads";
13+
14+ rangesToStringList = map (x: builtins.toString x.from +"-"+ builtins.toString x.to);
15+
16+ settingsFile = pkgs.writeText "aria2.conf"
17+ ''
18+ dir=${cfg.downloadDir}
19+ listen-port=${concatStringsSep "," (rangesToStringList cfg.listenPortRange)}
20+ rpc-listen-port=${toString cfg.rpcListenPort}
21+ rpc-secret=${cfg.rpcSecret}
22+ '';
23+
24+in
25+{
26+ options = {
27+ services.aria2 = {
28+ enable = mkOption {
29+ type = types.bool;
30+ default = false;
31+ description = ''
32+ Whether or not to enable the headless Aria2 daemon service.
33+
34+ Aria2 daemon can be controlled via the RPC interface using
35+ one of many WebUI (http://localhost:6800/ by default).
36+
37+ Targets are downloaded to ${downloadDir} by default and are
38+ accessible to users in the "aria2" group.
39+ '';
40+ };
41+ openPorts = mkOption {
42+ type = types.bool;
43+ default = false;
44+ description = ''
45+ Open listen and RPC ports found in listenPortRange and rpcListenPort
46+ options in the firewall.
47+ '';
48+ };
49+ downloadDir = mkOption {
50+ type = types.path;
51+ default = downloadDir;
52+ description = ''
53+ Directory to store downloaded files.
54+ '';
55+ };
56+ listenPortRange = mkOption {
57+ type = types.listOf types.attrs;
58+ default = [ { from = 6881; to = 6999; } ];
59+ description = ''
60+ Set UDP listening port range used by DHT(IPv4, IPv6) and UDP tracker.
61+ '';
62+ };
63+ rpcListenPort = mkOption {
64+ type = types.int;
65+ default = 6800;
66+ description = "Specify a port number for JSON-RPC/XML-RPC server to listen to. Possible Values: 1024-65535";
67+ };
68+ rpcSecret = mkOption {
69+ type = types.str;
70+ default = "aria2rpc";
71+ description = ''
72+ Set RPC secret authorization token.
73+ Read https://aria2.github.io/manual/en/html/aria2c.html#rpc-auth to know how this option value is used.
74+ '';
75+ };
76+ extraArguments = mkOption {
77+ type = types.separatedString " ";
78+ example = "--rpc-listen-all --remote-time=true";
79+ default = "";
80+ description = ''
81+ Additional arguments to be passed to Aria2.
82+ '';
83+ };
84+ };
85+ };
86+
87+ config = mkIf cfg.enable {
88+
89+ # Need to open ports for proper functioning
90+ networking.firewall = mkIf cfg.openPorts {
91+ allowedUDPPortRanges = config.services.aria2.listenPortRange;
92+ allowedTCPPorts = [ config.services.aria2.rpcListenPort ];
93+ };
94+
95+ users.users.aria2 = {
96+ group = "aria2";
97+ uid = config.ids.uids.aria2;
98+ description = "aria2 user";
99+ home = homeDir;
100+ createHome = false;
101+ };
102+
103+ users.groups.aria2.gid = config.ids.gids.aria2;
104+
105+ systemd.tmpfiles.rules = [
106+ "d '${homeDir}' 0770 aria2 aria2 - -"
107+ "d '${config.services.aria2.downloadDir}' 0770 aria2 aria2 - -"
108+ ];
109+
110+ systemd.services.aria2 = {
111+ description = "aria2 Service";
112+ after = [ "network.target" ];
113+ wantedBy = [ "multi-user.target" ];
114+ preStart = ''
115+ if [[ ! -e "${sessionFile}" ]]
116+ then
117+ touch "${sessionFile}"
118+ fi
119+ cp -f "${settingsFile}" "${settingsDir}/aria2.conf"
120+ '';
121+
122+ serviceConfig = {
123+ Restart = "on-abort";
124+ ExecStart = "${pkgs.aria2}/bin/aria2c --enable-rpc --conf-path=${settingsDir}/aria2.conf ${config.services.aria2.extraArguments} --save-session=${sessionFile}";
125+ ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
126+ User = "aria2";
127+ Group = "aria2";
128+ };
129+ };
130+ };
131+}
test/golden/importless/aria2.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { config = γ; lib = δ; pkgs = ε } -> { config = { networking = { firewall = { allowedTCPPorts = ∀ β. [β]; allowedUDPPortRanges = ∀ β. β } }; systemd = { services = { aria2 = { after = [String]; description = String; preStart = String; serviceConfig = { ExecReload = String; ExecStart = String; Group = String; Restart = String; User = String }; wantedBy = [String] } }; tmpfiles = { rules = [String] } }; users = { groups = { aria2 = { gid = ∀ α. α } }; users = { aria2 = { createHome = Bool; description = String; group = String; home = String; uid = ∀ α. α } } } }; options = { services = { aria2 = { downloadDir = { default = String; description = String; type = ∀ α. α }; enable = { default = Bool; description = String; type = ∀ α. α }; extraArguments = { default = String; description = String; example = String; type = String }; listenPortRange = { default = [{ from = Integer; to = Integer }]; description = String; type = ∀ α. α }; openPorts = { default = Bool; description = String; type = ∀ α. α }; rpcListenPort = { default = Integer; description = String; type = ∀ α. α }; rpcSecret = { default = String; description = String; type = ∀ α. α } } } } }
test/golden/importless/array-utils.nixnew file+25
@@ -0,0 +1,25 @@
1+args @ { fetchurl, ... }:
2+rec {
3+ baseName = ''array-utils'';
4+ version = ''20190710-git'';
5+
6+ description = ''A few utilities for working with arrays.'';
7+
8+ deps = [ ];
9+
10+ src = fetchurl {
11+ url = ''http://beta.quicklisp.org/archive/array-utils/2019-07-10/array-utils-20190710-git.tgz'';
12+ sha256 = ''1fzsg3lqa79yrkad6fx924vai7i6m92i2rq8lyq37wrbwkhm7grh'';
13+ };
14+
15+ packageName = "array-utils";
16+
17+ asdFilesToKeep = ["array-utils.asd"];
18+ overrides = x: x;
19+}
20+/* (SYSTEM array-utils DESCRIPTION A few utilities for working with arrays.
21+ SHA256 1fzsg3lqa79yrkad6fx924vai7i6m92i2rq8lyq37wrbwkhm7grh URL
22+ http://beta.quicklisp.org/archive/array-utils/2019-07-10/array-utils-20190710-git.tgz
23+ MD5 58c39c2ba3d2c8cd8a695fb867b72c33 NAME array-utils FILENAME array-utils
24+ DEPS NIL DEPENDENCIES NIL VERSION 20190710-git SIBLINGS (array-utils-test)
25+ PARASITES NIL) */
test/golden/importless/array-utils.txtnew file
No changes to the content.
test/golden/importless/array.nixnew file+22
@@ -0,0 +1,22 @@
1+{ build-idris-package
2+, fetchFromGitHub
3+, lib
4+}:
5+build-idris-package {
6+ name = "array";
7+ version = "2016-10-14";
8+
9+ src = fetchFromGitHub {
10+ owner = "idris-hackers";
11+ repo = "idris-array";
12+ rev = "eb5c034d3c65b5cf465bd0715e65859b8f69bf15";
13+ sha256 = "148dnyd664vnxi04zjsyjbs1y51dq0zz98005q9c042k4jcfpfjh";
14+ };
15+
16+ meta = {
17+ description = "Primitive flat arrays containing Idris values";
18+ homepage = "https://github.com/idris-hackers/idris-array";
19+ license = lib.licenses.bsd3;
20+ maintainers = [ lib.maintainers.brainrape ];
21+ };
22+}
test/golden/importless/array.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { build-idris-package = { meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α] }; name = String; src = { owner = String; repo = String; rev = String; sha256 = String }; version = String } -> γ; fetchFromGitHub = { owner = String; repo = String; rev = String; sha256 = String } -> δ; lib = ε } -> { meta = { description = String; homepage = String; license = ∀ β. β; maintainers = ∀ β. [β] }; name = String; src = { owner = String; repo = String; rev = String; sha256 = String }; version = String }
test/golden/importless/artifact-manager.nixnew file+47
@@ -0,0 +1,47 @@
1+{ fetchMaven }:
2+
3+{
4+ mavenArtifactManager_2_0_1 = map (obj: fetchMaven {
5+ version = "2.0.1";
6+ artifactId = "maven-artifact-manager";
7+ groupId = "org.apache.maven";
8+ sha512 = obj.sha512;
9+ type = obj.type;
10+ }) [
11+ { type = "jar"; sha512 = "0xciyvsl2l6fnd5k5dbhz5iih66fgacdagcrflk6cfiiv3qng5zrhx61v9fbjr0fpxbj7rswkczv7vn46359nlkb80513jwhzs8gqwv"; }
12+ { type = "pom"; sha512 = "1j20ygljm0qa10ryw72j9q4jlwnsjdrcdg08a10ar456zi8gxzszp5cd0xsp0j29q69bp3wck2ggfr028v0zxivxgvakm4fa6l33sya"; }
13+ ];
14+
15+ mavenArtifactManager_2_0_6 = map (obj: fetchMaven {
16+ version = "2.0.6";
17+ artifactId = "maven-artifact-manager";
18+ groupId = "org.apache.maven";
19+ sha512 = obj.sha512;
20+ type = obj.type;
21+ }) [
22+ { type = "jar"; sha512 = "1alp2iahaaf39yd3xp8817sz93nhz53flkkv5dx87vybsizpykb1g7jn6bnx0cbqqr9k5pi27z8mbkmry05vwqc6jyic1pyvzy1y3vn"; }
23+ { type = "pom"; sha512 = "3pvj8gpcg57akalj4574k4mzw2skgm0w69bdvh0ivyd8skgdrf5gwxf57hl5rbgsdpr82m2za7yvi63fw82k7v84sib904fs639r3pf"; }
24+ ];
25+
26+ mavenArtifactManager_2_0_9 = map (obj: fetchMaven {
27+ version = "2.0.9";
28+ artifactId = "maven-artifact-manager";
29+ groupId = "org.apache.maven";
30+ sha512 = obj.sha512;
31+ type = obj.type;
32+ }) [
33+ { type = "jar"; sha512 = "1vvxf2dannx9p2qvlbmrxfni5mc0f3722p3bcdz6bk3z4dhb2hlw2wx17nvirq5r3k43azgp13mg0638saz7v1g23f07n9yzm979f0p"; }
34+ { type = "pom"; sha512 = "2v7371gsarjb4s2bp5vclqgdg82mh7nzy7af31g9z20q2r6ndw024xa8bpcxp227yv83lpawbhq0ysg0glnw9ql54100h9hbllam0p8"; }
35+ ];
36+
37+ mavenArtifactManager_2_2_1 = map (obj: fetchMaven {
38+ version = "2.2.1";
39+ artifactId = "maven-artifact-manager";
40+ groupId = "org.apache.maven";
41+ sha512 = obj.sha512;
42+ type = obj.type;
43+ }) [
44+ { type = "jar"; sha512 = "04i9c4k5diyqz8hn20sxvrqkqrxxm7wxqh7xgyk3dm1hwhrqy3h29irvpb335kp8i0sxljz2p2a9cmjpx9wyl0266bj5y313whmfkr5"; }
45+ { type = "pom"; sha512 = "02ryc46in725q4y11l1kmy6ra01wjnfq5gqwic005wc090l2j39kn5drvn3av6g7413v9x0cksy8qcbagc2jnz6wwxn8z2g5krynw6z"; }
46+ ];
47+}
test/golden/importless/artifact-manager.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { fetchMaven = { artifactId = String; groupId = String; sha512 = ∀ α. α; type = ∀ α. α; version = String } -> β } -> { mavenArtifactManager_2_0_1 = [{ sha512 = String; type = String }]; mavenArtifactManager_2_0_6 = [{ sha512 = String; type = String }]; mavenArtifactManager_2_0_9 = [{ sha512 = String; type = String }]; mavenArtifactManager_2_2_1 = [{ sha512 = String; type = String }] }
test/golden/importless/artifact.nixnew file+69
@@ -0,0 +1,69 @@
1+{ fetchMaven }:
2+
3+{
4+ mavenArtifact_2_0_1 = map (obj: fetchMaven {
5+ version = "2.0.1";
6+ artifactId = "maven-artifact";
7+ groupId = "org.apache.maven";
8+ sha512 = obj.sha512;
9+ type = obj.type;
10+ }) [
11+ { type = "jar"; sha512 = "3xmim81k0p3l7fpgr8xlbj3mcz83d1rw3nwzdlrnwh3nkc5xryxl8fx499351vjlmjs009bhd68a20v59y3flxz8hxiy07cijgcbqnx"; }
12+ { type = "pom"; sha512 = "30y2mirgqvdm3gdalxkzjljswh9xhygsw6v2jfrd9y61wqng2hzyn7dawkn5q4cyiknmw1b9660pvbnysvh3rbic75lhw5xqqgdjmih"; }
13+ ];
14+
15+ mavenArtifact_2_0_6 = map (obj: fetchMaven {
16+ version = "2.0.6";
17+ artifactId = "maven-artifact";
18+ groupId = "org.apache.maven";
19+ sha512 = obj.sha512;
20+ type = obj.type;
21+ }) [
22+ { type = "jar"; sha512 = "3kkv5kf3k5in69aplawkr0cr2cviyjgf8k6r6qvgxk53i3jmh7qylzrwkrd9bxclkjkgyg77cffxm48qhxm9pyqncdbwjldsmmdfb4f"; }
23+ { type = "pom"; sha512 = "37kvfxcpfajjn9lmvh5kay4y61ri1190hxxgiil8fqfvmvcm02jcqzfi4ry0nzc80g5fsarsd3s2ns2d8l0lnqjp28nn51dixm9a55w"; }
24+ ];
25+
26+ mavenArtifact_2_0_8 = map (obj: fetchMaven {
27+ version = "2.0.8";
28+ artifactId = "maven-artifact";
29+ groupId = "org.apache.maven";
30+ sha512 = obj.sha512;
31+ type = obj.type;
32+ }) [
33+ { type = "jar"; sha512 = "0i2xd2fkvp5glb7yx8zhh96px4v2yq0bgxa6xxcy6if0sn8c3vps8jmd1z3ys27jzj1gvwgg4rpa17k0nk1c8szz1v7vwvyhp7s22pi"; }
34+ { type = "pom"; sha512 = "37563kfswgk9yfzm46vk4nr44rncdd3y705vgg20lj4nsrqn7iwg55fx1a4f039gbaf8dzb6xwp0ypyspsx9q742wkwrsr5q41d99v7"; }
35+ ];
36+
37+ mavenArtifact_2_0_9 = map (obj: fetchMaven {
38+ version = "2.0.9";
39+ artifactId = "maven-artifact";
40+ groupId = "org.apache.maven";
41+ sha512 = obj.sha512;
42+ type = obj.type;
43+ }) [
44+ { type = "jar"; sha512 = "17g913m1zbrvarkwvmz5xx9nv7mrk2984rc9pkbc2laid7n1nb226g0262xyhcnc2s57av96337ag6jg2bq9p1kgx7gbd2z6gnvkkia"; }
45+ { type = "pom"; sha512 = "0g0cbqihzxyaa1b0z9a7qb8lkhcm8bzxi7qnqaab2n2zaaql6jyy7cf4z4yzqw3yfj7ylqvydiwp32j2c7nqacyx0hmcydqkqg46kxv"; }
46+ ];
47+
48+ mavenArtifact_2_2_1 = map (obj: fetchMaven {
49+ version = "2.2.1";
50+ artifactId = "maven-artifact";
51+ groupId = "org.apache.maven";
52+ sha512 = obj.sha512;
53+ type = obj.type;
54+ }) [
55+ { type = "jar"; sha512 = "1wfffq39ay1cdzany6x0d6h7icdqrvmj4py35a8i2aw94bc8mf6cam7lf8z7jjckhrnb7yxbqz6pj8sxsgpkwnl2q4flqaczr8nnx4j"; }
56+ { type = "pom"; sha512 = "099hkdbccd9cf6w64c37z1b2i54h4y0bfx5n56birikgy3s92rrl4x454gvw3wnrpvhkikwvdyw9dv03w40rn50kdwgy0mxc3zgs6l4"; }
57+ ];
58+
59+ mavenArtifact_3_0_3 = map (obj: fetchMaven {
60+ version = "3.0.3";
61+ artifactId = "maven-artifact";
62+ groupId = "org.apache.maven";
63+ sha512 = obj.sha512;
64+ type = obj.type;
65+ }) [
66+ { type = "jar"; sha512 = "0f842m7wi9ajvphgshnmsn8dppiwr326yp663gic45xzkpfvka118npl8xxqnr683dipvbnbrddim974qcpz4mgpypir0922803i3qv"; }
67+ { type = "pom"; sha512 = "3wpambpgm68rap906gdvwlbywgjs57nkc8k05r8rx701800zbpwlrzc9b3ipxgjb7y6f2z1vi14yj9ia12wv7k8jn2aspf31pzp5plq"; }
68+ ];
69+}
test/golden/importless/artifact.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { fetchMaven = { artifactId = String; groupId = String; sha512 = ∀ α. α; type = ∀ α. α; version = String } -> β } -> { mavenArtifact_2_0_1 = [{ sha512 = String; type = String }]; mavenArtifact_2_0_6 = [{ sha512 = String; type = String }]; mavenArtifact_2_0_8 = [{ sha512 = String; type = String }]; mavenArtifact_2_0_9 = [{ sha512 = String; type = String }]; mavenArtifact_2_2_1 = [{ sha512 = String; type = String }]; mavenArtifact_3_0_3 = [{ sha512 = String; type = String }] }
test/golden/importless/asdf-finalizers.nixnew file+26
@@ -0,0 +1,26 @@
1+{ fetchurl, ... }:
2+{
3+ baseName = ''asdf-finalizers'';
4+ version = ''20170403-git'';
5+
6+ description = ''Enforced calling of finalizers for Lisp code'';
7+
8+ deps = [ ];
9+
10+ src = fetchurl {
11+ url = ''http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz'';
12+ sha256 = ''1w2ka0123icbjba7ngdd6h93j72g236h6jw4bsmvsak69fj0ybxj'';
13+ };
14+
15+ packageName = "asdf-finalizers";
16+
17+ asdFilesToKeep = ["asdf-finalizers.asd"];
18+ overrides = x: x;
19+}
20+/* (SYSTEM asdf-finalizers DESCRIPTION
21+ Enforced calling of finalizers for Lisp code SHA256
22+ 1w2ka0123icbjba7ngdd6h93j72g236h6jw4bsmvsak69fj0ybxj URL
23+ http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz
24+ MD5 a9e3c960e6b6fdbd69640b520ef8044b NAME asdf-finalizers FILENAME
25+ asdf-finalizers DEPS NIL DEPENDENCIES NIL VERSION 20170403-git SIBLINGS
26+ (asdf-finalizers-test list-of) PARASITES NIL) */
test/golden/importless/asdf-finalizers.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { fetchurl = { sha256 = String; url = String } -> β } -> { asdFilesToKeep = [String]; baseName = String; deps = ∀ α. α; description = String; overrides = ∀ α. α -> α; packageName = String; src = { sha256 = String; url = String }; version = String }
test/golden/importless/asdf-package-system.nixnew file+25
@@ -0,0 +1,25 @@
1+args @ { fetchurl, ... }:
2+rec {
3+ baseName = ''asdf-package-system'';
4+ version = ''20150608-git'';
5+
6+ description = ''System lacks description'';
7+
8+ deps = [ ];
9+
10+ src = fetchurl {
11+ url = ''http://beta.quicklisp.org/archive/asdf-package-system/2015-06-08/asdf-package-system-20150608-git.tgz'';
12+ sha256 = ''17lfwfc15hcag8a2jsaxkx42wmz2mwkvxf6vb2h9cim7dwsnyy29'';
13+ };
14+
15+ packageName = "asdf-package-system";
16+
17+ asdFilesToKeep = ["asdf-package-system.asd"];
18+ overrides = x: x;
19+}
20+/* (SYSTEM asdf-package-system DESCRIPTION System lacks description SHA256
21+ 17lfwfc15hcag8a2jsaxkx42wmz2mwkvxf6vb2h9cim7dwsnyy29 URL
22+ http://beta.quicklisp.org/archive/asdf-package-system/2015-06-08/asdf-package-system-20150608-git.tgz
23+ MD5 9eee9d811aec4894843ac1d8ae6cbccd NAME asdf-package-system FILENAME
24+ asdf-package-system DEPS NIL DEPENDENCIES NIL VERSION 20150608-git SIBLINGS
25+ NIL PARASITES NIL) */
test/golden/importless/asdf-package-system.txtnew file
No changes to the content.
test/golden/importless/asdf-system-connections.nixnew file+26
@@ -0,0 +1,26 @@
1+args @ { fetchurl, ... }:
2+rec {
3+ baseName = ''asdf-system-connections'';
4+ version = ''20170124-git'';
5+
6+ description = ''Allows for ASDF system to be connected so that auto-loading may occur.'';
7+
8+ deps = [ ];
9+
10+ src = fetchurl {
11+ url = ''http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz'';
12+ sha256 = ''0h8237bq3niw6glcsps77n1ykcmc5bjkcrbjyxjgkmcb1c5kwwpq'';
13+ };
14+
15+ packageName = "asdf-system-connections";
16+
17+ asdFilesToKeep = ["asdf-system-connections.asd"];
18+ overrides = x: x;
19+}
20+/* (SYSTEM asdf-system-connections DESCRIPTION
21+ Allows for ASDF system to be connected so that auto-loading may occur.
22+ SHA256 0h8237bq3niw6glcsps77n1ykcmc5bjkcrbjyxjgkmcb1c5kwwpq URL
23+ http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz
24+ MD5 23bdbb69c433568e3e15ed705b803992 NAME asdf-system-connections FILENAME
25+ asdf-system-connections DEPS NIL DEPENDENCIES NIL VERSION 20170124-git
26+ SIBLINGS NIL PARASITES NIL) */
test/golden/importless/asdf-system-connections.txtnew file
No changes to the content.
test/golden/importless/asm-all.nixnew file+15
@@ -0,0 +1,15 @@
1+{ fetchMaven }:
2+
3+{
4+ ow2AsmAll_4_0 = map (obj: fetchMaven {
5+ version = "4.0";
6+ artifactId = "asm-all";
7+ groupId = "org.ow2.asm";
8+ sha512 = obj.sha512;
9+ type = obj.type;
10+ }) [
11+ { type = "jar"; sha512 = "3b38kqyzg15plsdwwr5kri06h0pag1pxnxzlyqcwpaa2ncd4pqh44zc7mzaxrsvpx8z5cdl413xs2p0qn1qhcz92w5lqykm4gnvb2az"; }
12+ { type = "pom"; sha512 = "11gcdp8417immlsb8dvw70cmqykcqvzcl2xz37vsimdpwjx31px88dgmxs6l3k50z9mvs6h1cfgfbaw1i2qmzdkdlbyai8iwnl8q2mr"; }
13+ ];
14+}
15+
test/golden/importless/asm-all.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { fetchMaven = { artifactId = String; groupId = String; sha512 = ∀ α. α; type = ∀ α. α; version = String } -> β } -> { ow2AsmAll_4_0 = [{ sha512 = String; type = String }] }
test/golden/importless/aspell-with-dicts.nixnew file+36
@@ -0,0 +1,36 @@
1+# Create a derivation that contains aspell and selected dictionaries.
2+# Composition is done using `pkgs.buildEnv`.
3+# Beware of that `ASPELL_CONF` used by this derivation is not always
4+# respected by libaspell (#28815) and in some cases, when used as
5+# dependency by another derivation, the passed dictionaries will be
6+# missing. However, invoking aspell directly should be fine.
7+
8+{ aspell
9+, aspellDicts
10+, makeWrapper
11+, buildEnv
12+}:
13+
14+f:
15+
16+let
17+ # Dictionaries we want
18+ dicts = f aspellDicts;
19+
20+in buildEnv {
21+ name = "aspell-env";
22+ buildInputs = [ makeWrapper ];
23+ paths = [ aspell ] ++ dicts;
24+ postBuild = ''
25+ # Construct wrappers in /bin
26+ unlink "$out/bin"
27+ mkdir -p "$out/bin"
28+ pushd "${aspell}/bin"
29+ for prg in *; do
30+ if [ -f "$prg" ]; then
31+ makeWrapper "${aspell}/bin/$prg" "$out/bin/$prg" --set ASPELL_CONF "dict-dir $out/lib/aspell"
32+ fi
33+ done
34+ popd
35+ '';
36+}
test/golden/importless/aspell-with-dicts.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ. { aspell = α; aspellDicts = [α]; buildEnv = { buildInputs = [β]; name = String; paths = [α]; postBuild = String } -> γ; makeWrapper = β } -> [α] -> δ -> { buildInputs = [β]; name = String; paths = [α]; postBuild = String }
test/golden/importless/assertions.nixnew file+34
@@ -0,0 +1,34 @@
1+{ lib, ... }:
2+
3+with lib;
4+
5+{
6+
7+ options = {
8+
9+ assertions = mkOption {
10+ type = types.listOf types.unspecified;
11+ internal = true;
12+ default = [];
13+ example = [ { assertion = false; message = "you can't enable this for that reason"; } ];
14+ description = ''
15+ This option allows modules to express conditions that must
16+ hold for the evaluation of the system configuration to
17+ succeed, along with associated error messages for the user.
18+ '';
19+ };
20+
21+ warnings = mkOption {
22+ internal = true;
23+ default = [];
24+ type = types.listOf types.str;
25+ example = [ "The `foo' service is deprecated and will go away soon!" ];
26+ description = ''
27+ This option allows modules to show warnings to users during
28+ the evaluation of the system configuration.
29+ '';
30+ };
31+
32+ };
33+ # impl of assertions is in <nixpkgs/nixos/modules/system/activation/top-level.nix>
34+}
test/golden/importless/assertions.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. { lib = β } -> { options = { assertions = { default = ∀ α. α; description = String; example = [{ assertion = Bool; message = String }]; internal = Bool; type = ∀ α. α }; warnings = { default = ∀ α. α; description = String; example = [String]; internal = Bool; type = ∀ α. α } } }
test/golden/importless/asserts.nixnew file+44
@@ -0,0 +1,44 @@
1+{ lib }:
2+
3+rec {
4+
5+ /* Print a trace message if pred is false.
6+ Intended to be used to augment asserts with helpful error messages.
7+
8+ Example:
9+ assertMsg false "nope"
10+ => false
11+ stderr> trace: nope
12+
13+ assert (assertMsg ("foo" == "bar") "foo is not bar, silly"); ""
14+ stderr> trace: foo is not bar, silly
15+ stderr> assert failed at …
16+
17+ Type:
18+ assertMsg :: Bool -> String -> Bool
19+ */
20+ # TODO(Profpatsch): add tests that check stderr
21+ assertMsg = pred: msg:
22+ if pred
23+ then true
24+ else builtins.trace msg false;
25+
26+ /* Specialized `assertMsg` for checking if val is one of the elements
27+ of a list. Useful for checking enums.
28+
29+ Example:
30+ let sslLibrary = "libressl"
31+ in assertOneOf "sslLibrary" sslLibrary [ "openssl" "bearssl" ]
32+ => false
33+ stderr> trace: sslLibrary must be one of "openssl", "bearssl", but is: "libressl"
34+
35+ Type:
36+ assertOneOf :: String -> ComparableVal -> List ComparableVal -> Bool
37+ */
38+ assertOneOf = name: val: xs: assertMsg
39+ (lib.elem val xs)
40+ "${name} must be one of ${
41+ lib.generators.toPretty {} xs}, but is: ${
42+ lib.generators.toPretty {} val}";
43+
44+}
test/golden/importless/asserts.txtnew file
No changes to the content.
test/golden/importless/assets.nixnew file+55
@@ -0,0 +1,55 @@
1+{ stdenv, requireFile, gogUnpackHook }:
2+
3+let
4+ generic = ver: source: let
5+ pname = "descent${toString ver}";
6+ in stdenv.mkDerivation rec {
7+ name = "${pname}-assets-${version}";
8+ version = "2.0.0.7";
9+
10+ src = requireFile rec {
11+ name = "setup_descent12_${version}.exe";
12+ sha256 = "1r1drbfda6czg21f9qqiiwgnkpszxgmcn5bafp5ljddh34swkn3f";
13+ message = ''
14+ While the Descent ${toString ver} game engine is free, the game assets are not.
15+
16+ Please purchase the game on gog.com and download the Windows installer.
17+
18+ Once you have downloaded the file, please use the following command and re-run the
19+ installation:
20+
21+ nix-prefetch-url file://\$PWD/${name}
22+ '';
23+ };
24+
25+ nativeBuildInputs = [ gogUnpackHook ];
26+
27+ dontBuild = true;
28+ dontFixup = true;
29+
30+ installPhase = ''
31+ runHook preInstall
32+
33+ mkdir -p $out/share/{games/${pname},doc/${pname}/examples}
34+ pushd "app/${source}"
35+ mv dosbox*.conf $out/share/doc/${pname}/examples
36+ mv *.txt *.pdf $out/share/doc/${pname}
37+ cp -r * $out/share/games/descent${toString ver}
38+ popd
39+
40+ runHook postInstall
41+ '';
42+
43+ meta = with stdenv.lib; {
44+ description = "Descent ${toString ver} assets from GOG";
45+ homepage = "https://www.dxx-rebirth.com/";
46+ license = licenses.unfree;
47+ maintainers = with maintainers; [ peterhoeg ];
48+ hydraPlatforms = [];
49+ };
50+ };
51+
52+in {
53+ descent1-assets = generic 1 "descent";
54+ descent2-assets = generic 2 "descent 2";
55+}
test/golden/importless/assets.txtnew file
No changes to the content.
test/golden/importless/asterisk.nixnew file+264
@@ -0,0 +1,264 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.services.asterisk;
7+
8+ asteriskUser = "asterisk";
9+ asteriskGroup = "asterisk";
10+
11+ varlibdir = "/var/lib/asterisk";
12+ spooldir = "/var/spool/asterisk";
13+ logdir = "/var/log/asterisk";
14+
15+ # Add filecontents from files of useTheseDefaultConfFiles to confFiles, do not override
16+ defaultConfFiles = subtractLists (attrNames cfg.confFiles) cfg.useTheseDefaultConfFiles;
17+ allConfFiles =
18+ cfg.confFiles //
19+ builtins.listToAttrs (map (x: { name = x;
20+ value = builtins.readFile (cfg.package + "/etc/asterisk/" + x); })
21+ defaultConfFiles);
22+
23+ asteriskEtc = pkgs.stdenv.mkDerivation
24+ ((mapAttrs' (name: value: nameValuePair
25+ # Fudge the names to make bash happy
26+ ((replaceChars ["."] ["_"] name) + "_")
27+ (value)
28+ ) allConfFiles) //
29+ {
30+ confFilesString = concatStringsSep " " (
31+ attrNames allConfFiles
32+ );
33+
34+ name = "asterisk-etc";
35+
36+ # Default asterisk.conf file
37+ # (Notice that astetcdir will be set to the path of this derivation)
38+ asteriskConf = ''
39+ [directories]
40+ astetcdir => /etc/asterisk
41+ astmoddir => ${cfg.package}/lib/asterisk/modules
42+ astvarlibdir => /var/lib/asterisk
43+ astdbdir => /var/lib/asterisk
44+ astkeydir => /var/lib/asterisk
45+ astdatadir => /var/lib/asterisk
46+ astagidir => /var/lib/asterisk/agi-bin
47+ astspooldir => /var/spool/asterisk
48+ astrundir => /run/asterisk
49+ astlogdir => /var/log/asterisk
50+ astsbindir => ${cfg.package}/sbin
51+ '';
52+ extraConf = cfg.extraConfig;
53+
54+ # Loading all modules by default is considered sensible by the authors of
55+ # "Asterisk: The Definitive Guide". Secure sites will likely want to
56+ # specify their own "modules.conf" in the confFiles option.
57+ modulesConf = ''
58+ [modules]
59+ autoload=yes
60+ '';
61+
62+ # Use syslog for logging so logs can be viewed with journalctl
63+ loggerConf = ''
64+ [general]
65+
66+ [logfiles]
67+ syslog.local0 => notice,warning,error
68+ '';
69+
70+ buildCommand = ''
71+ mkdir -p "$out"
72+
73+ # Create asterisk.conf, pointing astetcdir to the path of this derivation
74+ echo "$asteriskConf" | sed "s|@out@|$out|g" > "$out"/asterisk.conf
75+ echo "$extraConf" >> "$out"/asterisk.conf
76+
77+ echo "$modulesConf" > "$out"/modules.conf
78+
79+ echo "$loggerConf" > "$out"/logger.conf
80+
81+ # Config files specified in confFiles option override all other files
82+ for i in $confFilesString; do
83+ conf=$(echo "$i"_ | sed 's/\./_/g')
84+ echo "''${!conf}" > "$out"/"$i"
85+ done
86+ '';
87+ });
88+in
89+
90+{
91+ options = {
92+ services.asterisk = {
93+ enable = mkOption {
94+ type = types.bool;
95+ default = false;
96+ description = ''
97+ Whether to enable the Asterisk PBX server.
98+ '';
99+ };
100+
101+ extraConfig = mkOption {
102+ default = "";
103+ type = types.lines;
104+ example = ''
105+ [options]
106+ verbose=3
107+ debug=3
108+ '';
109+ description = ''
110+ Extra configuration options appended to the default
111+ <literal>asterisk.conf</literal> file.
112+ '';
113+ };
114+
115+ confFiles = mkOption {
116+ default = {};
117+ type = types.attrsOf types.str;
118+ example = literalExample
119+ ''
120+ {
121+ "extensions.conf" = '''
122+ [tests]
123+ ; Dial 100 for "hello, world"
124+ exten => 100,1,Answer()
125+ same => n,Wait(1)
126+ same => n,Playback(hello-world)
127+ same => n,Hangup()
128+
129+ [softphones]
130+ include => tests
131+
132+ [unauthorized]
133+ ''';
134+ "sip.conf" = '''
135+ [general]
136+ allowguest=no ; Require authentication
137+ context=unauthorized ; Send unauthorized users to /dev/null
138+ srvlookup=no ; Don't do DNS lookup
139+ udpbindaddr=0.0.0.0 ; Listen on all interfaces
140+ nat=force_rport,comedia ; Assume device is behind NAT
141+
142+ [softphone](!)
143+ type=friend ; Match on username first, IP second
144+ context=softphones ; Send to softphones context in
145+ ; extensions.conf file
146+ host=dynamic ; Device will register with asterisk
147+ disallow=all ; Manually specify codecs to allow
148+ allow=g722
149+ allow=ulaw
150+ allow=alaw
151+
152+ [myphone](softphone)
153+ secret=GhoshevFew ; Change this password!
154+ ''';
155+ "logger.conf" = '''
156+ [general]
157+
158+ [logfiles]
159+ ; Add debug output to log
160+ syslog.local0 => notice,warning,error,debug
161+ ''';
162+ }
163+ '';
164+ description = ''
165+ Sets the content of config files (typically ending with
166+ <literal>.conf</literal>) in the Asterisk configuration directory.
167+
168+ Note that if you want to change <literal>asterisk.conf</literal>, it
169+ is preferable to use the <option>services.asterisk.extraConfig</option>
170+ option over this option. If <literal>"asterisk.conf"</literal> is
171+ specified with the <option>confFiles</option> option (not recommended),
172+ you must be prepared to set your own <literal>astetcdir</literal>
173+ path.
174+
175+ See
176+ <link xlink:href="http://www.asterisk.org/community/documentation"/>
177+ for more examples of what is possible here.
178+ '';
179+ };
180+
181+ useTheseDefaultConfFiles = mkOption {
182+ default = [ "ari.conf" "acl.conf" "agents.conf" "amd.conf" "calendar.conf" "cdr.conf" "cdr_syslog.conf" "cdr_custom.conf" "cel.conf" "cel_custom.conf" "cli_aliases.conf" "confbridge.conf" "dundi.conf" "features.conf" "hep.conf" "iax.conf" "pjsip.conf" "pjsip_wizard.conf" "phone.conf" "phoneprov.conf" "queues.conf" "res_config_sqlite3.conf" "res_parking.conf" "statsd.conf" "udptl.conf" "unistim.conf" ];
183+ type = types.listOf types.str;
184+ example = [ "sip.conf" "dundi.conf" ];
185+ description = ''Sets these config files to the default content. The default value for
186+ this option contains all necesscary files to avoid errors at startup.
187+ This does not override settings via <option>services.asterisk.confFiles</option>.
188+ '';
189+ };
190+
191+ extraArguments = mkOption {
192+ default = [];
193+ type = types.listOf types.str;
194+ example =
195+ [ "-vvvddd" "-e" "1024" ];
196+ description = ''
197+ Additional command line arguments to pass to Asterisk.
198+ '';
199+ };
200+ package = mkOption {
201+ type = types.package;
202+ default = pkgs.asterisk;
203+ defaultText = "pkgs.asterisk";
204+ description = "The Asterisk package to use.";
205+ };
206+ };
207+ };
208+
209+ config = mkIf cfg.enable {
210+ environment.systemPackages = [ cfg.package ];
211+
212+ environment.etc.asterisk.source = asteriskEtc;
213+
214+ users.users.asterisk =
215+ { name = asteriskUser;
216+ group = asteriskGroup;
217+ uid = config.ids.uids.asterisk;
218+ description = "Asterisk daemon user";
219+ home = varlibdir;
220+ };
221+
222+ users.groups.asterisk =
223+ { name = asteriskGroup;
224+ gid = config.ids.gids.asterisk;
225+ };
226+
227+ systemd.services.asterisk = {
228+ description = ''
229+ Asterisk PBX server
230+ '';
231+
232+ wantedBy = [ "multi-user.target" ];
233+
234+ # Do not restart, to avoid disruption of running calls. Restart unit by yourself!
235+ restartIfChanged = false;
236+
237+ preStart = ''
238+ # Copy skeleton directory tree to /var
239+ for d in '${varlibdir}' '${spooldir}' '${logdir}'; do
240+ # TODO: Make exceptions for /var directories that likely should be updated
241+ if [ ! -e "$d" ]; then
242+ mkdir -p "$d"
243+ cp --recursive ${cfg.package}/"$d"/* "$d"/
244+ chown --recursive ${asteriskUser}:${asteriskGroup} "$d"
245+ find "$d" -type d | xargs chmod 0755
246+ fi
247+ done
248+ '';
249+
250+ serviceConfig = {
251+ ExecStart =
252+ let
253+ # FIXME: This doesn't account for arguments with spaces
254+ argString = concatStringsSep " " cfg.extraArguments;
255+ in
256+ "${cfg.package}/bin/asterisk -U ${asteriskUser} -C /etc/asterisk/asterisk.conf ${argString} -F";
257+ ExecReload = ''${cfg.package}/bin/asterisk -x "core reload"
258+ '';
259+ Type = "forking";
260+ PIDFile = "/run/asterisk/asterisk.pid";
261+ };
262+ };
263+ };
264+}
test/golden/importless/asterisk.txtnew file+1
@@ -0,0 +1 @@
1+∀ δ ε ζ. { config = δ; lib = ε; pkgs = ζ } -> { config = { environment = { etc = { asterisk = { source = { asteriskConf = String; buildCommand = String; confFilesString = ∀ α. α; extraConf = ∀ α. α; loggerConf = String; modulesConf = String; name = String } } }; systemPackages = ∀ γ. [γ] }; systemd = { services = { asterisk = { description = String; preStart = String; restartIfChanged = Bool; serviceConfig = { ExecReload = String; ExecStart = String; PIDFile = String; Type = String }; wantedBy = [String] } } }; users = { groups = { asterisk = { gid = ∀ β. β; name = String } }; users = { asterisk = { description = String; group = String; home = String; name = String; uid = ∀ β. β } } } }; options = { services = { asterisk = { confFiles = { default = { }; description = String; example = String; type = ∀ β. β }; enable = { default = Bool; description = String; type = ∀ β. β }; extraArguments = { default = ∀ β. β; description = String; example = [String]; type = ∀ β. β }; extraConfig = { default = String; description = String; example = String; type = ∀ β. β }; package = { default = ∀ β. β; defaultText = String; description = String; type = ∀ β. β }; useTheseDefaultConfFiles = { default = [String]; description = String; example = [String]; type = ∀ β. β } } } } }
test/golden/importless/async-rpc-kernel.nixnew file+18
@@ -0,0 +1,18 @@
1+{stdenv, buildOcamlJane, async_kernel, bin_prot, core_kernel,
2+ fieldslib, ppx_assert, ppx_bench, ppx_driver, ppx_expect, ppx_inline_test,
3+ ppx_jane, sexplib, typerep, variantslib}:
4+
5+buildOcamlJane {
6+ name = "async_rpc_kernel";
7+ hash = "0pvys7giqix1nfidw1f4i3r94cf03ba1mvhadpm2zpdir3av91sw";
8+ propagatedBuildInputs = [ async_kernel bin_prot core_kernel fieldslib
9+ ppx_assert ppx_bench ppx_driver ppx_expect ppx_inline_test ppx_jane
10+ sexplib typerep variantslib ];
11+
12+ meta = with stdenv.lib; {
13+ homepage = "https://github.com/janestreet/async_rpc_kernel";
14+ description = "Platform-independent core of Async RPC library";
15+ license = licenses.asl20;
16+ maintainers = [ maintainers.maurer ];
17+ };
18+}
test/golden/importless/async-rpc-kernel.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { async_kernel = γ; bin_prot = γ; buildOcamlJane = { hash = String; meta = { description = String; homepage = String; license = ∀ α. α; maintainers = ∀ α. [α] }; name = String; propagatedBuildInputs = [γ] } -> δ; core_kernel = γ; fieldslib = γ; ppx_assert = γ; ppx_bench = γ; ppx_driver = γ; ppx_expect = γ; ppx_inline_test = γ; ppx_jane = γ; sexplib = γ; stdenv = ε; typerep = γ; variantslib = γ } -> { hash = String; meta = { description = String; homepage = String; license = ∀ β. β; maintainers = ∀ β. [β] }; name = String; propagatedBuildInputs = [γ] }
test/golden/importless/async.nixnew file+22
@@ -0,0 +1,22 @@
1+{ stdenv, buildDunePackage, async, cohttp, conduit-async, uri, ppx_sexp_conv
2+, logs, magic-mime }:
3+
4+if !stdenv.lib.versionAtLeast cohttp.version "0.99" then
5+ cohttp
6+else if !stdenv.lib.versionAtLeast async.version "0.13" then
7+ throw "cohttp-async needs async-0.13 (hence OCaml >= 4.08)"
8+else
9+
10+ buildDunePackage {
11+ pname = "cohttp-async";
12+ useDune2 = true;
13+ inherit (cohttp) version src;
14+
15+ buildInputs = [ ppx_sexp_conv ];
16+
17+ propagatedBuildInputs = [ async cohttp conduit-async logs magic-mime uri ];
18+
19+ meta = cohttp.meta // {
20+ description = "CoHTTP implementation for the Async concurrency library";
21+ };
22+ }
test/golden/importless/async.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β γ δ. { async = α; buildDunePackage = { buildInputs = [β]; meta = { description = String }; pname = String; propagatedBuildInputs = [α]; useDune2 = Bool } -> γ; cohttp = String; conduit-async = α; logs = α; magic-mime = α; ppx_sexp_conv = β; stdenv = δ; uri = α } -> String
test/golden/importless/at-spi2-core.nixnew file+49
@@ -0,0 +1,49 @@
1+# at-spi2-core daemon.
2+
3+{ config, lib, pkgs, ... }:
4+
5+with lib;
6+
7+{
8+
9+ meta = {
10+ maintainers = teams.gnome.members;
11+ };
12+
13+ ###### interface
14+
15+ options = {
16+
17+ services.gnome3.at-spi2-core = {
18+
19+ enable = mkOption {
20+ type = types.bool;
21+ default = false;
22+ description = ''
23+ Whether to enable at-spi2-core, a service for the Assistive Technologies
24+ available on the GNOME platform.
25+
26+ Enable this if you get the error or warning
27+ <literal>The name org.a11y.Bus was not provided by any .service files</literal>.
28+ '';
29+ };
30+
31+ };
32+
33+ };
34+
35+
36+ ###### implementation
37+
38+ config = mkMerge [
39+ (mkIf config.services.gnome3.at-spi2-core.enable {
40+ environment.systemPackages = [ pkgs.at-spi2-core ];
41+ services.dbus.packages = [ pkgs.at-spi2-core ];
42+ systemd.packages = [ pkgs.at-spi2-core ];
43+ })
44+
45+ (mkIf (!config.services.gnome3.at-spi2-core.enable) {
46+ environment.variables.NO_AT_BRIDGE = "1";
47+ })
48+ ];
49+}
test/golden/importless/at-spi2-core.txtnew file+1
@@ -0,0 +1 @@
1+∀ ε ζ η. { config = ε; lib = ζ; pkgs = η } -> { config = [{ environment = { systemPackages = ∀ γ. [γ] }; services = { dbus = { packages = ∀ β. [β] } }; systemd = { packages = ∀ γ. [γ] } }]; meta = { maintainers = ∀ δ. δ }; options = { services = { gnome3 = { at-spi2-core = { enable = { default = Bool; description = String; type = ∀ α. α } } } } } }
test/golden/importless/atd.nixnew file+109
@@ -0,0 +1,109 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+
7+ cfg = config.services.atd;
8+
9+ inherit (pkgs) at;
10+
11+in
12+
13+{
14+
15+ ###### interface
16+
17+ options = {
18+
19+ services.atd.enable = mkOption {
20+ type = types.bool;
21+ default = false;
22+ description = ''
23+ Whether to enable the <command>at</command> daemon, a command scheduler.
24+ '';
25+ };
26+
27+ services.atd.allowEveryone = mkOption {
28+ type = types.bool;
29+ default = false;
30+ description = ''
31+ Whether to make <filename>/var/spool/at{jobs,spool}</filename>
32+ writeable by everyone (and sticky). This is normally not
33+ needed since the <command>at</command> commands are
34+ setuid/setgid <literal>atd</literal>.
35+ '';
36+ };
37+
38+ };
39+
40+
41+ ###### implementation
42+
43+ config = mkIf cfg.enable {
44+
45+ # Not wrapping "batch" because it's a shell script (kernel drops perms
46+ # anyway) and it's patched to invoke the "at" setuid wrapper.
47+ security.wrappers = builtins.listToAttrs (
48+ map (program: { name = "${program}"; value = {
49+ source = "${at}/bin/${program}";
50+ owner = "atd";
51+ group = "atd";
52+ setuid = true;
53+ setgid = true;
54+ };}) [ "at" "atq" "atrm" ]);
55+
56+ environment.systemPackages = [ at ];
57+
58+ security.pam.services.atd = {};
59+
60+ users.users.atd =
61+ { uid = config.ids.uids.atd;
62+ description = "atd user";
63+ home = "/var/empty";
64+ };
65+
66+ users.groups.atd.gid = config.ids.gids.atd;
67+
68+ systemd.services.atd = {
69+ description = "Job Execution Daemon (atd)";
70+ wantedBy = [ "multi-user.target" ];
71+
72+ path = [ at ];
73+
74+ preStart = ''
75+ # Snippets taken and adapted from the original `install' rule of
76+ # the makefile.
77+
78+ # We assume these values are those actually used in Nixpkgs for
79+ # `at'.
80+ spooldir=/var/spool/atspool
81+ jobdir=/var/spool/atjobs
82+ etcdir=/etc/at
83+
84+ for dir in "$spooldir" "$jobdir" "$etcdir"; do
85+ if [ ! -d "$dir" ]; then
86+ mkdir -p "$dir"
87+ chown atd:atd "$dir"
88+ fi
89+ done
90+ chmod 1770 "$spooldir" "$jobdir"
91+ ${if cfg.allowEveryone then ''chmod a+rwxt "$spooldir" "$jobdir" '' else ""}
92+ if [ ! -f "$etcdir"/at.deny ]; then
93+ touch "$etcdir"/at.deny
94+ chown root:atd "$etcdir"/at.deny
95+ chmod 640 "$etcdir"/at.deny
96+ fi
97+ if [ ! -f "$jobdir"/.SEQ ]; then
98+ touch "$jobdir"/.SEQ
99+ chown atd:atd "$jobdir"/.SEQ
100+ chmod 600 "$jobdir"/.SEQ
101+ fi
102+ '';
103+
104+ script = "atd";
105+
106+ serviceConfig.Type = "forking";
107+ };
108+ };
109+}
test/golden/importless/atd.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { config = γ; lib = δ; pkgs = ε } -> { config = { environment = { systemPackages = ∀ β. [β] }; security = { pam = { services = { atd = { } } }; wrappers = [String] }; systemd = { services = { atd = { description = String; path = ∀ α. [α]; preStart = String; script = String; serviceConfig = { Type = String }; wantedBy = [String] } } }; users = { groups = { atd = { gid = ∀ α. α } }; users = { atd = { description = String; home = String; uid = ∀ α. α } } } }; options = { services = { atd = { allowEveryone = { default = Bool; description = String; type = ∀ α. α }; enable = { default = Bool; description = String; type = ∀ α. α } } } } }
test/golden/importless/atftpd.nixnew file+65
@@ -0,0 +1,65 @@
1+# NixOS module for atftpd TFTP server
2+
3+{ config, pkgs, lib, ... }:
4+
5+with lib;
6+
7+let
8+
9+ cfg = config.services.atftpd;
10+
11+in
12+
13+{
14+
15+ options = {
16+
17+ services.atftpd = {
18+
19+ enable = mkOption {
20+ default = false;
21+ type = types.bool;
22+ description = ''
23+ Whether to enable the atftpd TFTP server. By default, the server
24+ binds to address 0.0.0.0.
25+ '';
26+ };
27+
28+ extraOptions = mkOption {
29+ default = [];
30+ type = types.listOf types.str;
31+ example = literalExample ''
32+ [ "--bind-address 192.168.9.1"
33+ "--verbose=7"
34+ ]
35+ '';
36+ description = ''
37+ Extra command line arguments to pass to atftp.
38+ '';
39+ };
40+
41+ root = mkOption {
42+ default = "/srv/tftp";
43+ type = types.path;
44+ description = ''
45+ Document root directory for the atftpd.
46+ '';
47+ };
48+
49+ };
50+
51+ };
52+
53+ config = mkIf cfg.enable {
54+
55+ systemd.services.atftpd = {
56+ description = "TFTP Server";
57+ after = [ "network.target" ];
58+ wantedBy = [ "multi-user.target" ];
59+ # runs as nobody
60+ serviceConfig.ExecStart = "${pkgs.atftp}/sbin/atftpd --daemon --no-fork ${lib.concatStringsSep " " cfg.extraOptions} ${cfg.root}";
61+ };
62+
63+ };
64+
65+}
test/golden/importless/atftpd.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { config = { systemd = { services = { atftpd = { after = [String]; description = String; serviceConfig = { ExecStart = String }; wantedBy = [String] } } } }; options = { services = { atftpd = { enable = { default = Bool; description = String; type = ∀ α. α }; extraOptions = { default = ∀ α. α; description = String; example = String; type = ∀ α. α }; root = { default = String; description = String; type = ∀ α. α } } } } }
test/golden/importless/ati.nixnew file+40
@@ -0,0 +1,40 @@
1+# This module provides the proprietary ATI X11 / OpenGL drivers.
2+
3+{ config, lib, pkgs, ... }:
4+
5+with lib;
6+
7+let
8+
9+ drivers = config.services.xserver.videoDrivers;
10+
11+ enabled = elem "ati_unfree" drivers;
12+
13+ ati_x11 = config.boot.kernelPackages.ati_drivers_x11;
14+
15+in
16+
17+{
18+
19+ config = mkIf enabled {
20+
21+ nixpkgs.config.xorg.abiCompat = "1.17";
22+
23+ services.xserver.drivers = singleton
24+ { name = "fglrx"; modules = [ ati_x11 ]; display = true; };
25+
26+ hardware.opengl.package = ati_x11;
27+ hardware.opengl.package32 = pkgs.pkgsi686Linux.linuxPackages.ati_drivers_x11.override { libsOnly = true; kernel = null; };
28+ hardware.opengl.setLdLibraryPath = true;
29+
30+ environment.systemPackages = [ ati_x11 ];
31+
32+ boot.extraModulePackages = [ ati_x11 ];
33+
34+ boot.blacklistedKernelModules = [ "radeon" ];
35+
36+ environment.etc.ati.source = "${ati_x11}/etc/ati";
37+
38+ };
39+
40+}
test/golden/importless/ati.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { config = γ; lib = δ; pkgs = ε } -> { config = { boot = { blacklistedKernelModules = [String]; extraModulePackages = [∀ β. β] }; environment = { etc = { ati = { source = String } }; systemPackages = [∀ β. β] }; hardware = { opengl = { package = ∀ β. β; package32 = { kernel = Null; libsOnly = Bool }; setLdLibraryPath = Bool } }; nixpkgs = { config = { xorg = { abiCompat = String } } }; services = { xserver = { drivers = { display = Bool; modules = [∀ α. α]; name = String } } } } }
test/golden/importless/atop.nixnew file+36
@@ -0,0 +1,36 @@
1+# Global configuration for atop.
2+
3+{ config, lib, ... }:
4+
5+with lib;
6+
7+let cfg = config.programs.atop;
8+
9+in
10+{
11+ ###### interface
12+
13+ options = {
14+
15+ programs.atop = {
16+
17+ settings = mkOption {
18+ type = types.attrs;
19+ default = {};
20+ example = {
21+ flags = "a1f";
22+ interval = 5;
23+ };
24+ description = ''
25+ Parameters to be written to <filename>/etc/atoprc</filename>.
26+ '';
27+ };
28+
29+ };
30+ };
31+
32+ config = mkIf (cfg.settings != {}) {
33+ environment.etc.atoprc.text =
34+ concatStrings (mapAttrsToList (n: v: "${n} ${toString v}\n") cfg.settings);
35+ };
36+}
test/golden/importless/atop.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ. { config = β; lib = γ } -> { config = { environment = { etc = { atoprc = { text = ∀ α. α } } } }; options = { programs = { atop = { settings = { default = { }; description = String; example = { flags = String; interval = Integer }; type = ∀ α. α } } } } }
test/golden/importless/attica.nixnew file+12
@@ -0,0 +1,12 @@
1+{ mkDerivation, lib, extra-cmake-modules, qtbase }:
2+
3+mkDerivation {
4+ name = "attica";
5+ meta = {
6+ maintainers = [ lib.maintainers.ttuegel ];
7+ broken = builtins.compareVersions qtbase.version "5.7.0" < 0;
8+ };
9+ nativeBuildInputs = [ extra-cmake-modules ];
10+ buildInputs = [ qtbase ];
11+ outputs = [ "out" "dev" ];
12+}
test/golden/importless/attica.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε ζ. { extra-cmake-modules = γ; lib = δ; mkDerivation = { buildInputs = [ε]; meta = { broken = Bool; maintainers = ∀ α. [α] }; name = String; nativeBuildInputs = [γ]; outputs = [String] } -> ζ; qtbase = ε } -> { buildInputs = [ε]; meta = { broken = Bool; maintainers = ∀ β. [β] }; name = String; nativeBuildInputs = [γ]; outputs = [String] }
test/golden/importless/attrsOf-conditional-check.nixnew file+7
@@ -0,0 +1,7 @@
1+{ lib, config, ... }: {
2+ options.conditionalWorks = lib.mkOption {
3+ default = ! config.value ? foo;
4+ };
5+
6+ config.value.foo = lib.mkIf false "should not be defined";
7+}
test/golden/importless/attrsOf-conditional-check.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β. { config = α; lib = β } -> { config = { value = { foo = String } }; options = { conditionalWorks = { default = Bool } } }
test/golden/importless/attrsOf-lazy-check.nixnew file+7
@@ -0,0 +1,7 @@
1+{ lib, config, ... }: {
2+ options.isLazy = lib.mkOption {
3+ default = ! config.value ? foo;
4+ };
5+
6+ config.value.bar = throw "is not lazy";
7+}
test/golden/importless/attrsOf-lazy-check.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β. { config = α; lib = β } -> { config = { value = { bar = String } }; options = { isLazy = { default = Bool } } }
test/golden/importless/attrset-to-dir.nixnew file+20
@@ -0,0 +1,20 @@
1+a :
2+a.stdenv.mkDerivation {
3+ buildCommand = ''
4+ mkdir -p "$out/attributes"
5+
6+ '' + (a.lib.concatStrings (map
7+ (n: ''
8+ ln -s "${a.writeTextFile {name=n; text=builtins.getAttr n a.theAttrSet;}}" $out/attributes/${n};
9+ '')
10+ (builtins.attrNames a.theAttrSet)
11+ ));
12+
13+ name = "attribute-set";
14+ meta = {
15+ description = "Contents of an attribute set";
16+ maintainers = [
17+ a.lib.maintainers.raskin
18+ ];
19+ };
20+}
test/golden/importless/attrset-to-dir.txtnew file+1
@@ -0,0 +1 @@
1+∀ β. β -> { buildCommand = String; meta = { description = String; maintainers = ∀ α. [α] }; name = String }
test/golden/importless/audit.nixnew file+123
@@ -0,0 +1,123 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.security.audit;
7+ enabled = cfg.enable == "lock" || cfg.enable;
8+
9+ failureModes = {
10+ silent = 0;
11+ printk = 1;
12+ panic = 2;
13+ };
14+
15+ disableScript = pkgs.writeScript "audit-disable" ''
16+ #!${pkgs.runtimeShell} -eu
17+ # Explicitly disable everything, as otherwise journald might start it.
18+ auditctl -D
19+ auditctl -e 0 -a task,never
20+ '';
21+
22+ # TODO: it seems like people like their rules to be somewhat secret, yet they will not be if
23+ # put in the store like this. At the same time, it doesn't feel like a huge deal and working
24+ # around that is a pain so I'm leaving it like this for now.
25+ startScript = pkgs.writeScript "audit-start" ''
26+ #!${pkgs.runtimeShell} -eu
27+ # Clear out any rules we may start with
28+ auditctl -D
29+
30+ # Put the rules in a temporary file owned and only readable by root
31+ rulesfile="$(mktemp)"
32+ ${concatMapStrings (x: "echo '${x}' >> $rulesfile\n") cfg.rules}
33+
34+ # Apply the requested rules
35+ auditctl -R "$rulesfile"
36+
37+ # Enable and configure auditing
38+ auditctl \
39+ -e ${if cfg.enable == "lock" then "2" else "1"} \
40+ -b ${toString cfg.backlogLimit} \
41+ -f ${toString failureModes.${cfg.failureMode}} \
42+ -r ${toString cfg.rateLimit}
43+ '';
44+
45+ stopScript = pkgs.writeScript "audit-stop" ''
46+ #!${pkgs.runtimeShell} -eu
47+ # Clear the rules
48+ auditctl -D
49+
50+ # Disable auditing
51+ auditctl -e 0
52+ '';
53+in {
54+ options = {
55+ security.audit = {
56+ enable = mkOption {
57+ type = types.enum [ false true "lock" ];
58+ default = false;
59+ description = ''
60+ Whether to enable the Linux audit system. The special `lock' value can be used to
61+ enable auditing and prevent disabling it until a restart. Be careful about locking
62+ this, as it will prevent you from changing your audit configuration until you
63+ restart. If possible, test your configuration using build-vm beforehand.
64+ '';
65+ };
66+
67+ failureMode = mkOption {
68+ type = types.enum [ "silent" "printk" "panic" ];
69+ default = "printk";
70+ description = "How to handle critical errors in the auditing system";
71+ };
72+
73+ backlogLimit = mkOption {
74+ type = types.int;
75+ default = 64; # Apparently the kernel default
76+ description = ''
77+ The maximum number of outstanding audit buffers allowed; exceeding this is
78+ considered a failure and handled in a manner specified by failureMode.
79+ '';
80+ };
81+
82+ rateLimit = mkOption {
83+ type = types.int;
84+ default = 0;
85+ description = ''
86+ The maximum messages per second permitted before triggering a failure as
87+ specified by failureMode. Setting it to zero disables the limit.
88+ '';
89+ };
90+
91+ rules = mkOption {
92+ type = types.listOf types.str; # (types.either types.str (types.submodule rule));
93+ default = [];
94+ example = [ "-a exit,always -F arch=b64 -S execve" ];
95+ description = ''
96+ The ordered audit rules, with each string appearing as one line of the audit.rules file.
97+ '';
98+ };
99+ };
100+ };
101+
102+ config = {
103+ systemd.services.audit = {
104+ description = "Kernel Auditing";
105+ wantedBy = [ "basic.target" ];
106+
107+ unitConfig = {
108+ ConditionVirtualization = "!container";
109+ ConditionSecurity = [ "audit" ];
110+ };
111+
112+
113+ path = [ pkgs.audit ];
114+
115+ serviceConfig = {
116+ Type = "oneshot";
117+ RemainAfterExit = true;
118+ ExecStart = "@${if enabled then startScript else disableScript} audit-start";
119+ ExecStop = "@${stopScript} audit-stop";
120+ };
121+ };
122+ };
123+}
test/golden/importless/audit.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { config = { systemd = { services = { audit = { description = String; path = ∀ α. [α]; serviceConfig = { ExecStart = String; ExecStop = String; RemainAfterExit = Bool; Type = String }; unitConfig = { ConditionSecurity = [String]; ConditionVirtualization = String }; wantedBy = [String] } } } }; options = { security = { audit = { backlogLimit = { default = Integer; description = String; type = ∀ α. α }; enable = { default = Bool; description = String; type = [Bool] }; failureMode = { default = String; description = String; type = [String] }; rateLimit = { default = Integer; description = String; type = ∀ α. α }; rules = { default = ∀ α. α; description = String; example = [String]; type = ∀ α. α } } } } }
test/golden/importless/auditd.nixnew file+31
@@ -0,0 +1,31 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+{
6+ options.security.auditd.enable = mkEnableOption "the Linux Audit daemon";
7+
8+ config = mkIf config.security.auditd.enable {
9+ boot.kernelParams = [ "audit=1" ];
10+
11+ environment.systemPackages = [ pkgs.audit ];
12+
13+ systemd.services.auditd = {
14+ description = "Linux Audit daemon";
15+ wantedBy = [ "basic.target" ];
16+
17+ unitConfig = {
18+ ConditionVirtualization = "!container";
19+ ConditionSecurity = [ "audit" ];
20+ DefaultDependencies = false;
21+ };
22+
23+ path = [ pkgs.audit ];
24+
25+ serviceConfig = {
26+ ExecStartPre="${pkgs.coreutils}/bin/mkdir -p /var/log/audit";
27+ ExecStart = "${pkgs.audit}/bin/auditd -l -n -s nochange";
28+ };
29+ };
30+ };
31+}
test/golden/importless/auditd.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { config = γ; lib = δ; pkgs = ε } -> { config = { boot = { kernelParams = [String] }; environment = { systemPackages = ∀ β. [β] }; systemd = { services = { auditd = { description = String; path = ∀ α. [α]; serviceConfig = { ExecStart = String; ExecStartPre = String }; unitConfig = { ConditionSecurity = [String]; ConditionVirtualization = String; DefaultDependencies = Bool }; wantedBy = [String] } } } }; options = { security = { auditd = { enable = String } } } }
test/golden/importless/auth.nixnew file+29
@@ -0,0 +1,29 @@
1+{ lib, fetchFromGitHub, rustPlatform
2+, openssl, zeromq, czmq, pkgconfig, cmake, zlib }:
3+
4+with rustPlatform;
5+
6+buildRustPackage rec {
7+ pname = "intecture-auth";
8+ version = "0.1.2";
9+
10+ src = fetchFromGitHub {
11+ owner = "intecture";
12+ repo = "auth";
13+ rev = version;
14+ sha256 = "0c7ar3pc7n59lzfy74lwz51p09s2bglc870rfr4c0vmc91jl0pj2";
15+ };
16+
17+ cargoSha256 = "17k4a3jd7n2fkalx7vvgah62pj77n536jvm17d60sj0yz2fxx799";
18+
19+ buildInputs = [ openssl zeromq czmq zlib ];
20+
21+ nativeBuildInputs = [ pkgconfig cmake ];
22+
23+ meta = with lib; {
24+ description = "Authentication client/server for Intecture components";
25+ homepage = "https://intecture.io";
26+ license = licenses.mpl20;
27+ maintainers = [ maintainers.rushmorem ];
28+ };
29+}
test/golden/importless/auth.txtnew file
No changes to the content.
test/golden/importless/auto-upgrade.nixnew file+169
@@ -0,0 +1,169 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let cfg = config.system.autoUpgrade;
6+
7+in {
8+
9+ options = {
10+
11+ system.autoUpgrade = {
12+
13+ enable = mkOption {
14+ type = types.bool;
15+ default = false;
16+ description = ''
17+ Whether to periodically upgrade NixOS to the latest
18+ version. If enabled, a systemd timer will run
19+ <literal>nixos-rebuild switch --upgrade</literal> once a
20+ day.
21+ '';
22+ };
23+
24+ flake = mkOption {
25+ type = types.nullOr types.str;
26+ default = null;
27+ example = "github:kloenk/nix";
28+ description = ''
29+ The Flake URI of the NixOS configuration to build.
30+ Disables the option <option>system.autoUpgrade.channel</option>.
31+ '';
32+ };
33+
34+ channel = mkOption {
35+ type = types.nullOr types.str;
36+ default = null;
37+ example = "https://nixos.org/channels/nixos-14.12-small";
38+ description = ''
39+ The URI of the NixOS channel to use for automatic
40+ upgrades. By default, this is the channel set using
41+ <command>nix-channel</command> (run <literal>nix-channel
42+ --list</literal> to see the current value).
43+ '';
44+ };
45+
46+ flags = mkOption {
47+ type = types.listOf types.str;
48+ default = [ ];
49+ example = [
50+ "-I"
51+ "stuff=/home/alice/nixos-stuff"
52+ "--option"
53+ "extra-binary-caches"
54+ "http://my-cache.example.org/"
55+ ];
56+ description = ''
57+ Any additional flags passed to <command>nixos-rebuild</command>.
58+
59+ If you are using flakes and use a local repo you can add
60+ <command>[ "--update-input" "nixpkgs" "--commit-lock-file" ]</command>
61+ to update nixpkgs.
62+ '';
63+ };
64+
65+ dates = mkOption {
66+ default = "04:40";
67+ type = types.str;
68+ description = ''
69+ Specification (in the format described by
70+ <citerefentry><refentrytitle>systemd.time</refentrytitle>
71+ <manvolnum>7</manvolnum></citerefentry>) of the time at
72+ which the update will occur.
73+ '';
74+ };
75+
76+ allowReboot = mkOption {
77+ default = false;
78+ type = types.bool;
79+ description = ''
80+ Reboot the system into the new generation instead of a switch
81+ if the new generation uses a different kernel, kernel modules
82+ or initrd than the booted system.
83+ '';
84+ };
85+
86+ randomizedDelaySec = mkOption {
87+ default = "0";
88+ type = types.str;
89+ example = "45min";
90+ description = ''
91+ Add a randomized delay before each automatic upgrade.
92+ The delay will be chozen between zero and this value.
93+ This value must be a time span in the format specified by
94+ <citerefentry><refentrytitle>systemd.time</refentrytitle>
95+ <manvolnum>7</manvolnum></citerefentry>
96+ '';
97+ };
98+
99+ };
100+
101+ };
102+
103+ config = lib.mkIf cfg.enable {
104+
105+ assertions = [{
106+ assertion = !((cfg.channel != null) && (cfg.flake != null));
107+ message = ''
108+ The options 'system.autoUpgrade.channels' and 'system.autoUpgrade.flake' cannot both be set.
109+ '';
110+ }];
111+
112+ system.autoUpgrade.flags = [ "--no-build-output" ]
113+ ++ (if cfg.flake == null then
114+ (if cfg.channel == null then
115+ [ "--upgrade" ]
116+ else [
117+ "-I"
118+ "nixpkgs=${cfg.channel}/nixexprs.tar.xz"
119+ ])
120+ else
121+ [ "--flake ${cfg.flake}" ]);
122+
123+ systemd.services.nixos-upgrade = {
124+ description = "NixOS Upgrade";
125+
126+ restartIfChanged = false;
127+ unitConfig.X-StopOnRemoval = false;
128+
129+ serviceConfig.Type = "oneshot";
130+
131+ environment = config.nix.envVars // {
132+ inherit (config.environment.sessionVariables) NIX_PATH;
133+ HOME = "/root";
134+ } // config.networking.proxy.envVars;
135+
136+ path = with pkgs; [
137+ coreutils
138+ gnutar
139+ xz.bin
140+ gzip
141+ gitMinimal
142+ config.nix.package.out
143+ ];
144+
145+ script = let
146+ nixos-rebuild =
147+ "${config.system.build.nixos-rebuild}/bin/nixos-rebuild";
148+ in if cfg.allowReboot then ''
149+ ${nixos-rebuild} boot ${toString cfg.flags}
150+ booted="$(readlink /run/booted-system/{initrd,kernel,kernel-modules})"
151+ built="$(readlink /nix/var/nix/profiles/system/{initrd,kernel,kernel-modules})"
152+ if [ "$booted" = "$built" ]; then
153+ ${nixos-rebuild} switch ${toString cfg.flags}
154+ else
155+ /run/current-system/sw/bin/shutdown -r +1
156+ fi
157+ '' else ''
158+ ${nixos-rebuild} switch ${toString cfg.flags}
159+ '';
160+
161+ startAt = cfg.dates;
162+ };
163+
164+ systemd.timers.nixos-upgrade.timerConfig.RandomizedDelaySec =
165+ cfg.randomizedDelaySec;
166+
167+ };
168+
169+}
test/golden/importless/auto-upgrade.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { config = γ; lib = δ; pkgs = ε } -> { config = { assertions = [{ assertion = Bool; message = String }]; system = { autoUpgrade = { flags = [String] } }; systemd = { services = { nixos-upgrade = { description = String; environment = { HOME = String }; path = ∀ β. [β]; restartIfChanged = Bool; script = String; serviceConfig = { Type = String }; startAt = ∀ β. β; unitConfig = { X-StopOnRemoval = Bool } } }; timers = { nixos-upgrade = { timerConfig = { RandomizedDelaySec = ∀ α. α } } } } }; options = { system = { autoUpgrade = { allowReboot = { default = Bool; description = String; type = ∀ β. β }; channel = { default = Null; description = String; example = String; type = ∀ β. β }; dates = { default = String; description = String; type = ∀ β. β }; enable = { default = Bool; description = String; type = ∀ β. β }; flags = { default = ∀ β. β; description = String; example = [String]; type = ∀ β. β }; flake = { default = Null; description = String; example = String; type = ∀ β. β }; randomizedDelaySec = { default = String; description = String; example = String; type = ∀ β. β } } } } }
test/golden/importless/auto.nixnew file+68
@@ -0,0 +1,68 @@
1+{ config, lib, ... }:
2+
3+with lib;
4+
5+let
6+
7+ dmcfg = config.services.xserver.displayManager;
8+ cfg = config.test-support.displayManager.auto;
9+
10+in
11+
12+{
13+
14+ ###### interface
15+
16+ options = {
17+
18+ test-support.displayManager.auto = {
19+
20+ enable = mkOption {
21+ default = false;
22+ description = ''
23+ Whether to enable the fake "auto" display manager, which
24+ automatically logs in the user specified in the
25+ <option>user</option> option. This is mostly useful for
26+ automated tests.
27+ '';
28+ };
29+
30+ user = mkOption {
31+ default = "root";
32+ description = "The user account to login automatically.";
33+ };
34+
35+ };
36+
37+ };
38+
39+
40+ ###### implementation
41+
42+ config = mkIf cfg.enable {
43+
44+ services.xserver.displayManager = {
45+ lightdm.enable = true;
46+ autoLogin = {
47+ enable = true;
48+ user = cfg.user;
49+ };
50+ };
51+
52+ # lightdm by default doesn't allow auto login for root, which is
53+ # required by some nixos tests. Override it here.
54+ security.pam.services.lightdm-autologin.text = lib.mkForce ''
55+ auth requisite pam_nologin.so
56+ auth required pam_succeed_if.so quiet
57+ auth required pam_permit.so
58+
59+ account include lightdm
60+
61+ password include lightdm
62+
63+ session include lightdm
64+ '';
65+
66+ };
67+
68+}
test/golden/importless/auto.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ. { config = β; lib = γ } -> { config = { security = { pam = { services = { lightdm-autologin = { text = String } } } }; services = { xserver = { displayManager = { autoLogin = { enable = Bool; user = ∀ α. α }; lightdm = { enable = Bool } } } } }; options = { test-support = { displayManager = { auto = { enable = { default = Bool; description = String }; user = { default = String; description = String } } } } } }
test/golden/importless/autofig.nixnew file+10
@@ -0,0 +1,10 @@
1+{ stdenv, fetchurl }:
2+
3+stdenv.mkDerivation {
4+ name = "autofig-0.1";
5+
6+ src = fetchurl {
7+ url = "http://autotrace.sourceforge.net/tools/autofig.tar.gz";
8+ sha256 = "11cs9hdbgcl3aamcs3149i8kvyyldmnjf6yq81kbcf8fdmfk2zdq";
9+ };
10+}
test/golden/importless/autofig.txtnew file+1
@@ -0,0 +1 @@
1+∀ α β. { fetchurl = { sha256 = String; url = String } -> α; stdenv = β } -> { name = String; src = { sha256 = String; url = String } }
test/golden/importless/autofs.nixnew file+99
@@ -0,0 +1,99 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+
7+ cfg = config.services.autofs;
8+
9+ autoMaster = pkgs.writeText "auto.master" cfg.autoMaster;
10+
11+in
12+
13+{
14+
15+ ###### interface
16+
17+ options = {
18+
19+ services.autofs = {
20+
21+ enable = mkOption {
22+ type = types.bool;
23+ default = false;
24+ description = ''
25+ Mount filesystems on demand. Unmount them automatically.
26+ You may also be interested in afuse.
27+ '';
28+ };
29+
30+ autoMaster = mkOption {
31+ type = types.str;
32+ example = literalExample ''
33+ let
34+ mapConf = pkgs.writeText "auto" '''
35+ kernel -ro,soft,intr ftp.kernel.org:/pub/linux
36+ boot -fstype=ext2 :/dev/hda1
37+ windoze -fstype=smbfs ://windoze/c
38+ removable -fstype=ext2 :/dev/hdd
39+ cd -fstype=iso9660,ro :/dev/hdc
40+ floppy -fstype=auto :/dev/fd0
41+ server -rw,hard,intr / -ro myserver.me.org:/ \
42+ /usr myserver.me.org:/usr \
43+ /home myserver.me.org:/home
44+ ''';
45+ in '''
46+ /auto file:''${mapConf}
47+ '''
48+ '';
49+ description = ''
50+ Contents of <literal>/etc/auto.master</literal> file. See <command>auto.master(5)</command> and <command>autofs(5)</command>.
51+ '';
52+ };
53+
54+ timeout = mkOption {
55+ default = 600;
56+ description = "Set the global minimum timeout, in seconds, until directories are unmounted";
57+ };
58+
59+ debug = mkOption {
60+ type = types.bool;
61+ default = false;
62+ description = ''
63+ Pass -d and -7 to automount and write log to the system journal.
64+ '';
65+ };
66+
67+ };
68+
69+ };
70+
71+
72+ ###### implementation
73+
74+ config = mkIf cfg.enable {
75+
76+ boot.kernelModules = [ "autofs4" ];
77+
78+ systemd.services.autofs =
79+ { description = "Automounts filesystems on demand";
80+ after = [ "network.target" "ypbind.service" "sssd.service" "network-online.target" ];
81+ wants = [ "network-online.target" ];
82+ wantedBy = [ "multi-user.target" ];
83+
84+ preStart = ''
85+ # There should be only one autofs service managed by systemd, so this should be safe.
86+ rm -f /tmp/autofs-running
87+ '';
88+
89+ serviceConfig = {
90+ Type = "forking";
91+ PIDFile = "/run/autofs.pid";
92+ ExecStart = "${pkgs.autofs5}/bin/automount ${optionalString cfg.debug "-d"} -p /run/autofs.pid -t ${builtins.toString cfg.timeout} ${autoMaster}";
93+ ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
94+ };
95+ };
96+
97+ };
98+
99+}
test/golden/importless/autofs.txtnew file+1
@@ -0,0 +1 @@
1+∀ β γ δ. { config = β; lib = γ; pkgs = δ } -> { config = { boot = { kernelModules = [String] }; systemd = { services = { autofs = { after = [String]; description = String; preStart = String; serviceConfig = { ExecReload = String; ExecStart = String; PIDFile = String; Type = String }; wantedBy = [String]; wants = [String] } } } }; options = { services = { autofs = { autoMaster = { description = String; example = String; type = ∀ α. α }; debug = { default = Bool; description = String; type = ∀ α. α }; enable = { default = Bool; description = String; type = ∀ α. α }; timeout = { default = Integer; description = String } } } } }
test/golden/importless/autojump.nixnew file+33
@@ -0,0 +1,33 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let
6+ cfg = config.programs.autojump;
7+ prg = config.programs;
8+in
9+{
10+ options = {
11+ programs.autojump = {
12+
13+ enable = mkOption {
14+ type = types.bool;
15+ default = false;
16+ description = ''
17+ Whether to enable autojump.
18+ '';
19+ };
20+ };
21+ };
22+
23+ ###### implementation
24+
25+ config = mkIf cfg.enable {
26+ environment.pathsToLink = [ "/share/autojump" ];
27+ environment.systemPackages = [ pkgs.autojump ];
28+
29+ programs.bash.interactiveShellInit = "source ${pkgs.autojump}/share/autojump/autojump.bash";
30+ programs.zsh.interactiveShellInit = mkIf prg.zsh.enable "source ${pkgs.autojump}/share/autojump/autojump.zsh";
31+ programs.fish.interactiveShellInit = mkIf prg.fish.enable "source ${pkgs.autojump}/share/autojump/autojump.fish";
32+ };
33+}
test/golden/importless/autojump.txtnew file+1
@@ -0,0 +1 @@
1+∀ γ δ ε. { config = γ; lib = δ; pkgs = ε } -> { config = { environment = { pathsToLink = [String]; systemPackages = ∀ β. [β] }; programs = { bash = { interactiveShellInit = String }; fish = { interactiveShellInit = String }; zsh = { interactiveShellInit = String } } }; options = { programs = { autojump = { enable = { default = Bool; description = String; type = ∀ α. α } } } } }
test/golden/importless/automake-1.11.x.nixnew file+49
@@ -0,0 +1,49 @@
1+{ stdenv, fetchurl, perl, autoconf }:
2+
3+stdenv.mkDerivation rec {
4+ name = "automake-1.11.6";
5+
6+ # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is
7+ # available upstream; see
8+ # <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=9026>.
9+ builder = ./builder.sh;
10+
11+ setupHook = ./setup-hook.sh;
12+
13+ src = fetchurl {
14+ url = "mirror://gnu/automake/${name}.tar.xz";
15+ sha256 = "1ffbc6cc41f0ea6c864fbe9485b981679dc5e350f6c4bc6c3512f5a4226936b5";
16+ };
17+
18+ patches = [ ./fix-test-autoconf-2.69.patch ./fix-perl-5.26.patch ];
19+
20+ buildInputs = [ perl autoconf ];
21+
22+ # Disable indented log output from Make, otherwise "make.test" will
23+ # fail.
24+ preCheck = "unset NIX_INDENT_MAKE";
25+ doCheck = false; # takes _a lot_ of time, fails 11 of 782 tests
26+
27+ # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
28+ # "fixed" path in generated files!
29+ dontPatchShebangs = true;
30+
31+ # Run the test suite in parallel.
32+ enableParallelBuilding = true;
33+
34+ meta = {
35+ branch = "1.11";
36+ homepage = "https://www.gnu.org/software/automake/";
37+ description = "GNU standard-compliant makefile generator";
38+
39+ longDescription = ''
40+ GNU Automake is a tool for automatically generating
41+ `Makefile.in' files compliant with the GNU Coding
42+ Standards. Automake requires the use of Autoconf.
43+ '';
44+
45+ license = stdenv.lib.licenses.gpl2Plus;
46+
47+ platforms = stdenv.lib.platforms.all;
48+ };
49+}
test/golden/importless/automake-1.11.x.txtnew file
No changes to the content.
test/golden/importless/automake-1.15.x.nixnew file+45
@@ -0,0 +1,45 @@
1+{ stdenv, fetchurl, perl, autoconf }:
2+
3+stdenv.mkDerivation rec {
4+ name = "automake-1.15.1";
5+
6+ src = fetchurl {
7+ url = "mirror://gnu/automake/${name}.tar.xz";
8+ sha256 = "1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg";
9+ };
10+
11+ nativeBuildInputs = [ autoconf perl ];
12+ buildInputs = [ autoconf ];
13+
14+ setupHook = ./setup-hook.sh;
15+
16+ patches = [ ./help2man-SOURCE_DATE_EPOCH-support.patch ];
17+
18+ # Disable indented log output from Make, otherwise "make.test" will
19+ # fail.
20+ preCheck = "unset NIX_INDENT_MAKE";
21+ doCheck = false; # takes _a lot_ of time, fails 3 out of 2698 tests, all seem to be related to paths
22+ doInstallCheck = false; # runs the same thing, fails the same tests
23+
24+ # The test suite can run in parallel.
25+ enableParallelBuilding = true;
26+
27+ # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
28+ # "fixed" path in generated files!
29+ dontPatchShebangs = true;
30+
31+ meta = {
32+ branch = "1.15";
33+ homepage = "https://www.gnu.org/software/automake/";
34+ description = "GNU standard-compliant makefile generator";
35+ license = stdenv.lib.licenses.gpl2Plus;
36+
37+ longDescription = ''
38+ GNU Automake is a tool for automatically generating
39+ `Makefile.in' files compliant with the GNU Coding
40+ Standards. Automake requires the use of Autoconf.
41+ '';
42+
43+ platforms = stdenv.lib.platforms.all;
44+ };
45+}
test/golden/importless/automake-1.15.x.txtnew file
No changes to the content.
test/golden/importless/automake-1.16.x.nixnew file+43
@@ -0,0 +1,43 @@
1+{ stdenv, fetchurl, perl, autoconf }:
2+
3+stdenv.mkDerivation rec {
4+ name = "automake-1.16.2";
5+
6+ src = fetchurl {
7+ url = "mirror://gnu/automake/${name}.tar.xz";
8+ sha256 = "1l7dkqbsmbf94ax29jj1jf6a0r6ikc8jybg1p5m0c3ki7pg5ki6c";
9+ };
10+
11+ nativeBuildInputs = [ autoconf perl ];
12+ buildInputs = [ autoconf ];
13+
14+ setupHook = ./setup-hook.sh;
15+
16+ # Disable indented log output from Make, otherwise "make.test" will
17+ # fail.
18+ preCheck = "unset NIX_INDENT_MAKE";
19+ doCheck = false; # takes _a lot_ of time, fails 3 out of 2698 tests, all seem to be related to paths
20+ doInstallCheck = false; # runs the same thing, fails the same tests
21+
22+ # The test suite can run in parallel.
23+ enableParallelBuilding = true;
24+
25+ # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
26+ # "fixed" path in generated files!
27+ dontPatchShebangs = true;
28+
29+ meta = {
30+ branch = "1.16";
31+ homepage = "https://www.gnu.org/software/automake/";
32+ description = "GNU standard-compliant makefile generator";
33+ license = stdenv.lib.licenses.gpl2Plus;
34+
35+ longDescription = ''
36+ GNU Automake is a tool for automatically generating
37+ `Makefile.in' files compliant with the GNU Coding
38+ Standards. Automake requires the use of Autoconf.
39+ '';
40+
41+ platforms = stdenv.lib.platforms.all;
42+ };
43+}
test/golden/importless/automake-1.16.x.txtnew file
No changes to the content.
test/golden/importless/automysqlbackup.nixnew file+118
@@ -0,0 +1,118 @@
1+{ config, lib, pkgs, ... }:
2+
3+let
4+
5+ inherit (lib) concatMapStringsSep concatStringsSep isInt isList literalExample;
6+ inherit (lib) mapAttrs mapAttrsToList mkDefault mkEnableOption mkIf mkOption optional types;
7+
8+ cfg = config.services.automysqlbackup;
9+ pkg = pkgs.automysqlbackup;
10+ user = "automysqlbackup";
11+ group = "automysqlbackup";
12+
13+ toStr = val:
14+ if isList val then "( ${concatMapStringsSep " " (val: "'${val}'") val} )"
15+ else if isInt val then toString val
16+ else if true == val then "'yes'"
17+ else if false == val then "'no'"
18+ else "'${toString val}'";
19+
20+ configFile = pkgs.writeText "automysqlbackup.conf" ''
21+ #version=${pkg.version}
22+ # DONT'T REMOVE THE PREVIOUS VERSION LINE!
23+ #
24+ ${concatStringsSep "\n" (mapAttrsToList (name: value: "CONFIG_${name}=${toStr value}") cfg.config)}
25+ '';
26+
27+in
28+{
29+ # interface
30+ options = {
31+ services.automysqlbackup = {
32+
33+ enable = mkEnableOption "AutoMySQLBackup";
34+
35+ calendar = mkOption {
36+ type = types.str;
37+ default = "01:15:00";
38+ description = ''
39+ Configured when to run the backup service systemd unit (DayOfWeek Year-Month-Day Hour:Minute:Second).
40+ '';
41+ };
42+
43+ config = mkOption {
44+ type = with types; attrsOf (oneOf [ str int bool (listOf str) ]);
45+ default = {};
46+ description = ''
47+ automysqlbackup configuration. Refer to
48+ <filename>''${pkgs.automysqlbackup}/etc/automysqlbackup.conf</filename>
49+ for details on supported values.
50+ '';
51+ example = literalExample ''
52+ {
53+ db_names = [ "nextcloud" "matomo" ];
54+ table_exclude = [ "nextcloud.oc_users" "nextcloud.oc_whats_new" ];
55+ mailcontent = "log";
56+ mail_address = "admin@example.org";
57+ }
58+ '';
59+ };
60+
61+ };
62+ };
63+
64+ # implementation
65+ config = mkIf cfg.enable {
66+
67+ assertions = [
68+ { assertion = !config.services.mysqlBackup.enable;
69+ message = "Please choose one of services.mysqlBackup or services.automysqlbackup.";
70+ }
71+ ];
72+
73+ services.automysqlbackup.config = mapAttrs (name: mkDefault) {
74+ mysql_dump_username = user;
75+ mysql_dump_host = "localhost";
76+ backup_dir = "/var/backup/mysql";
77+ db_exclude = [ "information_schema" "performance_schema" ];
78+ mailcontent = "stdout";
79+ mysql_dump_single_transaction = true;
80+ };
81+
82+ systemd.timers.automysqlbackup = {
83+ description = "automysqlbackup timer";
84+ wantedBy = [ "timers.target" ];
85+ timerConfig = {
86+ OnCalendar = cfg.calendar;
87+ AccuracySec = "5m";
88+ };
89+ };
90+
91+ systemd.services.automysqlbackup = {
92+ description = "automysqlbackup service";
93+ serviceConfig = {
94+ User = user;
95+ Group = group;
96+ ExecStart = "${pkg}/bin/automysqlbackup ${configFile}";
97+ };
98+ };
99+
100+ environment.systemPackages = [ pkg ];
101+
102+ users.users.${user} = {
103+ group = group;
104+ isSystemUser = true;
105+ };
106+ users.groups.${group} = { };
107+
108+ systemd.tmpfiles.rules = [
109+ "d '${cfg.config.backup_dir}' 0750 ${user} ${group} - -"
110+ ];
111+
112+ services.mysql.ensureUsers = optional (config.services.mysql.enable && cfg.config.mysql_dump_host == "localhost") {
113+ name = user;
114+ ensurePermissions = { "*.*" = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES"; };
115+ };
116+
117+ };
118+}
test/golden/importless/automysqlbackup.txtnew file+1
@@ -0,0 +1 @@
1+∀ δ ε ζ. { config = δ; lib = ε; pkgs = ζ } -> { config = { assertions = [{ assertion = Bool; message = String }]; environment = { systemPackages = [∀ γ. γ] }; services = { automysqlbackup = { config = { backup_dir = String; db_exclude = [String]; mailcontent = String; mysql_dump_host = String; mysql_dump_single_transaction = Bool; mysql_dump_username = String } }; mysql = { ensureUsers = { ensurePermissions = { *.* = String }; name = String } } }; systemd = { services = { automysqlbackup = { description = String; serviceConfig = { ExecStart = String; Group = String; User = String } } }; timers = { automysqlbackup = { description = String; timerConfig = { AccuracySec = String; OnCalendar = ∀ α. α }; wantedBy = [String] } }; tmpfiles = { rules = [String] } } }; options = { services = { automysqlbackup = { calendar = { default = String; description = String; type = ∀ β. β }; config = { default = { }; description = String; example = String; type = ∀ β. [β] }; enable = String } } } }
test/golden/importless/autorandr.nixnew file+52
This diff is too big to show here.
test/golden/importless/autorandr.txtnew file+1
This diff is too big to show here.
test/golden/importless/autossh.nixnew file+113
This diff is too big to show here.
test/golden/importless/autossh.txtnew file+1
This diff is too big to show here.
test/golden/importless/autostart.nixnew file+26
This diff is too big to show here.
test/golden/importless/autostart.txtnew file+1
This diff is too big to show here.
test/golden/importless/avahi-daemon.nixnew file+285
This diff is too big to show here.
test/golden/importless/avahi-daemon.txtnew file+1
This diff is too big to show here.
test/golden/importless/awesome.nixnew file+66
This diff is too big to show here.
test/golden/importless/awesome.txtnew file+1
This diff is too big to show here.
test/golden/importless/aws-s3-exporter.nixnew file+26
This diff is too big to show here.
test/golden/importless/aws-s3-exporter.txtnew file
No changes to the content.
test/golden/importless/aws-s3-exporter_deps.nixnew file+336
This diff is too big to show here.
test/golden/importless/aws-s3-exporter_deps.txtnew file+1
This diff is too big to show here.
test/golden/importless/azure-agent.nixnew file+198
This diff is too big to show here.
test/golden/importless/azure-agent.txtnew file
No changes to the content.
test/golden/importless/azure-bootstrap-blobs.nixnew file+3
This diff is too big to show here.
test/golden/importless/azure-bootstrap-blobs.txtnew file+1
This diff is too big to show here.
test/golden/importless/azure-images.nixnew file+5
This diff is too big to show here.
test/golden/importless/azure-images.txtnew file+1
This diff is too big to show here.
test/golden/importless/b43.nixnew file+34
This diff is too big to show here.
test/golden/importless/b43.txtnew file+1
This diff is too big to show here.
test/golden/importless/babashka.nixnew file+84
This diff is too big to show here.
test/golden/importless/babashka.txtnew file
No changes to the content.
test/golden/importless/babel-streams.nixnew file+30
This diff is too big to show here.
test/golden/importless/babel-streams.txtnew file+1
This diff is too big to show here.
test/golden/importless/babel.nixnew file+27
This diff is too big to show here.
test/golden/importless/babel.txtnew file
No changes to the content.
test/golden/importless/babeld.nixnew file+95
This diff is too big to show here.
test/golden/importless/babeld.txtnew file+1
This diff is too big to show here.
test/golden/importless/backend-params-submodule.nixnew file+131
This diff is too big to show here.
test/golden/importless/backend-params-submodule.txtnew file+1
This diff is too big to show here.
test/golden/importless/backend.nixnew file+48
This diff is too big to show here.
test/golden/importless/backend.txtnew file
No changes to the content.
test/golden/importless/bacula.nixnew file+556
This diff is too big to show here.
test/golden/importless/bacula.txtnew file+1
This diff is too big to show here.
test/golden/importless/baloo-widgets.nixnew file+18
This diff is too big to show here.
test/golden/importless/baloo-widgets.txtnew file+1
This diff is too big to show here.
test/golden/importless/baloo.nixnew file+17
This diff is too big to show here.
test/golden/importless/baloo.txtnew file+1
This diff is too big to show here.
test/golden/importless/bamf.nixnew file+27
This diff is too big to show here.
test/golden/importless/bamf.txtnew file+1
This diff is too big to show here.
test/golden/importless/bandwhich.nixnew file+29
This diff is too big to show here.
test/golden/importless/bandwhich.txtnew file+1
This diff is too big to show here.
test/golden/importless/base.nixnew file+57
This diff is too big to show here.
test/golden/importless/base.txtnew file+1
This diff is too big to show here.
test/golden/importless/bash-4.4-patches.nixnew file+27
This diff is too big to show here.
test/golden/importless/bash-4.4-patches.txtnew file+1
This diff is too big to show here.
test/golden/importless/bash-5.0-patches.nixnew file+21
This diff is too big to show here.
test/golden/importless/bash-5.0-patches.txtnew file+1
This diff is too big to show here.
test/golden/importless/bash-my-aws.nixnew file+25
This diff is too big to show here.
test/golden/importless/bash-my-aws.txtnew file+1
This diff is too big to show here.
test/golden/importless/bash-tools-test.nixnew file+44
This diff is too big to show here.
test/golden/importless/bash-tools-test.txtnew file+1
This diff is too big to show here.
test/golden/importless/bazarr.nixnew file+76
This diff is too big to show here.
test/golden/importless/bazarr.txtnew file
No changes to the content.
test/golden/importless/bcache.nixnew file+13
This diff is too big to show here.
test/golden/importless/bcache.txtnew file+1
This diff is too big to show here.
test/golden/importless/bcachefs.nixnew file+65
This diff is too big to show here.
test/golden/importless/bcachefs.txtnew file+1
This diff is too big to show here.
test/golden/importless/bcc-git.nixnew file+31
This diff is too big to show here.
test/golden/importless/bcc-git.txtnew file+1
This diff is too big to show here.
test/golden/importless/bcc.nixnew file+9
This diff is too big to show here.
test/golden/importless/bcc.txtnew file+1
This diff is too big to show here.
test/golden/importless/beam-packages.nixnew file+121
This diff is too big to show here.
test/golden/importless/beam-packages.txtnew file
No changes to the content.
test/golden/importless/bean-add.nixnew file+31
This diff is too big to show here.
test/golden/importless/bean-add.txtnew file+1
This diff is too big to show here.
test/golden/importless/beanstalkd.nixnew file+63
This diff is too big to show here.
test/golden/importless/beanstalkd.txtnew file+1
This diff is too big to show here.
test/golden/importless/beautifulsoup.nixnew file+20
This diff is too big to show here.
test/golden/importless/beautifulsoup.txtnew file+1
This diff is too big to show here.
test/golden/importless/bees.nixnew file+123
This diff is too big to show here.
test/golden/importless/bees.txtnew file+1
This diff is too big to show here.
test/golden/importless/bepasty.nixnew file+179
This diff is too big to show here.
test/golden/importless/bepasty.txtnew file+1
This diff is too big to show here.
test/golden/importless/ber-metaocaml.nixnew file+96
This diff is too big to show here.
test/golden/importless/ber-metaocaml.txtnew file
No changes to the content.
test/golden/importless/berry.nixnew file+25
This diff is too big to show here.
test/golden/importless/berry.txtnew file+1
This diff is too big to show here.
test/golden/importless/beta.nixnew file+51
This diff is too big to show here.
test/golden/importless/beta.txtnew file
No changes to the content.
test/golden/importless/beta_sources.nixnew file+965
This diff is too big to show here.
test/golden/importless/beta_sources.txtnew file+1
This diff is too big to show here.
test/golden/importless/bg.nixnew file+36
This diff is too big to show here.
test/golden/importless/bg.txtnew file
No changes to the content.
test/golden/importless/bi.nixnew file+27
This diff is too big to show here.
test/golden/importless/bi.txtnew file+1
This diff is too big to show here.
test/golden/importless/biboumi.nixnew file+269
This diff is too big to show here.
test/golden/importless/biboumi.txtnew file+1
This diff is too big to show here.
test/golden/importless/bifunctors.nixnew file+21
This diff is too big to show here.
test/golden/importless/bifunctors.txtnew file+1
This diff is too big to show here.
test/golden/importless/bin.nixnew file+28
This diff is too big to show here.
test/golden/importless/bin.txtnew file+1
This diff is too big to show here.
test/golden/importless/bin_prot.nixnew file+17
This diff is too big to show here.
test/golden/importless/bin_prot.txtnew file+1
This diff is too big to show here.
test/golden/importless/binary-hashes.nixnew file+15
This diff is too big to show here.
test/golden/importless/binary-hashes.txtnew file+1
This diff is too big to show here.
test/golden/importless/binary-tarball.nixnew file+78
This diff is too big to show here.
test/golden/importless/binary-tarball.txtnew file+1
This diff is too big to show here.
test/golden/importless/binary.nixnew file+38
This diff is too big to show here.
test/golden/importless/binary.txtnew file
No changes to the content.
test/golden/importless/bind-exporter.nixnew file+26
This diff is too big to show here.
test/golden/importless/bind-exporter.txtnew file
No changes to the content.
test/golden/importless/bind.nixnew file+54
This diff is too big to show here.
test/golden/importless/bind.txtnew file+1
This diff is too big to show here.
test/golden/importless/bintools.nixnew file+29
This diff is too big to show here.
test/golden/importless/bintools.txtnew file+1
This diff is too big to show here.
test/golden/importless/bioc-annotation-packages.nixnew file+950
This diff is too big to show here.
test/golden/importless/bioc-annotation-packages.txtnew file+1
This diff is too big to show here.
test/golden/importless/bitcoin-abc.nixnew file+52
This diff is too big to show here.
test/golden/importless/bitcoin-abc.txtnew file
No changes to the content.
test/golden/importless/bitcoin-classic.nixnew file+54
This diff is too big to show here.
test/golden/importless/bitcoin-classic.txtnew file
No changes to the content.
test/golden/importless/bitcoin-gold.nixnew file+70
This diff is too big to show here.
test/golden/importless/bitcoin-gold.txtnew file
No changes to the content.
test/golden/importless/bitcoin-knots.nixnew file+41
This diff is too big to show here.
test/golden/importless/bitcoin-knots.txtnew file
No changes to the content.
test/golden/importless/bitcoin-unlimited.nixnew file+66
This diff is too big to show here.
test/golden/importless/bitcoin-unlimited.txtnew file
No changes to the content.
test/golden/importless/bitcoin.nixnew file+94
This diff is too big to show here.
test/golden/importless/bitcoin.txtnew file
No changes to the content.
test/golden/importless/bitcoind.nixnew file+261
This diff is too big to show here.
test/golden/importless/bitcoind.txtnew file+1
This diff is too big to show here.
test/golden/importless/bitlbee.nixnew file+193
This diff is too big to show here.
test/golden/importless/bitlbee.txtnew file+1
This diff is too big to show here.
test/golden/importless/bitwig-studio1.nixnew file+98
This diff is too big to show here.
test/golden/importless/bitwig-studio1.txtnew file
No changes to the content.
test/golden/importless/bitwig-studio2.nixnew file+16
This diff is too big to show here.
test/golden/importless/bitwig-studio2.txtnew file
No changes to the content.
test/golden/importless/bitwig-studio3.nixnew file+23
This diff is too big to show here.
test/golden/importless/bitwig-studio3.txtnew file
No changes to the content.
test/golden/importless/blackbird.nixnew file+25
This diff is too big to show here.
test/golden/importless/blackbird.txtnew file
No changes to the content.
test/golden/importless/blackbox-exporter.nixnew file+29
This diff is too big to show here.
test/golden/importless/blackbox-exporter.txtnew file
No changes to the content.
test/golden/importless/blackbox.nixnew file+70
This diff is too big to show here.
test/golden/importless/blackbox.txtnew file+1
This diff is too big to show here.
test/golden/importless/bladeRF.nixnew file+28
This diff is too big to show here.
test/golden/importless/bladeRF.txtnew file+1
This diff is too big to show here.
test/golden/importless/blivet.nixnew file+50
This diff is too big to show here.
test/golden/importless/blivet.txtnew file
No changes to the content.
test/golden/importless/blockbook-frontend.nixnew file+275
This diff is too big to show here.
test/golden/importless/blockbook-frontend.txtnew file+1
This diff is too big to show here.
test/golden/importless/blocks-gaps.nixnew file+51
This diff is too big to show here.
test/golden/importless/blocks-gaps.txtnew file
No changes to the content.
test/golden/importless/blocks.nixnew file+33
This diff is too big to show here.
test/golden/importless/blocks.txtnew file+1
This diff is too big to show here.
test/golden/importless/bloodspilot-client.nixnew file+25
This diff is too big to show here.
test/golden/importless/bloodspilot-client.txtnew file
No changes to the content.
test/golden/importless/bloodspilot-server.nixnew file+27
This diff is too big to show here.
test/golden/importless/bloodspilot-server.txtnew file
No changes to the content.
test/golden/importless/bloop.nixnew file+54
This diff is too big to show here.
test/golden/importless/bloop.txtnew file+1
This diff is too big to show here.
test/golden/importless/bluedevil.nixnew file+14
This diff is too big to show here.
test/golden/importless/bluedevil.txtnew file+1
This diff is too big to show here.
test/golden/importless/blueman.nixnew file+25
This diff is too big to show here.
test/golden/importless/blueman.txtnew file+1
This diff is too big to show here.
test/golden/importless/bluetooth.nixnew file+99
This diff is too big to show here.
test/golden/importless/bluetooth.txtnew file+1
This diff is too big to show here.
test/golden/importless/bluez-qt.nixnew file+19
This diff is too big to show here.
test/golden/importless/bluez-qt.txtnew file+1
This diff is too big to show here.
test/golden/importless/bolt.nixnew file+34
This diff is too big to show here.
test/golden/importless/bolt.txtnew file+1
This diff is too big to show here.
test/golden/importless/bomber.nixnew file+30
This diff is too big to show here.
test/golden/importless/bomber.txtnew file+1
This diff is too big to show here.
test/golden/importless/boot.nixnew file+91
This diff is too big to show here.
test/golden/importless/boot.txtnew file+1
This diff is too big to show here.
test/golden/importless/bootstrap.nixnew file+43
This diff is too big to show here.
test/golden/importless/bootstrap.txtnew file
No changes to the content.
test/golden/importless/bordeaux-threads.nixnew file+30
This diff is too big to show here.
test/golden/importless/bordeaux-threads.txtnew file
No changes to the content.
test/golden/importless/borgbackup.nixnew file+675
This diff is too big to show here.
test/golden/importless/borgbackup.txtnew file+1
This diff is too big to show here.
test/golden/importless/bosun.nixnew file+166
This diff is too big to show here.
test/golden/importless/bosun.txtnew file+1
This diff is too big to show here.
test/golden/importless/bounce.nixnew file+14
This diff is too big to show here.
test/golden/importless/bounce.txtnew file
No changes to the content.
test/golden/importless/bovo.nixnew file+28
This diff is too big to show here.
test/golden/importless/bovo.txtnew file+1
This diff is too big to show here.
test/golden/importless/bower-packages.nixnew file+42
This diff is too big to show here.
test/golden/importless/bower-packages.txtnew file+1
This diff is too big to show here.
test/golden/importless/breeze-grub.nixnew file+15
This diff is too big to show here.
test/golden/importless/breeze-grub.txtnew file+1
This diff is too big to show here.
test/golden/importless/breeze-gtk.nixnew file+14
This diff is too big to show here.
test/golden/importless/breeze-gtk.txtnew file+1
This diff is too big to show here.
test/golden/importless/breeze-icons.nixnew file+17
This diff is too big to show here.
test/golden/importless/breeze-icons.txtnew file+1
This diff is too big to show here.
test/golden/importless/breeze-qt5.nixnew file+20
This diff is too big to show here.
test/golden/importless/breeze-qt5.txtnew file+1
This diff is too big to show here.
test/golden/importless/brillo.nixnew file+22
This diff is too big to show here.
test/golden/importless/brillo.txtnew file+1
This diff is too big to show here.
test/golden/importless/brltty.nixnew file+50
This diff is too big to show here.
test/golden/importless/brltty.txtnew file+1
This diff is too big to show here.
test/golden/importless/broadcom-43xx.nixnew file+3
This diff is too big to show here.
test/golden/importless/broadcom-43xx.txtnew file+1
This diff is too big to show here.
test/golden/importless/brotli-crates.nixnew file+95
This diff is too big to show here.
test/golden/importless/brotli-crates.txtnew file
No changes to the content.
test/golden/importless/browser.nixnew file+25
This diff is too big to show here.
test/golden/importless/browser.txtnew file
No changes to the content.
test/golden/importless/browserpass.nixnew file+32
This diff is too big to show here.
test/golden/importless/browserpass.txtnew file+1
This diff is too big to show here.
test/golden/importless/brscan4.nixnew file+112
This diff is too big to show here.
test/golden/importless/brscan4.txtnew file+1
This diff is too big to show here.
test/golden/importless/bsh.nixnew file+14
This diff is too big to show here.
test/golden/importless/bsh.txtnew file+1
This diff is too big to show here.
test/golden/importless/bson.nixnew file+13
This diff is too big to show here.
test/golden/importless/bson.txtnew file+1
This diff is too big to show here.
test/golden/importless/btc1.nixnew file+41
This diff is too big to show here.
test/golden/importless/btc1.txtnew file
No changes to the content.
test/golden/importless/btrfs.nixnew file+140
This diff is too big to show here.
test/golden/importless/btrfs.txtnew file+1
This diff is too big to show here.
test/golden/importless/buffer.nixnew file+79
This diff is too big to show here.
test/golden/importless/buffer.txtnew file
No changes to the content.
test/golden/importless/build-api.nixnew file+14
This diff is too big to show here.
test/golden/importless/build-api.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-app.nixnew file+48
This diff is too big to show here.
test/golden/importless/build-app.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-builtin-package.nixnew file+25
This diff is too big to show here.
test/golden/importless/build-builtin-package.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-crate.nixnew file+110
This diff is too big to show here.
test/golden/importless/build-crate.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-dotnet.nixnew file+92
This diff is too big to show here.
test/golden/importless/build-dotnet.txtnew file
No changes to the content.
test/golden/importless/build-eclipse.nixnew file+61
This diff is too big to show here.
test/golden/importless/build-eclipse.txtnew file
No changes to the content.
test/golden/importless/build-erlang-mk.nixnew file+97
This diff is too big to show here.
test/golden/importless/build-erlang-mk.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-hex.nixnew file+20
This diff is too big to show here.
test/golden/importless/build-hex.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-idris-package.nixnew file+77
This diff is too big to show here.
test/golden/importless/build-idris-package.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-mix.nixnew file+100
This diff is too big to show here.
test/golden/importless/build-mix.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-pecl.nixnew file+36
This diff is too big to show here.
test/golden/importless/build-pecl.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-rebar3.nixnew file+94
This diff is too big to show here.
test/golden/importless/build-rebar3.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-skaware-package.nixnew file+106
This diff is too big to show here.
test/golden/importless/build-skaware-package.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-solution.nixnew file+85
This diff is too big to show here.
test/golden/importless/build-solution.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-tools.nixnew file+21
This diff is too big to show here.
test/golden/importless/build-tools.txtnew file+1
This diff is too big to show here.
test/golden/importless/build-vim-plugin.nixnew file+60
This diff is too big to show here.
test/golden/importless/build-vim-plugin.txtnew file
No changes to the content.
test/golden/importless/build.nixnew file+55
This diff is too big to show here.
test/golden/importless/build.txtnew file+1
This diff is too big to show here.
test/golden/importless/buildOcamlJane.nixnew file+27
This diff is too big to show here.
test/golden/importless/buildOcamlJane.txtnew file+1
This diff is too big to show here.
test/golden/importless/builder.nixnew file+49
This diff is too big to show here.
test/golden/importless/builder.txtnew file
No changes to the content.
test/golden/importless/buildnode-xhtml.nixnew file+48
This diff is too big to show here.
test/golden/importless/buildnode-xhtml.txtnew file
No changes to the content.
test/golden/importless/buildnode.nixnew file+49
This diff is too big to show here.
test/golden/importless/buildnode.txtnew file
No changes to the content.
test/golden/importless/builds.nixnew file+61
This diff is too big to show here.
test/golden/importless/builds.txtnew file
No changes to the content.
test/golden/importless/bumblebee.nixnew file+93
This diff is too big to show here.
test/golden/importless/bumblebee.txtnew file+1
This diff is too big to show here.
test/golden/importless/bytes.nixnew file+21
This diff is too big to show here.
test/golden/importless/bytes.txtnew file+1
This diff is too big to show here.
test/golden/importless/cachefilesd.nixnew file+63
This diff is too big to show here.
test/golden/importless/cachefilesd.txtnew file+1
This diff is too big to show here.
test/golden/importless/cadvisor.nixnew file+140
This diff is too big to show here.
test/golden/importless/cadvisor.txtnew file+1
This diff is too big to show here.
test/golden/importless/caffeine-plus.nixnew file+32
This diff is too big to show here.
test/golden/importless/caffeine-plus.txtnew file
No changes to the content.
test/golden/importless/cage.nixnew file+98
This diff is too big to show here.
test/golden/importless/cage.txtnew file+1
This diff is too big to show here.
test/golden/importless/calendarsupport.nixnew file+20
This diff is too big to show here.
test/golden/importless/calendarsupport.txtnew file+1
This diff is too big to show here.
test/golden/importless/calibre-server.nixnew file+63
This diff is too big to show here.
test/golden/importless/calibre-server.txtnew file+1
This diff is too big to show here.
test/golden/importless/camlp4.nixnew file+27
This diff is too big to show here.
test/golden/importless/camlp4.txtnew file
No changes to the content.
test/golden/importless/canto-daemon.nixnew file+37
This diff is too big to show here.
test/golden/importless/canto-daemon.txtnew file+1
This diff is too big to show here.
test/golden/importless/canvas.nixnew file+23
This diff is too big to show here.
test/golden/importless/canvas.txtnew file+1
This diff is too big to show here.
test/golden/importless/caps2esc.nixnew file+23
This diff is too big to show here.
test/golden/importless/caps2esc.txtnew file
No changes to the content.
test/golden/importless/captive-browser.nixnew file+122
This diff is too big to show here.
test/golden/importless/captive-browser.txtnew file+1
This diff is too big to show here.
test/golden/importless/carnix.nixnew file+259
This diff is too big to show here.
test/golden/importless/carnix.txtnew file
No changes to the content.
test/golden/importless/case.kak.nixnew file+27
This diff is too big to show here.
test/golden/importless/case.kak.txtnew file+1
This diff is too big to show here.
test/golden/importless/cassandra.nixnew file+479
This diff is too big to show here.
test/golden/importless/cassandra.txtnew file+1
This diff is too big to show here.
test/golden/importless/categories.nixnew file+21
This diff is too big to show here.
test/golden/importless/categories.txtnew file+1
This diff is too big to show here.
test/golden/importless/caveman.nixnew file+87
This diff is too big to show here.
test/golden/importless/caveman.txtnew file
No changes to the content.
test/golden/importless/ccache.nixnew file+83
This diff is too big to show here.
test/golden/importless/ccache.txtnew file+1
This diff is too big to show here.
test/golden/importless/cde.nixnew file+72
This diff is too big to show here.
test/golden/importless/cde.txtnew file+1
This diff is too big to show here.
test/golden/importless/cdemu.nixnew file+59
This diff is too big to show here.
test/golden/importless/cdemu.txtnew file+1
This diff is too big to show here.
test/golden/importless/cdn-deps.nixnew file+7028
This diff is too big to show here.
test/golden/importless/cdn-deps.txtnew file+1
This diff is too big to show here.
test/golden/importless/ceph.nixnew file+418
This diff is too big to show here.
test/golden/importless/ceph.txtnew file+1
This diff is too big to show here.
test/golden/importless/cerberus.nixnew file+19
This diff is too big to show here.
test/golden/importless/cerberus.txtnew file
No changes to the content.
test/golden/importless/certmgr.nixnew file+201
This diff is too big to show here.
test/golden/importless/certmgr.txtnew file
No changes to the content.
test/golden/importless/cfdyndns.nixnew file+70
This diff is too big to show here.
test/golden/importless/cfdyndns.txtnew file+1
This diff is too big to show here.
test/golden/importless/cffi-grovel.nixnew file+30
This diff is too big to show here.
test/golden/importless/cffi-grovel.txtnew file
No changes to the content.
test/golden/importless/cffi-toolchain.nixnew file+31
This diff is too big to show here.
test/golden/importless/cffi-toolchain.txtnew file
No changes to the content.
test/golden/importless/cffi.nixnew file+34
This diff is too big to show here.
test/golden/importless/cffi.txtnew file
No changes to the content.
test/golden/importless/cfssl.nixnew file+209
This diff is too big to show here.
test/golden/importless/cfssl.txtnew file+1
This diff is too big to show here.
test/golden/importless/cgit.nixnew file+91
This diff is too big to show here.
test/golden/importless/cgit.txtnew file+1
This diff is too big to show here.
test/golden/importless/cgminer.nixnew file+140
This diff is too big to show here.
test/golden/importless/cgminer.txtnew file+1
This diff is too big to show here.
test/golden/importless/chacha.nixnew file+82
This diff is too big to show here.
test/golden/importless/chacha.txtnew file+1
This diff is too big to show here.
test/golden/importless/channel.nixnew file+49
This diff is too big to show here.
test/golden/importless/channel.txtnew file+1
This diff is too big to show here.
test/golden/importless/charybdis.nixnew file+107
This diff is too big to show here.
test/golden/importless/charybdis.txtnew file+1
This diff is too big to show here.
test/golden/importless/check-meta.nixnew file+261
This diff is too big to show here.
test/golden/importless/check-meta.txtnew file
No changes to the content.
test/golden/importless/check-plugin.nixnew file+35
This diff is too big to show here.
test/golden/importless/check-plugin.txtnew file
No changes to the content.
test/golden/importless/check_ssl_cert.nixnew file+36
This diff is too big to show here.
test/golden/importless/check_ssl_cert.txtnew file
No changes to the content.
test/golden/importless/checkup.nixnew file+34
This diff is too big to show here.
test/golden/importless/checkup.txtnew file
No changes to the content.
test/golden/importless/chicken.nixnew file+59
This diff is too big to show here.
test/golden/importless/chicken.txtnew file+1
This diff is too big to show here.
test/golden/importless/chipz.nixnew file+25
This diff is too big to show here.
test/golden/importless/chipz.txtnew file
No changes to the content.
test/golden/importless/chrome-gnome-shell.nixnew file+33
This diff is too big to show here.
test/golden/importless/chrome-gnome-shell.txtnew file+1
This diff is too big to show here.
test/golden/importless/chromium.nixnew file+104
This diff is too big to show here.
test/golden/importless/chromium.txtnew file+1
This diff is too big to show here.
test/golden/importless/chrony.nixnew file+125
This diff is too big to show here.
test/golden/importless/chrony.txtnew file+1
This diff is too big to show here.
test/golden/importless/chrootenv.nixnew file+52
This diff is too big to show here.
test/golden/importless/chrootenv.txtnew file+1
This diff is too big to show here.
test/golden/importless/chunga.nixnew file+25
This diff is too big to show here.
test/golden/importless/chunga.txtnew file
No changes to the content.
test/golden/importless/cifs.nixnew file+25
This diff is too big to show here.
test/golden/importless/cifs.txtnew file+1
This diff is too big to show here.
test/golden/importless/cinnamon.nixnew file+205
This diff is too big to show here.
test/golden/importless/cinnamon.txtnew file+1
This diff is too big to show here.
test/golden/importless/circular-streams.nixnew file+36
This diff is too big to show here.
test/golden/importless/circular-streams.txtnew file
No changes to the content.
test/golden/importless/cjdns.nixnew file+294
This diff is too big to show here.
test/golden/importless/cjdns.txtnew file+1
This diff is too big to show here.
test/golden/importless/cl-aa.nixnew file+25
This diff is too big to show here.
test/golden/importless/cl-aa.txtnew file
No changes to the content.
test/golden/importless/cl-annot.nixnew file+25
This diff is too big to show here.
test/golden/importless/cl-annot.txtnew file
No changes to the content.
test/golden/importless/cl-anonfun.nixnew file+24
This diff is too big to show here.
test/golden/importless/cl-anonfun.txtnew file
No changes to the content.
test/golden/importless/cl-ansi-text.nixnew file+29
This diff is too big to show here.
test/golden/importless/cl-ansi-text.txtnew file
No changes to the content.
test/golden/importless/cl-async-repl.nixnew file+43
This diff is too big to show here.
test/golden/importless/cl-async-repl.txtnew file
No changes to the content.
test/golden/importless/cl-async-ssl.nixnew file+44
This diff is too big to show here.
test/golden/importless/cl-async-ssl.txtnew file
No changes to the content.
test/golden/importless/cl-async.nixnew file+41
This diff is too big to show here.
test/golden/importless/cl-async.txtnew file
No changes to the content.
test/golden/importless/cl-base64.nixnew file+28
This diff is too big to show here.
test/golden/importless/cl-base64.txtnew file
No changes to the content.
test/golden/importless/cl-change-case.nixnew file+31
This diff is too big to show here.
test/golden/importless/cl-change-case.txtnew file
No changes to the content.
test/golden/importless/cl-cli.nixnew file+25
This diff is too big to show here.
test/golden/importless/cl-cli.txtnew file
No changes to the content.
test/golden/importless/cl-colors.nixnew file+29
This diff is too big to show here.
test/golden/importless/cl-colors.txtnew file
No changes to the content.
test/golden/importless/cl-containers.nixnew file+33
This diff is too big to show here.
test/golden/importless/cl-containers.txtnew file+1
This diff is too big to show here.
test/golden/importless/cl-cookie.nixnew file+35
This diff is too big to show here.
test/golden/importless/cl-cookie.txtnew file
No changes to the content.
test/golden/importless/cl-css.nixnew file+24
This diff is too big to show here.
test/golden/importless/cl-css.txtnew file
No changes to the content.
test/golden/importless/cl-csv.nixnew file+37
This diff is too big to show here.
test/golden/importless/cl-csv.txtnew file
No changes to the content.
test/golden/importless/cl-dbi.nixnew file+36
This diff is too big to show here.
test/golden/importless/cl-dbi.txtnew file
No changes to the content.
test/golden/importless/cl-emb.nixnew file+25
This diff is too big to show here.
test/golden/importless/cl-emb.txtnew file
No changes to the content.
test/golden/importless/cl-fad.nixnew file+30
This diff is too big to show here.
test/golden/importless/cl-fad.txtnew file
No changes to the content.
test/golden/importless/cl-fuse-meta-fs.nixnew file+40
This diff is too big to show here.
test/golden/importless/cl-fuse-meta-fs.txtnew file
No changes to the content.
test/golden/importless/cl-fuse.nixnew file+35
This diff is too big to show here.
test/golden/importless/cl-fuse.txtnew file
No changes to the content.
test/golden/importless/cl-hooks.nixnew file+34
This diff is too big to show here.
test/golden/importless/cl-hooks.txtnew file
No changes to the content.
test/golden/importless/cl-html-parse.nixnew file+25
This diff is too big to show here.
test/golden/importless/cl-html-parse.txtnew file
No changes to the content.
test/golden/importless/cl-html5-parser.nixnew file+31
This diff is too big to show here.
test/golden/importless/cl-html5-parser.txtnew file
No changes to the content.
test/golden/importless/cl-interpol.nixnew file+31
This diff is too big to show here.
test/golden/importless/cl-interpol.txtnew file
No changes to the content.
test/golden/importless/cl-jpeg.nixnew file+25
This diff is too big to show here.
test/golden/importless/cl-jpeg.txtnew file
No changes to the content.
test/golden/importless/cl-json.nixnew file+28
This diff is too big to show here.
test/golden/importless/cl-json.txtnew file
No changes to the content.
test/golden/importless/cl-l10n-cldr.nixnew file+26
This diff is too big to show here.
test/golden/importless/cl-l10n-cldr.txtnew file
No changes to the content.
test/golden/importless/cl-l10n.nixnew file+42
This diff is too big to show here.
test/golden/importless/cl-l10n.txtnew file
No changes to the content.
test/golden/importless/cl-libuv.nixnew file+30
This diff is too big to show here.
test/golden/importless/cl-libuv.txtnew file
No changes to the content.
test/golden/importless/cl-log.nixnew file+24
This diff is too big to show here.
test/golden/importless/cl-log.txtnew file+1
This diff is too big to show here.
test/golden/importless/cl-markdown.nixnew file+36
This diff is too big to show here.
test/golden/importless/cl-markdown.txtnew file+1
This diff is too big to show here.
test/golden/importless/cl-markup.nixnew file+25
This diff is too big to show here.
test/golden/importless/cl-markup.txtnew file
No changes to the content.
test/golden/importless/cl-mysql.nixnew file+28
This diff is too big to show here.
test/golden/importless/cl-mysql.txtnew file
No changes to the content.
test/golden/importless/cl-paths-ttf.nixnew file+27
This diff is too big to show here.
test/golden/importless/cl-paths-ttf.txtnew file
No changes to the content.
test/golden/importless/cl-paths.nixnew file+25
This diff is too big to show here.
test/golden/importless/cl-paths.txtnew file
No changes to the content.
test/golden/importless/cl-pdf.nixnew file+27
This diff is too big to show here.
test/golden/importless/cl-pdf.txtnew file
No changes to the content.
test/golden/importless/cl-postgres.nixnew file+32
This diff is too big to show here.
test/golden/importless/cl-postgres.txtnew file
No changes to the content.
test/golden/importless/cl-ppcre-template.nixnew file+38
This diff is too big to show here.
test/golden/importless/cl-ppcre-template.txtnew file
No changes to the content.
test/golden/importless/cl-ppcre-unicode.nixnew file+33
This diff is too big to show here.
test/golden/importless/cl-ppcre-unicode.txtnew file
No changes to the content.
test/golden/importless/cl-ppcre.nixnew file+27
This diff is too big to show here.
test/golden/importless/cl-ppcre.txtnew file
No changes to the content.
test/golden/importless/cl-prevalence.nixnew file+27
This diff is too big to show here.
test/golden/importless/cl-prevalence.txtnew file
No changes to the content.
test/golden/importless/cl-project.nixnew file+35
This diff is too big to show here.
test/golden/importless/cl-project.txtnew file
No changes to the content.
test/golden/importless/cl-protobufs.nixnew file+30
This diff is too big to show here.
test/golden/importless/cl-protobufs.txtnew file
No changes to the content.
test/golden/importless/cl-reexport.nixnew file+25
This diff is too big to show here.
test/golden/importless/cl-reexport.txtnew file
No changes to the content.
test/golden/importless/cl-smtp.nixnew file+38
This diff is too big to show here.
test/golden/importless/cl-smtp.txtnew file
No changes to the content.
test/golden/importless/cl-store.nixnew file+27
This diff is too big to show here.
test/golden/importless/cl-store.txtnew file
No changes to the content.
test/golden/importless/cl-syntax-annot.nixnew file+33
This diff is too big to show here.
test/golden/importless/cl-syntax-annot.txtnew file
No changes to the content.
test/golden/importless/cl-syntax-anonfun.nixnew file+32
This diff is too big to show here.
test/golden/importless/cl-syntax-anonfun.txtnew file
No changes to the content.
test/golden/importless/cl-syntax-markup.nixnew file+32
This diff is too big to show here.
test/golden/importless/cl-syntax-markup.txtnew file
No changes to the content.
test/golden/importless/cl-syntax.nixnew file+30
This diff is too big to show here.
test/golden/importless/cl-syntax.txtnew file
No changes to the content.
test/golden/importless/cl-test-more.nixnew file+32
This diff is too big to show here.
test/golden/importless/cl-test-more.txtnew file
No changes to the content.
test/golden/importless/cl-typesetting.nixnew file+28
This diff is too big to show here.
test/golden/importless/cl-typesetting.txtnew file
No changes to the content.
test/golden/importless/cl-unicode.nixnew file+30
This diff is too big to show here.
test/golden/importless/cl-unicode.txtnew file
No changes to the content.
test/golden/importless/cl-unification.nixnew file+29
This diff is too big to show here.
test/golden/importless/cl-unification.txtnew file
No changes to the content.
test/golden/importless/cl-utilities.nixnew file+25
This diff is too big to show here.
test/golden/importless/cl-utilities.txtnew file
No changes to the content.
test/golden/importless/cl-vectors.nixnew file+26
This diff is too big to show here.
test/golden/importless/cl-vectors.txtnew file
No changes to the content.
test/golden/importless/cl-who.nixnew file+27
This diff is too big to show here.
test/golden/importless/cl-who.txtnew file
No changes to the content.
test/golden/importless/cl-xmlspam.nixnew file+34
This diff is too big to show here.
test/golden/importless/cl-xmlspam.txtnew file
No changes to the content.
test/golden/importless/cl_plus_ssl.nixnew file+34
This diff is too big to show here.
test/golden/importless/cl_plus_ssl.txtnew file
No changes to the content.
test/golden/importless/clack-handler-hunchentoot.nixnew file+54
This diff is too big to show here.
test/golden/importless/clack-handler-hunchentoot.txtnew file
No changes to the content.
test/golden/importless/clack-socket.nixnew file+33
This diff is too big to show here.
test/golden/importless/clack-socket.txtnew file
No changes to the content.
test/golden/importless/clack-test.nixnew file+79
This diff is too big to show here.
test/golden/importless/clack-test.txtnew file
No changes to the content.
test/golden/importless/clack-v1-compat.nixnew file+84
This diff is too big to show here.
test/golden/importless/clack-v1-compat.txtnew file
No changes to the content.
test/golden/importless/clack.nixnew file+43
This diff is too big to show here.
test/golden/importless/clack.txtnew file
No changes to the content.
test/golden/importless/clamsmtp.nixnew file+181
This diff is too big to show here.
test/golden/importless/clamsmtp.txtnew file+1
This diff is too big to show here.
test/golden/importless/clang.nixnew file+66
This diff is too big to show here.
test/golden/importless/clang.txtnew file
No changes to the content.
test/golden/importless/classworlds.nixnew file+25
This diff is too big to show here.
test/golden/importless/classworlds.txtnew file+1
This diff is too big to show here.
test/golden/importless/clean-packaging.nixnew file+53
This diff is too big to show here.
test/golden/importless/clean-packaging.txtnew file+1
This diff is too big to show here.
test/golden/importless/clex.nixnew file+25
This diff is too big to show here.
test/golden/importless/clex.txtnew file
No changes to the content.
test/golden/importless/clfswm.nixnew file+24
This diff is too big to show here.
test/golden/importless/clfswm.txtnew file+1
This diff is too big to show here.
test/golden/importless/cli.nixnew file+83
This diff is too big to show here.
test/golden/importless/cli.txtnew file
No changes to the content.
test/golden/importless/clickhouse.nixnew file+68
This diff is too big to show here.
test/golden/importless/clickhouse.txtnew file+1
This diff is too big to show here.
test/golden/importless/clickshare.nixnew file+21
This diff is too big to show here.
test/golden/importless/clickshare.txtnew file+1
This diff is too big to show here.
test/golden/importless/client-ip-echo.nixnew file+16
This diff is too big to show here.
test/golden/importless/client-ip-echo.txtnew file+1
This diff is too big to show here.
test/golden/importless/client.nixnew file+131
This diff is too big to show here.
test/golden/importless/client.txtnew file+1
This diff is too big to show here.
test/golden/importless/clientlib.nixnew file+24
This diff is too big to show here.
test/golden/importless/clientlib.txtnew file
No changes to the content.
test/golden/importless/clight.nixnew file+115
This diff is too big to show here.
test/golden/importless/clight.txtnew file+1
This diff is too big to show here.
test/golden/importless/clightd.nixnew file+75
This diff is too big to show here.
test/golden/importless/clightd.txtnew file
No changes to the content.
test/golden/importless/clightning.nixnew file+50
This diff is too big to show here.
test/golden/importless/clightning.txtnew file
No changes to the content.
test/golden/importless/clingo.nixnew file+25
This diff is too big to show here.
test/golden/importless/clingo.txtnew file
No changes to the content.
test/golden/importless/clipmenu.nixnew file+31
This diff is too big to show here.
test/golden/importless/clipmenu.txtnew file+1
This diff is too big to show here.
test/golden/importless/clippy.nixnew file+34
This diff is too big to show here.
test/golden/importless/clippy.txtnew file+1
This diff is too big to show here.
test/golden/importless/clooj.nixnew file+30
This diff is too big to show here.
test/golden/importless/clooj.txtnew file+1
This diff is too big to show here.
test/golden/importless/closer-mop.nixnew file+25
This diff is too big to show here.
test/golden/importless/closer-mop.txtnew file
No changes to the content.
test/golden/importless/closure-common.nixnew file+29
This diff is too big to show here.
test/golden/importless/closure-common.txtnew file
No changes to the content.
test/golden/importless/closure-html.nixnew file+33
This diff is too big to show here.
test/golden/importless/closure-html.txtnew file
No changes to the content.
test/golden/importless/closure-info.nixnew file+36
This diff is too big to show here.
test/golden/importless/closure-info.txtnew file+1
This diff is too big to show here.
test/golden/importless/clprover.nixnew file+27
This diff is too big to show here.
test/golden/importless/clprover.txtnew file+1
This diff is too big to show here.
test/golden/importless/clsql-postgresql-socket.nixnew file+31
This diff is too big to show here.
test/golden/importless/clsql-postgresql-socket.txtnew file
No changes to the content.
test/golden/importless/clsql-postgresql.nixnew file+31
This diff is too big to show here.
test/golden/importless/clsql-postgresql.txtnew file
No changes to the content.
test/golden/importless/clsql-sqlite3.nixnew file+31
This diff is too big to show here.
test/golden/importless/clsql-sqlite3.txtnew file
No changes to the content.
test/golden/importless/clsql-uffi.nixnew file+30
This diff is too big to show here.
test/golden/importless/clsql-uffi.txtnew file
No changes to the content.
test/golden/importless/clsql.nixnew file+29
This diff is too big to show here.
test/golden/importless/clsql.txtnew file
No changes to the content.
test/golden/importless/clss.nixnew file+28
This diff is too big to show here.
test/golden/importless/clss.txtnew file
No changes to the content.
test/golden/importless/clx-truetype.nixnew file+39
This diff is too big to show here.
test/golden/importless/clx-truetype.txtnew file
No changes to the content.
test/golden/importless/clx.nixnew file+28
This diff is too big to show here.
test/golden/importless/clx.txtnew file
No changes to the content.
test/golden/importless/cmake-modules.nixnew file+32
This diff is too big to show here.
test/golden/importless/cmake-modules.txtnew file
No changes to the content.
test/golden/importless/cmake.nixnew file+130
This diff is too big to show here.
test/golden/importless/cmake.txtnew file+1
This diff is too big to show here.
test/golden/importless/cmt.nixnew file+59
This diff is too big to show here.
test/golden/importless/cmt.txtnew file+1
This diff is too big to show here.
test/golden/importless/cntlm.nixnew file+121
This diff is too big to show here.
test/golden/importless/cntlm.txtnew file+1
This diff is too big to show here.
test/golden/importless/cockroachdb.nixnew file+217
This diff is too big to show here.
test/golden/importless/cockroachdb.txtnew file+1
This diff is too big to show here.
test/golden/importless/coda.nixnew file+24
This diff is too big to show here.
test/golden/importless/coda.txtnew file+1
This diff is too big to show here.
test/golden/importless/cohttp.nixnew file+26
This diff is too big to show here.
test/golden/importless/cohttp.txtnew file
No changes to the content.
test/golden/importless/collectd-exporter.nixnew file+26
This diff is too big to show here.
test/golden/importless/collectd-exporter.txtnew file
No changes to the content.
test/golden/importless/collectd.nixnew file+77
This diff is too big to show here.
test/golden/importless/collectd.txtnew file+1
This diff is too big to show here.
test/golden/importless/collections.nixnew file+77
This diff is too big to show here.
test/golden/importless/collections.txtnew file+1
This diff is too big to show here.
test/golden/importless/collectors.nixnew file+35
This diff is too big to show here.
test/golden/importless/collectors.txtnew file
No changes to the content.
test/golden/importless/colord.nixnew file+41
This diff is too big to show here.
test/golden/importless/colord.txtnew file+1
This diff is too big to show here.
test/golden/importless/combinators.nixnew file+13
This diff is too big to show here.
test/golden/importless/combinators.txtnew file+1
This diff is too big to show here.
test/golden/importless/combine-packages.nixnew file+20
This diff is too big to show here.
test/golden/importless/combine-packages.txtnew file+1
This diff is too big to show here.
test/golden/importless/command-line-arguments.nixnew file+26
This diff is too big to show here.
test/golden/importless/command-line-arguments.txtnew file
No changes to the content.
test/golden/importless/command-not-found.nixnew file+95
This diff is too big to show here.
test/golden/importless/command-not-found.txtnew file+1
This diff is too big to show here.
test/golden/importless/common-artifact-filters.nixnew file+36
This diff is too big to show here.
test/golden/importless/common-artifact-filters.txtnew file+1
This diff is too big to show here.
test/golden/importless/common-config.nixnew file+822
This diff is too big to show here.
test/golden/importless/common-config.txtnew file+1
This diff is too big to show here.
test/golden/importless/common-overrides.nixnew file+8
This diff is too big to show here.
test/golden/importless/common-overrides.txtnew file+1
This diff is too big to show here.
test/golden/importless/common-path.nixnew file+15
This diff is too big to show here.
test/golden/importless/common-path.txtnew file+1
This diff is too big to show here.
test/golden/importless/common.nixnew file+48
This diff is too big to show here.
test/golden/importless/common.txtnew file+1
This diff is too big to show here.
test/golden/importless/commons-cli.nixnew file+25
This diff is too big to show here.
test/golden/importless/commons-cli.txtnew file+1
This diff is too big to show here.
test/golden/importless/commons-io.nixnew file+14
This diff is too big to show here.
test/golden/importless/commons-io.txtnew file+1
This diff is too big to show here.
test/golden/importless/commons-lang.nixnew file+36
This diff is too big to show here.
test/golden/importless/commons-lang.txtnew file+1
This diff is too big to show here.
test/golden/importless/commons-lang3.nixnew file+14
This diff is too big to show here.
test/golden/importless/commons-lang3.txtnew file+1
This diff is too big to show here.
test/golden/importless/commons-logging-api.nixnew file+14
This diff is too big to show here.
test/golden/importless/commons-logging-api.txtnew file+1
This diff is too big to show here.
test/golden/importless/community-edition.nixnew file+167
This diff is too big to show here.
test/golden/importless/community-edition.txtnew file
No changes to the content.
test/golden/importless/community.nixnew file+131
This diff is too big to show here.
test/golden/importless/community.txtnew file
No changes to the content.
test/golden/importless/comonad.nixnew file+22
This diff is too big to show here.
test/golden/importless/comonad.txtnew file+1
This diff is too big to show here.
test/golden/importless/compiler-api.nixnew file+14
This diff is too big to show here.
test/golden/importless/compiler-api.txtnew file+1
This diff is too big to show here.
test/golden/importless/compiler-javac.nixnew file+14
This diff is too big to show here.
test/golden/importless/compiler-javac.txtnew file+1
This diff is too big to show here.
test/golden/importless/compiler-manager.nixnew file+14
This diff is too big to show here.
test/golden/importless/compiler-manager.txtnew file+1
This diff is too big to show here.
test/golden/importless/compiler-rt.nixnew file+83
This diff is too big to show here.
test/golden/importless/compiler-rt.txtnew file+1
This diff is too big to show here.
test/golden/importless/compiler.nixnew file+28
This diff is too big to show here.
test/golden/importless/compiler.txtnew file
No changes to the content.
test/golden/importless/component-annotations.nixnew file+14
This diff is too big to show here.
test/golden/importless/component-annotations.txtnew file+1
This diff is too big to show here.
test/golden/importless/component-packages.nixnew file+952
This diff is too big to show here.
test/golden/importless/component-packages.txtnew file+1
This diff is too big to show here.
test/golden/importless/compose-xcodewrapper.nixnew file+33
This diff is too big to show here.
test/golden/importless/compose-xcodewrapper.txtnew file+1
This diff is too big to show here.
test/golden/importless/composition.nixnew file+25
This diff is too big to show here.
test/golden/importless/composition.txtnew file+1
This diff is too big to show here.
test/golden/importless/compyte.nixnew file+21
This diff is too big to show here.
test/golden/importless/compyte.txtnew file+1
This diff is too big to show here.
test/golden/importless/condensed.nixnew file+24
This diff is too big to show here.
test/golden/importless/condensed.txtnew file+1
This diff is too big to show here.
test/golden/importless/conf.nixnew file+31
This diff is too big to show here.
test/golden/importless/conf.txtnew file+1
This diff is too big to show here.
test/golden/importless/confd.nixnew file+90
This diff is too big to show here.
test/golden/importless/confd.txtnew file+1
This diff is too big to show here.
test/golden/importless/config.nixnew file+46
This diff is too big to show here.
test/golden/importless/config.txtnew file+1
This diff is too big to show here.
test/golden/importless/configurable.nixnew file+191
This diff is too big to show here.
test/golden/importless/configurable.txtnew file
No changes to the content.
test/golden/importless/configuration-ghc-8.10.x.nixnew file+132
This diff is too big to show here.
test/golden/importless/configuration-ghc-8.10.x.txtnew file+1
This diff is too big to show here.
test/golden/importless/configuration-ghc-8.2.x.nixnew file+97
This diff is too big to show here.
test/golden/importless/configuration-ghc-8.2.x.txtnew file+1
This diff is too big to show here.
test/golden/importless/configuration-ghc-8.4.x.nixnew file+92
This diff is too big to show here.
test/golden/importless/configuration-ghc-8.4.x.txtnew file+1
This diff is too big to show here.
test/golden/importless/configuration-ghc-8.6.x.nixnew file+97
This diff is too big to show here.
test/golden/importless/configuration-ghc-8.6.x.txtnew file+1
This diff is too big to show here.
test/golden/importless/configuration-ghc-8.8.x.nixnew file+129
This diff is too big to show here.
test/golden/importless/configuration-ghc-8.8.x.txtnew file+1
This diff is too big to show here.
test/golden/importless/configuration-ghc-head.nixnew file+81
This diff is too big to show here.
test/golden/importless/configuration-ghc-head.txtnew file+1
This diff is too big to show here.
test/golden/importless/configuration-nix.nixnew file+785
This diff is too big to show here.
test/golden/importless/configuration-nix.txtnew file+1
This diff is too big to show here.
test/golden/importless/configuration-tensorflow.nixnew file+38
This diff is too big to show here.
test/golden/importless/configuration-tensorflow.txtnew file+1
This diff is too big to show here.
test/golden/importless/configure-crate.nixnew file+202
This diff is too big to show here.
test/golden/importless/configure-crate.txtnew file+1
This diff is too big to show here.
test/golden/importless/configured-ghcjs-src.nixnew file+51
This diff is too big to show here.
test/golden/importless/configured-ghcjs-src.txtnew file+1
This diff is too big to show here.
test/golden/importless/confluence.nixnew file+197
This diff is too big to show here.
test/golden/importless/confluence.txtnew file+1
This diff is too big to show here.
test/golden/importless/connman.nixnew file+171
This diff is too big to show here.
test/golden/importless/connman.txtnew file
No changes to the content.
test/golden/importless/console.nixnew file+27
This diff is too big to show here.
test/golden/importless/console.txtnew file+1
This diff is too big to show here.
test/golden/importless/constraint.nixnew file+22
This diff is too big to show here.
test/golden/importless/constraint.txtnew file
No changes to the content.
test/golden/importless/consul-exporter.nixnew file+23
This diff is too big to show here.
test/golden/importless/consul-exporter.txtnew file
No changes to the content.
test/golden/importless/consul.nixnew file+254
This diff is too big to show here.
test/golden/importless/consul.txtnew file+1
This diff is too big to show here.
test/golden/importless/container-config.nixnew file+31
This diff is too big to show here.
test/golden/importless/container-config.txtnew file+1
This diff is too big to show here.
test/golden/importless/container-default.nixnew file+36
This diff is too big to show here.
test/golden/importless/container-default.txtnew file+1
This diff is too big to show here.
test/golden/importless/containerd-shim.nixnew file+35
This diff is too big to show here.
test/golden/importless/containerd-shim.txtnew file
No changes to the content.
test/golden/importless/containers.nixnew file+26
This diff is too big to show here.
test/golden/importless/containers.txtnew file+1
This diff is too big to show here.
test/golden/importless/contrib.nixnew file+95
This diff is too big to show here.
test/golden/importless/contrib.txtnew file
No changes to the content.
test/golden/importless/control.nixnew file+60
This diff is too big to show here.
test/golden/importless/control.txtnew file
No changes to the content.
test/golden/importless/convert.nixnew file+43
This diff is too big to show here.
test/golden/importless/convert.txtnew file+1
This diff is too big to show here.
test/golden/importless/convos.nixnew file+72
This diff is too big to show here.
test/golden/importless/convos.txtnew file+1
This diff is too big to show here.
test/golden/importless/coq-packages.nixnew file+137
This diff is too big to show here.
test/golden/importless/coq-packages.txtnew file
No changes to the content.
test/golden/importless/core.nixnew file+47
This diff is too big to show here.
test/golden/importless/core.txtnew file+1
This diff is too big to show here.
test/golden/importless/core_bench.nixnew file+20
This diff is too big to show here.
test/golden/importless/core_bench.txtnew file+1
This diff is too big to show here.
test/golden/importless/coredns.nixnew file+50
This diff is too big to show here.
test/golden/importless/coredns.txtnew file+1
This diff is too big to show here.
test/golden/importless/corerad.nixnew file+88
This diff is too big to show here.
test/golden/importless/corerad.txtnew file+1
This diff is too big to show here.
test/golden/importless/cores.nixnew file+1101
This diff is too big to show here.
test/golden/importless/cores.txtnew file
No changes to the content.
test/golden/importless/coturn.nixnew file+334
This diff is too big to show here.
test/golden/importless/coturn.txtnew file+1
This diff is too big to show here.
test/golden/importless/couchdb.nixnew file+201
This diff is too big to show here.
test/golden/importless/couchdb.txtnew file+1
This diff is too big to show here.
test/golden/importless/couchpotato.nixnew file+42
This diff is too big to show here.
test/golden/importless/couchpotato.txtnew file+1
This diff is too big to show here.
test/golden/importless/cpp-test.nixnew file+51
This diff is too big to show here.
test/golden/importless/cpp-test.txtnew file+1
This diff is too big to show here.
test/golden/importless/cpu-freq.nixnew file+90
This diff is too big to show here.
test/golden/importless/cpu-freq.txtnew file+1
This diff is too big to show here.
test/golden/importless/cpuminer-cryptonight.nixnew file+66
This diff is too big to show here.
test/golden/importless/cpuminer-cryptonight.txtnew file+1
This diff is too big to show here.
test/golden/importless/crashdump.nixnew file+75
This diff is too big to show here.
test/golden/importless/crashdump.txtnew file+1
This diff is too big to show here.
test/golden/importless/credentials.nixnew file+38
This diff is too big to show here.
test/golden/importless/credentials.txtnew file+1
This diff is too big to show here.
test/golden/importless/criu.nixnew file+27
This diff is too big to show here.
test/golden/importless/criu.txtnew file+1
This diff is too big to show here.
test/golden/importless/cron.nixnew file+133
This diff is too big to show here.
test/golden/importless/cron.txtnew file+1
This diff is too big to show here.
test/golden/importless/crowd.nixnew file+164
This diff is too big to show here.
test/golden/importless/crowd.txtnew file+1
This diff is too big to show here.
test/golden/importless/cryptpad.nixnew file+54
This diff is too big to show here.
test/golden/importless/cryptpad.txtnew file+1
This diff is too big to show here.
test/golden/importless/cryptsetup.nixnew file+38
This diff is too big to show here.
test/golden/importless/cryptsetup.txtnew file
No changes to the content.
test/golden/importless/crystal2nix.nixnew file+22
This diff is too big to show here.
test/golden/importless/crystal2nix.txtnew file+1
This diff is too big to show here.
test/golden/importless/css-lite.nixnew file+24
This diff is too big to show here.
test/golden/importless/css-lite.txtnew file
No changes to the content.
test/golden/importless/css-selectors-simple-tree.nixnew file+51
This diff is too big to show here.
test/golden/importless/css-selectors-simple-tree.txtnew file
No changes to the content.
test/golden/importless/css-selectors-stp.nixnew file+51
This diff is too big to show here.
test/golden/importless/css-selectors-stp.txtnew file
No changes to the content.
test/golden/importless/css-selectors.nixnew file+50
This diff is too big to show here.
test/golden/importless/css-selectors.txtnew file
No changes to the content.
test/golden/importless/cstore_fdw.nixnew file+32
This diff is too big to show here.
test/golden/importless/cstore_fdw.txtnew file
No changes to the content.
test/golden/importless/cstruct.nixnew file+17
This diff is too big to show here.
test/golden/importless/cstruct.txtnew file+1
This diff is too big to show here.
test/golden/importless/cube.nixnew file+22
This diff is too big to show here.
test/golden/importless/cube.txtnew file+1
This diff is too big to show here.
test/golden/importless/cups-exporter.nixnew file+38
This diff is too big to show here.
test/golden/importless/cups-exporter.txtnew file
No changes to the content.
test/golden/importless/cups-pk-helper.nixnew file+30
This diff is too big to show here.
test/golden/importless/cups-pk-helper.txtnew file
No changes to the content.
test/golden/importless/curaengine.nixnew file+27
This diff is too big to show here.
test/golden/importless/curaengine.txtnew file
No changes to the content.
test/golden/importless/curry-base.nixnew file+16
This diff is too big to show here.
test/golden/importless/curry-base.txtnew file+1
This diff is too big to show here.
test/golden/importless/curry-frontend.nixnew file+26
This diff is too big to show here.
test/golden/importless/curry-frontend.txtnew file+1
This diff is too big to show here.
test/golden/importless/cursive.nixnew file+39
This diff is too big to show here.
test/golden/importless/cursive.txtnew file
No changes to the content.
test/golden/importless/cutter.nixnew file+53
This diff is too big to show here.
test/golden/importless/cutter.txtnew file
No changes to the content.
test/golden/importless/cwm.nixnew file+23
This diff is too big to show here.
test/golden/importless/cwm.txtnew file+1
This diff is too big to show here.
test/golden/importless/cxml-stp.nixnew file+37
This diff is too big to show here.
test/golden/importless/cxml-stp.txtnew file
No changes to the content.
test/golden/importless/cxml.nixnew file+34
This diff is too big to show here.
test/golden/importless/cxml.txtnew file
No changes to the content.
test/golden/importless/dante.nixnew file+62
This diff is too big to show here.
test/golden/importless/dante.txtnew file+1
This diff is too big to show here.
test/golden/importless/darkhttpd.nixnew file+77
This diff is too big to show here.
test/golden/importless/darkhttpd.txtnew file+1
This diff is too big to show here.
test/golden/importless/darwin-packages.nixnew file+95
This diff is too big to show here.
test/golden/importless/darwin-packages.txtnew file+1
This diff is too big to show here.
test/golden/importless/darwin.nixnew file+34
This diff is too big to show here.
test/golden/importless/darwin.txtnew file
No changes to the content.
test/golden/importless/das_watchdog.nixnew file+34
This diff is too big to show here.
test/golden/importless/das_watchdog.txtnew file+1
This diff is too big to show here.
test/golden/importless/dash.nixnew file+47
This diff is too big to show here.
test/golden/importless/dash.txtnew file
No changes to the content.
test/golden/importless/dashpay.nixnew file+44
This diff is too big to show here.
test/golden/importless/dashpay.txtnew file
No changes to the content.
test/golden/importless/data-api.nixnew file+25
This diff is too big to show here.
test/golden/importless/data-api.txtnew file
No changes to the content.
test/golden/importless/data.nixnew file+25
This diff is too big to show here.
test/golden/importless/data.txtnew file
No changes to the content.
test/golden/importless/datadog-agent-deps.nixnew file+1353
This diff is too big to show here.
test/golden/importless/datadog-agent-deps.txtnew file+1
This diff is too big to show here.
test/golden/importless/datadog-agent.nixnew file+294
This diff is too big to show here.
test/golden/importless/datadog-agent.txtnew file+1
This diff is too big to show here.
test/golden/importless/datadog-process-agent-deps.nixnew file+669
This diff is too big to show here.
test/golden/importless/datadog-process-agent-deps.txtnew file+1
This diff is too big to show here.
test/golden/importless/datadog-process-agent.nixnew file+24
This diff is too big to show here.
test/golden/importless/datadog-process-agent.txtnew file
No changes to the content.
test/golden/importless/datasets.nixnew file+119
This diff is too big to show here.
test/golden/importless/datasets.txtnew file+1
This diff is too big to show here.
test/golden/importless/davfs2.nixnew file+75
This diff is too big to show here.
test/golden/importless/davfs2.txtnew file+1
This diff is too big to show here.
test/golden/importless/davmail.nixnew file+99
This diff is too big to show here.
test/golden/importless/davmail.txtnew file+1
This diff is too big to show here.
test/golden/importless/db3.nixnew file+24
This diff is too big to show here.
test/golden/importless/db3.txtnew file+1
This diff is too big to show here.
test/golden/importless/dbd-mysql.nixnew file+39
This diff is too big to show here.
test/golden/importless/dbd-mysql.txtnew file
No changes to the content.
test/golden/importless/dbd-postgres.nixnew file+41
This diff is too big to show here.
test/golden/importless/dbd-postgres.txtnew file
No changes to the content.
test/golden/importless/dbd-sqlite3.nixnew file+43
This diff is too big to show here.
test/golden/importless/dbd-sqlite3.txtnew file
No changes to the content.
test/golden/importless/dbi.nixnew file+36
This diff is too big to show here.
test/golden/importless/dbi.txtnew file
No changes to the content.
test/golden/importless/dbus-sharp-1.0.nixnew file+25
This diff is too big to show here.
test/golden/importless/dbus-sharp-1.0.txtnew file
No changes to the content.
test/golden/importless/dbus-sharp-glib-1.0.nixnew file+25
This diff is too big to show here.
test/golden/importless/dbus-sharp-glib-1.0.txtnew file
No changes to the content.
test/golden/importless/dbus.nixnew file+116
This diff is too big to show here.
test/golden/importless/dbus.txtnew file+1
This diff is too big to show here.
test/golden/importless/dconf.nixnew file+64
This diff is too big to show here.
test/golden/importless/dconf.txtnew file+1
This diff is too big to show here.
test/golden/importless/dconf2nix.nixnew file+21
This diff is too big to show here.
test/golden/importless/dconf2nix.txtnew file+1
This diff is too big to show here.
test/golden/importless/dcrd.nixnew file+26
This diff is too big to show here.
test/golden/importless/dcrd.txtnew file
No changes to the content.
test/golden/importless/dcrwallet.nixnew file+26
This diff is too big to show here.
test/golden/importless/dcrwallet.txtnew file
No changes to the content.
test/golden/importless/dcw.nixnew file+32
This diff is too big to show here.
test/golden/importless/dcw.txtnew file
No changes to the content.
test/golden/importless/dd-agent-defaults.nixnew file+8
This diff is too big to show here.
test/golden/importless/dd-agent-defaults.txtnew file+1
This diff is too big to show here.
test/golden/importless/debian-build.nixnew file+98
This diff is too big to show here.
test/golden/importless/debian-build.txtnew file+1
This diff is too big to show here.
test/golden/importless/debian-patches.nixnew file+34
This diff is too big to show here.
test/golden/importless/debian-patches.txtnew file+1
This diff is too big to show here.
test/golden/importless/debug-info.nixnew file+45
This diff is too big to show here.
test/golden/importless/debug-info.txtnew file+1
This diff is too big to show here.
test/golden/importless/debug.nixnew file+253
This diff is too big to show here.
test/golden/importless/debug.txtnew file
No changes to the content.
test/golden/importless/declare-attrsOf.nixnew file+6
This diff is too big to show here.
test/golden/importless/declare-attrsOf.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-attrsOfSub-any-enable.nixnew file+29
This diff is too big to show here.
test/golden/importless/declare-attrsOfSub-any-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-coerced-value-unsound.nixnew file+10
This diff is too big to show here.
test/golden/importless/declare-coerced-value-unsound.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-coerced-value.nixnew file+10
This diff is too big to show here.
test/golden/importless/declare-coerced-value.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-either.nixnew file+5
This diff is too big to show here.
test/golden/importless/declare-either.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-enable-nested.nixnew file+14
This diff is too big to show here.
test/golden/importless/declare-enable-nested.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-enable.nixnew file+14
This diff is too big to show here.
test/golden/importless/declare-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-int-between-value.nixnew file+9
This diff is too big to show here.
test/golden/importless/declare-int-between-value.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-int-positive-value-nested.nixnew file+9
This diff is too big to show here.
test/golden/importless/declare-int-positive-value-nested.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-int-positive-value.nixnew file+9
This diff is too big to show here.
test/golden/importless/declare-int-positive-value.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-int-unsigned-value.nixnew file+9
This diff is too big to show here.
test/golden/importless/declare-int-unsigned-value.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-lazyAttrsOf.nixnew file+6
This diff is too big to show here.
test/golden/importless/declare-lazyAttrsOf.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-oneOf.nixnew file+9
This diff is too big to show here.
test/golden/importless/declare-oneOf.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-submoduleWith-modules.nixnew file+30
This diff is too big to show here.
test/golden/importless/declare-submoduleWith-modules.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-submoduleWith-noshorthand.nixnew file+13
This diff is too big to show here.
test/golden/importless/declare-submoduleWith-noshorthand.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-submoduleWith-path.nixnew file+12
This diff is too big to show here.
test/golden/importless/declare-submoduleWith-path.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-submoduleWith-shorthand.nixnew file+14
This diff is too big to show here.
test/golden/importless/declare-submoduleWith-shorthand.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare-submoduleWith-special.nixnew file+17
This diff is too big to show here.
test/golden/importless/declare-submoduleWith-special.txtnew file+1
This diff is too big to show here.
test/golden/importless/declare.nixnew file+53
This diff is too big to show here.
test/golden/importless/declare.txtnew file
No changes to the content.
test/golden/importless/default-crate-overrides.nixnew file+112
This diff is too big to show here.
test/golden/importless/default-crate-overrides.txtnew file+1
This diff is too big to show here.
test/golden/importless/default.nixnew file+507
This diff is too big to show here.
test/golden/importless/default.txtnew file
No changes to the content.
test/golden/importless/define-_module-args-custom.nixnew file+7
This diff is too big to show here.
test/golden/importless/define-_module-args-custom.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-bar-enable.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-bar-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-bar.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-bar.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo-enable-force.nixnew file+5
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo-enable-force.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo-enable-if.nixnew file+5
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo-enable-if.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo-enable.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo-force-enable.nixnew file+7
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo-force-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo-if-enable.nixnew file+7
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo-if-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-foo.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-force-foo-enable.nixnew file+7
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-force-foo-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-if-foo-enable.nixnew file+7
This diff is too big to show here.
test/golden/importless/define-attrsOfSub-if-foo-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-enable-force.nixnew file+5
This diff is too big to show here.
test/golden/importless/define-enable-force.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-enable-with-custom-arg.nixnew file+7
This diff is too big to show here.
test/golden/importless/define-enable-with-custom-arg.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-enable.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-force-attrsOfSub-foo-enable.nixnew file+5
This diff is too big to show here.
test/golden/importless/define-force-attrsOfSub-foo-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-force-enable.nixnew file+5
This diff is too big to show here.
test/golden/importless/define-force-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-if-attrsOfSub-foo-enable.nixnew file+5
This diff is too big to show here.
test/golden/importless/define-if-attrsOfSub-foo-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-module-check.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-module-check.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-option-dependently-nested.nixnew file+16
This diff is too big to show here.
test/golden/importless/define-option-dependently-nested.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-option-dependently.nixnew file+16
This diff is too big to show here.
test/golden/importless/define-option-dependently.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-package.nixnew file+116
This diff is too big to show here.
test/golden/importless/define-package.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-submoduleWith-noshorthand.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-submoduleWith-noshorthand.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-submoduleWith-shorthand.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-submoduleWith-shorthand.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-value-int-negative.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-value-int-negative.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-value-int-positive.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-value-int-positive.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-value-int-zero.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-value-int-zero.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-value-list.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-value-list.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-value-string-arbitrary.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-value-string-arbitrary.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-value-string-bigint.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-value-string-bigint.txtnew file+1
This diff is too big to show here.
test/golden/importless/define-value-string.nixnew file+3
This diff is too big to show here.
test/golden/importless/define-value-string.txtnew file+1
This diff is too big to show here.
test/golden/importless/deluge.nixnew file+271
This diff is too big to show here.
test/golden/importless/deluge.txtnew file+1
This diff is too big to show here.
test/golden/importless/demo.nixnew file+40
This diff is too big to show here.
test/golden/importless/demo.txtnew file
No changes to the content.
test/golden/importless/dep-overrides.nixnew file+14
This diff is too big to show here.
test/golden/importless/dep-overrides.txtnew file+1
This diff is too big to show here.
test/golden/importless/dependency-tree.nixnew file+14
This diff is too big to show here.
test/golden/importless/dependency-tree.txtnew file+1
This diff is too big to show here.
test/golden/importless/deploy-androidpackage.nixnew file+46
This diff is too big to show here.
test/golden/importless/deploy-androidpackage.txtnew file+1
This diff is too big to show here.
test/golden/importless/deprecated.nixnew file+278
This diff is too big to show here.
test/golden/importless/deprecated.txtnew file
No changes to the content.
test/golden/importless/deps.nixnew file+12
This diff is too big to show here.
test/golden/importless/deps.txtnew file+1
This diff is too big to show here.
test/golden/importless/derive.nixnew file+26
This diff is too big to show here.
test/golden/importless/derive.txtnew file+1
This diff is too big to show here.
test/golden/importless/dero.nixnew file+27
This diff is too big to show here.
test/golden/importless/dero.txtnew file
No changes to the content.
test/golden/importless/descncrunch.nixnew file+26
This diff is too big to show here.
test/golden/importless/descncrunch.txtnew file+1
This diff is too big to show here.
test/golden/importless/desktop_items.nixnew file+42
This diff is too big to show here.
test/golden/importless/desktop_items.txtnew file+1
This diff is too big to show here.
test/golden/importless/detected.nixnew file+12
This diff is too big to show here.
test/golden/importless/detected.txtnew file+1
This diff is too big to show here.
test/golden/importless/dev.nixnew file+23
This diff is too big to show here.
test/golden/importless/dev.txtnew file+1
This diff is too big to show here.
test/golden/importless/devedition_sources.nixnew file+965
This diff is too big to show here.
test/golden/importless/devedition_sources.txtnew file+1
This diff is too big to show here.
test/golden/importless/device-tree.nixnew file+67
This diff is too big to show here.
test/golden/importless/device-tree.txtnew file+1
This diff is too big to show here.
test/golden/importless/devmon.nixnew file+25
This diff is too big to show here.
test/golden/importless/devmon.txtnew file+1
This diff is too big to show here.
test/golden/importless/dexador.nixnew file+51
This diff is too big to show here.
test/golden/importless/dexador.txtnew file
No changes to the content.
test/golden/importless/dfu-util.nixnew file+31
This diff is too big to show here.
test/golden/importless/dfu-util.txtnew file
No changes to the content.
test/golden/importless/dhall-kubernetes.nixnew file+27
This diff is too big to show here.
test/golden/importless/dhall-kubernetes.txtnew file+1
This diff is too big to show here.
test/golden/importless/dhall-packages.nixnew file+48
This diff is too big to show here.
test/golden/importless/dhall-packages.txtnew file+1
This diff is too big to show here.
test/golden/importless/dhcpcd.nixnew file+225
This diff is too big to show here.
test/golden/importless/dhcpcd.txtnew file+1
This diff is too big to show here.
test/golden/importless/dict.nixnew file+29
This diff is too big to show here.
test/golden/importless/dict.txtnew file+1
This diff is too big to show here.
test/golden/importless/dictd-db-collector.nixnew file+80
This diff is too big to show here.
test/golden/importless/dictd-db-collector.txtnew file+1
This diff is too big to show here.
test/golden/importless/dictd-db.nixnew file+95
This diff is too big to show here.
test/golden/importless/dictd-db.txtnew file
No changes to the content.
test/golden/importless/dictd-wiktionary.nixnew file+31
This diff is too big to show here.
test/golden/importless/dictd-wiktionary.txtnew file
No changes to the content.
test/golden/importless/dictd-wordnet.nixnew file+36
This diff is too big to show here.
test/golden/importless/dictd-wordnet.txtnew file
No changes to the content.
test/golden/importless/dictd.nixnew file+65
This diff is too big to show here.
test/golden/importless/dictd.txtnew file+1
This diff is too big to show here.
test/golden/importless/dictionaries.nixnew file+944
This diff is too big to show here.
test/golden/importless/dictionaries.txtnew file
No changes to the content.
test/golden/importless/dicts.nixnew file+40
This diff is too big to show here.
test/golden/importless/dicts.txtnew file+1
This diff is too big to show here.
test/golden/importless/digest.nixnew file+33
This diff is too big to show here.
test/golden/importless/digest.txtnew file
No changes to the content.
test/golden/importless/digibyte.nixnew file+69
This diff is too big to show here.
test/golden/importless/digibyte.txtnew file
No changes to the content.
test/golden/importless/digimend.nixnew file+38
This diff is too big to show here.
test/golden/importless/digimend.txtnew file+1
This diff is too big to show here.
test/golden/importless/digitalbitbox.nixnew file+30
This diff is too big to show here.
test/golden/importless/digitalbitbox.txtnew file+1
This diff is too big to show here.
test/golden/importless/diod.nixnew file+159
This diff is too big to show here.
test/golden/importless/diod.txtnew file+1
This diff is too big to show here.
test/golden/importless/disable-bar.nixnew file+7
This diff is too big to show here.
test/golden/importless/disable-bar.txtnew file+1
This diff is too big to show here.
test/golden/importless/disable-declare-enable.nixnew file+5
This diff is too big to show here.
test/golden/importless/disable-declare-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/disable-define-enable.nixnew file+5
This diff is too big to show here.
test/golden/importless/disable-define-enable.txtnew file+1
This diff is too big to show here.
test/golden/importless/disable-enable-modules.nixnew file+5
This diff is too big to show here.
test/golden/importless/disable-enable-modules.txtnew file+1
This diff is too big to show here.
test/golden/importless/disable-foo.nixnew file+7
This diff is too big to show here.
test/golden/importless/disable-foo.txtnew file+1
This diff is too big to show here.
test/golden/importless/discover.nixnew file+20
This diff is too big to show here.
test/golden/importless/discover.txtnew file+1
This diff is too big to show here.
test/golden/importless/disnix.nixnew file+88
This diff is too big to show here.
test/golden/importless/disnix.txtnew file+1
This diff is too big to show here.
test/golden/importless/dispatch.nixnew file+38
This diff is too big to show here.
test/golden/importless/dispatch.txtnew file
No changes to the content.
test/golden/importless/displaylink.nixnew file+76
This diff is too big to show here.
test/golden/importless/displaylink.txtnew file+1
This diff is too big to show here.
test/golden/importless/dissect.nixnew file+25
This diff is too big to show here.
test/golden/importless/dissect.txtnew file
No changes to the content.
test/golden/importless/dist-tests.nixnew file+17
This diff is too big to show here.
test/golden/importless/dist-tests.txtnew file+1
This diff is too big to show here.
test/golden/importless/distribution.nixnew file+23
This diff is too big to show here.
test/golden/importless/distribution.txtnew file
No changes to the content.
test/golden/importless/django-crispy-forms.nixnew file+36
This diff is too big to show here.
test/golden/importless/django-crispy-forms.txtnew file+1
This diff is too big to show here.
test/golden/importless/django-filter.nixnew file+26
This diff is too big to show here.
test/golden/importless/django-filter.txtnew file
No changes to the content.
test/golden/importless/dkimproxy-out.nixnew file+120
This diff is too big to show here.
test/golden/importless/dkimproxy-out.txtnew file+1
This diff is too big to show here.
test/golden/importless/dleyna-renderer.nixnew file+28
This diff is too big to show here.
test/golden/importless/dleyna-renderer.txtnew file+1
This diff is too big to show here.
test/golden/importless/dleyna-server.nixnew file+28
This diff is too big to show here.
test/golden/importless/dleyna-server.txtnew file+1
This diff is too big to show here.
test/golden/importless/dmraid.nixnew file+26
This diff is too big to show here.
test/golden/importless/dmraid.txtnew file
No changes to the content.
test/golden/importless/dmrconfig.nixnew file+38
This diff is too big to show here.
test/golden/importless/dmrconfig.txtnew file+1
This diff is too big to show here.
test/golden/importless/dns.nixnew file+334
This diff is too big to show here.
test/golden/importless/dns.txtnew file+1
This diff is too big to show here.
test/golden/importless/dnscache.nixnew file+108
This diff is too big to show here.
test/golden/importless/dnscache.txtnew file+1
This diff is too big to show here.
test/golden/importless/dnscrypt-proxy2.nixnew file+62
This diff is too big to show here.
test/golden/importless/dnscrypt-proxy2.txtnew file+1
This diff is too big to show here.
test/golden/importless/dnscrypt-wrapper.nixnew file+284
This diff is too big to show here.
test/golden/importless/dnscrypt-wrapper.txtnew file
No changes to the content.
test/golden/importless/dnsdist.nixnew file+60
This diff is too big to show here.
test/golden/importless/dnsdist.txtnew file+1
This diff is too big to show here.
test/golden/importless/dnsmasq-exporter.nixnew file+26
This diff is too big to show here.
test/golden/importless/dnsmasq-exporter.txtnew file
No changes to the content.
test/golden/importless/dnsmasq.nixnew file+38
This diff is too big to show here.
test/golden/importless/dnsmasq.txtnew file+1
This diff is too big to show here.
test/golden/importless/do-agent.nixnew file+25
This diff is too big to show here.
test/golden/importless/do-agent.txtnew file+1
This diff is too big to show here.
test/golden/importless/do-urlencode.nixnew file+28
This diff is too big to show here.
test/golden/importless/do-urlencode.txtnew file
No changes to the content.
test/golden/importless/doas.nixnew file+274
This diff is too big to show here.
test/golden/importless/doas.txtnew file+1
This diff is too big to show here.
test/golden/importless/docker-registry.nixnew file+157
This diff is too big to show here.
test/golden/importless/docker-registry.txtnew file+1
This diff is too big to show here.
test/golden/importless/documentation-utils.nixnew file+27
This diff is too big to show here.
test/golden/importless/documentation-utils.txtnew file
No changes to the content.
test/golden/importless/documize.nixnew file+149
This diff is too big to show here.
test/golden/importless/documize.txtnew file+1
This diff is too big to show here.
test/golden/importless/dogecoin.nixnew file+41
This diff is too big to show here.
test/golden/importless/dogecoin.txtnew file
No changes to the content.
test/golden/importless/dolphin-plugins.nixnew file+18
This diff is too big to show here.
test/golden/importless/dolphin-plugins.txtnew file+1
This diff is too big to show here.
test/golden/importless/dolphin.nixnew file+31
This diff is too big to show here.
test/golden/importless/dolphin.txtnew file+1
This diff is too big to show here.
test/golden/importless/dom.nixnew file+27
This diff is too big to show here.
test/golden/importless/dom.txtnew file+1
This diff is too big to show here.
test/golden/importless/dotnet-packages.nixnew file+963
This diff is too big to show here.
test/golden/importless/dotnet-packages.txtnew file
No changes to the content.
test/golden/importless/dotty-bare.nixnew file+40
This diff is too big to show here.
test/golden/importless/dotty-bare.txtnew file
No changes to the content.
test/golden/importless/dotty.nixnew file+22
This diff is too big to show here.
test/golden/importless/dotty.txtnew file+1
This diff is too big to show here.
test/golden/importless/doubles.nixnew file+81
This diff is too big to show here.
test/golden/importless/doubles.txtnew file+1
This diff is too big to show here.
test/golden/importless/dovecot-exporter-deps.nixnew file+102
This diff is too big to show here.
test/golden/importless/dovecot-exporter-deps.txtnew file+1
This diff is too big to show here.
test/golden/importless/dovecot-exporter.nixnew file+26
This diff is too big to show here.
test/golden/importless/dovecot-exporter.txtnew file
No changes to the content.
test/golden/importless/dovecot.nixnew file+73
This diff is too big to show here.
test/golden/importless/dovecot.txtnew file+1
This diff is too big to show here.
test/golden/importless/download.nixnew file+884
This diff is too big to show here.
test/golden/importless/download.txtnew file+1
This diff is too big to show here.
test/golden/importless/downloads.nixnew file+213
This diff is too big to show here.
test/golden/importless/downloads.txtnew file+1
This diff is too big to show here.
test/golden/importless/doxia-sink-api.nixnew file+36
This diff is too big to show here.
test/golden/importless/doxia-sink-api.txtnew file+1
This diff is too big to show here.
test/golden/importless/dragon.nixnew file+25
This diff is too big to show here.
test/golden/importless/dragon.txtnew file+1
This diff is too big to show here.
test/golden/importless/drakma.nixnew file+39
This diff is too big to show here.
test/golden/importless/drakma.txtnew file
No changes to the content.
test/golden/importless/drbd.nixnew file+65
This diff is too big to show here.
test/golden/importless/drbd.txtnew file+1
This diff is too big to show here.
test/golden/importless/dspam.nixnew file+150
This diff is too big to show here.
test/golden/importless/dspam.txtnew file+1
This diff is too big to show here.
test/golden/importless/dsseries.nixnew file+26
This diff is too big to show here.
test/golden/importless/dsseries.txtnew file+1
This diff is too big to show here.
test/golden/importless/dune.nixnew file+40
This diff is too big to show here.
test/golden/importless/dune.txtnew file+1
This diff is too big to show here.
test/golden/importless/duplicati.nixnew file+67
This diff is too big to show here.
test/golden/importless/duplicati.txtnew file+1
This diff is too big to show here.
test/golden/importless/duplicity.nixnew file+141
This diff is too big to show here.
test/golden/importless/duplicity.txtnew file+1
This diff is too big to show here.
test/golden/importless/dust.nixnew file+35
This diff is too big to show here.
test/golden/importless/dust.txtnew file
No changes to the content.
test/golden/importless/dvtm.nixnew file+29
This diff is too big to show here.
test/golden/importless/dvtm.txtnew file+1
This diff is too big to show here.
test/golden/importless/dwm-status.nixnew file+73
This diff is too big to show here.
test/golden/importless/dwm-status.txtnew file+1
This diff is too big to show here.
test/golden/importless/dwm.nixnew file+37
This diff is too big to show here.
test/golden/importless/dwm.txtnew file+1
This diff is too big to show here.
test/golden/importless/dynamic-classes.nixnew file+26
This diff is too big to show here.
test/golden/importless/dynamic-classes.txtnew file+1
This diff is too big to show here.
test/golden/importless/dynamic-workspaces.nixnew file+39
This diff is too big to show here.
test/golden/importless/dynamic-workspaces.txtnew file
No changes to the content.
test/golden/importless/dynamic.nixnew file+26
This diff is too big to show here.
test/golden/importless/dynamic.txtnew file
No changes to the content.
test/golden/importless/eagle.nixnew file+80
This diff is too big to show here.
test/golden/importless/eagle.txtnew file
No changes to the content.
test/golden/importless/eagle7.nixnew file+97
This diff is too big to show here.
test/golden/importless/eagle7.txtnew file
No changes to the content.
test/golden/importless/earlyoom.nixnew file+123
This diff is too big to show here.
test/golden/importless/earlyoom.txtnew file+1
This diff is too big to show here.
test/golden/importless/easyfocus.nixnew file+32
This diff is too big to show here.
test/golden/importless/easyfocus.txtnew file+1
This diff is too big to show here.
test/golden/importless/ec2-amis.nixnew file+352
This diff is too big to show here.
test/golden/importless/ec2-amis.txtnew file+1
This diff is too big to show here.
test/golden/importless/ec2-metadata-fetcher.nixnew file+23
This diff is too big to show here.
test/golden/importless/ec2-metadata-fetcher.txtnew file+1
This diff is too big to show here.
test/golden/importless/ecryptfs.nixnew file+14
This diff is too big to show here.
test/golden/importless/ecryptfs.txtnew file+1
This diff is too big to show here.
test/golden/importless/ecs-agent.nixnew file+45
This diff is too big to show here.
test/golden/importless/ecs-agent.txtnew file+1
This diff is too big to show here.
test/golden/importless/edit.nixnew file+60
This diff is too big to show here.
test/golden/importless/edit.txtnew file
No changes to the content.
test/golden/importless/editable.nixnew file+54
This diff is too big to show here.
test/golden/importless/editable.txtnew file+1
This diff is too big to show here.
test/golden/importless/editor.nixnew file+43
This diff is too big to show here.
test/golden/importless/editor.txtnew file
No changes to the content.
test/golden/importless/editors.nixnew file+93
This diff is too big to show here.
test/golden/importless/editors.txtnew file
No changes to the content.
test/golden/importless/efi.nixnew file+20
This diff is too big to show here.
test/golden/importless/efi.txtnew file+1
This diff is too big to show here.
test/golden/importless/egg2nix.nixnew file+29
This diff is too big to show here.
test/golden/importless/egg2nix.txtnew file+1
This diff is too big to show here.
test/golden/importless/eggs.nixnew file+91
This diff is too big to show here.
test/golden/importless/eggs.txtnew file
No changes to the content.
test/golden/importless/ejabberd.nixnew file+157
This diff is too big to show here.
test/golden/importless/ejabberd.txtnew file+1
This diff is too big to show here.
test/golden/importless/elasticsearch-curator.nixnew file+94
This diff is too big to show here.
test/golden/importless/elasticsearch-curator.txtnew file+1
This diff is too big to show here.
test/golden/importless/elasticsearch.nixnew file+208
This diff is too big to show here.
test/golden/importless/elasticsearch.txtnew file+1
This diff is too big to show here.
test/golden/importless/electron.nixnew file+27
This diff is too big to show here.
test/golden/importless/electron.txtnew file+1
This diff is too big to show here.
test/golden/importless/electronplayer.nixnew file+33
This diff is too big to show here.
test/golden/importless/electronplayer.txtnew file+1
This diff is too big to show here.
test/golden/importless/element-desktop.nixnew file+81
This diff is too big to show here.
test/golden/importless/element-desktop.txtnew file
No changes to the content.
test/golden/importless/element-web.nixnew file+40
This diff is too big to show here.
test/golden/importless/element-web.txtnew file
No changes to the content.
test/golden/importless/elisa.nixnew file+46
This diff is too big to show here.
test/golden/importless/elisa.txtnew file
No changes to the content.
test/golden/importless/elm-format.nixnew file+40
This diff is too big to show here.
test/golden/importless/elm-format.txtnew file+1
This diff is too big to show here.
test/golden/importless/elm-instrument.nixnew file+34
This diff is too big to show here.
test/golden/importless/elm-instrument.txtnew file+1
This diff is too big to show here.
test/golden/importless/elm-json.nixnew file+29
This diff is too big to show here.
test/golden/importless/elm-json.txtnew file
No changes to the content.
test/golden/importless/elm-srcs.nixnew file+72
This diff is too big to show here.
test/golden/importless/elm-srcs.txtnew file+1
This diff is too big to show here.
test/golden/importless/elm.nixnew file+31
This diff is too big to show here.
test/golden/importless/elm.txtnew file+1
This diff is too big to show here.
test/golden/importless/elmi-to-json.nixnew file+27
This diff is too big to show here.
test/golden/importless/elmi-to-json.txtnew file+1
This diff is too big to show here.
test/golden/importless/elpa-generated.nixnew file+4011
This diff is too big to show here.
test/golden/importless/elpa-generated.txtnew file+1
This diff is too big to show here.
test/golden/importless/emacs.nixnew file+103
This diff is too big to show here.
test/golden/importless/emacs.txtnew file+1
This diff is too big to show here.
test/golden/importless/emergency-mode.nixnew file+37
This diff is too big to show here.
test/golden/importless/emergency-mode.txtnew file+1
This diff is too big to show here.
test/golden/importless/emscripten-packages.nixnew file+189
This diff is too big to show here.
test/golden/importless/emscripten-packages.txtnew file
No changes to the content.
test/golden/importless/emulate-app.nixnew file+137
This diff is too big to show here.
test/golden/importless/emulate-app.txtnew file+1
This diff is too big to show here.
test/golden/importless/emulator.nixnew file+49
This diff is too big to show here.
test/golden/importless/emulator.txtnew file+1
This diff is too big to show here.
test/golden/importless/encrypted-devices.nixnew file+87
This diff is too big to show here.
test/golden/importless/encrypted-devices.txtnew file+1
This diff is too big to show here.
test/golden/importless/enforcer.nixnew file+25
This diff is too big to show here.
test/golden/importless/enforcer.txtnew file+1
This diff is too big to show here.
test/golden/importless/engelsystem.nixnew file+186
This diff is too big to show here.
test/golden/importless/engelsystem.txtnew file+1
This diff is too big to show here.
test/golden/importless/engine.nixnew file+25
This diff is too big to show here.
test/golden/importless/engine.txtnew file
No changes to the content.
test/golden/importless/engines.nixnew file+41
This diff is too big to show here.
test/golden/importless/engines.txtnew file
No changes to the content.
test/golden/importless/enso-os.nixnew file+140
This diff is too big to show here.
test/golden/importless/enso-os.txtnew file+1
This diff is too big to show here.
test/golden/importless/enterprise-edition.nixnew file+175
This diff is too big to show here.
test/golden/importless/enterprise-edition.txtnew file
No changes to the content.
test/golden/importless/env-locations.nixnew file+49
This diff is too big to show here.
test/golden/importless/env-locations.txtnew file
No changes to the content.
test/golden/importless/env.nixnew file+167
This diff is too big to show here.
test/golden/importless/env.txtnew file+1
This diff is too big to show here.
test/golden/importless/environment.nixnew file+60
This diff is too big to show here.
test/golden/importless/environment.txtnew file+1
This diff is too big to show here.
test/golden/importless/eos.nixnew file+26
This diff is too big to show here.
test/golden/importless/eos.txtnew file+1
This diff is too big to show here.
test/golden/importless/epmd.nixnew file+56
This diff is too big to show here.
test/golden/importless/epmd.txtnew file
No changes to the content.
test/golden/importless/ergo.nixnew file+141
This diff is too big to show here.
test/golden/importless/ergo.txtnew file+1
This diff is too big to show here.
test/golden/importless/error-diagnostics.nixnew file+47
This diff is too big to show here.
test/golden/importless/error-diagnostics.txtnew file+1
This diff is too big to show here.
test/golden/importless/espanso.nixnew file+25
This diff is too big to show here.
test/golden/importless/espanso.txtnew file+1
This diff is too big to show here.
test/golden/importless/esrap-peg.nixnew file+29
This diff is too big to show here.
test/golden/importless/esrap-peg.txtnew file
No changes to the content.
test/golden/importless/esrap.nixnew file+29
This diff is too big to show here.
test/golden/importless/esrap.txtnew file
No changes to the content.
test/golden/importless/esxi.nixnew file+38
This diff is too big to show here.
test/golden/importless/esxi.txtnew file
No changes to the content.
test/golden/importless/etc.nixnew file+162
This diff is too big to show here.
test/golden/importless/etc.txtnew file+1
This diff is too big to show here.
test/golden/importless/etcd.nixnew file+195
This diff is too big to show here.
test/golden/importless/etcd.txtnew file+1
This diff is too big to show here.
test/golden/importless/eternal-terminal.nixnew file+95
This diff is too big to show here.
test/golden/importless/eternal-terminal.txtnew file+1
This diff is too big to show here.
test/golden/importless/eternal.nixnew file+32
This diff is too big to show here.
test/golden/importless/eternal.txtnew file+1
This diff is too big to show here.
test/golden/importless/ethabi.nixnew file+23
This diff is too big to show here.
test/golden/importless/ethabi.txtnew file
No changes to the content.
test/golden/importless/ethminer.nixnew file+117
This diff is too big to show here.
test/golden/importless/ethminer.txtnew file+1
This diff is too big to show here.
test/golden/importless/eventviews.nixnew file+20
This diff is too big to show here.
test/golden/importless/eventviews.txtnew file+1
This diff is too big to show here.
test/golden/importless/evilwm.nixnew file+25
This diff is too big to show here.
test/golden/importless/evilwm.txtnew file+1
This diff is too big to show here.
test/golden/importless/evolution-data-server.nixnew file+45
This diff is too big to show here.
test/golden/importless/evolution-data-server.txtnew file+1
This diff is too big to show here.
test/golden/importless/examples.nixnew file+421
This diff is too big to show here.
test/golden/importless/examples.txtnew file
No changes to the content.
test/golden/importless/exfat.nixnew file+11
This diff is too big to show here.
test/golden/importless/exfat.txtnew file+1
This diff is too big to show here.
test/golden/importless/exim.nixnew file+120
This diff is too big to show here.
test/golden/importless/exim.txtnew file+1
This diff is too big to show here.
test/golden/importless/ext.nixnew file+22
This diff is too big to show here.
test/golden/importless/ext.txtnew file+1
This diff is too big to show here.
test/golden/importless/extensions.nixnew file+111
This diff is too big to show here.
test/golden/importless/extensions.txtnew file
No changes to the content.
test/golden/importless/external-program.nixnew file+30
This diff is too big to show here.
test/golden/importless/external-program.txtnew file
No changes to the content.
test/golden/importless/extlinux-conf-builder.nixnew file+8
This diff is too big to show here.
test/golden/importless/extlinux-conf-builder.txtnew file+1
This diff is too big to show here.
test/golden/importless/extpack.nixnew file+25
This diff is too big to show here.
test/golden/importless/extpack.txtnew file
No changes to the content.
test/golden/importless/extra-target-flags.nixnew file+33
This diff is too big to show here.
test/golden/importless/extra-target-flags.txtnew file+1
This diff is too big to show here.
test/golden/importless/extra.nixnew file+51
This diff is too big to show here.
test/golden/importless/extra.txtnew file
No changes to the content.
test/golden/importless/extract-nuget.nixnew file+15
This diff is too big to show here.
test/golden/importless/extract-nuget.txtnew file+1
This diff is too big to show here.
test/golden/importless/extras.nixnew file+91
This diff is too big to show here.
test/golden/importless/extras.txtnew file
No changes to the content.
test/golden/importless/exwm.nixnew file+54
This diff is too big to show here.
test/golden/importless/exwm.txtnew file+1
This diff is too big to show here.
test/golden/importless/f2fs.nixnew file+25
This diff is too big to show here.
test/golden/importless/f2fs.txtnew file+1
This diff is too big to show here.
test/golden/importless/facetimehd.nixnew file+44
This diff is too big to show here.
test/golden/importless/facetimehd.txtnew file+1
This diff is too big to show here.
test/golden/importless/factorio.nixnew file+242
This diff is too big to show here.
test/golden/importless/factorio.txtnew file+1
This diff is too big to show here.
test/golden/importless/fail2ban.nixnew file+306
This diff is too big to show here.
test/golden/importless/fail2ban.txtnew file+1
This diff is too big to show here.
test/golden/importless/fake-shell.nixnew file+5
This diff is too big to show here.
test/golden/importless/fake-shell.txtnew file+1
This diff is too big to show here.
test/golden/importless/fakeroute.nixnew file+65
This diff is too big to show here.
test/golden/importless/fakeroute.txtnew file+1
This diff is too big to show here.
test/golden/importless/fancontrol.nixnew file+45
This diff is too big to show here.
test/golden/importless/fancontrol.txtnew file+1
This diff is too big to show here.
test/golden/importless/fare-quasiquote-extras.nixnew file+39
This diff is too big to show here.
test/golden/importless/fare-quasiquote-extras.txtnew file
No changes to the content.
test/golden/importless/fare-quasiquote-optima.nixnew file+34
This diff is too big to show here.
test/golden/importless/fare-quasiquote-optima.txtnew file
No changes to the content.
test/golden/importless/fare-quasiquote-readtable.nixnew file+33
This diff is too big to show here.
test/golden/importless/fare-quasiquote-readtable.txtnew file
No changes to the content.
test/golden/importless/fare-quasiquote.nixnew file+29
This diff is too big to show here.
test/golden/importless/fare-quasiquote.txtnew file
No changes to the content.
test/golden/importless/fare-utils.nixnew file+26
This diff is too big to show here.
test/golden/importless/fare-utils.txtnew file
No changes to the content.
test/golden/importless/farrp.nixnew file+25
This diff is too big to show here.
test/golden/importless/farrp.txtnew file+1
This diff is too big to show here.
test/golden/importless/fast-http.nixnew file+35
This diff is too big to show here.
test/golden/importless/fast-http.txtnew file
No changes to the content.
test/golden/importless/fast-io.nixnew file+33
This diff is too big to show here.
test/golden/importless/fast-io.txtnew file
No changes to the content.
test/golden/importless/faust1.nixnew file+208
This diff is too big to show here.
test/golden/importless/faust1.txtnew file+1
This diff is too big to show here.
test/golden/importless/faust2.nixnew file+222
This diff is too big to show here.
test/golden/importless/faust2.txtnew file+1
This diff is too big to show here.
test/golden/importless/faust2alqt.nixnew file+15
This diff is too big to show here.
test/golden/importless/faust2alqt.txtnew file+1
This diff is too big to show here.
test/golden/importless/faust2alsa.nixnew file+29
This diff is too big to show here.
test/golden/importless/faust2alsa.txtnew file+1
This diff is too big to show here.
test/golden/importless/faust2csound.nixnew file+20
This diff is too big to show here.
test/golden/importless/faust2csound.txtnew file+1
This diff is too big to show here.
test/golden/importless/faust2firefox.nixnew file+14
This diff is too big to show here.
test/golden/importless/faust2firefox.txtnew file+1
This diff is too big to show here.
test/golden/importless/faust2jack.nixnew file+28
This diff is too big to show here.
test/golden/importless/faust2jack.txtnew file+1
This diff is too big to show here.
test/golden/importless/faust2jackrust.nixnew file+18
This diff is too big to show here.
test/golden/importless/faust2jackrust.txtnew file+1
This diff is too big to show here.
test/golden/importless/faust2jaqt.nixnew file+28
This diff is too big to show here.
test/golden/importless/faust2jaqt.txtnew file+1
This diff is too big to show here.
test/golden/importless/faust2ladspa.nixnew file+12
This diff is too big to show here.
test/golden/importless/faust2ladspa.txtnew file+1
This diff is too big to show here.
test/golden/importless/faust2lv2.nixnew file+15
This diff is too big to show here.
test/golden/importless/faust2lv2.txtnew file+1
This diff is too big to show here.
test/golden/importless/faustlive.nixnew file+44
This diff is too big to show here.
test/golden/importless/faustlive.txtnew file
No changes to the content.
test/golden/importless/faxq-default.nixnew file+12
This diff is too big to show here.
test/golden/importless/faxq-default.txtnew file+1
This diff is too big to show here.
test/golden/importless/fcgiwrap.nixnew file+72
This diff is too big to show here.
test/golden/importless/fcgiwrap.txtnew file+1
This diff is too big to show here.
test/golden/importless/fcitx-configtool.nixnew file+35
This diff is too big to show here.
test/golden/importless/fcitx-configtool.txtnew file
No changes to the content.
test/golden/importless/fcitx-qt5.nixnew file+38
This diff is too big to show here.
test/golden/importless/fcitx-qt5.txtnew file
No changes to the content.
test/golden/importless/fcitx.nixnew file+43
This diff is too big to show here.
test/golden/importless/fcitx.txtnew file+1
This diff is too big to show here.
test/golden/importless/fcron.nixnew file+167
This diff is too big to show here.
test/golden/importless/fcron.txtnew file+1
This diff is too big to show here.
test/golden/importless/felix.nixnew file+102
This diff is too big to show here.
test/golden/importless/felix.txtnew file+1
This diff is too big to show here.
test/golden/importless/ferm.nixnew file+63
This diff is too big to show here.
test/golden/importless/ferm.txtnew file+1
This diff is too big to show here.
test/golden/importless/fetch-hex.nixnew file+34
This diff is too big to show here.
test/golden/importless/fetch-hex.txtnew file+1
This diff is too big to show here.
test/golden/importless/fetch-rebar-deps.nixnew file+33
This diff is too big to show here.
test/golden/importless/fetch-rebar-deps.txtnew file+1
This diff is too big to show here.
test/golden/importless/fetchCargoTarball.nixnew file+81
This diff is too big to show here.
test/golden/importless/fetchCargoTarball.txtnew file+1
This diff is too big to show here.
test/golden/importless/fetchNodeModules.nixnew file+26
This diff is too big to show here.
test/golden/importless/fetchNodeModules.txtnew file+1
This diff is too big to show here.
test/golden/importless/fetchPackages.nixnew file+130
This diff is too big to show here.
test/golden/importless/fetchPackages.txtnew file+1
This diff is too big to show here.
test/golden/importless/fetchcrate.nixnew file+38
This diff is too big to show here.
test/golden/importless/fetchcrate.txtnew file+1
This diff is too big to show here.
test/golden/importless/fetchers.nixnew file+13
This diff is too big to show here.
test/golden/importless/fetchers.txtnew file+1
This diff is too big to show here.
test/golden/importless/fetchpypi.nixnew file+28
This diff is too big to show here.
test/golden/importless/fetchpypi.txtnew file+1
This diff is too big to show here.
test/golden/importless/ffmpeg-codecs.nixnew file+32
This diff is too big to show here.
test/golden/importless/ffmpeg-codecs.txtnew file
No changes to the content.
test/golden/importless/ffmpegthumbs.nixnew file+15
This diff is too big to show here.
test/golden/importless/ffmpegthumbs.txtnew file+1
This diff is too big to show here.
test/golden/importless/fhsenv.nixnew file+286
This diff is too big to show here.
test/golden/importless/fhsenv.txtnew file
No changes to the content.
test/golden/importless/fiasco.nixnew file+30
This diff is too big to show here.
test/golden/importless/fiasco.txtnew file
No changes to the content.
test/golden/importless/fieldslib.nixnew file+19
This diff is too big to show here.
test/golden/importless/fieldslib.txtnew file+1
This diff is too big to show here.
test/golden/importless/filelight.nixnew file+18
This diff is too big to show here.
test/golden/importless/filelight.txtnew file+1
This diff is too big to show here.
test/golden/importless/filesystem.nixnew file+45
This diff is too big to show here.
test/golden/importless/filesystem.txtnew file+1
This diff is too big to show here.
test/golden/importless/filesystems.nixnew file+331
This diff is too big to show here.
test/golden/importless/filesystems.txtnew file+1
This diff is too big to show here.
test/golden/importless/filtering.nixnew file+14
This diff is too big to show here.
test/golden/importless/filtering.txtnew file+1
This diff is too big to show here.
test/golden/importless/filters.nixnew file+71
This diff is too big to show here.
test/golden/importless/filters.txtnew file
No changes to the content.
test/golden/importless/firebird.nixnew file+161
This diff is too big to show here.
test/golden/importless/firebird.txtnew file+1
This diff is too big to show here.
test/golden/importless/firejail.nixnew file+54
This diff is too big to show here.
test/golden/importless/firejail.txtnew file+1
This diff is too big to show here.
test/golden/importless/fireqos.nixnew file+52
This diff is too big to show here.
test/golden/importless/fireqos.txtnew file+1
This diff is too big to show here.
test/golden/importless/fish.nixnew file+247
This diff is too big to show here.
test/golden/importless/fish.txtnew file+1
This diff is too big to show here.
test/golden/importless/fiveam.nixnew file+30
This diff is too big to show here.
test/golden/importless/fiveam.txtnew file
No changes to the content.
test/golden/importless/fixed-points.nixnew file+104
This diff is too big to show here.
test/golden/importless/fixed-points.txtnew file
No changes to the content.
test/golden/importless/flannel.nixnew file+191
This diff is too big to show here.
test/golden/importless/flannel.txtnew file+1
This diff is too big to show here.
test/golden/importless/flashpolicyd.nixnew file+85
This diff is too big to show here.
test/golden/importless/flashpolicyd.txtnew file+1
This diff is too big to show here.
test/golden/importless/flask-oldsessions.nixnew file+36
This diff is too big to show here.
test/golden/importless/flask-oldsessions.txtnew file
No changes to the content.
test/golden/importless/flask-openid.nixnew file+28
This diff is too big to show here.
test/golden/importless/flask-openid.txtnew file
No changes to the content.
test/golden/importless/flatpak-builder.nixnew file+14
This diff is too big to show here.
test/golden/importless/flatpak-builder.txtnew file+1
This diff is too big to show here.
test/golden/importless/flatpak.nixnew file+66
This diff is too big to show here.
test/golden/importless/flatpak.txtnew file+1
This diff is too big to show here.
test/golden/importless/flexget.nixnew file+100
This diff is too big to show here.
test/golden/importless/flexget.txtnew file+1
This diff is too big to show here.
test/golden/importless/flexi-streams.nixnew file+29
This diff is too big to show here.
test/golden/importless/flexi-streams.txtnew file
No changes to the content.
test/golden/importless/fluentd.nixnew file+58
This diff is too big to show here.
test/golden/importless/fluentd.txtnew file+1
This diff is too big to show here.
test/golden/importless/flutter.nixnew file+129
This diff is too big to show here.
test/golden/importless/flutter.txtnew file+1
This diff is too big to show here.
test/golden/importless/fluxbox.nixnew file+25
This diff is too big to show here.
test/golden/importless/fluxbox.txtnew file+1
This diff is too big to show here.
test/golden/importless/fmod.nixnew file+45
This diff is too big to show here.
test/golden/importless/fmod.txtnew file
No changes to the content.
test/golden/importless/fontdir.nixnew file+48
This diff is too big to show here.
test/golden/importless/fontdir.txtnew file+1
This diff is too big to show here.
test/golden/importless/fontforge-fonttools.nixnew file+1
This diff is too big to show here.
test/golden/importless/fontforge-fonttools.txtnew file+1
This diff is too big to show here.
test/golden/importless/fonts.nixnew file+19
This diff is too big to show here.
test/golden/importless/fonts.txtnew file+1
This diff is too big to show here.
test/golden/importless/form-fiddle.nixnew file+29
This diff is too big to show here.
test/golden/importless/form-fiddle.txtnew file
No changes to the content.
test/golden/importless/formats.nixnew file+109
This diff is too big to show here.
test/golden/importless/formats.txtnew file
No changes to the content.
test/golden/importless/foundationdb.nixnew file+429
This diff is too big to show here.
test/golden/importless/foundationdb.txtnew file+1
This diff is too big to show here.
test/golden/importless/fox-1.6.nixnew file+43
This diff is too big to show here.
test/golden/importless/fox-1.6.txtnew file
No changes to the content.
test/golden/importless/fprintd.nixnew file+54
This diff is too big to show here.
test/golden/importless/fprintd.txtnew file+1
This diff is too big to show here.
test/golden/importless/fprot.nixnew file+79
This diff is too big to show here.
test/golden/importless/fprot.txtnew file+1
This diff is too big to show here.
test/golden/importless/frab.nixnew file+222
This diff is too big to show here.
test/golden/importless/frab.txtnew file+1
This diff is too big to show here.
test/golden/importless/fractalart.nixnew file+36
This diff is too big to show here.
test/golden/importless/fractalart.txtnew file+1
This diff is too big to show here.
test/golden/importless/frameworkintegration.nixnew file+17
This diff is too big to show here.
test/golden/importless/frameworkintegration.txtnew file+1
This diff is too big to show here.
test/golden/importless/frameworks.nixnew file+127
This diff is too big to show here.
test/golden/importless/frameworks.txtnew file+1
This diff is too big to show here.
test/golden/importless/free.nixnew file+24
This diff is too big to show here.
test/golden/importless/free.txtnew file+1
This diff is too big to show here.
test/golden/importless/freefall.nixnew file+64
This diff is too big to show here.
test/golden/importless/freefall.txtnew file+1
This diff is too big to show here.
test/golden/importless/freeform-attrsOf.nixnew file+3
This diff is too big to show here.
test/golden/importless/freeform-attrsOf.txtnew file+1
This diff is too big to show here.
test/golden/importless/freeform-lazyAttrsOf.nixnew file+3
This diff is too big to show here.
test/golden/importless/freeform-lazyAttrsOf.txtnew file+1
This diff is too big to show here.
test/golden/importless/freeform-nested.nixnew file+7
This diff is too big to show here.
test/golden/importless/freeform-nested.txtnew file+1
This diff is too big to show here.
test/golden/importless/freeform-str-dep-unstr.nixnew file+8
This diff is too big to show here.
test/golden/importless/freeform-str-dep-unstr.txtnew file+1
This diff is too big to show here.
test/golden/importless/freeform-unstr-dep-str.nixnew file+8
This diff is too big to show here.
test/golden/importless/freeform-unstr-dep-str.txtnew file+1
This diff is too big to show here.
test/golden/importless/freenet.nixnew file+64
This diff is too big to show here.
test/golden/importless/freenet.txtnew file+1
This diff is too big to show here.
test/golden/importless/freeoffice.nixnew file+27
This diff is too big to show here.
test/golden/importless/freeoffice.txtnew file
No changes to the content.
test/golden/importless/freepops.nixnew file+89
This diff is too big to show here.
test/golden/importless/freepops.txtnew file+1
This diff is too big to show here.
test/golden/importless/freeradius.nixnew file+84
This diff is too big to show here.
test/golden/importless/freeradius.txtnew file+1
This diff is too big to show here.
test/golden/importless/freeswitch.nixnew file+105
This diff is too big to show here.
test/golden/importless/freeswitch.txtnew file+1
This diff is too big to show here.
test/golden/importless/freetds.nixnew file+61
This diff is too big to show here.
test/golden/importless/freetds.txtnew file+1
This diff is too big to show here.
test/golden/importless/freicoin.nixnew file+41
This diff is too big to show here.
test/golden/importless/freicoin.txtnew file
No changes to the content.
test/golden/importless/fritzbox-exporter-deps.nixnew file+93
This diff is too big to show here.
test/golden/importless/fritzbox-exporter-deps.txtnew file+1
This diff is too big to show here.
test/golden/importless/fritzbox-exporter.nixnew file+28
This diff is too big to show here.
test/golden/importless/fritzbox-exporter.txtnew file
No changes to the content.
test/golden/importless/fritzbox.nixnew file+38
This diff is too big to show here.
test/golden/importless/fritzbox.txtnew file+1
This diff is too big to show here.
test/golden/importless/frog.nixnew file+54
This diff is too big to show here.
test/golden/importless/frog.txtnew file+1
This diff is too big to show here.
test/golden/importless/frogdata.nixnew file+30
This diff is too big to show here.
test/golden/importless/frogdata.txtnew file+1
This diff is too big to show here.
test/golden/importless/from-env.nixnew file+4
This diff is too big to show here.
test/golden/importless/from-env.txtnew file+1
This diff is too big to show here.
test/golden/importless/frontend-params-submodule.nixnew file+64
This diff is too big to show here.
test/golden/importless/frontend-params-submodule.txtnew file+1
This diff is too big to show here.
test/golden/importless/frontend.nixnew file+23
This diff is too big to show here.
test/golden/importless/frontend.txtnew file
No changes to the content.
test/golden/importless/frontends.nixnew file+29
This diff is too big to show here.
test/golden/importless/frontends.txtnew file
No changes to the content.
test/golden/importless/frostwire-bin.nixnew file+31
This diff is too big to show here.
test/golden/importless/frostwire-bin.txtnew file
No changes to the content.
test/golden/importless/fs.nixnew file+23
This diff is too big to show here.
test/golden/importless/fs.txtnew file
No changes to the content.
test/golden/importless/fset.nixnew file+31
This diff is too big to show here.
test/golden/importless/fset.txtnew file
No changes to the content.
test/golden/importless/fsm.nixnew file+22
This diff is too big to show here.
test/golden/importless/fsm.txtnew file+1
This diff is too big to show here.
test/golden/importless/fstrim.nixnew file+46
This diff is too big to show here.
test/golden/importless/fstrim.txtnew file+1
This diff is too big to show here.
test/golden/importless/full.nixnew file+30
This diff is too big to show here.
test/golden/importless/full.txtnew file+1
This diff is too big to show here.
test/golden/importless/functions.nixnew file+93
This diff is too big to show here.
test/golden/importless/functions.txtnew file
No changes to the content.
test/golden/importless/fuse.nixnew file+37
This diff is too big to show here.
test/golden/importless/fuse.txtnew file+1
This diff is too big to show here.
test/golden/importless/fuseki-binary.nixnew file+41
This diff is too big to show here.
test/golden/importless/fuseki-binary.txtnew file
No changes to the content.
test/golden/importless/fusion-inventory.nixnew file+63
This diff is too big to show here.
test/golden/importless/fusion-inventory.txtnew file+1
This diff is too big to show here.
test/golden/importless/fvwm.nixnew file+41
This diff is too big to show here.
test/golden/importless/fvwm.txtnew file+1
This diff is too big to show here.
test/golden/importless/fwupd.nixnew file+129
This diff is too big to show here.
test/golden/importless/fwupd.txtnew file+1
This diff is too big to show here.
test/golden/importless/gale.nixnew file+181
This diff is too big to show here.
test/golden/importless/gale.txtnew file+1
This diff is too big to show here.
test/golden/importless/game.nixnew file+23
This diff is too big to show here.
test/golden/importless/game.txtnew file
No changes to the content.
test/golden/importless/games.nixnew file+59
This diff is too big to show here.
test/golden/importless/games.txtnew file
No changes to the content.
test/golden/importless/gammu-smsd.nixnew file+253
This diff is too big to show here.
test/golden/importless/gammu-smsd.txtnew file+1
This diff is too big to show here.
test/golden/importless/gaps.nixnew file+33
This diff is too big to show here.
test/golden/importless/gaps.txtnew file
No changes to the content.
test/golden/importless/garbage-pools.nixnew file+25
This diff is too big to show here.
test/golden/importless/garbage-pools.txtnew file+1
This diff is too big to show here.
test/golden/importless/garmindev.nixnew file+25
This diff is too big to show here.
test/golden/importless/garmindev.txtnew file
No changes to the content.
test/golden/importless/gateone.nixnew file+59
This diff is too big to show here.
test/golden/importless/gateone.txtnew file+1
This diff is too big to show here.
test/golden/importless/gawk-with-extensions.nixnew file+12
This diff is too big to show here.
test/golden/importless/gawk-with-extensions.txtnew file+1
This diff is too big to show here.
test/golden/importless/gawkextlib.nixnew file+149
This diff is too big to show here.
test/golden/importless/gawkextlib.txtnew file
No changes to the content.
test/golden/importless/gc.nixnew file+33
This diff is too big to show here.
test/golden/importless/gc.txtnew file
No changes to the content.
test/golden/importless/gcab.nixnew file+5
This diff is too big to show here.
test/golden/importless/gcab.txtnew file+1
This diff is too big to show here.
test/golden/importless/gcc-support.nixnew file+31
This diff is too big to show here.
test/golden/importless/gcc-support.txtnew file
No changes to the content.
test/golden/importless/gce-images.nixnew file+9
This diff is too big to show here.
test/golden/importless/gce-images.txtnew file+1
This diff is too big to show here.
test/golden/importless/gdal-1_11.nixnew file+66
This diff is too big to show here.
test/golden/importless/gdal-1_11.txtnew file
No changes to the content.
test/golden/importless/gdk-pixbuf.nixnew file+45
This diff is too big to show here.
test/golden/importless/gdk-pixbuf.txtnew file+1
This diff is too big to show here.
test/golden/importless/gdomap.nixnew file+29
This diff is too big to show here.
test/golden/importless/gdomap.txtnew file+1
This diff is too big to show here.
test/golden/importless/geary.nixnew file+24
This diff is too big to show here.
test/golden/importless/geary.txtnew file+1
This diff is too big to show here.
test/golden/importless/gemset-beta.nixnew file+374
This diff is too big to show here.
test/golden/importless/gemset-beta.txtnew file+1
This diff is too big to show here.
test/golden/importless/gemset.nixnew file+998
This diff is too big to show here.
test/golden/importless/gemset.txtnew file+1
This diff is too big to show here.
test/golden/importless/gemset_libvirt.nixnew file+159
This diff is too big to show here.
test/golden/importless/gemset_libvirt.txtnew file+1
This diff is too big to show here.
test/golden/importless/generated-packages.nixnew file+1590
This diff is too big to show here.
test/golden/importless/generated-packages.txtnew file+1
This diff is too big to show here.
test/golden/importless/generated.nixnew file+7353
This diff is too big to show here.
test/golden/importless/generated.txtnew file+1
This diff is too big to show here.
test/golden/importless/generations-dir.nixnew file+65
This diff is too big to show here.
test/golden/importless/generations-dir.txtnew file+1
This diff is too big to show here.
test/golden/importless/generatorrunner.nixnew file+27
This diff is too big to show here.
test/golden/importless/generatorrunner.txtnew file+1
This diff is too big to show here.
test/golden/importless/generators.nixnew file+291
This diff is too big to show here.
test/golden/importless/generators.txtnew file
No changes to the content.
test/golden/importless/generic-builder.nixnew file+54
This diff is too big to show here.
test/golden/importless/generic-builder.txtnew file+1
This diff is too big to show here.
test/golden/importless/generic-stack-builder.nixnew file+78
This diff is too big to show here.
test/golden/importless/generic-stack-builder.txtnew file+1
This diff is too big to show here.
test/golden/importless/generic-updater.nixnew file+108
This diff is too big to show here.
test/golden/importless/generic-updater.txtnew file+1
This diff is too big to show here.
test/golden/importless/generic-v3.nixnew file+60
This diff is too big to show here.
test/golden/importless/generic-v3.txtnew file+1
This diff is too big to show here.
test/golden/importless/generic.nixnew file+93
This diff is too big to show here.
test/golden/importless/generic.txtnew file
No changes to the content.
test/golden/importless/genphrase.nixnew file+32
This diff is too big to show here.
test/golden/importless/genphrase.txtnew file
No changes to the content.
test/golden/importless/geoclue2.nixnew file+268
This diff is too big to show here.
test/golden/importless/geoclue2.txtnew file+1
This diff is too big to show here.
test/golden/importless/geogebra6.nixnew file+46
This diff is too big to show here.
test/golden/importless/geogebra6.txtnew file
No changes to the content.
test/golden/importless/geoip-updater.nixnew file+306
This diff is too big to show here.
test/golden/importless/geoip-updater.txtnew file+1
This diff is too big to show here.
test/golden/importless/gerbil-crypto.nixnew file+27
This diff is too big to show here.
test/golden/importless/gerbil-crypto.txtnew file+1
This diff is too big to show here.
test/golden/importless/gerbil-ethereum.nixnew file+28
This diff is too big to show here.
test/golden/importless/gerbil-ethereum.txtnew file+1
This diff is too big to show here.
test/golden/importless/gerbil-persist.nixnew file+27
This diff is too big to show here.
test/golden/importless/gerbil-persist.txtnew file+1
This diff is too big to show here.
test/golden/importless/gerbil-poo.nixnew file+27
This diff is too big to show here.
test/golden/importless/gerbil-poo.txtnew file+1
This diff is too big to show here.
test/golden/importless/gerbil-utils.nixnew file+25
This diff is too big to show here.
test/golden/importless/gerbil-utils.txtnew file+1
This diff is too big to show here.
test/golden/importless/gerrit.nixnew file+239
This diff is too big to show here.
test/golden/importless/gerrit.txtnew file+1
This diff is too big to show here.
test/golden/importless/ghcjs-base.nixnew file+29
This diff is too big to show here.
test/golden/importless/ghcjs-base.txtnew file+1
This diff is too big to show here.
test/golden/importless/ghostscript.nixnew file+33
This diff is too big to show here.
test/golden/importless/ghostscript.txtnew file+1
This diff is too big to show here.
test/golden/importless/git-daemon.nixnew file+130
This diff is too big to show here.
test/golden/importless/git-daemon.txtnew file+1
This diff is too big to show here.
test/golden/importless/git.nixnew file+41
This diff is too big to show here.
test/golden/importless/git.txtnew file
No changes to the content.
test/golden/importless/gitea.nixnew file+609
This diff is too big to show here.
test/golden/importless/gitea.txtnew file+1
This diff is too big to show here.
test/golden/importless/gitit.nixnew file+724
This diff is too big to show here.
test/golden/importless/gitit.txtnew file+1
This diff is too big to show here.
test/golden/importless/gitlab-ci-pipelines-exporter.nixnew file+26
This diff is too big to show here.
test/golden/importless/gitlab-ci-pipelines-exporter.txtnew file
No changes to the content.
test/golden/importless/gitlab-ci-pipelines-exporter_deps.nixnew file+390
This diff is too big to show here.
test/golden/importless/gitlab-ci-pipelines-exporter_deps.txtnew file+1
This diff is too big to show here.
test/golden/importless/gitolite.nixnew file+232
This diff is too big to show here.
test/golden/importless/gitolite.txtnew file+1
This diff is too big to show here.
test/golden/importless/gitweb.nixnew file+94
This diff is too big to show here.
test/golden/importless/gitweb.txtnew file+1
This diff is too big to show here.
test/golden/importless/gjs.nixnew file+6
This diff is too big to show here.
test/golden/importless/gjs.txtnew file+1
This diff is too big to show here.
test/golden/importless/glfw.nixnew file+34
This diff is too big to show here.
test/golden/importless/glfw.txtnew file+1
This diff is too big to show here.
test/golden/importless/glib-networking.nixnew file+37
This diff is too big to show here.
test/golden/importless/glib-networking.txtnew file+1
This diff is too big to show here.
test/golden/importless/glib-testing.nixnew file+5
This diff is too big to show here.
test/golden/importless/glib-testing.txtnew file+1
This diff is too big to show here.
test/golden/importless/global-vars.nixnew file+25
This diff is too big to show here.
test/golden/importless/global-vars.txtnew file
No changes to the content.
test/golden/importless/glusterfs.nixnew file+211
This diff is too big to show here.
test/golden/importless/glusterfs.txtnew file+1
This diff is too big to show here.
test/golden/importless/gmusic.nixnew file+29
This diff is too big to show here.
test/golden/importless/gmusic.txtnew file
No changes to the content.
test/golden/importless/gnome-initial-setup.nixnew file+90
This diff is too big to show here.
test/golden/importless/gnome-initial-setup.txtnew file
No changes to the content.
test/golden/importless/gnome-keyring.nixnew file+53
This diff is too big to show here.
test/golden/importless/gnome-keyring.txtnew file+1
This diff is too big to show here.
test/golden/importless/gnome-online-accounts.nixnew file+43
This diff is too big to show here.
test/golden/importless/gnome-online-accounts.txtnew file+1
This diff is too big to show here.
test/golden/importless/gnome-online-miners.nixnew file+43
This diff is too big to show here.
test/golden/importless/gnome-online-miners.txtnew file+1
This diff is too big to show here.
test/golden/importless/gnome-photos.nixnew file+35
This diff is too big to show here.
test/golden/importless/gnome-photos.txtnew file+1
This diff is too big to show here.
test/golden/importless/gnome-remote-desktop.nixnew file+24
This diff is too big to show here.
test/golden/importless/gnome-remote-desktop.txtnew file+1
This diff is too big to show here.
test/golden/importless/gnome-user-share.nixnew file+40
This diff is too big to show here.
test/golden/importless/gnome-user-share.txtnew file+1
This diff is too big to show here.
test/golden/importless/gnome3.nixnew file+464
This diff is too big to show here.
test/golden/importless/gnome3.txtnew file+1
This diff is too big to show here.
test/golden/importless/gnu.nixnew file+46
This diff is too big to show here.
test/golden/importless/gnu.txtnew file+1
This diff is too big to show here.
test/golden/importless/gnunet.nixnew file+166
This diff is too big to show here.
test/golden/importless/gnunet.txtnew file+1
This diff is too big to show here.
test/golden/importless/gnupg.nixnew file+151
This diff is too big to show here.
test/golden/importless/gnupg.txtnew file+1
This diff is too big to show here.
test/golden/importless/go-ethereum.nixnew file+46
This diff is too big to show here.
test/golden/importless/go-ethereum.txtnew file
No changes to the content.
test/golden/importless/go-neb.nixnew file+53
This diff is too big to show here.
test/golden/importless/go-neb.txtnew file+1
This diff is too big to show here.
test/golden/importless/go-shadowsocks2.nixnew file+30
This diff is too big to show here.
test/golden/importless/go-shadowsocks2.txtnew file+1
This diff is too big to show here.
test/golden/importless/go.d.plugin.nixnew file+31
This diff is too big to show here.
test/golden/importless/go.d.plugin.txtnew file
No changes to the content.
test/golden/importless/goa-plugin.nixnew file+31
This diff is too big to show here.
test/golden/importless/goa-plugin.txtnew file
No changes to the content.
test/golden/importless/gogoclient.nixnew file+85
This diff is too big to show here.
test/golden/importless/gogoclient.txtnew file+1
This diff is too big to show here.
test/golden/importless/gogs.nixnew file+279
This diff is too big to show here.
test/golden/importless/gogs.txtnew file+1
This diff is too big to show here.
test/golden/importless/gollum.nixnew file+118
This diff is too big to show here.
test/golden/importless/gollum.txtnew file+1
This diff is too big to show here.
test/golden/importless/google_oslogin.nixnew file+68
This diff is too big to show here.
test/golden/importless/google_oslogin.txtnew file+1
This diff is too big to show here.
test/golden/importless/gotify-server.nixnew file+49
This diff is too big to show here.
test/golden/importless/gotify-server.txtnew file+1
This diff is too big to show here.
test/golden/importless/gp2c.nixnew file+27
This diff is too big to show here.
test/golden/importless/gp2c.txtnew file
No changes to the content.
test/golden/importless/gphoto2.nixnew file+30
This diff is too big to show here.
test/golden/importless/gphoto2.txtnew file+1
This diff is too big to show here.
test/golden/importless/gphotofs.nixnew file+23
This diff is too big to show here.
test/golden/importless/gphotofs.txtnew file
No changes to the content.
test/golden/importless/gpio-utils.nixnew file+25
This diff is too big to show here.
test/golden/importless/gpio-utils.txtnew file+1
This diff is too big to show here.
test/golden/importless/gpm.nixnew file+57
This diff is too big to show here.
test/golden/importless/gpm.txtnew file+1
This diff is too big to show here.
test/golden/importless/gppcscconnectionplugin.nixnew file+21
This diff is too big to show here.
test/golden/importless/gppcscconnectionplugin.txtnew file
No changes to the content.
test/golden/importless/gpsd.nixnew file+115
This diff is too big to show here.
test/golden/importless/gpsd.txtnew file+1
This diff is too big to show here.
test/golden/importless/grafana-reporter.nixnew file+66
This diff is too big to show here.
test/golden/importless/grafana-reporter.txtnew file+1
This diff is too big to show here.
test/golden/importless/grafana.nixnew file+559
This diff is too big to show here.
test/golden/importless/grafana.txtnew file+1
This diff is too big to show here.
test/golden/importless/granatier.nixnew file+23
This diff is too big to show here.
test/golden/importless/granatier.txtnew file+1
This diff is too big to show here.
test/golden/importless/graphene.nixnew file+5
This diff is too big to show here.
test/golden/importless/graphene.txtnew file+1
This diff is too big to show here.
test/golden/importless/graphical.nixnew file+20
This diff is too big to show here.
test/golden/importless/graphical.txtnew file+1
This diff is too big to show here.
test/golden/importless/graphite2.nixnew file+27
This diff is too big to show here.
test/golden/importless/graphite2.txtnew file
No changes to the content.
test/golden/importless/graphql.nixnew file+23
This diff is too big to show here.
test/golden/importless/graphql.txtnew file
No changes to the content.
test/golden/importless/graphviz-2.0.nixnew file+41
This diff is too big to show here.
test/golden/importless/graphviz-2.0.txtnew file
No changes to the content.
test/golden/importless/graphviz.nixnew file+29
This diff is too big to show here.
test/golden/importless/graphviz.txtnew file+1
This diff is too big to show here.
test/golden/importless/graylog.nixnew file+170
This diff is too big to show here.
test/golden/importless/graylog.txtnew file+1
This diff is too big to show here.
test/golden/importless/greenclip.nixnew file+31
This diff is too big to show here.
test/golden/importless/greenclip.txtnew file+1
This diff is too big to show here.
test/golden/importless/grocy.nixnew file+172
This diff is too big to show here.
test/golden/importless/grocy.txtnew file+1
This diff is too big to show here.
test/golden/importless/grow-partition.nixnew file+3
This diff is too big to show here.
test/golden/importless/grow-partition.txtnew file+1
This diff is too big to show here.
test/golden/importless/grub1.patches.nixnew file+34
This diff is too big to show here.
test/golden/importless/grub1.patches.txtnew file+1
This diff is too big to show here.
test/golden/importless/grub2-theme.nixnew file+5
This diff is too big to show here.
test/golden/importless/grub2-theme.txtnew file+1
This diff is too big to show here.
test/golden/importless/gshhg.nixnew file+31
This diff is too big to show here.
test/golden/importless/gshhg.txtnew file
No changes to the content.
test/golden/importless/gsignond.nixnew file+45
This diff is too big to show here.
test/golden/importless/gsignond.txtnew file+1
This diff is too big to show here.
test/golden/importless/gsl-1_16.nixnew file+43
This diff is too big to show here.
test/golden/importless/gsl-1_16.txtnew file
No changes to the content.
test/golden/importless/gsm.nixnew file+39
This diff is too big to show here.
test/golden/importless/gsm.txtnew file+1
This diff is too big to show here.
test/golden/importless/gsmakeDerivation.nixnew file+19
This diff is too big to show here.
test/golden/importless/gsmakeDerivation.txtnew file+1
This diff is too big to show here.
test/golden/importless/gstreamer.nixnew file+65
This diff is too big to show here.
test/golden/importless/gstreamer.txtnew file
No changes to the content.
test/golden/importless/gtk-greeter.nixnew file+72
This diff is too big to show here.
test/golden/importless/gtk-greeter.txtnew file
No changes to the content.
test/golden/importless/gtk-icon-cache.nixnew file+86
This diff is too big to show here.
test/golden/importless/gtk-icon-cache.txtnew file+1
This diff is too big to show here.
test/golden/importless/gtk.nixnew file+173
This diff is too big to show here.
test/golden/importless/gtk.txtnew file+1
This diff is too big to show here.
test/golden/importless/gtk2.nixnew file+55
This diff is too big to show here.
test/golden/importless/gtk2.txtnew file
No changes to the content.
test/golden/importless/gtk3.nixnew file+121
This diff is too big to show here.
test/golden/importless/gtk3.txtnew file
No changes to the content.
test/golden/importless/gtkspell3.nixnew file+8
This diff is too big to show here.
test/golden/importless/gtkspell3.txtnew file+1
This diff is too big to show here.
test/golden/importless/gui.nixnew file+49
This diff is too big to show here.
test/golden/importless/gui.txtnew file
No changes to the content.
test/golden/importless/guice.nixnew file+14
This diff is too big to show here.
test/golden/importless/guice.txtnew file+1
This diff is too big to show here.
test/golden/importless/gvpe.nixnew file+124
This diff is too big to show here.
test/golden/importless/gvpe.txtnew file+1
This diff is too big to show here.
test/golden/importless/gwenview.nixnew file+21
This diff is too big to show here.
test/golden/importless/gwenview.txtnew file+1
This diff is too big to show here.
test/golden/importless/hail.nixnew file+61
This diff is too big to show here.
test/golden/importless/hail.txtnew file+1
This diff is too big to show here.
test/golden/importless/haka.nixnew file+156
This diff is too big to show here.
test/golden/importless/haka.txtnew file+1
This diff is too big to show here.
test/golden/importless/hamster.nixnew file+15
This diff is too big to show here.
test/golden/importless/hamster.txtnew file+1
This diff is too big to show here.
test/golden/importless/hamt.nixnew file+26
This diff is too big to show here.
test/golden/importless/hamt.txtnew file+1
This diff is too big to show here.
test/golden/importless/hans.nixnew file+145
This diff is too big to show here.
test/golden/importless/hans.txtnew file+1
This diff is too big to show here.
test/golden/importless/haproxy-exporter.nixnew file+24
This diff is too big to show here.
test/golden/importless/haproxy-exporter.txtnew file
No changes to the content.
test/golden/importless/haproxy.nixnew file+112
This diff is too big to show here.
test/golden/importless/haproxy.txtnew file+1
This diff is too big to show here.
test/golden/importless/hardened.nixnew file+112
This diff is too big to show here.
test/golden/importless/hardened.txtnew file+1
This diff is too big to show here.
test/golden/importless/haveged.nixnew file+67
This diff is too big to show here.
test/golden/importless/haveged.txtnew file+1
This diff is too big to show here.
test/golden/importless/haxe-packages.nixnew file+119
This diff is too big to show here.
test/golden/importless/haxe-packages.txtnew file
No changes to the content.
test/golden/importless/hbase.nixnew file+127
This diff is too big to show here.
test/golden/importless/hbase.txtnew file+1
This diff is too big to show here.
test/golden/importless/hdaps.nixnew file+23
This diff is too big to show here.
test/golden/importless/hdaps.txtnew file+1
This diff is too big to show here.
test/golden/importless/headerbar-gtk3.nixnew file+30
This diff is too big to show here.
test/golden/importless/headerbar-gtk3.txtnew file
No changes to the content.
test/golden/importless/headers.nixnew file+11
This diff is too big to show here.
test/golden/importless/headers.txtnew file+1
This diff is too big to show here.
test/golden/importless/headless.nixnew file+25
This diff is too big to show here.
test/golden/importless/headless.txtnew file+1
This diff is too big to show here.
test/golden/importless/headphones.nixnew file+87
This diff is too big to show here.
test/golden/importless/headphones.txtnew file+1
This diff is too big to show here.
test/golden/importless/heapster.nixnew file+57
This diff is too big to show here.
test/golden/importless/heapster.txtnew file+1
This diff is too big to show here.
test/golden/importless/heartbeat.nixnew file+74
This diff is too big to show here.
test/golden/importless/heartbeat.txtnew file+1
This diff is too big to show here.
test/golden/importless/heimdal.nixnew file+68
This diff is too big to show here.
test/golden/importless/heimdal.txtnew file+1
This diff is too big to show here.
test/golden/importless/hello-world-container.nixnew file+19
This diff is too big to show here.
test/golden/importless/hello-world-container.txtnew file
No changes to the content.
test/golden/importless/helper.nixnew file+34
This diff is too big to show here.
test/golden/importless/helper.txtnew file+1
This diff is too big to show here.
test/golden/importless/helpers.nixnew file+11
This diff is too big to show here.
test/golden/importless/helpers.txtnew file+1
This diff is too big to show here.
test/golden/importless/herbstluftwm.nixnew file+38
This diff is too big to show here.
test/golden/importless/herbstluftwm.txtnew file+1
This diff is too big to show here.
test/golden/importless/heyefi.nixnew file+82
This diff is too big to show here.
test/golden/importless/heyefi.txtnew file+1
This diff is too big to show here.
test/golden/importless/hezarfen.nixnew file+22
This diff is too big to show here.
test/golden/importless/hezarfen.txtnew file+1
This diff is too big to show here.
test/golden/importless/hfaxd-default.nixnew file+10
This diff is too big to show here.
test/golden/importless/hfaxd-default.txtnew file+1
This diff is too big to show here.
test/golden/importless/hg.nixnew file+39
This diff is too big to show here.
test/golden/importless/hg.txtnew file
No changes to the content.
test/golden/importless/hidepid.nixnew file+27
This diff is too big to show here.
test/golden/importless/hidepid.txtnew file+1
This diff is too big to show here.
test/golden/importless/hidpi.nixnew file+16
This diff is too big to show here.
test/golden/importless/hidpi.txtnew file+1
This diff is too big to show here.
test/golden/importless/hls-ghcide.nixnew file+58
This diff is too big to show here.
test/golden/importless/hls-ghcide.txtnew file+1
This diff is too big to show here.
test/golden/importless/hologram-agent.nixnew file+58
This diff is too big to show here.
test/golden/importless/hologram-agent.txtnew file+1
This diff is too big to show here.
test/golden/importless/hologram-server.nixnew file+130
This diff is too big to show here.
test/golden/importless/hologram-server.txtnew file+1
This diff is too big to show here.
test/golden/importless/hoogle.nixnew file+76
This diff is too big to show here.
test/golden/importless/hoogle.txtnew file+1
This diff is too big to show here.
test/golden/importless/hostapd.nixnew file+218
This diff is too big to show here.
test/golden/importless/hostapd.txtnew file+1
This diff is too big to show here.
test/golden/importless/hound.nixnew file+125
This diff is too big to show here.
test/golden/importless/hound.txtnew file+1
This diff is too big to show here.
test/golden/importless/hpsa.nixnew file+61
This diff is too big to show here.
test/golden/importless/hpsa.txtnew file
No changes to the content.
test/golden/importless/hrtime.nixnew file+26
This diff is too big to show here.
test/golden/importless/hrtime.txtnew file+1
This diff is too big to show here.
test/golden/importless/html.nixnew file+31
This diff is too big to show here.
test/golden/importless/html.txtnew file+1
This diff is too big to show here.
test/golden/importless/htpdate.nixnew file+80
This diff is too big to show here.
test/golden/importless/htpdate.txtnew file+1
This diff is too big to show here.
test/golden/importless/http-body.nixnew file+49
This diff is too big to show here.
test/golden/importless/http-body.txtnew file
No changes to the content.
test/golden/importless/http-getter.nixnew file+23
This diff is too big to show here.
test/golden/importless/http-getter.txtnew file+1
This diff is too big to show here.
test/golden/importless/http.nixnew file+25
This diff is too big to show here.
test/golden/importless/http.txtnew file
No changes to the content.
test/golden/importless/http4idris.nixnew file+25
This diff is too big to show here.
test/golden/importless/http4idris.txtnew file+1
This diff is too big to show here.
test/golden/importless/hu_dot_dwim_dot_asdf.nixnew file+26
This diff is too big to show here.
test/golden/importless/hu_dot_dwim_dot_asdf.txtnew file
No changes to the content.
test/golden/importless/hu_dot_dwim_dot_stefil.nixnew file+32
This diff is too big to show here.
test/golden/importless/hu_dot_dwim_dot_stefil.txtnew file
No changes to the content.
test/golden/importless/hunchentoot.nixnew file+53
This diff is too big to show here.
test/golden/importless/hunchentoot.txtnew file
No changes to the content.
test/golden/importless/hyperkit.nixnew file+23
This diff is too big to show here.
test/golden/importless/hyperkit.txtnew file
No changes to the content.
test/golden/importless/hyperkitty.nixnew file+45
This diff is too big to show here.
test/golden/importless/hyperkitty.txtnew file
No changes to the content.
test/golden/importless/hyperv-guest.nixnew file+64
This diff is too big to show here.
test/golden/importless/hyperv-guest.txtnew file+1
This diff is too big to show here.
test/golden/importless/i18n.nixnew file+91
This diff is too big to show here.
test/golden/importless/i18n.txtnew file+1
This diff is too big to show here.
test/golden/importless/i2p.nixnew file+34
This diff is too big to show here.
test/golden/importless/i2p.txtnew file+1
This diff is too big to show here.
test/golden/importless/i3ipc-glib.nixnew file+34
This diff is too big to show here.
test/golden/importless/i3ipc-glib.txtnew file
No changes to the content.
test/golden/importless/iaia.nixnew file+25
This diff is too big to show here.
test/golden/importless/iaia.txtnew file+1
This diff is too big to show here.
test/golden/importless/ibus-qt.nixnew file+26
This diff is too big to show here.
test/golden/importless/ibus-qt.txtnew file
No changes to the content.
test/golden/importless/ibus.nixnew file+16
This diff is too big to show here.
test/golden/importless/ibus.txtnew file+1
This diff is too big to show here.
test/golden/importless/icecast.nixnew file+130
This diff is too big to show here.
test/golden/importless/icecast.txtnew file+1
This diff is too big to show here.
test/golden/importless/icewm.nixnew file+27
This diff is too big to show here.
test/golden/importless/icewm.txtnew file+1
This diff is too big to show here.
test/golden/importless/icingaweb2.nixnew file+244
This diff is too big to show here.
test/golden/importless/icingaweb2.txtnew file+1
This diff is too big to show here.
test/golden/importless/icons.nixnew file+42
This diff is too big to show here.
test/golden/importless/icons.txtnew file+1
This diff is too big to show here.
test/golden/importless/ide.nixnew file+43
This diff is too big to show here.
test/golden/importless/ide.txtnew file+1
This diff is too big to show here.
test/golden/importless/idle.nixnew file+38
This diff is too big to show here.
test/golden/importless/idle.txtnew file
No changes to the content.
test/golden/importless/idna.nixnew file+26
This diff is too big to show here.
test/golden/importless/idna.txtnew file
No changes to the content.
test/golden/importless/idris-wrapper.nixnew file+14
This diff is too big to show here.
test/golden/importless/idris-wrapper.txtnew file+1
This diff is too big to show here.
test/golden/importless/idrishighlighter.nixnew file+27
This diff is too big to show here.
test/golden/importless/idrishighlighter.txtnew file+1
This diff is too big to show here.
test/golden/importless/idrisscript.nixnew file+22
This diff is too big to show here.
test/golden/importless/idrisscript.txtnew file+1
This diff is too big to show here.
test/golden/importless/ieee-floats.nixnew file+28
This diff is too big to show here.
test/golden/importless/ieee-floats.txtnew file
No changes to the content.
test/golden/importless/iftop.nixnew file+18
This diff is too big to show here.
test/golden/importless/iftop.txtnew file+1
This diff is too big to show here.
test/golden/importless/ihaskell.nixnew file+63
This diff is too big to show here.
test/golden/importless/ihaskell.txtnew file+1
This diff is too big to show here.
test/golden/importless/iio.nixnew file+35
This diff is too big to show here.
test/golden/importless/iio.txtnew file+1
This diff is too big to show here.
test/golden/importless/illum.nixnew file+35
This diff is too big to show here.
test/golden/importless/illum.txtnew file+1
This diff is too big to show here.
test/golden/importless/imapfilter.nixnew file+27
This diff is too big to show here.
test/golden/importless/imapfilter.txtnew file
No changes to the content.
test/golden/importless/impl.nixnew file+14
This diff is too big to show here.
test/golden/importless/impl.txtnew file+1
This diff is too big to show here.
test/golden/importless/impure-deps.nixnew file+256
This diff is too big to show here.
test/golden/importless/impure-deps.txtnew file
No changes to the content.
test/golden/importless/imwheel.nixnew file+69
This diff is too big to show here.
test/golden/importless/imwheel.txtnew file+1
This diff is too big to show here.
test/golden/importless/incidenceeditor.nixnew file+20
This diff is too big to show here.
test/golden/importless/incidenceeditor.txtnew file+1
This diff is too big to show here.
test/golden/importless/incron.nixnew file+98
This diff is too big to show here.
test/golden/importless/incron.txtnew file+1
This diff is too big to show here.
test/golden/importless/indents.nixnew file+11
This diff is too big to show here.
test/golden/importless/indents.txtnew file+1
This diff is too big to show here.
test/golden/importless/infinoted.nixnew file+160
This diff is too big to show here.
test/golden/importless/infinoted.txtnew file+1
This diff is too big to show here.
test/golden/importless/infix.nixnew file+23
This diff is too big to show here.
test/golden/importless/infix.txtnew file
No changes to the content.
test/golden/importless/influxdb.nixnew file+197
This diff is too big to show here.
test/golden/importless/influxdb.txtnew file+1
This diff is too big to show here.
test/golden/importless/info.nixnew file+23
This diff is too big to show here.
test/golden/importless/info.txtnew file+1
This diff is too big to show here.
test/golden/importless/infobar.nixnew file+34
This diff is too big to show here.
test/golden/importless/infobar.txtnew file
No changes to the content.
test/golden/importless/init-script.nixnew file+51
This diff is too big to show here.
test/golden/importless/init-script.txtnew file+1
This diff is too big to show here.
test/golden/importless/initrd-network.nixnew file+148
This diff is too big to show here.
test/golden/importless/initrd-network.txtnew file+1
This diff is too big to show here.
test/golden/importless/initrd-openvpn.nixnew file+81
This diff is too big to show here.
test/golden/importless/initrd-openvpn.txtnew file+1
This diff is too big to show here.
test/golden/importless/inject-bean.nixnew file+14
This diff is too big to show here.
test/golden/importless/inject-bean.txtnew file+1
This diff is too big to show here.
test/golden/importless/inject-plexus.nixnew file+14
This diff is too big to show here.
test/golden/importless/inject-plexus.txtnew file+1
This diff is too big to show here.
test/golden/importless/install-crate.nixnew file+51
This diff is too big to show here.
test/golden/importless/install-crate.txtnew file+1
This diff is too big to show here.
test/golden/importless/integrations-core.nixnew file+91
This diff is too big to show here.
test/golden/importless/integrations-core.txtnew file+1
This diff is too big to show here.
test/golden/importless/intel-2200bg.nixnew file+30
This diff is too big to show here.
test/golden/importless/intel-2200bg.txtnew file+1
This diff is too big to show here.
test/golden/importless/intel-microcode.nixnew file+29
This diff is too big to show here.
test/golden/importless/intel-microcode.txtnew file+1
This diff is too big to show here.
test/golden/importless/intel.nixnew file+33
This diff is too big to show here.
test/golden/importless/intel.txtnew file
No changes to the content.
test/golden/importless/interactivity-api.nixnew file+14
This diff is too big to show here.
test/golden/importless/interactivity-api.txtnew file+1
This diff is too big to show here.
test/golden/importless/interception-tools.nixnew file+61
This diff is too big to show here.
test/golden/importless/interception-tools.txtnew file+1
This diff is too big to show here.
test/golden/importless/interpolation.nixnew file+47
This diff is too big to show here.
test/golden/importless/interpolation.txtnew file+1
This diff is too big to show here.
test/golden/importless/introspect-environment.nixnew file+26
This diff is too big to show here.
test/golden/importless/introspect-environment.txtnew file
No changes to the content.
test/golden/importless/io.nixnew file+14
This diff is too big to show here.
test/golden/importless/io.txtnew file+1
This diff is too big to show here.
test/golden/importless/iolib.nixnew file+46
This diff is too big to show here.
test/golden/importless/iolib.txtnew file
No changes to the content.
test/golden/importless/iolib_dot_asdf.nixnew file+28
This diff is too big to show here.
test/golden/importless/iolib_dot_asdf.txtnew file
No changes to the content.
test/golden/importless/iolib_dot_base.nixnew file+35
This diff is too big to show here.
test/golden/importless/iolib_dot_base.txtnew file
No changes to the content.
test/golden/importless/iolib_dot_common-lisp.nixnew file+32
This diff is too big to show here.
test/golden/importless/iolib_dot_common-lisp.txtnew file
No changes to the content.
test/golden/importless/iolib_dot_conf.nixnew file+30
This diff is too big to show here.
test/golden/importless/iolib_dot_conf.txtnew file
No changes to the content.
test/golden/importless/iolib_dot_grovel.nixnew file+39
This diff is too big to show here.
test/golden/importless/iolib_dot_grovel.txtnew file
No changes to the content.
test/golden/importless/iotop.nixnew file+17
This diff is too big to show here.
test/golden/importless/iotop.txtnew file+1
This diff is too big to show here.
test/golden/importless/ipadic.nixnew file+18
This diff is too big to show here.
test/golden/importless/ipadic.txtnew file+1
This diff is too big to show here.
test/golden/importless/iperf3.nixnew file+97
This diff is too big to show here.
test/golden/importless/iperf3.txtnew file+1
This diff is too big to show here.
test/golden/importless/ipfs.nixnew file+307
This diff is too big to show here.
test/golden/importless/ipfs.txtnew file+1
This diff is too big to show here.
test/golden/importless/ipkgparser.nixnew file+26
This diff is too big to show here.
test/golden/importless/ipkgparser.txtnew file+1
This diff is too big to show here.
test/golden/importless/iprange.nixnew file+18
This diff is too big to show here.
test/golden/importless/iprange.txtnew file
No changes to the content.
test/golden/importless/iproute2.nixnew file+32
This diff is too big to show here.
test/golden/importless/iproute2.txtnew file+1
This diff is too big to show here.
test/golden/importless/ipxe.nixnew file+64
This diff is too big to show here.
test/golden/importless/ipxe.txtnew file+1
This diff is too big to show here.
test/golden/importless/iris.nixnew file+29
This diff is too big to show here.
test/golden/importless/iris.txtnew file
No changes to the content.
test/golden/importless/irkerd.nixnew file+67
This diff is too big to show here.
test/golden/importless/irkerd.txtnew file+1
This diff is too big to show here.
test/golden/importless/ironclad.nixnew file+31
This diff is too big to show here.
test/golden/importless/ironclad.txtnew file
No changes to the content.
test/golden/importless/irqbalance.nixnew file+24
This diff is too big to show here.
test/golden/importless/irqbalance.txtnew file+1
This diff is too big to show here.
test/golden/importless/iso-image.nixnew file+716
This diff is too big to show here.
test/golden/importless/iso-image.txtnew file+1
This diff is too big to show here.
test/golden/importless/iterate.nixnew file+28
This diff is too big to show here.
test/golden/importless/iterate.txtnew file
No changes to the content.
test/golden/importless/iucode-tool.nixnew file+25
This diff is too big to show here.
test/golden/importless/iucode-tool.txtnew file
No changes to the content.
test/golden/importless/iwd.nixnew file+29
This diff is too big to show here.
test/golden/importless/iwd.txtnew file+1
This diff is too big to show here.
test/golden/importless/ixf.nixnew file+34
This diff is too big to show here.
test/golden/importless/ixf.txtnew file+1
This diff is too big to show here.
test/golden/importless/jack.nixnew file+291
This diff is too big to show here.
test/golden/importless/jack.txtnew file+1
This diff is too big to show here.
test/golden/importless/jack1.nixnew file+39
This diff is too big to show here.
test/golden/importless/jack1.txtnew file
No changes to the content.
test/golden/importless/jackett.nixnew file+82
This diff is too big to show here.
test/golden/importless/jackett.txtnew file+1
This diff is too big to show here.
test/golden/importless/janePackage.nixnew file+19
This diff is too big to show here.
test/golden/importless/janePackage.txtnew file+1
This diff is too big to show here.
test/golden/importless/janePackage_0_12.nixnew file+19
This diff is too big to show here.
test/golden/importless/janePackage_0_12.txtnew file+1
This diff is too big to show here.
test/golden/importless/janePackage_0_13.nixnew file+19
This diff is too big to show here.
test/golden/importless/janePackage_0_13.txtnew file+1
This diff is too big to show here.
test/golden/importless/java-boot-classpath-detector.nixnew file+14
This diff is too big to show here.
test/golden/importless/java-boot-classpath-detector.txtnew file+1
This diff is too big to show here.
test/golden/importless/java-packages.nixnew file+315
This diff is too big to show here.
test/golden/importless/java-packages.txtnew file+1
This diff is too big to show here.
test/golden/importless/java-test.nixnew file+58
This diff is too big to show here.
test/golden/importless/java-test.txtnew file+1
This diff is too big to show here.
test/golden/importless/java.nixnew file+58
This diff is too big to show here.
test/golden/importless/java.txtnew file+1
This diff is too big to show here.
test/golden/importless/jdk-darwin-base.nixnew file+53
This diff is too big to show here.
test/golden/importless/jdk-darwin-base.txtnew file+1
This diff is too big to show here.
test/golden/importless/jdk-linux-base.nixnew file+192
This diff is too big to show here.
test/golden/importless/jdk-linux-base.txtnew file
No changes to the content.
test/golden/importless/jdk11-linux.nixnew file+54
This diff is too big to show here.
test/golden/importless/jdk11-linux.txtnew file
No changes to the content.
test/golden/importless/jdk14-linux.nixnew file+54
This diff is too big to show here.
test/golden/importless/jdk14-linux.txtnew file
No changes to the content.
test/golden/importless/jellyfin.nixnew file+70
This diff is too big to show here.
test/golden/importless/jellyfin.txtnew file
No changes to the content.
test/golden/importless/jfs.nixnew file+19
This diff is too big to show here.
test/golden/importless/jfs.txtnew file+1
This diff is too big to show here.
test/golden/importless/jgrpp.nixnew file+13
This diff is too big to show here.
test/golden/importless/jgrpp.txtnew file
No changes to the content.
test/golden/importless/jheiling-extras.nixnew file+25
This diff is too big to show here.
test/golden/importless/jheiling-extras.txtnew file+1
This diff is too big to show here.
test/golden/importless/jheiling-js.nixnew file+27
This diff is too big to show here.
test/golden/importless/jheiling-js.txtnew file+1
This diff is too big to show here.
test/golden/importless/jicofo.nixnew file+152
This diff is too big to show here.
test/golden/importless/jicofo.txtnew file+1
This diff is too big to show here.
test/golden/importless/jira.nixnew file+204
This diff is too big to show here.
test/golden/importless/jira.txtnew file+1
This diff is too big to show here.
test/golden/importless/jitsi-meet.nixnew file+334
This diff is too big to show here.
test/golden/importless/jitsi-meet.txtnew file+1
This diff is too big to show here.
test/golden/importless/jitsi-videobridge.nixnew file+276
This diff is too big to show here.
test/golden/importless/jitsi-videobridge.txtnew file+1
This diff is too big to show here.
test/golden/importless/jmx-httpserver.nixnew file+35
This diff is too big to show here.
test/golden/importless/jmx-httpserver.txtnew file+1
This diff is too big to show here.
test/golden/importless/job-builder.nixnew file+205
This diff is too big to show here.
test/golden/importless/job-builder.txtnew file+1
This diff is too big to show here.
test/golden/importless/jonathan.nixnew file+42
This diff is too big to show here.
test/golden/importless/jonathan.txtnew file
No changes to the content.
test/golden/importless/journalbeat.nixnew file+107
This diff is too big to show here.
test/golden/importless/journalbeat.txtnew file+1
This diff is too big to show here.
test/golden/importless/journaldriver.nixnew file+112
This diff is too big to show here.
test/golden/importless/journaldriver.txtnew file+1
This diff is too big to show here.
test/golden/importless/journalwatch.nixnew file+264
This diff is too big to show here.
test/golden/importless/journalwatch.txtnew file+1
This diff is too big to show here.
test/golden/importless/js-build-tools.nixnew file+29
This diff is too big to show here.
test/golden/importless/js-build-tools.txtnew file
No changes to the content.
test/golden/importless/js.nixnew file+26
This diff is too big to show here.
test/golden/importless/js.txtnew file+1
This diff is too big to show here.
test/golden/importless/json-exporter.nixnew file+32
This diff is too big to show here.
test/golden/importless/json-exporter.txtnew file+1
This diff is too big to show here.
test/golden/importless/json-exporter_deps.nixnew file+111
This diff is too big to show here.
test/golden/importless/json-exporter_deps.txtnew file+1
This diff is too big to show here.
test/golden/importless/json.nixnew file+35
This diff is too big to show here.
test/golden/importless/json.txtnew file+1
This diff is too big to show here.
test/golden/importless/jsr305.nixnew file+15
This diff is too big to show here.
test/golden/importless/jsr305.txtnew file+1
This diff is too big to show here.
test/golden/importless/jwm-settings-manager.nixnew file+44
This diff is too big to show here.
test/golden/importless/jwm-settings-manager.txtnew file+1
This diff is too big to show here.
test/golden/importless/jwm.nixnew file+25
This diff is too big to show here.
test/golden/importless/jwm.txtnew file+1
This diff is too big to show here.
test/golden/importless/k3b.nixnew file+48
This diff is too big to show here.
test/golden/importless/k3b.txtnew file+1
This diff is too big to show here.
test/golden/importless/kactivities-stats.nixnew file+14
This diff is too big to show here.
test/golden/importless/kactivities-stats.txtnew file+1
This diff is too big to show here.
test/golden/importless/kactivities.nixnew file+15
This diff is too big to show here.
test/golden/importless/kactivities.txtnew file+1
This diff is too big to show here.
test/golden/importless/kactivitymanagerd.nixnew file+15
This diff is too big to show here.
test/golden/importless/kactivitymanagerd.txtnew file+1
This diff is too big to show here.
test/golden/importless/kaddressbook.nixnew file+22
This diff is too big to show here.
test/golden/importless/kaddressbook.txtnew file+1
This diff is too big to show here.
test/golden/importless/kak-ansi.nixnew file+32
This diff is too big to show here.
test/golden/importless/kak-ansi.txtnew file
No changes to the content.
test/golden/importless/kak-auto-pairs.nixnew file+24
This diff is too big to show here.
test/golden/importless/kak-auto-pairs.txtnew file+1
This diff is too big to show here.
test/golden/importless/kak-buffers.nixnew file+24
This diff is too big to show here.
test/golden/importless/kak-buffers.txtnew file+1
This diff is too big to show here.
test/golden/importless/kak-fzf.nixnew file+38
This diff is too big to show here.
test/golden/importless/kak-fzf.txtnew file+1
This diff is too big to show here.
test/golden/importless/kak-plumb.nixnew file+31
This diff is too big to show here.
test/golden/importless/kak-plumb.txtnew file
No changes to the content.
test/golden/importless/kak-powerline.nixnew file+29
This diff is too big to show here.
test/golden/importless/kak-powerline.txtnew file+1
This diff is too big to show here.
test/golden/importless/kak-prelude.nixnew file+25
This diff is too big to show here.
test/golden/importless/kak-prelude.txtnew file+1
This diff is too big to show here.
test/golden/importless/kak-vertical-selection.nixnew file+24
This diff is too big to show here.
test/golden/importless/kak-vertical-selection.txtnew file+1
This diff is too big to show here.
test/golden/importless/kalarm.nixnew file+37
This diff is too big to show here.
test/golden/importless/kalarm.txtnew file+1
This diff is too big to show here.
test/golden/importless/kalarmcal.nixnew file+19
This diff is too big to show here.
test/golden/importless/kalarmcal.txtnew file+1
This diff is too big to show here.
test/golden/importless/kalzium.nixnew file+26
This diff is too big to show here.
test/golden/importless/kalzium.txtnew file+1
This diff is too big to show here.
test/golden/importless/kapacitor.nixnew file+191
This diff is too big to show here.
test/golden/importless/kapacitor.txtnew file+1
This diff is too big to show here.
test/golden/importless/kapidox.nixnew file+10
This diff is too big to show here.
test/golden/importless/kapidox.txtnew file+1
This diff is too big to show here.
test/golden/importless/kapman.nixnew file+21
This diff is too big to show here.
test/golden/importless/kapman.txtnew file+1
This diff is too big to show here.
test/golden/importless/kapptemplate.nixnew file+24
This diff is too big to show here.
test/golden/importless/kapptemplate.txtnew file+1
This diff is too big to show here.
test/golden/importless/karchive.nixnew file+17
This diff is too big to show here.
test/golden/importless/karchive.txtnew file+1
This diff is too big to show here.
test/golden/importless/kate.nixnew file+36
This diff is too big to show here.
test/golden/importless/kate.txtnew file+1
This diff is too big to show here.
test/golden/importless/katomic.nixnew file+22
This diff is too big to show here.
test/golden/importless/katomic.txtnew file+1
This diff is too big to show here.
test/golden/importless/kbdlight.nixnew file+16
This diff is too big to show here.
test/golden/importless/kbdlight.txtnew file+1
This diff is too big to show here.
test/golden/importless/kbfs.nixnew file+118
This diff is too big to show here.
test/golden/importless/kbfs.txtnew file+1
This diff is too big to show here.
test/golden/importless/kblackbox.nixnew file+21
This diff is too big to show here.
test/golden/importless/kblackbox.txtnew file+1
This diff is too big to show here.
test/golden/importless/kblocks.nixnew file+21
This diff is too big to show here.
test/golden/importless/kblocks.txtnew file+1
This diff is too big to show here.
test/golden/importless/kbookmarks.nixnew file+17
This diff is too big to show here.
test/golden/importless/kbookmarks.txtnew file+1
This diff is too big to show here.
test/golden/importless/kbounce.nixnew file+22
This diff is too big to show here.
test/golden/importless/kbounce.txtnew file+1
This diff is too big to show here.
test/golden/importless/kbreakout.nixnew file+22
This diff is too big to show here.
test/golden/importless/kbreakout.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcachegrind.nixnew file+16
This diff is too big to show here.
test/golden/importless/kcachegrind.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcalc.nixnew file+19
This diff is too big to show here.
test/golden/importless/kcalc.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcalendarcore.nixnew file+16
This diff is too big to show here.
test/golden/importless/kcalendarcore.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcalutils.nixnew file+20
This diff is too big to show here.
test/golden/importless/kcalutils.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcharselect.nixnew file+19
This diff is too big to show here.
test/golden/importless/kcharselect.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcodecs.nixnew file+13
This diff is too big to show here.
test/golden/importless/kcodecs.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcolorchooser.nixnew file+15
This diff is too big to show here.
test/golden/importless/kcolorchooser.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcompletion.nixnew file+14
This diff is too big to show here.
test/golden/importless/kcompletion.txtnew file+1
This diff is too big to show here.
test/golden/importless/kconfig.nixnew file+12
This diff is too big to show here.
test/golden/importless/kconfig.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcontacts.nixnew file+15
This diff is too big to show here.
test/golden/importless/kcontacts.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcoreaddons.nixnew file+16
This diff is too big to show here.
test/golden/importless/kcoreaddons.txtnew file+1
This diff is too big to show here.
test/golden/importless/kcrash.nixnew file+14
This diff is too big to show here.
test/golden/importless/kcrash.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdav.nixnew file+15
This diff is too big to show here.
test/golden/importless/kdav.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdbusaddons.nixnew file+16
This diff is too big to show here.
test/golden/importless/kdbusaddons.txtnew file+1
This diff is too big to show here.
test/golden/importless/kde-cli-tools.nixnew file+28
This diff is too big to show here.
test/golden/importless/kde-cli-tools.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdebugsettings.nixnew file+20
This diff is too big to show here.
test/golden/importless/kdebugsettings.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdeclarative.nixnew file+16
This diff is too big to show here.
test/golden/importless/kdeclarative.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdeconnect-kde.nixnew file+72
This diff is too big to show here.
test/golden/importless/kdeconnect-kde.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdecoration.nixnew file+12
This diff is too big to show here.
test/golden/importless/kdecoration.txtnew file+1
This diff is too big to show here.
test/golden/importless/kded.nixnew file+16
This diff is too big to show here.
test/golden/importless/kded.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdegraphics-mobipocket.nixnew file+16
This diff is too big to show here.
test/golden/importless/kdegraphics-mobipocket.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdegraphics-thumbnailers.nixnew file+14
This diff is too big to show here.
test/golden/importless/kdegraphics-thumbnailers.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdenetwork-filesharing.nixnew file+15
This diff is too big to show here.
test/golden/importless/kdenetwork-filesharing.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdenlive.nixnew file+104
This diff is too big to show here.
test/golden/importless/kdenlive.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdeplasma-addons.nixnew file+18
This diff is too big to show here.
test/golden/importless/kdeplasma-addons.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdesignerplugin.nixnew file+17
This diff is too big to show here.
test/golden/importless/kdesignerplugin.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdev-php.nixnew file+22
This diff is too big to show here.
test/golden/importless/kdev-php.txtnew file
No changes to the content.
test/golden/importless/kdev-python.nixnew file+26
This diff is too big to show here.
test/golden/importless/kdev-python.txtnew file
No changes to the content.
test/golden/importless/kdevelop-pg-qt.nixnew file+31
This diff is too big to show here.
test/golden/importless/kdevelop-pg-qt.txtnew file
No changes to the content.
test/golden/importless/kdevelop.nixnew file+73
This diff is too big to show here.
test/golden/importless/kdevelop.txtnew file
No changes to the content.
test/golden/importless/kdewebkit.nixnew file+14
This diff is too big to show here.
test/golden/importless/kdewebkit.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdf.nixnew file+15
This diff is too big to show here.
test/golden/importless/kdf.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdialog.nixnew file+18
This diff is too big to show here.
test/golden/importless/kdialog.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdiamond.nixnew file+23
This diff is too big to show here.
test/golden/importless/kdiamond.txtnew file+1
This diff is too big to show here.
test/golden/importless/kdnssd.nixnew file+17
This diff is too big to show here.
test/golden/importless/kdnssd.txtnew file+1
This diff is too big to show here.
test/golden/importless/keditbookmarks.nixnew file+17
This diff is too big to show here.
test/golden/importless/keditbookmarks.txtnew file+1
This diff is too big to show here.
test/golden/importless/kemoticons.nixnew file+13
This diff is too big to show here.
test/golden/importless/kemoticons.txtnew file+1
This diff is too big to show here.
test/golden/importless/kernel-options.nixnew file+60
This diff is too big to show here.
test/golden/importless/kernel-options.txtnew file+1
This diff is too big to show here.
test/golden/importless/kernel.nixnew file+335
This diff is too big to show here.
test/golden/importless/kernel.txtnew file+1
This diff is too big to show here.
test/golden/importless/kernel_config.nixnew file+137
This diff is too big to show here.
test/golden/importless/kernel_config.txtnew file+1
This diff is too big to show here.
test/golden/importless/kexec.nixnew file+32
This diff is too big to show here.
test/golden/importless/kexec.txtnew file+1
This diff is too big to show here.
test/golden/importless/keybase.nixnew file+47
This diff is too big to show here.
test/golden/importless/keybase.txtnew file+1
This diff is too big to show here.
test/golden/importless/keylight-exporter.nixnew file+26
This diff is too big to show here.
test/golden/importless/keylight-exporter.txtnew file
No changes to the content.
test/golden/importless/keylight.nixnew file+19
This diff is too big to show here.
test/golden/importless/keylight.txtnew file+1
This diff is too big to show here.
test/golden/importless/keymaps.nixnew file+36
This diff is too big to show here.
test/golden/importless/keymaps.txtnew file
No changes to the content.
test/golden/importless/kfind.nixnew file+17
This diff is too big to show here.
test/golden/importless/kfind.txtnew file+1
This diff is too big to show here.
test/golden/importless/kfloppy.nixnew file+20
This diff is too big to show here.
test/golden/importless/kfloppy.txtnew file+1
This diff is too big to show here.
test/golden/importless/kgamma5.nixnew file+11
This diff is too big to show here.
test/golden/importless/kgamma5.txtnew file+1
This diff is too big to show here.
test/golden/importless/kgeography.nixnew file+15
This diff is too big to show here.
test/golden/importless/kgeography.txtnew file+1
This diff is too big to show here.
test/golden/importless/kget.nixnew file+22
This diff is too big to show here.
test/golden/importless/kget.txtnew file+1
This diff is too big to show here.
test/golden/importless/kglobalaccel.nixnew file+16
This diff is too big to show here.
test/golden/importless/kglobalaccel.txtnew file+1
This diff is too big to show here.
test/golden/importless/kgpg.nixnew file+24
This diff is too big to show here.
test/golden/importless/kgpg.txtnew file+1
This diff is too big to show here.
test/golden/importless/kguiaddons.nixnew file+17
This diff is too big to show here.
test/golden/importless/kguiaddons.txtnew file+1
This diff is too big to show here.
test/golden/importless/khelpcenter.nixnew file+15
This diff is too big to show here.
test/golden/importless/khelpcenter.txtnew file+1
This diff is too big to show here.
test/golden/importless/kholidays.nixnew file+16
This diff is too big to show here.
test/golden/importless/kholidays.txtnew file+1
This diff is too big to show here.
test/golden/importless/khotkeys.nixnew file+17
This diff is too big to show here.
test/golden/importless/khotkeys.txtnew file+1
This diff is too big to show here.
test/golden/importless/khtml.nixnew file+19
This diff is too big to show here.
test/golden/importless/khtml.txtnew file+1
This diff is too big to show here.
test/golden/importless/ki18n.nixnew file+16
This diff is too big to show here.
test/golden/importless/ki18n.txtnew file+1
This diff is too big to show here.
test/golden/importless/kibana.nixnew file+208
This diff is too big to show here.
test/golden/importless/kibana.txtnew file+1
This diff is too big to show here.
test/golden/importless/kidentitymanagement.nixnew file+20
This diff is too big to show here.
test/golden/importless/kidentitymanagement.txtnew file+1
This diff is too big to show here.
test/golden/importless/kidletime.nixnew file+16
This diff is too big to show here.
test/golden/importless/kidletime.txtnew file+1
This diff is too big to show here.
test/golden/importless/kig.nixnew file+19
This diff is too big to show here.
test/golden/importless/kig.txtnew file+1
This diff is too big to show here.
test/golden/importless/kigo.nixnew file+22
This diff is too big to show here.
test/golden/importless/kigo.txtnew file+1
This diff is too big to show here.
test/golden/importless/killbots.nixnew file+21
This diff is too big to show here.
test/golden/importless/killbots.txtnew file+1
This diff is too big to show here.
test/golden/importless/kimageformats.nixnew file+16
This diff is too big to show here.
test/golden/importless/kimageformats.txtnew file+1
This diff is too big to show here.
test/golden/importless/kimap.nixnew file+17
This diff is too big to show here.
test/golden/importless/kimap.txtnew file+1
This diff is too big to show here.
test/golden/importless/kinfocenter.nixnew file+18
This diff is too big to show here.
test/golden/importless/kinfocenter.txtnew file+1
This diff is too big to show here.
test/golden/importless/kio-extras.nixnew file+23
This diff is too big to show here.
test/golden/importless/kio-extras.txtnew file+1
This diff is too big to show here.
test/golden/importless/kipi-plugins.nixnew file+23
This diff is too big to show here.
test/golden/importless/kipi-plugins.txtnew file+1
This diff is too big to show here.
test/golden/importless/kippo.nixnew file+117
This diff is too big to show here.
test/golden/importless/kippo.txtnew file+1
This diff is too big to show here.
test/golden/importless/kirigami2.nixnew file+11
This diff is too big to show here.
test/golden/importless/kirigami2.txtnew file+1
This diff is too big to show here.
test/golden/importless/kitemmodels.nixnew file+16
This diff is too big to show here.
test/golden/importless/kitemmodels.txtnew file+1
This diff is too big to show here.
test/golden/importless/kitemviews.nixnew file+17
This diff is too big to show here.
test/golden/importless/kitemviews.txtnew file+1
This diff is too big to show here.
test/golden/importless/kitinerary.nixnew file+23
This diff is too big to show here.
test/golden/importless/kitinerary.txtnew file+1
This diff is too big to show here.
test/golden/importless/kjobwidgets.nixnew file+12
This diff is too big to show here.
test/golden/importless/kjobwidgets.txtnew file+1
This diff is too big to show here.
test/golden/importless/kjs.nixnew file+12
This diff is too big to show here.
test/golden/importless/kjs.txtnew file+1
This diff is too big to show here.
test/golden/importless/kjsembed.nixnew file+13
This diff is too big to show here.
test/golden/importless/kjsembed.txtnew file+1
This diff is too big to show here.
test/golden/importless/kldap.nixnew file+17
This diff is too big to show here.
test/golden/importless/kldap.txtnew file+1
This diff is too big to show here.
test/golden/importless/kleopatra.nixnew file+19
This diff is too big to show here.
test/golden/importless/kleopatra.txtnew file+1
This diff is too big to show here.
test/golden/importless/klettres.nixnew file+22
This diff is too big to show here.
test/golden/importless/klettres.txtnew file+1
This diff is too big to show here.
test/golden/importless/klines.nixnew file+21
This diff is too big to show here.
test/golden/importless/klines.txtnew file+1
This diff is too big to show here.
test/golden/importless/klogd.nixnew file+37
This diff is too big to show here.
test/golden/importless/klogd.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmag.nixnew file+20
This diff is too big to show here.
test/golden/importless/kmag.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmahjongg.nixnew file+19
This diff is too big to show here.
test/golden/importless/kmahjongg.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmail-account-wizard.nixnew file+21
This diff is too big to show here.
test/golden/importless/kmail-account-wizard.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmail.nixnew file+30
This diff is too big to show here.
test/golden/importless/kmail.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmailtransport.nixnew file+19
This diff is too big to show here.
test/golden/importless/kmailtransport.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmbox.nixnew file+16
This diff is too big to show here.
test/golden/importless/kmbox.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmediaplayer.nixnew file+12
This diff is too big to show here.
test/golden/importless/kmediaplayer.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmenuedit.nixnew file+14
This diff is too big to show here.
test/golden/importless/kmenuedit.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmime.nixnew file+17
This diff is too big to show here.
test/golden/importless/kmime.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmines.nixnew file+23
This diff is too big to show here.
test/golden/importless/kmines.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmix.nixnew file+20
This diff is too big to show here.
test/golden/importless/kmix.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmod.nixnew file+43
This diff is too big to show here.
test/golden/importless/kmod.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmplot.nixnew file+15
This diff is too big to show here.
test/golden/importless/kmplot.txtnew file+1
This diff is too big to show here.
test/golden/importless/kmrcl.nixnew file+24
This diff is too big to show here.
test/golden/importless/kmrcl.txtnew file
No changes to the content.
test/golden/importless/kmscon.nixnew file+100
This diff is too big to show here.
test/golden/importless/kmscon.txtnew file+1
This diff is too big to show here.
test/golden/importless/knavalbattle.nixnew file+22
This diff is too big to show here.
test/golden/importless/knavalbattle.txtnew file+1
This diff is too big to show here.
test/golden/importless/knetwalk.nixnew file+21
This diff is too big to show here.
test/golden/importless/knetwalk.txtnew file+1
This diff is too big to show here.
test/golden/importless/knewstuff.nixnew file+25
This diff is too big to show here.
test/golden/importless/knewstuff.txtnew file+1
This diff is too big to show here.
test/golden/importless/knights.nixnew file+23
This diff is too big to show here.
test/golden/importless/knights.txtnew file+1
This diff is too big to show here.
test/golden/importless/knot.nixnew file+117
This diff is too big to show here.
test/golden/importless/knot.txtnew file+1
This diff is too big to show here.
test/golden/importless/knotes.nixnew file+29
This diff is too big to show here.
test/golden/importless/knotes.txtnew file+1
This diff is too big to show here.
test/golden/importless/knotifications.nixnew file+16
This diff is too big to show here.
test/golden/importless/knotifications.txtnew file+1
This diff is too big to show here.
test/golden/importless/knotifyconfig.nixnew file+14
This diff is too big to show here.
test/golden/importless/knotifyconfig.txtnew file+1
This diff is too big to show here.
test/golden/importless/kodi-advanced-launchers.nixnew file+40
This diff is too big to show here.
test/golden/importless/kodi-advanced-launchers.txtnew file
No changes to the content.
test/golden/importless/kodi.nixnew file+31
This diff is too big to show here.
test/golden/importless/kodi.txtnew file+1
This diff is too big to show here.
test/golden/importless/kolf.nixnew file+16
This diff is too big to show here.
test/golden/importless/kolf.txtnew file+1
This diff is too big to show here.
test/golden/importless/kollision.nixnew file+21
This diff is too big to show here.
test/golden/importless/kollision.txtnew file+1
This diff is too big to show here.
test/golden/importless/kolourpaint.nixnew file+17
This diff is too big to show here.
test/golden/importless/kolourpaint.txtnew file+1
This diff is too big to show here.
test/golden/importless/kompare.nixnew file+15
This diff is too big to show here.
test/golden/importless/kompare.txtnew file+1
This diff is too big to show here.
test/golden/importless/konqueror.nixnew file+28
This diff is too big to show here.
test/golden/importless/konqueror.txtnew file+1
This diff is too big to show here.
test/golden/importless/konquest.nixnew file+18
This diff is too big to show here.
test/golden/importless/konquest.txtnew file+1
This diff is too big to show here.
test/golden/importless/konsole.nixnew file+24
This diff is too big to show here.
test/golden/importless/konsole.txtnew file+1
This diff is too big to show here.
test/golden/importless/kontact.nixnew file+23
This diff is too big to show here.
test/golden/importless/kontact.txtnew file+1
This diff is too big to show here.