lol
1{lib, stdenv, fetchFromGitHub, zip, unzip, firefox, bash}:
2let
3 s = # Generated upstream information
4 rec {
5 baseName="slimerjs";
6 version="1.0.0";
7 name="${baseName}-${version}";
8 owner = "laurentj";
9 repo = baseName;
10 sha256="1w4sfrv520isbs7r1rlzl5y3idrpad7znw9fc92yz40jlwz7sxs4";
11 rev = version;
12 };
13in
14stdenv.mkDerivation {
15 inherit (s) name version;
16 buildInputs = [ zip ];
17 nativeBuildInputs = [ unzip ];
18 #src = fetchurl {
19 # inherit (s) url sha256;
20 #};
21 #src = fetchgit {
22 # inherit (s) url sha256 rev;
23 #};
24 src = fetchFromGitHub {
25 inherit (s) owner repo rev sha256;
26 };
27 preConfigure = ''
28 test -d src && cd src
29 test -f omni.ja || zip omni.ja -r */
30 '';
31 installPhase = ''
32 mkdir -p "$out"/{bin,share/doc/slimerjs,lib/slimerjs}
33 cp LICENSE README* "$out/share/doc/slimerjs"
34 cp -r * "$out/lib/slimerjs"
35 echo '#!${bash}/bin/bash' >> "$out/bin/slimerjs"
36 echo 'export SLIMERJSLAUNCHER=${firefox}/bin/firefox' >> "$out/bin/slimerjs"
37 echo "'$out/lib/slimerjs/slimerjs' \"\$@\"" >> "$out/bin/slimerjs"
38 chmod a+x "$out/bin/slimerjs"
39 sed -e 's@MaxVersion=[3456][0-9][.]@MaxVersion=99.@' -i "$out/lib/slimerjs/application.ini"
40 '';
41 meta = {
42 inherit (s) version;
43 description = "Gecko-based programmatically-driven browser";
44 license = lib.licenses.mpl20 ;
45 maintainers = [lib.maintainers.raskin];
46 platforms = lib.platforms.linux;
47 };
48}