···23 config = parse.tripleFromSystem final.parsed;
24 # Just a guess, based on `system`
25 platform = platforms.selectBySystem final.system;
026 libc =
27- /**/ if final.isDarwin then "libSystem"
28- else if final.isMinGW then "msvcrt"
29- else if final.isMusl then "musl"
30- else if final.isLinux /* default */ then "glibc"
031 # TODO(@Ericson2314) think more about other operating systems
32- else "native/impure";
33 extensions = {
34 sharedLibrary =
35 /**/ if final.isDarwin then ".dylib"
···39 /**/ if final.isWindows then ".exe"
40 else "";
41 };
0042 } // mapAttrs (n: v: v final.parsed) inspect.predicates
43 // args;
44- in final;
045}
···23 config = parse.tripleFromSystem final.parsed;
24 # Just a guess, based on `system`
25 platform = platforms.selectBySystem final.system;
26+ # Derived meta-data
27 libc =
28+ /**/ if final.isDarwin then "libSystem"
29+ else if final.isMinGW then "msvcrt"
30+ else if final.isMusl then "musl"
31+ else if final.isAndroid then "bionic"
32+ else if final.isLinux /* default */ then "glibc"
33 # TODO(@Ericson2314) think more about other operating systems
34+ else "native/impure";
35 extensions = {
36 sharedLibrary =
37 /**/ if final.isDarwin then ".dylib"
···41 /**/ if final.isWindows then ".exe"
42 else "";
43 };
44+ # Misc boolean options
45+ useAndroidPrebuilt = false;
46 } // mapAttrs (n: v: v final.parsed) inspect.predicates
47 // args;
48+ in assert final.useAndroidPrebuilt -> final.isAndroid;
49+ final;
50}
···1+<chapter xmlns="http://docbook.org/ns/docbook"
2+ xmlns:xlink="http://www.w3.org/1999/xlink"
3+ xmlns:xi="http://www.w3.org/2001/XInclude"
4+ version="5.0"
5+ xml:id="module-programs-digitalbitbox">
6+7+ <title>Digital Bitbox</title>
8+9+ <para>
10+ Digital Bitbox is a hardware wallet and second-factor authenticator.
11+ </para>
12+13+ <para>
14+ The <literal>digitalbitbox</literal> programs module may be
15+ installed by setting <literal>programs.digitalbitbox</literal>
16+ to <literal>true</literal> in a manner similar to
17+18+ <programlisting>
19+ programs.digitalbitbox.enable = true;
20+ </programlisting>
21+22+ and bundles the <literal>digitalbitbox</literal> package (see <xref
23+ linkend="sec-digitalbitbox-package" />), which contains the
24+ <literal>dbb-app</literal> and <literal>dbb-cli</literal> binaries,
25+ along with the hardware module (see <xref
26+ linkend="sec-digitalbitbox-hardware-module" />) which sets up the
27+ necessary udev rules to access the device.
28+ </para>
29+30+ <para>
31+ Enabling the digitalbitbox module is pretty much the easiest way to
32+ get a Digital Bitbox device working on your system.
33+ </para>
34+35+ <para>
36+ For more information, see
37+ <link xlink:href="https://digitalbitbox.com/start_linux" />.
38+ </para>
39+40+ <section xml:id="sec-digitalbitbox-package">
41+ <title>Package</title>
42+43+ <para>
44+ The binaries, <literal>dbb-app</literal> (a GUI tool) and
45+ <literal>dbb-cli</literal> (a CLI tool), are available through the
46+ <literal>digitalbitbox</literal> package which could be installed
47+ as follows:
48+49+ <programlisting>
50+ environment.systemPackages = [
51+ pkgs.digitalbitbox
52+ ];
53+ </programlisting>
54+ </para>
55+ </section>
56+57+58+ <section xml:id="sec-digitalbitbox-hardware-module">
59+ <title>Hardware</title>
60+61+ <para>
62+ The digitalbitbox hardware package enables the udev rules for
63+ Digital Bitbox devices and may be installed as follows:
64+65+ <programlisting>
66+ hardware.digitalbitbox.enable = true;
67+ </programlisting>
68+ </para>
69+70+ <para>
71+ In order to alter the udev rules, one may provide different values for
72+ the <literal>udevRule51</literal> and <literal>udevRule52</literal>
73+ attributes by means of overriding as follows:
74+75+ <programlisting>
76+ programs.digitalbitbox = {
77+ enable = true;
78+ package = pkgs.digitalbitbox.override {
79+ udevRule51 = "something else";
80+ };
81+ };
82+ </programlisting>
83+ </para>
84+ </section>
85+</chapter>
···1+{ stdenv
2+, autoreconfHook
3+, curl
4+, fetchFromGitHub
5+, git
6+, libevent
7+, libtool
8+, libqrencode
9+, libudev
10+, libusb
11+, makeWrapper
12+, pkgconfig
13+, qtbase
14+, qttools
15+, qtwebsockets
16+, qtmultimedia
17+, udevRule51 ? ''
18+, SUBSYSTEM=="usb", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbb%n", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402"
19+, ''
20+, udevRule52 ? ''
21+, KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbbf%n"
22+, ''
23+, writeText
24+}:
25+26+# Enabling the digitalbitbox program
27+#
28+# programs.digitalbitbox.enable = true;
29+#
30+# will install the digitalbitbox package and enable the corresponding hardware
31+# module and is by far the easiest way to get started with the Digital Bitbox on
32+# NixOS.
33+34+# In case you install the package only, please be aware that you may need to
35+# apply some udev rules to allow the application to identify and access your
36+# wallet. In a nixos-configuration, one may accomplish this by enabling the
37+# digitalbitbox hardware module
38+#
39+# hardware.digitalbitbox.enable = true;
40+#
41+# or by adding the digitalbitbox package to system.udev.packages
42+#
43+# system.udev.packages = [ pkgs.digitalbitbox ];
44+45+# See https://digitalbitbox.com/start_linux for more information.
46+let
47+ copyUdevRuleToOutput = name: rule:
48+ "cp ${writeText name rule} $out/etc/udev/rules.d/${name}";
49+in stdenv.mkDerivation rec {
50+ name = "digitalbitbox-${version}";
51+ version = "2.2.2";
52+53+ src = fetchFromGitHub {
54+ owner = "digitalbitbox";
55+ repo = "dbb-app";
56+ rev = "v${version}";
57+ sha256 = "1r77fvqrlaryzij5dfbnigzhvg1d12g96qb2gp8dy3xph1j0k3s1";
58+ };
59+60+ nativeBuildInputs = with stdenv.lib; [
61+ autoreconfHook
62+ curl
63+ git
64+ makeWrapper
65+ pkgconfig
66+ qttools
67+ ];
68+69+ buildInputs = with stdenv.lib; [
70+ libevent
71+ libtool
72+ libudev
73+ libusb
74+ libqrencode
75+76+ qtbase
77+ qtwebsockets
78+ qtmultimedia
79+ ];
80+81+ LUPDATE="${qttools.dev}/bin/lupdate";
82+ LRELEASE="${qttools.dev}/bin/lrelease";
83+ MOC="${qtbase.dev}/bin/moc";
84+ QTDIR="${qtbase.dev}";
85+ RCC="${qtbase.dev}/bin/rcc";
86+ UIC="${qtbase.dev}/bin/uic";
87+88+ configureFlags = [
89+ "--enable-libusb"
90+ ];
91+92+ hardeningDisable = [
93+ "format"
94+ ];
95+96+ postInstall = ''
97+ mkdir -p "$out/lib"
98+ cp src/libbtc/.libs/*.so* $out/lib
99+ cp src/libbtc/src/secp256k1/.libs/*.so* $out/lib
100+ cp src/hidapi/libusb/.libs/*.so* $out/lib
101+ cp src/univalue/.libs/*.so* $out/lib
102+103+ # [RPATH][patchelf] Avoid forbidden reference error
104+ rm -rf $PWD
105+106+ wrapProgram "$out/bin/dbb-cli" --prefix LD_LIBRARY_PATH : "$out/lib"
107+ wrapProgram "$out/bin/dbb-app" --prefix LD_LIBRARY_PATH : "$out/lib"
108+109+ # Provide udev rules as documented in https://digitalbitbox.com/start_linux
110+ mkdir -p "$out/etc/udev/rules.d"
111+ ${copyUdevRuleToOutput "51-hid-digitalbox.rules" udevRule51}
112+ ${copyUdevRuleToOutput "52-hid-digitalbox.rules" udevRule52}
113+ '';
114+115+ meta = with stdenv.lib; {
116+ description = "A QT based application for the Digital Bitbox hardware wallet";
117+ longDescription = ''
118+ Digital Bitbox provides dbb-app, a GUI tool, and dbb-cli, a CLI tool, to manage Digital Bitbox devices.
119+120+ This package will only install the dbb-app and dbb-cli, however; in order for these applications to identify and access Digital Bitbox devices, one may want to enable the digitalbitbox hardware module by adding
121+122+ hardware.digitalbitbox.enable = true;
123+124+ to the configuration which is equivalent to adding this package to the udev.packages list.
125+126+127+ The easiest way to use the digitalbitbox package in NixOS is by adding
128+129+ programs.digitalbitbox.enable = true;
130+131+ to the configuration which installs the package and enables the hardware module.
132+ '';
133+ homepage = "https://digitalbitbox.com/";
134+ license = licenses.mit;
135+ maintainers = with maintainers; [
136+ vidbina
137+ ];
138+ platforms = platforms.linux;
139+ };
140+}
···64 # but they are linked against GPL'd softwares
65 # - so the resulting program will be GPL
66 maintainers = [ maintainers.AndersonTorres ];
67- platforms = platforms.linux;
68 };
69}
···64 # but they are linked against GPL'd softwares
65 # - so the resulting program will be GPL
66 maintainers = [ maintainers.AndersonTorres ];
67+ platforms = [ "i686-linux" "x86_64-linux" ];
68 };
69}
···59 else if (with targetPlatform; isArm && isLinux) then "${libc_lib}/lib/ld-linux*.so.3"
60 else if targetPlatform.system == "aarch64-linux" then "${libc_lib}/lib/ld-linux-aarch64.so.1"
61 else if targetPlatform.system == "powerpc-linux" then "${libc_lib}/lib/ld.so.1"
62- else if targetPlatform.system == "mips64el-linux" then "${libc_lib}/lib/ld.so.1"
63 else if targetPlatform.isDarwin then "/usr/lib/dyld"
64 else if stdenv.lib.hasSuffix "pc-gnu" targetPlatform.config then "ld.so.1"
65 else null;
···172 else if targetPlatform.isWindows then "pe"
173 else "elf" + toString targetPlatform.parsed.cpu.bits;
174 endianPrefix = if targetPlatform.isBigEndian then "big" else "little";
0175 arch =
176 /**/ if targetPlatform.isAarch64 then endianPrefix + "aarch64"
177 else if targetPlatform.isArm then endianPrefix + "arm"
178 else if targetPlatform.isx86_64 then "x86-64"
179 else if targetPlatform.isi686 then "i386"
000000180 else throw "unknown emulation for platform: " + targetPlatform.config;
181- in targetPlatform.platform.bfdEmulation or (fmt + "-" + arch);
182183 depsTargetTargetPropagated = extraPackages;
184
···59 else if (with targetPlatform; isArm && isLinux) then "${libc_lib}/lib/ld-linux*.so.3"
60 else if targetPlatform.system == "aarch64-linux" then "${libc_lib}/lib/ld-linux-aarch64.so.1"
61 else if targetPlatform.system == "powerpc-linux" then "${libc_lib}/lib/ld.so.1"
62+ else if targetPlatform.isMips then "${libc_lib}/lib/ld.so.1"
63 else if targetPlatform.isDarwin then "/usr/lib/dyld"
64 else if stdenv.lib.hasSuffix "pc-gnu" targetPlatform.config then "ld.so.1"
65 else null;
···172 else if targetPlatform.isWindows then "pe"
173 else "elf" + toString targetPlatform.parsed.cpu.bits;
174 endianPrefix = if targetPlatform.isBigEndian then "big" else "little";
175+ sep = optionalString (!targetPlatform.isMips) "-";
176 arch =
177 /**/ if targetPlatform.isAarch64 then endianPrefix + "aarch64"
178 else if targetPlatform.isArm then endianPrefix + "arm"
179 else if targetPlatform.isx86_64 then "x86-64"
180 else if targetPlatform.isi686 then "i386"
181+ else if targetPlatform.isMips then {
182+ "mips" = "btsmipn32"; # n32 variant
183+ "mipsel" = "ltsmipn32"; # n32 variant
184+ "mips64" = "btsmip";
185+ "mips64el" = "ltsmip";
186+ }.${targetPlatform.parsed.cpu.name}
187 else throw "unknown emulation for platform: " + targetPlatform.config;
188+ in targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
189190 depsTargetTargetPropagated = extraPackages;
191
···45stdenv.mkDerivation rec {
6 name = "gambit-${version}";
7- version = "4.8.8-435-gd1991ba7";
8 bootstrap = import ./bootstrap.nix ( pkgs );
910 src = fetchgit {
11 url = "https://github.com/feeley/gambit.git";
12- rev = "d1991ba7e90ed0149964320f7cafa1a8289e61f0";
13- sha256 = "02harwcsqxxcxgn2yc1y9kyxdp32mampyvnbxrzg2jzfmnp5g6cm";
14 };
1516 # Use makeStaticLibraries to enable creation of statically linked binaries
···45stdenv.mkDerivation rec {
6 name = "gambit-${version}";
7+ version = "4.8.9";
8 bootstrap = import ./bootstrap.nix ( pkgs );
910 src = fetchgit {
11 url = "https://github.com/feeley/gambit.git";
12+ rev = "dd54a71dfc0bd09813592f1645d755867a02195d";
13+ sha256 = "120kg73k39gshrwas8a3xcrxgnq1c7ww92wgy4d3mmrwy3j9nzzc";
14 };
1516 # Use makeStaticLibraries to enable creation of statically linked binaries
+2-2
pkgs/development/compilers/gcc/4.5/default.nix
···317318 # Platform-specific flags
319 optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++
320- # Trick that should be taken out once we have a mips64el-linux not loongson2f
321- optional (targetPlatform == hostPlatform && stdenv.system == "mips64el-linux") "--with-arch=loongson2f"
322 ;
323324 targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
···317318 # Platform-specific flags
319 optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++
320+ # Trick that should be taken out once we have a mipsel-linux not loongson2f
321+ optional (targetPlatform == hostPlatform && stdenv.system == "mipsel-linux") "--with-arch=loongson2f"
322 ;
323324 targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
+3-3
pkgs/development/compilers/gerbil/default.nix
···8stdenv.mkDerivation rec {
9 name = "gerbil-${version}";
1011- version = "0.12-DEV-1404-g0a266db";
12 src = fetchgit {
13 url = "https://github.com/vyzo/gerbil.git";
14- rev = "0a266db5e2e241272711bc150cc2607204bf2b78";
15- sha256 = "1lvawqn8havfyxkkgfqffc213zq2pgm179l42yj49fy3fhpzia4m";
16 };
1718 # Use makeStaticLibraries to enable creation of statically linked binaries
···8stdenv.mkDerivation rec {
9 name = "gerbil-${version}";
1011+ version = "0.12-RELEASE";
12 src = fetchgit {
13 url = "https://github.com/vyzo/gerbil.git";
14+ rev = "5618892d7939e1cb4ef5247912e0bc1ec99f6b52";
15+ sha256 = "0b2valahf5k81r4sp6y12d44fb286p92s7k6dphij0kmvg0dp818";
16 };
1718 # Use makeStaticLibraries to enable creation of statically linked binaries
···42 unix = null;
43 xhtml = null;
44000000000045 ## Shadowed:
4647 ## Needs bump to a versioned attribute
···56 ## Setup: Encountered missing dependencies:
57 ## ghc >=7.0 && <8.4
58 ##
59+ ## uncaught exception: IOException of type NoSuchThing (cabal: rawSystem: runInteractiveProcess: exec: does not exist (No such file or directory))
60 doCheck = false;
61 });
62···67 free = super.free_5;
6869 ## Needs bump to a versioned attribute
70+ ## Setup: Encountered missing dependencies:
71+ ## base >=3 && <4.11
72 ## Needed for (<>) in prelude
73 funcmp = super.funcmp_1_9;
74···99 });
100101 ## Needs bump to a versioned attribute
0102 ## Setup: Encountered missing dependencies:
103+ ## hspec-discover ==2.4.8
104 hspec-discover = super.hspec-discover_2_4_8;
105106 ## Needs bump to a versioned attribute
107 ## Setup: Encountered missing dependencies:
108 ## free ==4.*, template-haskell >=2.4 && <2.13
109 lens = super.lens_4_16;
000110111 ## Needs bump to a versioned attribute
112 ## Setup: Encountered missing dependencies:
···563 jailbreak = true;
564 });
565566+ cabal2nix = super.cabal2nix.override {
567+ ## • No instance for (Semigroup (List a))
568+ ## arising from the 'deriving' clause of a data type declaration
569+ ## Possible fix:
570+ hpack = self.hpack;
571+ };
572+573 cabal-doctest = overrideCabal super.cabal-doctest (drv: {
574 ## Setup: Encountered missing dependencies:
575 ## Cabal >=1.10 && <2.1, base >=4.3 && <4.11
···583 });
584585 deepseq-generics = overrideCabal super.deepseq-generics (drv: {
586+ ## Setup: Encountered missing dependencies:
587+ ## base >=4.5 && <4.11
588 ## https://github.com/haskell-hvr/deepseq-generics/pull/4
589 jailbreak = true;
590 });
···632 jailbreak = true;
633 });
634635+ jailbreak-cabal = super.jailbreak-cabal.override {
636+ ## • No instance for (Semigroup CDialect)
637+ ## arising from the superclasses of an instance declaration
638+ ## • In the instance declaration for ‘Monoid CDialect’
639+ ## Undo the override in `configuration-common.nix`: GHC 8.4 bumps Cabal to 2.1:
640+ Cabal = self.Cabal;
641+ };
642+643 kan-extensions = overrideCabal super.kan-extensions (drv: {
644 ## Setup: Encountered missing dependencies:
645 ## free ==4.*
···674 ## Setup: Encountered missing dependencies:
675 ## base >=4.6 && <4.11
676 jailbreak = true;
0000000677 });
678679 quickcheck-instances = overrideCabal super.quickcheck-instances (drv: {
···702703 tasty-hedgehog = overrideCabal super.tasty-hedgehog (drv: {
704 ## Setup: Encountered missing dependencies:
705+ ## base >=4.8 && <4.11
706 jailbreak = true;
707 });
708···726 doCheck = false;
727 ## Setup: Encountered missing dependencies:
728 ## extra >=1.4.10 && <1.5, lens ==4.14.*
000000729 jailbreak = true;
730 });
731
+19-28
pkgs/development/interpreters/spidermonkey/52.nix
···1-{ stdenv, fetchurl, autoconf213, pkgconfig, perl, python2, zip, which, readline, icu, zlib, nspr }:
23-stdenv.mkDerivation rec {
4- version = "52.2.1gnome1";
05 name = "spidermonkey-${version}";
67- # the release notes point to some guys home directory, see
8- # https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/38
9- # probably it would be more ideal to pull a particular tag/revision
10- # from the mercurial repo
11 src = fetchurl {
12- url = "mirror://gnome/teams/releng/tarballs-needing-help/mozjs/mozjs-${version}.tar.gz";
13- sha256 = "1bxhz724s1ch1c0kdlzlg9ylhg1mk8kbhdgfkax53fyvn51pjs9i";
14 };
1516 buildInputs = [ readline icu zlib nspr ];
17 nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ];
1819- postUnpack = "sourceRoot=\${sourceRoot}/js/src";
00000002021 preConfigure = ''
22 export CXXFLAGS="-fpermissive"
23 export LIBXUL_DIST=$out
24 export PYTHON="${python2.interpreter}"
000025 '';
2627 configureFlags = [
28- "--enable-threadsafe"
29 "--with-system-nspr"
30 "--with-system-zlib"
31 "--with-system-icu"
32 "--with-intl-api"
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 ];
4041- # This addresses some build system bug. It's quite likely to be safe
42- # to re-enable parallel builds if the source revision changes.
43 enableParallelBuilding = true;
4445- postFixup = ''
46- # The headers are symlinks to a directory that doesn't get put
47- # into $out, so they end up broken. Fix that by just resolving the
48- # symlinks.
49- for i in $(find $out -type l); do
50- cp --remove-destination "$(readlink "$i")" "$i";
51- done
52- '';
53-54 meta = with stdenv.lib; {
55 description = "Mozilla's JavaScript engine written in C/C++";
56 homepage = https://developer.mozilla.org/en/SpiderMonkey;
57- # TODO: MPL/GPL/LGPL tri-license.
58-59 maintainers = [ maintainers.abbradar ];
60 platforms = platforms.linux;
61 };
···3, abiVersion
4, mouseSupport ? false
5, unicode ? true
0067, gpm
8···30 "--enable-pc-files"
31 "--enable-symlinks"
32 ] ++ lib.optional unicode "--enable-widec"
0033 ++ lib.optional (abiVersion == "5") "--with-abi-version=5";
3435 # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris:
···3, abiVersion
4, mouseSupport ? false
5, unicode ? true
6+, enableStatic ? stdenv.hostPlatform.useAndroidPrebuilt
7+, withCxx ? !stdenv.hostPlatform.useAndroidPrebuilt
89, gpm
10···32 "--enable-pc-files"
33 "--enable-symlinks"
34 ] ++ lib.optional unicode "--enable-widec"
35+ ++ lib.optional enableStatic "--enable-static"
36+ ++ lib.optional (!withCxx) "--without-cxx"
37 ++ lib.optional (abiVersion == "5") "--with-abi-version=5";
3839 # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris:
···242 inherit (pkgs) stdenv;
243 inherit androidsdk;
244 };
245+246+ androidndkPkgs = import ./androidndk-pkgs.nix {
247+ inherit (buildPackages)
248+ makeWrapper;
249+ inherit (pkgs)
250+ lib hostPlatform targetPlatform
251+ runCommand wrapBintoolsWith wrapCCWith;
252+ # buildPackages.foo rather than buildPackages.buildPackages.foo would work,
253+ # but for splicing messing up on infinite recursion for the variants we
254+ # *dont't* use. Using this workaround, but also making a test to ensure
255+ # these two really are the same.
256+ buildAndroidndk = buildPackages.buildPackages.androidenv.androidndk;
257+ inherit androidndk;
258+ targetAndroidndkPkgs = targetPackages.androidenv.androidndkPkgs;
259+ };
260}
+1-1
pkgs/development/node-packages/composition-v6.nix
···1-# This file has been generated by node2nix 1.5.1. Do not edit!
23{pkgs ? import <nixpkgs> {
4 inherit system;
···1+# This file has been generated by node2nix 1.5.2. Do not edit!
23{pkgs ? import <nixpkgs> {
4 inherit system;
+1-1
pkgs/development/node-packages/composition-v8.nix
···1-# This file has been generated by node2nix 1.5.1. Do not edit!
23{pkgs ? import <nixpkgs> {
4 inherit system;
···1+# This file has been generated by node2nix 1.5.2. Do not edit!
23{pkgs ? import <nixpkgs> {
4 inherit system;
···1+{ stdenv, fetchzip, ncurses, libX11, libXaw, libXt, libXext, libXmu, makeWrapper, writeScript, ... }:
2+let
3+ setup = writeScript "setup" ''
4+ mkdir -p "$ANGBAND_PATH"
5+ # Copy all the data files into place
6+ cp -ar $1/* "$ANGBAND_PATH"
7+ # The copied files are not writable, make them so
8+ chmod +w -R "$ANGBAND_PATH"
9+ '';
10+in
11+stdenv.mkDerivation rec {
12+ name = "Sil-${version}";
13+ version = "1.3.0";
14+15+ src = fetchzip {
16+ url = "http://www.amirrorclear.net/flowers/game/sil/Sil-130-src.zip";
17+ sha256 = "1amp2mr3fxascra0k76sdsvikjh8g76nqh46kka9379zd35lfq8w";
18+ stripRoot=false;
19+ };
20+21+ buildInputs = [ makeWrapper ncurses libX11 libXaw libXt libXext libXmu ];
22+23+ sourceRoot = "source/Sil/src";
24+25+ makefile = "Makefile.std";
26+27+ prePatch = ''
28+ # Allow usage of ANGBAND_PATH
29+ substituteInPlace config.h --replace "#define FIXED_PATHS" ""
30+ '';
31+32+ preConfigure = ''
33+ buildFlagsArray+=("LIBS=-lXaw -lXext -lSM -lICE -lXmu -lXt -lX11 -lncurses")
34+ '';
35+36+ installPhase = ''
37+ # the makefile doesn't have a sensible install target, so we hav to do it ourselves
38+ mkdir -p $out/bin
39+ cp sil $out/bin/sil
40+ # Wrap the program to set a user-local ANGBAND_PATH, and run the setup script to copy files into place
41+ # We could just use the options for a user-local save and scores dir, but it tried to write to the
42+ # lib directory anyway, so we might as well give everyone a copy
43+ wrapProgram $out/bin/sil \
44+ --run "set -u" \
45+ --run "export ANGBAND_PATH=\$HOME/.sil" \
46+ --run "${setup} ${src}/Sil/lib"
47+ '';
48+49+ meta = {
50+ description = "A rouge-like game set in the first age of Middle-earth";
51+ longDescription = ''
52+ A game of adventure set in the first age of Middle-earth, when the world still
53+ rang with elven song and gleamed with dwarven mail.
54+55+ Walk the dark halls of Angband. Slay creatures black and fell. Wrest a shining
56+ Silmaril from Morgoth’s iron crown.
57+ '';
58+ homepage = http://www.amirrorclear.net/flowers/game/sil/index.html;
59+ license = stdenv.lib.licenses.gpl2;
60+ maintainers = [ stdenv.lib.maintainers.michaelpj ];
61+ platforms = stdenv.lib.platforms.linux;
62+ };
63+}
···3233 # We get a warning in armv5tel-linux and the fuloong2f, so we
34 # disable -Werror in it.
35- ${stdenv.lib.optionalString (stdenv.isArm || stdenv.system == "mips64el-linux") ''
36 sed -i s/-Werror// src/Makefile.am
37 ''}
38 '';
···3233 # We get a warning in armv5tel-linux and the fuloong2f, so we
34 # disable -Werror in it.
35+ ${stdenv.lib.optionalString (stdenv.isArm || stdenv.hostPlatform.isMips) ''
36 sed -i s/-Werror// src/Makefile.am
37 ''}
38 '';
+1
pkgs/os-specific/linux/kernel/common-config.nix
···134 ''}
135 NETFILTER y
136 NETFILTER_ADVANCED y
0137 IP_ROUTE_VERBOSE y
138 IP_MROUTE_MULTIPLE_TABLES y
139 IP_VS_PROTO_TCP y
···134 ''}
135 NETFILTER y
136 NETFILTER_ADVANCED y
137+ CGROUP_BPF? y # Required by systemd per-cgroup firewalling
138 IP_ROUTE_VERBOSE y
139 IP_MROUTE_MULTIPLE_TABLES y
140 IP_VS_PROTO_TCP y
-17
pkgs/os-specific/linux/kernel/linux-4.13.nix
···1-{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
2-3-buildLinux (args // rec {
4- version = "4.13.16";
5- extraMeta.branch = "4.13";
6-7- # TODO: perhaps try being more concrete (ideally CVE numbers).
8- extraMeta.knownVulnerabilities = [
9- "ALSA: usb-audio: Fix potential out-of-bound access at parsing SU"
10- "eCryptfs: use after free in ecryptfs_release_messaging()"
11- ];
12-13- src = fetchurl {
14- url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
15- sha256 = "0cf7prqzl1ajbgl98w0symdyn0k5wl5xaf1l5ldgy6l083yg69dh";
16- };
17-} // (args.argsOverride or {}))
···23stdenv.mkDerivation rec {
4 name = "yaws-${version}";
5- version = "2.0";
67 src = fetchurl {
8 url = "http://yaws.hyber.org/download/${name}.tar.gz";
9- sha256 = "1gwk44a07n7yvg900yrlfc6qpvjl64k2h2hddd1jaaay8lgpcch6";
10 };
1112 # The tarball includes a symlink yaws -> yaws-1.95, which seems to be
···23stdenv.mkDerivation rec {
4 name = "yaws-${version}";
5+ version = "2.0.4";
67 src = fetchurl {
8 url = "http://yaws.hyber.org/download/${name}.tar.gz";
9+ sha256 = "1ig6q4waqlb6h1hhrly7hslfnqczlbm79vvhr5j7rp5a2p1pfrns";
10 };
1112 # The tarball includes a symlink yaws -> yaws-1.95, which seems to be
+2-2
pkgs/servers/mail/postgrey/default.nix
···8 policy-test-flags = mk-perl-flags (with perlPackages; [
9 ParseSyslog
10 ]);
11- version = "1.36";
12 name = "postgrey-${version}";
13in runCommand name {
14 src = fetchurl {
15 url = "http://postgrey.schweikert.ch/pub/${name}.tar.gz";
16- sha256 = "09jzb246ki988389r9gryigriv9sravk40q75fih5n0q4p2ghax2";
17 };
18 meta = with stdenv.lib; {
19 description = "A postfix policy server to provide greylisting";
···8 policy-test-flags = mk-perl-flags (with perlPackages; [
9 ParseSyslog
10 ]);
11+ version = "1.37";
12 name = "postgrey-${version}";
13in runCommand name {
14 src = fetchurl {
15 url = "http://postgrey.schweikert.ch/pub/${name}.tar.gz";
16+ sha256 = "1xx51xih4711vrvc6d57il9ccallbljj5zhgqdb07jzmz11rakgz";
17 };
18 meta = with stdenv.lib; {
19 description = "A postfix policy server to provide greylisting";
···23stdenv.mkDerivation rec {
4 name = "xidel-${version}";
5- version = "0.8.4";
67 ## Source archive lacks file (manageUtils.sh), using pre-built package for now.
8 #src = fetchurl {
···14 if stdenv.system == "x86_64-linux" then
15 fetchurl {
16 url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/xidel_${version}-1_amd64.deb";
17- sha256 = "0gq95ag2661hsw8b7ii6z07ian832cz8g21lvq2cvps4a80ql1gi";
18 }
19 else if stdenv.system == "i686-linux" then
20 fetchurl {
···23stdenv.mkDerivation rec {
4 name = "xidel-${version}";
5+ version = "0.9.6";
67 ## Source archive lacks file (manageUtils.sh), using pre-built package for now.
8 #src = fetchurl {
···14 if stdenv.system == "x86_64-linux" then
15 fetchurl {
16 url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/xidel_${version}-1_amd64.deb";
17+ sha256 = "0hskc74y7p4j1x33yx0w4fvr610p2yimas8pxhr6bs7mb9b300h7";
18 }
19 else if stdenv.system == "i686-linux" then
20 fetchurl {
+2
pkgs/tools/typesetting/tex/texlive/bin.nix
···176 # http://tex.stackexchange.com/questions/97999/when-to-use-luajittex-in-favour-of-luatex
177 ];
17800179 configureScript = ":";
180181 # we use static libtexlua, because it's only used by a single binary
···176 # http://tex.stackexchange.com/questions/97999/when-to-use-luajittex-in-favour-of-luatex
177 ];
178179+ patches = [ ./luatex-gcc7.patch ];
180+181 configureScript = ":";
182183 # we use static libtexlua, because it's only used by a single binary