From 5990cce95f562ed185f55cb9bc3f230265d2ab9d Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 19 Mar 2015 15:48:54 +0000 Subject: [PATCH 01/79] lib: cleanup a little bit, add traceIf --- lib/customisation.nix | 17 +++++++++-------- lib/debug.nix | 10 ++++++---- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/lib/customisation.nix b/lib/customisation.nix index 960eebfc79b..91a25055df2 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -29,8 +29,8 @@ rec { For another application, see build-support/vm, where this function is used to build arbitrary derivations inside a QEMU - virtual machine. */ - + virtual machine. + */ overrideDerivation = drv: f: let newDrv = derivation (drv.drvAttrs // (f drv)); @@ -56,18 +56,17 @@ rec { makeOverridable = f: origArgs: let ff = f origArgs; + overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs); in if builtins.isAttrs ff then (ff // - { override = newArgs: - makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs)); + { override = newArgs: makeOverridable f (overrideWith newArgs); deepOverride = newArgs: makeOverridable f (lib.overrideExisting (lib.mapAttrs (deepOverrider newArgs) origArgs) newArgs); overrideDerivation = fdrv: makeOverridable (args: overrideDerivation (f args) fdrv) origArgs; }) else if builtins.isFunction ff then - { override = newArgs: - makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs)); + { override = newArgs: makeOverridable f (overrideWith newArgs); __functor = self: ff; deepOverride = throw "deepOverride not yet supported for functors"; overrideDerivation = throw "overrideDerivation not yet supported for functors"; @@ -102,8 +101,10 @@ rec { }; */ callPackageWith = autoArgs: fn: args: - let f = if builtins.isFunction fn then fn else import fn; in - makeOverridable f ((builtins.intersectAttrs (builtins.functionArgs f) autoArgs) // args); + let + f = if builtins.isFunction fn then fn else import fn; + auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs; + in makeOverridable f (auto // args); /* Add attributes to each output of a derivation without changing the derivation itself */ diff --git a/lib/debug.nix b/lib/debug.nix index 8852c22981c..2d10d981114 100644 --- a/lib/debug.nix +++ b/lib/debug.nix @@ -13,10 +13,11 @@ rec { addErrorContextToAttrs = lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v); + traceIf = p: msg: x: if p then trace msg x else x; - traceVal = x: builtins.trace x x; - traceXMLVal = x: builtins.trace (builtins.toXML x) x; - traceXMLValMarked = str: x: builtins.trace (str + builtins.toXML x) x; + traceVal = x: trace x x; + traceXMLVal = x: trace (builtins.toXML x) x; + traceXMLValMarked = str: x: trace (str + builtins.toXML x) x; # this can help debug your code as well - designed to not produce thousands of lines traceShowVal = x : trace (showVal x) x; @@ -42,6 +43,7 @@ rec { traceCall2 = n : f : a : b : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b)); traceCall3 = n : f : a : b : c : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c)); + # FIXME: rename this? traceValIfNot = c: x: if c x then true else trace (showVal x) false; @@ -106,6 +108,6 @@ rec { ) else let r = strict expr; - in builtins.trace "${str}\n result:\n${builtins.toXML r}" r + in trace "${str}\n result:\n${builtins.toXML r}" r ); } From 89bfacdf90fff0dde857c5b0e29b73042ec1d4c7 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Tue, 24 Mar 2015 21:34:54 +0000 Subject: [PATCH 02/79] kernel: add a warning/note at the top of common-config so that people would hopefully stop breaking the older kernels --- .../os-specific/linux/kernel/common-config.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index e6d45af7c59..002c2997cd6 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -1,3 +1,21 @@ +/* + + WARNING/NOTE: whenever you want to add an option here you need to + either + + * mark it as an optional one with `?` suffix, + * or make sure it works for all the versions in nixpkgs, + * or check for which kernel versions it will work (using kernel + changelog, google or whatever) and mark it with `versionOlder` or + `versionAtLeast`. + + Then do test your change by building all the kernels (or at least + their configs) in nixpkgs or else you will guarantee lots and lots + of pain to users trying to switch to an older kernel because of some + hardware problems with a new one. + +*/ + { stdenv, version, kernelPlatform, extraConfig, features }: with stdenv.lib; From dc4fa2da8acd6acc2b83fd4526711b8c35a79058 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 19 Mar 2015 10:51:49 +0000 Subject: [PATCH 03/79] nixos: udev: build rules locally --- nixos/modules/services/hardware/udev.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix index 39180f4d37e..a775aed0fda 100644 --- a/nixos/modules/services/hardware/udev.nix +++ b/nixos/modules/services/hardware/udev.nix @@ -28,6 +28,7 @@ let # Perform substitutions in all udev rules files. udevRules = stdenv.mkDerivation { name = "udev-rules"; + preferLocalBuild = true; buildCommand = '' mkdir -p $out shopt -s nullglob From 5c6d86540b748096b89051182840e6e3b83b47c8 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 19 Mar 2015 16:03:09 +0000 Subject: [PATCH 04/79] nixos: use types.enum instead of ad-hoc check in sshd service --- nixos/modules/services/networking/ssh/sshd.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index b11f996c63c..b2740bd33b7 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -9,12 +9,6 @@ let nssModulesPath = config.system.nssModules.path; - permitRootLoginCheck = v: - v == "yes" || - v == "without-password" || - v == "forced-commands-only" || - v == "no"; - knownHosts = map (h: getAttr h cfg.knownHosts) (attrNames cfg.knownHosts); knownHostsText = flip (concatMapStringsSep "\n") knownHosts @@ -116,12 +110,9 @@ in permitRootLogin = mkOption { default = "without-password"; - type = types.addCheck types.str permitRootLoginCheck; + type = types.enum ["yes" "without-password" "forced-commands-only" "no"]; description = '' - Whether the root user can login using ssh. Valid values are - yes, without-password, - forced-commands-only or - no. + Whether the root user can login using ssh. ''; }; From 18127cc1e23fd1414dead49764c99225f494aa23 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Sat, 21 Mar 2015 13:08:44 +0000 Subject: [PATCH 05/79] conky: cleanup --- pkgs/top-level/all-packages.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eb83bcc8996..e93d393249d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8675,16 +8675,7 @@ let cifs_utils = callPackage ../os-specific/linux/cifs-utils { }; - conky = callPackage ../os-specific/linux/conky { - mpdSupport = config.conky.mpdSupport or true; - x11Support = config.conky.x11Support or false; - xdamage = config.conky.xdamage or false; - wireless = config.conky.wireless or false; - luaSupport = config.conky.luaSupport or false; - rss = config.conky.rss or false; - weatherMetar = config.conky.weatherMetar or false; - weatherXoap = config.conky.weatherXoap or false; - }; + conky = callPackage ../os-specific/linux/conky (config.conky or {}); conntrack_tools = callPackage ../os-specific/linux/conntrack-tools { }; From de222a9cee95f65833bf338d0cad9781c1af9194 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 19 Mar 2015 16:13:16 +0000 Subject: [PATCH 06/79] fetchmail: use callPackage --- pkgs/top-level/all-packages.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e93d393249d..51c102e3088 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10386,9 +10386,7 @@ let fbreader = callPackage ../applications/misc/fbreader { }; - fetchmail = import ../applications/misc/fetchmail { - inherit stdenv fetchurl openssl; - }; + fetchmail = callPackage ../applications/misc/fetchmail { }; fldigi = callPackage ../applications/audio/fldigi { }; From 4cd43bd2aed32ec6127feb35b4d5c613ced24286 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Sat, 21 Mar 2015 12:24:19 +0000 Subject: [PATCH 07/79] ocamlnat: use newScope directly --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 51c102e3088..803b44e9274 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4253,7 +4253,7 @@ let }; opam = callPackage ../development/tools/ocaml/opam { }; - ocamlnat = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/ocaml-modules/ocamlnat { }; + ocamlnat = newScope pkgs.ocamlPackages_3_12_1 ../development/ocaml-modules/ocamlnat { }; qcmm = callPackage ../development/compilers/qcmm { lua = lua4; From 1148374cb5011892e78f2ca9bcbe3daf0c3fcbd3 Mon Sep 17 00:00:00 2001 From: Spencer Whitt Date: Fri, 27 Mar 2015 00:59:16 -0400 Subject: [PATCH 08/79] soxr: Fix Darwin build --- pkgs/applications/misc/audio/soxr/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/misc/audio/soxr/default.nix b/pkgs/applications/misc/audio/soxr/default.nix index 73cdbb37616..084a95b962a 100644 --- a/pkgs/applications/misc/audio/soxr/default.nix +++ b/pkgs/applications/misc/audio/soxr/default.nix @@ -8,7 +8,11 @@ stdenv.mkDerivation rec { sha256 = "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw"; }; - preConfigure = ''export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:"`pwd`/build/src''; + preConfigure = if stdenv.isDarwin then '' + export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:"`pwd`/build/src + '' else '' + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:"`pwd`/build/src + ''; buildInputs = [ cmake ]; From 3311513df60a421903c0dbabc27b5ce10b827268 Mon Sep 17 00:00:00 2001 From: "Alexander V. Nikolaev" Date: Fri, 27 Mar 2015 12:45:32 +0200 Subject: [PATCH 09/79] Rename ccgo back to gccgo I believe this is result of typo, introduced in 48f63c2f. --- pkgs/build-support/cc-wrapper/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index df43da58e3e..f6826c837ca 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -211,7 +211,7 @@ stdenv.mkDerivation { '' + optionalString cc.langGo or false '' - wrap ccgo ${./cc-wrapper.sh} $ccPath/gccgo + wrap gccgo ${./cc-wrapper.sh} $ccPath/gccgo '' + optionalString cc.langAda or false '' From 125885974d28fd2bdc9126e4be5643214fb50d22 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 27 Mar 2015 17:22:46 -0700 Subject: [PATCH 10/79] imagemagick: Add imagemagickBig for compat --- pkgs/top-level/all-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 41106d957c3..87fb79efa36 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10852,6 +10852,8 @@ let ghostscript = if stdenv.isDarwin then null else ghostscript; perl = null; # Currently Broken }; + + imagemagickBig = imagemagick; # Impressive, formerly known as "KeyJNote". impressive = callPackage ../applications/office/impressive { From 4ca6bdfa52bb2787d5df6d549ef96e37b442a190 Mon Sep 17 00:00:00 2001 From: Spencer Whitt Date: Fri, 27 Mar 2015 01:03:11 -0400 Subject: [PATCH 11/79] fftw: Fix Darwin build --- pkgs/development/libraries/fftw/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index 83735376b98..104b7229bb1 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -16,16 +16,20 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-shared" "--disable-static" - "--enable-threads" "--enable-openmp" # very small wrappers + "--enable-threads" ] ++ optional (precision != "double") "--enable-${precision}" # all x86_64 have sse2 - ++ optional stdenv.isx86_64 "--enable-sse2"; + ++ optional stdenv.isx86_64 "--enable-sse2" + ++ optional (stdenv.cc.cc.isGNU or false) "--enable-openmp"; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { description = "Fastest Fourier Transform in the West library"; homepage = http://www.fftw.org/; + license = licenses.gpl2Plus; + maintainers = [ maintainers.spwhitt ]; + platforms = platforms.unix; }; } From 75ab87edc8128e03143d12ee037e8a4a09fd0e39 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Fri, 27 Mar 2015 17:46:35 -0500 Subject: [PATCH 12/79] nixpkgs: z3 is now MIT licensed. It's also been moved to GitHub, meaning we can avoid some of the hackiness in the original expression. This updates the Git revision, but only so that it contains the proper license (it's otherwise equivalent to Z3 v4.3.2) Also, make sure the python API .py files exist besides the .pyc files. Signed-off-by: Austin Seipp --- .../applications/science/logic/z3/default.nix | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix index 1df4035c29c..2296a28444b 100644 --- a/pkgs/applications/science/logic/z3/default.nix +++ b/pkgs/applications/science/logic/z3/default.nix @@ -1,24 +1,20 @@ -{ stdenv, fetchurl, python, unzip }: +{ stdenv, fetchFromGitHub, python }: stdenv.mkDerivation rec { name = "z3-${version}"; version = "4.3.2"; - src = fetchurl { - url = "http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ashx\?ProjectName\=z3\&changeSetId\=cee7dd39444c9060186df79c2a2c7f8845de415b"; - name = "${name}.zip"; - sha256 = "0hagy7xm0m52jd6vlrbizkj24mn6c49hkb3r5p66wilvp15ivpbn"; + + src = fetchFromGitHub { + owner = "Z3Prover"; + repo = "z3"; + rev = "ac21ffebdf1512da2a77dc46c47bde87cc3850f3"; + sha256 = "1y86akhpy41wx3gx7r8gvf7xbax7dj36ikj6gqh5a7p6r6maz9ci"; }; - buildInputs = [ python unzip ]; + buildInputs = [ python ]; enableParallelBuilding = true; - # The zip file doesn't unpack a directory, just the code itself. - unpackPhase = "mkdir ${name} && cd ${name} && unzip $src"; - - configurePhase = '' - python scripts/mk_make.py --prefix=$out - cd build - ''; + configurePhase = "python scripts/mk_make.py --prefix=$out && cd build"; # z3's install phase is stupid because it tries to calculate the # python package store location itself, meaning it'll attempt to @@ -32,12 +28,13 @@ stdenv.mkDerivation rec { cp libz3${soext} $out/lib cp libz3${soext} $out/lib/${python.libPrefix}/site-packages cp z3*.pyc $out/lib/${python.libPrefix}/site-packages + cp ../src/api/python/*.py $out/lib/${python.libPrefix}/site-packages ''; meta = { description = "A high-performance theorem prover and SMT solver"; - homepage = "http://z3.codeplex.com"; - license = stdenv.lib.licenses.msrla; + homepage = "http://github.com/Z3Prover/z3"; + license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; From a6813ca62d240f25b5a28545ae5ea70f20b2a86d Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sat, 28 Mar 2015 01:28:40 -0500 Subject: [PATCH 13/79] nixpkgs: add lean-20150328, a theorem prover. Signed-off-by: Austin Seipp --- .../science/logic/lean/default.nix | 28 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/applications/science/logic/lean/default.nix diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix new file mode 100644 index 00000000000..4d391379e81 --- /dev/null +++ b/pkgs/applications/science/logic/lean/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, cmake, gmp, mpfr, luajit, boost, python +, gperftools, ninja }: + +stdenv.mkDerivation rec { + name = "lean-20150328"; + + src = fetchFromGitHub { + owner = "leanprover"; + repo = "lean"; + rev = "1b15036dba469020d37f7d6b77b88974d8a36cb1"; + sha256 = "0w38g83gp7d3ybfiz9jpl2jz3ljad70bxmar0dnnv45wx42clg96"; + }; + + buildInputs = [ gmp mpfr luajit boost cmake python gperftools ninja ]; + enableParallelBuilding = true; + + preConfigure = "cd src"; + + cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]; + + meta = { + description = "Automatic and interactive theorem prover"; + homepage = "http://leanprover.github.io"; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 87fb79efa36..3e7ef6a4798 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13370,6 +13370,8 @@ let iprover = callPackage ../applications/science/logic/iprover {}; + lean = callPackage ../applications/science/logic/lean {}; + leo2 = callPackage ../applications/science/logic/leo2 {}; logisim = callPackage ../applications/science/logic/logisim {}; From 5b0310ec59d3e8117d40fa108c9b2da22e3d9258 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sat, 28 Mar 2015 01:51:00 -0500 Subject: [PATCH 14/79] nixpkgs: afl 1.57b -> 1.58b Signed-off-by: Austin Seipp --- pkgs/tools/security/afl/default.nix | 4 +-- .../afl/qemu-patches/afl-qemu-cpu-inl.h | 5 +++- .../security/afl/qemu-patches/syscall.patch | 25 +++++++++++++++++++ pkgs/tools/security/afl/qemu.nix | 1 + 4 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 pkgs/tools/security/afl/qemu-patches/syscall.patch diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix index ed9b6d56edb..93c5988b55d 100644 --- a/pkgs/tools/security/afl/default.nix +++ b/pkgs/tools/security/afl/default.nix @@ -8,11 +8,11 @@ let in stdenv.mkDerivation rec { name = "afl-${version}"; - version = "1.57b"; + version = "1.58b"; src = fetchurl { url = "http://lcamtuf.coredump.cx/afl/releases/${name}.tgz"; - sha256 = "05dwh2kgz31702y339bvbs0b3ffadxgxk8cqqhs2i0ggx5bnl5p4"; + sha256 = "1szggm4x9i9bsrcb99s5vbgncagp7jvhz8cg9amkx7p6mp2x4pld"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h b/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h index 7d5a47669e4..c6ebc873ae0 100644 --- a/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h +++ b/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h @@ -69,9 +69,10 @@ abi_ulong afl_entry_point, /* ELF entry point (_start) */ afl_start_code, /* .text start pointer */ afl_end_code; /* .text end pointer */ -/* Set on the child in forkserver mode: */ +/* Set in the child process in forkserver mode: */ static unsigned char afl_fork_child; +unsigned int afl_forksrv_pid; /* Instrumentation ratio: */ @@ -158,6 +159,8 @@ static void afl_forkserver(CPUArchState *env) { if (write(FORKSRV_FD + 1, tmp, 4) != 4) return; + afl_forksrv_pid = getpid(); + /* All right, let's await orders... */ while (1) { diff --git a/pkgs/tools/security/afl/qemu-patches/syscall.patch b/pkgs/tools/security/afl/qemu-patches/syscall.patch new file mode 100644 index 00000000000..c8ffb61ba2c --- /dev/null +++ b/pkgs/tools/security/afl/qemu-patches/syscall.patch @@ -0,0 +1,25 @@ +--- qemu-2.2.0/linux-user/syscall.c.orig 2014-12-09 14:45:43.000000000 +0000 ++++ qemu-2.2.0/linux-user/syscall.c 2015-03-27 06:33:00.736000000 +0000 +@@ -227,7 +227,21 @@ + _syscall3(int,sys_rt_sigqueueinfo,int,pid,int,sig,siginfo_t *,uinfo) + _syscall3(int,sys_syslog,int,type,char*,bufp,int,len) + #if defined(TARGET_NR_tgkill) && defined(__NR_tgkill) +-_syscall3(int,sys_tgkill,int,tgid,int,pid,int,sig) ++ ++extern unsigned int afl_forksrv_pid; ++ ++static int sys_tgkill(int tgid, int pid, int sig) { ++ ++ /* Workaround for -lpthread to make abort() work properly, without ++ killing the forkserver due to a prematurely cached PID. */ ++ ++ if (afl_forksrv_pid && afl_forksrv_pid == pid && sig == SIGABRT) ++ pid = tgid = getpid(); ++ ++ return syscall(__NR_sys_tgkill, pid, tgid, sig); ++ ++} ++ + #endif + #if defined(TARGET_NR_tkill) && defined(__NR_tkill) + _syscall2(int,sys_tkill,int,tid,int,sig) diff --git a/pkgs/tools/security/afl/qemu.nix b/pkgs/tools/security/afl/qemu.nix index 929f9fba9a6..441d64415cb 100644 --- a/pkgs/tools/security/afl/qemu.nix +++ b/pkgs/tools/security/afl/qemu.nix @@ -42,6 +42,7 @@ stdenv.mkDerivation rec { ./qemu-patches/cpu-exec.patch ./qemu-patches/no-etc-install.patch ./qemu-patches/translate-all.patch + ./qemu-patches/syscall.patch ]; preConfigure = '' From 6dc86cea5d270b543c02e0366f232bcadef26dfb Mon Sep 17 00:00:00 2001 From: = Date: Thu, 26 Mar 2015 22:20:12 +0000 Subject: [PATCH 15/79] fatsort: add version number (close #7025) Website monitor.nixos.org reported it as out of date when in reality it just had no version number. @vcunat refactored meta a bit. --- pkgs/tools/filesystems/fatsort/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/filesystems/fatsort/default.nix b/pkgs/tools/filesystems/fatsort/default.nix index 3e483a29364..e5315f03d60 100644 --- a/pkgs/tools/filesystems/fatsort/default.nix +++ b/pkgs/tools/filesystems/fatsort/default.nix @@ -1,9 +1,11 @@ {stdenv, fetchurl, help2man}: -stdenv.mkDerivation { - name = "fatsort"; +stdenv.mkDerivation rec { + version = "1.3.365"; + name = "fatsort-${version}"; + src = fetchurl { - url = mirror://sourceforge/fatsort/fatsort-1.3.365.tar.gz; + url = "mirror://sourceforge/fatsort/${name}.tar.gz"; sha256 = "0g9zn2ns86g7zmy0y8hw1w1zhnd51hy8yl6kflyhxs49n5sc7b3p"; }; @@ -11,10 +13,11 @@ stdenv.mkDerivation { buildInputs = [ help2man ]; - meta = { + meta = with stdenv.lib; { homepage = http://fatsort.sourceforge.net/; description = "Sorts FAT partition table, for devices that don't do sorting of files."; - maintainers = [ stdenv.lib.maintainers.kovirobi ]; - license = stdenv.lib.licenses.gpl2; + maintainers = [ maintainers.kovirobi ]; + license = licenses.gpl2; + inherit version; }; } From b6fb62fd22a9b48034fdfaa2e8431df9c4fa9817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 28 Mar 2015 08:22:26 +0100 Subject: [PATCH 16/79] fatsort: meta nitpick --- pkgs/tools/filesystems/fatsort/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/filesystems/fatsort/default.nix b/pkgs/tools/filesystems/fatsort/default.nix index e5315f03d60..02087ff97b2 100644 --- a/pkgs/tools/filesystems/fatsort/default.nix +++ b/pkgs/tools/filesystems/fatsort/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = http://fatsort.sourceforge.net/; - description = "Sorts FAT partition table, for devices that don't do sorting of files."; + description = "Sorts FAT partition table, for devices that don't do sorting of files"; maintainers = [ maintainers.kovirobi ]; license = licenses.gpl2; inherit version; From 54b722c5e51a32251b926133a3684902b5e83474 Mon Sep 17 00:00:00 2001 From: Matthew Brown Date: Sat, 28 Mar 2015 08:55:52 +0000 Subject: [PATCH 17/79] Upgraded goaccess to version 0.9 --- pkgs/tools/misc/goaccess/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix index 7aea9870b84..e73bc487f21 100644 --- a/pkgs/tools/misc/goaccess/default.nix +++ b/pkgs/tools/misc/goaccess/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, pkgconfig, geoip, ncurses, glib }: let - version = "0.8.5"; + version = "0.9"; mainSrc = fetchurl { url = "http://tar.goaccess.io/goaccess-${version}.tar.gz"; - sha256 = "121s1hva33nq0g5n354ln68nalv2frg8slm7n84r81bmi2wvdim4"; + sha256 = "1yi7bxrmhvd11ha405bqpz7q442l9bnnx317iy22xzxjl96frn29"; }; in @@ -17,9 +17,9 @@ stdenv.mkDerivation rec { "--enable-utf8" ]; - buildInputs = [ + buildInputs = [ pkgconfig - geoip + geoip ncurses glib ]; From 42c5c4a9a657adc827b90690e54ef6e3c1ab7382 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 27 Mar 2015 22:37:08 -0700 Subject: [PATCH 18/79] libmsgpack: 1.0.0 -> 1.0.1 --- pkgs/development/libraries/libmsgpack/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libmsgpack/default.nix b/pkgs/development/libraries/libmsgpack/default.nix index 4bec67f8513..3e43842495a 100644 --- a/pkgs/development/libraries/libmsgpack/default.nix +++ b/pkgs/development/libraries/libmsgpack/default.nix @@ -1,12 +1,12 @@ { callPackage, fetchFromGitHub, ... } @ args: callPackage ./generic.nix (args // rec { - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "msgpack"; repo = "msgpack-c"; rev = "cpp-${version}"; - sha256 = "0vkhjil4rh5z9kvjfgzm79kfqwvlimvv49q74wlsjx7vgvv9019d"; + sha256 = "0qyjz2rm0gxbv81dlh28ynss66dsyhlqzs09rblbjsdf1vh6yzcq"; }; }) From ae42047bcd416e1a28eafe7d8f4864de117fbb73 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 27 Mar 2015 22:44:17 -0700 Subject: [PATCH 19/79] lightdm: 1.13.1 -> 1.14.0 --- pkgs/applications/display-managers/lightdm/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index b2a2d879979..ac4d4d83c7b 100644 --- a/pkgs/applications/display-managers/lightdm/default.nix +++ b/pkgs/applications/display-managers/lightdm/default.nix @@ -4,15 +4,15 @@ }: let - ver_branch = "1.13"; - version = "1.13.1"; + ver_branch = "1.14"; + version = "1.14.0"; in stdenv.mkDerivation rec { name = "lightdm-${version}"; src = fetchurl { url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz"; - sha256 = "0xa23maq6phkfil8xx26viig2m99sbzcf1w7s56hns2qw6pycn79"; + sha256 = "0fkbzqncx34dhylrg5328fih7xywmsqj2p40smnx33nyf047jdgc"; }; buildInputs = [ From 5929fe2748a4328bfb65648db4b82c61375c3225 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 27 Mar 2015 22:48:07 -0700 Subject: [PATCH 20/79] protobuf-c: 1.1.0 -> 1.1.1 --- pkgs/development/libraries/protobufc/1.1.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/protobufc/1.1.nix b/pkgs/development/libraries/protobufc/1.1.nix index 228225b721d..97fc8642778 100644 --- a/pkgs/development/libraries/protobufc/1.1.nix +++ b/pkgs/development/libraries/protobufc/1.1.nix @@ -1,11 +1,11 @@ { callPackage, fetchFromGitHub, ... } @ args: callPackage ./generic.nix (args // rec { - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "protobuf-c"; repo = "protobuf-c"; rev = "v${version}"; - sha256 = "11j9vg55a732v14cki4721ipr942c4krr562gliqmnlwvyz0hlyb"; + sha256 = "0mdl2i87394l4zdvq2npsxq4zs8p7sqhqmbm2r380ngjs6zic6gw"; }; }) From 80f331fc6c5a207413c43cb56f078c4294b9a6f0 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 27 Mar 2015 22:49:50 -0700 Subject: [PATCH 21/79] rdkafka: 0.8.5 -> 0.8.6 --- pkgs/development/libraries/rdkafka/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix index 8ba2d52741f..0ab4f21f2d8 100644 --- a/pkgs/development/libraries/rdkafka/default.nix +++ b/pkgs/development/libraries/rdkafka/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "rdkafka-${version}"; - version = "0.8.5"; + version = "0.8.6"; src = fetchFromGitHub { owner = "edenhill"; repo = "librdkafka"; rev = version; - sha256 = "0qx5dnq9halqaznmbwg44p1wl64pzl485r4054569rbx9y9ak1zy"; + sha256 = "0iklvslz35dd0lz26ffrbfb20qirl9v5kcdmlcnnzc034hr2zmnv"; }; buildInputs = [ zlib perl ]; From 5281377fb5132489f481244219cf741926def1cd Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 27 Mar 2015 23:46:47 -0700 Subject: [PATCH 22/79] bareos: 14.2.3 -> 14.2.4 --- pkgs/tools/backup/bareos/default.nix | 63 ++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/pkgs/tools/backup/bareos/default.nix b/pkgs/tools/backup/bareos/default.nix index fa492835e05..5342b4f489d 100644 --- a/pkgs/tools/backup/bareos/default.nix +++ b/pkgs/tools/backup/bareos/default.nix @@ -1,39 +1,78 @@ -{ stdenv, fetchFromGitHub, pkgconfig, nettools, gettext, readline, openssl, python -, ncurses ? null -, sqlite ? null, postgresql ? null, mysql ? null, libcap ? null -, zlib ? null, lzo ? null, acl ? null, ceph ? null +{ stdenv, fetchFromGitHub, pkgconfig, nettools, gettext, libtool +, readline ? null, openssl ? null, python ? null, ncurses ? null +, sqlite ? null, postgresql ? null, mysql ? null, zlib ? null, lzo ? null +, acl ? null, glusterfs ? null, ceph ? null, libcap ? null }: assert sqlite != null || postgresql != null || mysql != null; with stdenv.lib; +let + withGlusterfs = "\${with_glusterfs_directory}"; +in stdenv.mkDerivation rec { name = "bareos-${version}"; - version = "14.2.3"; + version = "14.2.4"; src = fetchFromGitHub { owner = "bareos"; repo = "bareos"; rev = "Release/${version}"; name = "${name}-src"; - sha256 = "04z6nwlnk6kk5ghbdw5g34mkypmpk4qpkd08cjxwblg8sdj4j8fl"; + sha256 = "0shb91pawdgrn6rb4np3zyyxv36899nvwf8jaihkg0wvb01viqzr"; }; buildInputs = [ pkgconfig nettools gettext readline openssl python - ncurses sqlite postgresql mysql libcap zlib lzo acl ceph + ncurses sqlite postgresql mysql zlib lzo acl glusterfs ceph libcap ]; + postPatch = '' + sed -i 's,\(-I${withGlusterfs}/include\),\1/glusterfs,' configure + ''; + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" "--exec-prefix=\${out}" - "--with-openssl=${openssl}" - "--with-python=${python}" - "--with-readline=${readline}" + "--enable-lockmgr" + "--enable-dynamic-storage-backends" + "--with-basename=nixos" # For reproducible builds since it uses the hostname otherwise + "--with-hostname=nixos" # For reproducible builds since it uses the hostname otherwise + "--with-working-dir=/var/lib/bareos" + "--with-bsrdir=/var/lib/bareos" + "--with-logdir=/var/log/bareos" + "--with-pid-dir=/var/run/bareos" + "--with-subsys-dir=/var/run/bareos" "--enable-ndmp" "--enable-lmdb" - ] ++ optional (sqlite != null) "--with-sqlite3=${sqlite}" + "--enable-batch-insert" + "--enable-dynamic-cats-backends" + "--enable-sql-pooling" + "--enable-scsi-crypto" + ] ++ optionals (readline != null) [ "--disable-conio" "--enable-readline" "--with-readline=${readline}" ] + ++ optional (python != null) "--with-python=${python}" + ++ optional (openssl != null) "--with-openssl=${openssl}" + ++ optional (sqlite != null) "--with-sqlite3=${sqlite}" ++ optional (postgresql != null) "--with-postgresql=${postgresql}" - ++ optional (mysql != null) "--with-mysql=${mysql}"; + ++ optional (mysql != null) "--with-mysql=${mysql}" + ++ optional (zlib != null) "--with-zlib=${zlib}" + ++ optional (lzo != null) "--with-lzo=${lzo}" + ++ optional (acl != null) "--enable-acl" + ++ optional (glusterfs != null) "--with-glusterfs=${glusterfs}" + ++ optional (ceph != null) "--with-cephfs=${ceph}"; + + installFlags = [ "DESTDIR=\${out}" ]; + + postInstall = '' + mv $out/$out/* $out + DIR=$out/$out + while rmdir $DIR 2>/dev/null; do + DIR="$(dirname "$DIR")" + done + + rm -rf /tmp /var + ''; meta = with stdenv.lib; { homepage = http://www.bareos.org/; From a31471876d9e80709759d01d929f0d2f105b7b7c Mon Sep 17 00:00:00 2001 From: Tomas Hlavaty Date: Sat, 28 Mar 2015 01:57:00 +0100 Subject: [PATCH 23/79] ensure that gmp and libffi are found when compiling with gcc dynamically --- pkgs/development/compilers/ecl/default.nix | 15 ++++++- .../compilers/ecl/libffi-prefix.patch | 39 +++++++++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/compilers/ecl/libffi-prefix.patch diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix index be65061c544..bb57ebbfa87 100644 --- a/pkgs/development/compilers/ecl/default.nix +++ b/pkgs/development/compilers/ecl/default.nix @@ -1,4 +1,5 @@ {stdenv, fetchurl +, libtool, autoconf, automake , gmp, mpfr, libffi , noUnicode ? false, }: @@ -13,10 +14,10 @@ let sha256="13wlxkd5prm93gcm2dhm7v52fl803yx93aa97lrb39z0y6xzziid"; }; buildInputs = [ - libffi + libtool autoconf automake ]; propagatedBuildInputs = [ - gmp mpfr + libffi gmp mpfr ]; in stdenv.mkDerivation { @@ -25,8 +26,18 @@ stdenv.mkDerivation { src = fetchurl { inherit (s) url sha256; }; + patches = [ ./libffi-prefix.patch ]; + preConfigure = '' + (cd src ; libtoolize -f) + (cd src ; autoheader -f) + (cd src ; aclocal) + (cd src ; automake --add-missing -c) + (cd src ; autoconf -f) + ''; configureFlags = [ "--enable-threads" + "--with-gmp-prefix=${gmp}" + "--with-libffi-prefix=${libffi}" ] ++ (stdenv.lib.optional (! noUnicode) diff --git a/pkgs/development/compilers/ecl/libffi-prefix.patch b/pkgs/development/compilers/ecl/libffi-prefix.patch new file mode 100644 index 00000000000..d02cc214f31 --- /dev/null +++ b/pkgs/development/compilers/ecl/libffi-prefix.patch @@ -0,0 +1,39 @@ +diff --git a/src/configure.in b/src/configure.in +index 434da49..642c66c 100644 +--- ecl-15.3.7.orig/src/configure.ac ++++ ecl-15.3.7/src/configure.ac +@@ -191,6 +191,11 @@ AC_ARG_WITH(dffi, + [(system|included|auto|no, default=AUTO if libffi available)]), + [enable_libffi=${withval}], [enable_libffi=auto]) + ++AC_ARG_WITH(libffi-prefix, ++ AS_HELP_STRING( [--with-libffi-prefix=path], ++ [prefix for system LIBFFI includes and libraries] ), ++ [LIBFFI_INCDIR="$withval/include"; LIBFFI_LIBDIR="$withval/lib"], []) ++ + AC_ARG_WITH(fpe, + AS_HELP_STRING( [--with-fpe], + [detect floating point exceptions] +@@ -368,6 +373,22 @@ else + INFOEXT=info + fi + ++dnl libffi ++ ++if test "x$LIBFFI_INCDIR" != "x"; then ++ LIBFFI_CPPFLAGS="-I$LIBFFI_INCDIR" ++fi ++if test "x$LIBFFI_LIBDIR" != "x"; then ++ LIBFFI_LDFLAGS="-L$LIBFFI_LIBDIR" ++ if test "$enable_rpath" = "yes"; then ++ if (echo "$ECL_LDRPATH" | grep '~A') > /dev/null; then ++ LIBFFI_LDFLAGS=`echo $ECL_LDRPATH | sed "s,~A,$LIBFFI_LIBDIR,"`" $LIBFFI_LDFLAGS" ++ fi ++ fi ++fi ++CPPFLAGS="$CPPFLAGS $LIBFFI_CPPFLAGS" ++LDFLAGS="$LDFLAGS $LIBFFI_LDFLAGS" ++ + dnl ====================================================================== + dnl GNU multiprecision library + dnl From f6886c62dc2abaf057d33bc74fb0601d37993ebe Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 25 Mar 2015 16:06:40 +0100 Subject: [PATCH 24/79] r-modules: disable broken builds on Hydra --- pkgs/development/r-modules/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index 5769181fa00..abaf586974f 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -729,6 +729,7 @@ let "GeneticTools" # requires snpStats "GExMap" # requires Biobase and multtest "gitter" # requires EBImage + "glmgraph" # test suite says: "undefined symbol: dgemv_" "gmatrix" # depends on proprietary cudatoolkit "GOGANPA" # requires WGCNA "gputools" # depends on proprietary cudatoolkit @@ -796,6 +797,7 @@ let "NCmisc" # requires BiocInstaller "netClass" # requires samr "nettools" # requires WGCNA + "NORRRM" # can't load SDMTools properly "netweavers" # requires BiocGenerics, Biobase, and limma "NLPutils" # requires qdap "NSA" # requires aroma_core @@ -803,6 +805,7 @@ let "optBiomarker" # requires rpanel "ora" # requires ROracle "orQA" # requires genefilter + "PBSmapping" # fails its test suite for unclear reasons "PairViz" # requires graph "PANDA" # requires GO.db "ParDNAcopy" # requires DNAcopy @@ -843,6 +846,7 @@ let "rainfreq" # SDMTools.so: undefined symbol: X "RAM" # requires Heatplus "RAPIDR" # requires Biostrings, Rsamtools, and GenomicRanges + "RapidPolygonLookup" # depends on broken PBSmapping "RbioRXN" # requires fmcsR, and KEGGREST "RcppAPT" # configure script depends on /bin/sh "RcmdrPlugin_seeg" # requires seeg @@ -920,6 +924,7 @@ let "ttScreening" # requires sva, and limma "V8" # compilation error "vows" # requires rpanel + "vmsbase" # depends on broken PBSmapping "WGCNA" # requires impute "wgsea" # requires snpStats "WideLM" # depends on proprietary cudatoolkit From 0c22b40422ec976d2d506607438f75b666314ef8 Mon Sep 17 00:00:00 2001 From: Matthew Brown Date: Sat, 28 Mar 2015 10:04:39 +0000 Subject: [PATCH 25/79] Upgraded Sphinx Search to version 2.2.8 --- pkgs/servers/search/sphinxsearch/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/search/sphinxsearch/default.nix b/pkgs/servers/search/sphinxsearch/default.nix index a72240064f2..17095750dbf 100644 --- a/pkgs/servers/search/sphinxsearch/default.nix +++ b/pkgs/servers/search/sphinxsearch/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, pkgconfig, - version ? "2.1.9", + version ? "2.2.8", mainSrc ? fetchurl { url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz"; - sha256 = "00vwxf3zr0g1fq9mls1z2rd8nxw74b76pkl1j466lig1qc5am2b2"; + sha256 = "1q6jdw5g81k7ciw9fhwklb5ifgb8zna39795m0x0lbvwjbk3ampv"; } }: From ad2b2a79979bbc93343f241b92b46d50a6762b2c Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 28 Mar 2015 10:29:22 +0100 Subject: [PATCH 26/79] anki: update from 2.0.31 to 2.0.32 --- pkgs/games/anki/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix index 5d50d25194a..dab4e2b6aff 100644 --- a/pkgs/games/anki/default.nix +++ b/pkgs/games/anki/default.nix @@ -6,7 +6,7 @@ let py = pythonPackages; - version = "2.0.31"; + version = "2.0.32"; in stdenv.mkDerivation rec { name = "anki-${version}"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { "http://ankisrs.net/download/mirror/${name}.tgz" "http://ankisrs.net/download/mirror/archive/${name}.tgz" ]; - sha256 = "0bxy4pq9yq78g0ffnlkpqj91ri0w4xqgv8mqksddn02v4llrd5jb"; + sha256 = "0g5rmg0yqh40a3g8ci3y3if7vw4jl5nrpq8ki1a13a3xmgch13rr"; }; pythonPath = [ pyqt4 py.pysqlite py.sqlalchemy py.pyaudio ] From c01313085809b56f3b3ef39699a206b4ede9294e Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 28 Mar 2015 10:30:06 +0100 Subject: [PATCH 27/79] httrack: update from 3.48.20 to 3.48.21 --- pkgs/tools/backup/httrack/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix index c09ee6a52f7..573c4b58d60 100644 --- a/pkgs/tools/backup/httrack/default.nix +++ b/pkgs/tools/backup/httrack/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, zlib, openssl }: stdenv.mkDerivation rec { - version = "3.48.20"; + version = "3.48.21"; name = "httrack-${version}"; src = fetchurl { url = "http://mirror.httrack.com/httrack-${version}.tar.gz"; - sha256 = "129cpf324ihqxc8mvvkqjfanl17g60zfiqy1zx8ri56dkrg52mii"; + sha256 = "10p4gf8y9h7mxkqlbs3hqgvmvbgvcbax8jp1whbw4yidwahn06w7"; }; buildInputs = [ zlib openssl ]; From 51bc557070cd70ab76995595b579aacf4817b561 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 28 Mar 2015 11:48:13 +0100 Subject: [PATCH 28/79] Delete expression for the Qi compiler The Qi language project appears to have been abandoned in favour of Shen. The source listed in the Qi expression is unavailable (except through an unofficial mirror on Google Code, which is also going away soon) and the project's website is defunct. --- pkgs/development/compilers/qi/default.nix | 36 ----------------------- pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 38 deletions(-) delete mode 100644 pkgs/development/compilers/qi/default.nix diff --git a/pkgs/development/compilers/qi/default.nix b/pkgs/development/compilers/qi/default.nix deleted file mode 100644 index 5665fc5da6c..00000000000 --- a/pkgs/development/compilers/qi/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv, fetchurl, builderDefs, unzip, clisp }: - let localDefs = builderDefs.passthru.function { - src = /* put a fetchurl here */ - fetchurl { - url = http://www.lambdassociates.org/Download/Qi9.1.zip; - sha256 = "1j584i7pj38rnlf7v9njfdwc6gc296v5friw2887dsw34dmwyg3f"; - }; - buildInputs = [ unzip clisp]; - configureFlags = []; - }; - in with localDefs; -let - shell=stdenv.shell; -in -let - allBuild = fullDepEntry (" - (sleep 0.1; echo ) | clisp install.txt; - (sleep 0.1; echo -e '1\n(quit)\n' ) | sh Qi-Linux-CLisp - mkdir -p \$out/share - mkdir -p \$out/bin - cp -r . \$out/share/Qi-9.1 - echo -e '#! ${shell} - arg1=\${1:-'\$out'/share/Qi-9.1/startup.txt} - shift - clisp -M '\$out'/share/Qi-9.1/lispinit.mem \$arg1 \"\$@\"\\n' > \$out/bin/qi - chmod a+x \$out/bin/qi - ") [ addInputs minInit doUnpack defEnsureDir]; -in -stdenv.mkDerivation rec { - name = "Qi-9.1"; - builder = writeScript (name + "-builder") - (textClosure localDefs [allBuild doForceShare doPropagate]); - meta = { - description = "Functional programming language, built top of Common Lisp"; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 777c5e3d1ea..50ccb3a39fa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4514,8 +4514,6 @@ let pyrex096 = callPackage ../development/interpreters/pyrex/0.9.6.nix { }; - qi = callPackage ../development/compilers/qi { }; - racket = callPackage ../development/interpreters/racket { }; rakudo = callPackage ../development/interpreters/rakudo { }; From a1689c951c605986bc3a1a9451f15e7374084fb6 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 28 Mar 2015 11:10:39 +0100 Subject: [PATCH 29/79] Add package 'cpulimit'. --- pkgs/tools/misc/cpulimit/default.nix | 26 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/tools/misc/cpulimit/default.nix diff --git a/pkgs/tools/misc/cpulimit/default.nix b/pkgs/tools/misc/cpulimit/default.nix new file mode 100644 index 00000000000..490d97cff2e --- /dev/null +++ b/pkgs/tools/misc/cpulimit/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "cpulimit-${version}"; + version = "2.2"; + + src = fetchurl { + url = "mirror://sourceforge/limitcpu/${name}.tar.gz"; + sha256 = "1r19rk2cbyfmgwh3l445fxkn1bmkzyi69dg5dbx4b4mbqjjxlr1z"; + }; + + buildFlags = with stdenv; + if isDarwin then "osx" + else if isFreeBSD then "freebsd" + else "cpulimit"; + + installFlags = "PREFIX=$(out)"; + + meta = with stdenv.lib; { + homepage = "http://limitcpu.sourceforge.net/"; + description = "A tool to throttle the CPU usage of programs"; + platforms = with platforms; [linux freebsd darwin]; + license = licenses.gpl2; + maintainer = [maintainers.rycee]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3e7ef6a4798..ec9b66586d1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -733,6 +733,8 @@ let flex = flex_2_5_35; }; + cpulimit = callPackage ../tools/misc/cpulimit { }; + crawlTiles = callPackage ../games/crawl { }; crawl = callPackage ../games/crawl { From 72d0d04d0a6a137ff69a7436708732847335743f Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Wed, 18 Mar 2015 22:32:37 +0000 Subject: [PATCH 30/79] add package for daemonize tool --- pkgs/tools/system/daemonize/default.nix | 18 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/tools/system/daemonize/default.nix diff --git a/pkgs/tools/system/daemonize/default.nix b/pkgs/tools/system/daemonize/default.nix new file mode 100644 index 00000000000..5b52e0feb59 --- /dev/null +++ b/pkgs/tools/system/daemonize/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "daemonize-${version}"; + version = "1.7.5"; + + src = fetchurl { + url = "https://github.com/bmc/daemonize/archive/release-${version}.tar.gz"; + sha256 = "0sx0k05n8kyn0ma51nkjll8cs1xygmhv4qsyshxxj8apvjw20qk1"; + }; + + meta = with stdenv.lib; { + description = "Runs a command as a Unix daemon"; + homepage = http://software.clapper.org/daemonize/; + license = licenses.bsd3; + platforms = with platforms; linux ++ freebsd ++ darwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 21f473f7663..9be631a316c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1067,6 +1067,8 @@ let dadadodo = callPackage ../tools/text/dadadodo { }; + daemonize = callPackage ../tools/system/daemonize { }; + daq = callPackage ../applications/networking/ids/daq { }; dar = callPackage ../tools/archivers/dar { }; From 59771abeda5efc1fde385fd41c18d3ccf11ec3f2 Mon Sep 17 00:00:00 2001 From: Arseniy Seroka Date: Sat, 28 Mar 2015 20:44:35 +0300 Subject: [PATCH 31/79] vimPlugins: add vim-gista --- pkgs/misc/vim-plugins/default.nix | 10 ++++++++++ pkgs/misc/vim-plugins/vim-plugin-names | 1 + 2 files changed, 11 insertions(+) diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index 8cc44f2bfcb..d6c09e1b297 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -1245,6 +1245,16 @@ rec { }; dependencies = []; + }; + "vim-gista" = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "vim-gista-2015-01-29"; + src = fetchgit { + url = "git://github.com/lambdalisue/vim-gista"; + rev = "e450417a6eaeb99d3982b880507697dce85b7217"; + sha256 = "a7665dbc63a35d1fe9b7679a498deafb80c8dfb05fced37ac4722212c673f2ec"; + }; + dependencies = []; + }; "vim-snippets" = buildVimPluginFrom2Nix { # created by nix#NixDerivation name = "vim-snippets-2015-03-24"; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 32ff3045a13..39f6aa18904 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -52,5 +52,6 @@ "YankRing" "vim-addon-manager" "vim-addon-nix" +"vim-gista" "github:JagaJaga/vim-addon-vim2nix" "sensible" From a4409438475411627f6f609f25e83b64e328a8d6 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Wed, 18 Mar 2015 16:26:40 +0000 Subject: [PATCH 32/79] add packages django_classytags & django_reversion --- pkgs/top-level/python-packages.nix | 44 ++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b1e7e2b3352..418dafcd595 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4078,6 +4078,50 @@ let }; + django_classytags = buildPythonPackage rec { + name = "django-classy-tags-${version}"; + version = "0.6.1"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/d/django-classy-tags/${name}.tar.gz"; + md5 = "eb686aa767ad8cf88c1fa0f400a42516"; + sha256 = "0wxvpmjdzk0aajk33y4himn3wqjx7k0aqlka9j8ay3yfav78bdq0"; + }; + + propagatedBuildInputs = with self; [ django_1_7 ]; + + # tests appear to be broken on 0.6.1 at least + doCheck = ( version != "0.6.1" ); + + meta = with stdenv.lib; { + description = "Class based template tags for Django"; + homepage = https://github.com/ojii/django-classy-tags; + license = stdenv.lib.licenses.bsd3; + }; + }; + + + django_reversion = buildPythonPackage rec { + name = "django-reversion-${version}"; + version = "1.8.5"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/d/django-reversion/${name}.tar.gz"; + md5 = "2de5a3fe82aaf505c134570f96fcc7a8"; + sha256 = "0z8fxvxgbxfnalr5br74rsw6g42nry2q656rx7rsgmicd8n42v2r"; + }; + + propagatedBuildInputs = with self; [ django_1_7 ] ++ + (optionals (pythonOlder "2.7") [ importlib ordereddict ]); + + meta = with stdenv.lib; { + description = "An extension to the Django web framework that provides comprehensive version control facilities"; + homepage = https://github.com/etianen/django-reversion; + license = stdenv.lib.licenses.bsd3; + }; + }; + + djblets = buildPythonPackage rec { name = "Djblets-0.6.28"; From 424188e6b61c56236cfae171334f4c2619510c09 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 28 Mar 2015 20:03:18 +0100 Subject: [PATCH 33/79] Fix platforms attribute for 'cpulimit' expression. --- pkgs/tools/misc/cpulimit/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/cpulimit/default.nix b/pkgs/tools/misc/cpulimit/default.nix index 490d97cff2e..8ae137bbd89 100644 --- a/pkgs/tools/misc/cpulimit/default.nix +++ b/pkgs/tools/misc/cpulimit/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = "http://limitcpu.sourceforge.net/"; description = "A tool to throttle the CPU usage of programs"; - platforms = with platforms; [linux freebsd darwin]; + platforms = with platforms; linux ++ freebsd ++ darwin; license = licenses.gpl2; maintainer = [maintainers.rycee]; }; From 569fdb15747da8d369702dad27afc09c7a4db709 Mon Sep 17 00:00:00 2001 From: Spencer Whitt Date: Sat, 28 Mar 2015 15:34:52 -0400 Subject: [PATCH 34/79] wavpack: build on Darwin --- pkgs/development/libraries/wavpack/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/wavpack/default.nix b/pkgs/development/libraries/wavpack/default.nix index 4bfcd356949..8a63b780b4c 100644 --- a/pkgs/development/libraries/wavpack/default.nix +++ b/pkgs/development/libraries/wavpack/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { description = "Hybrid audio compression format"; homepage = http://www.wavpack.com/; license = licenses.bsd3; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ codyopel ]; }; } From da73e45cd0e8b07602097702d4c9ed19fe6e2d74 Mon Sep 17 00:00:00 2001 From: Eric Seidel Date: Sat, 28 Mar 2015 12:57:54 -0700 Subject: [PATCH 35/79] fetchgitlocal: local fetcher based on `git ls-files` --- pkgs/build-support/fetchgitlocal/default.nix | 10 ++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 14 insertions(+) create mode 100644 pkgs/build-support/fetchgitlocal/default.nix diff --git a/pkgs/build-support/fetchgitlocal/default.nix b/pkgs/build-support/fetchgitlocal/default.nix new file mode 100644 index 00000000000..24568667751 --- /dev/null +++ b/pkgs/build-support/fetchgitlocal/default.nix @@ -0,0 +1,10 @@ +{ runCommand, git }: src: + +runCommand "local-git-export" {} '' + cd ${src} + mkdir -p "$out" + for file in $(${git}/bin/git ls-files); do + mkdir -p "$out/$(dirname $file)" + cp -d $file "$out/$file" + done +'' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 48824508bbb..2e432e24b51 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -329,6 +329,10 @@ let fetchgitrevision = import ../build-support/fetchgitrevision runCommand git; + fetchgitLocal = import ../build-support/fetchgitlocal { + inherit runCommand git; + }; + fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {}); packer = callPackage ../development/tools/packer { }; From 1a68f81db46fec44523ca1be57aa0c0ae830e1d3 Mon Sep 17 00:00:00 2001 From: Eric Seidel Date: Sat, 28 Mar 2015 13:13:18 -0700 Subject: [PATCH 36/79] fetchgitlocal: don't force copying the whole source directory into the store.. --- pkgs/build-support/fetchgitlocal/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/fetchgitlocal/default.nix b/pkgs/build-support/fetchgitlocal/default.nix index 24568667751..04e6aafc8a1 100644 --- a/pkgs/build-support/fetchgitlocal/default.nix +++ b/pkgs/build-support/fetchgitlocal/default.nix @@ -1,10 +1,10 @@ { runCommand, git }: src: runCommand "local-git-export" {} '' - cd ${src} + cd ${toString src} mkdir -p "$out" for file in $(${git}/bin/git ls-files); do mkdir -p "$out/$(dirname $file)" - cp -d $file "$out/$file" + cp -d $file "$out/$file" || true # don't fail when trying to copy a directory done '' From 5248ba84fdb0806b3167dbf1ac6cef2eb3ea63dc Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 28 Mar 2015 13:56:12 -0700 Subject: [PATCH 37/79] mako: 0.9.1 -> 1.0.1 --- pkgs/top-level/python-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 418dafcd595..0017e307b66 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6000,14 +6000,14 @@ let Mako = buildPythonPackage rec { - name = "Mako-0.9.1"; + name = "Mako-1.0.1"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/M/Mako/${name}.tar.gz"; - md5 = "fe3f394ef714776d09ec6133923736a7"; + md5 = "9f0aafd177b039ef67b90ea350497a54"; }; - buildInputs = with self; [ markupsafe nose ]; + buildInputs = with self; [ markupsafe nose mock ]; propagatedBuildInputs = with self; [ markupsafe ]; meta = { From 7d52faac72ac350f3461aeafd29dc64fe1167e2d Mon Sep 17 00:00:00 2001 From: Henry Till Date: Sat, 28 Mar 2015 17:11:14 -0400 Subject: [PATCH 38/79] texi2html: change platforms to unix Tested on Darwin --- pkgs/development/tools/misc/texi2html/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/texi2html/default.nix b/pkgs/development/tools/misc/texi2html/default.nix index 1f36a14fa97..28eb95fd08b 100644 --- a/pkgs/development/tools/misc/texi2html/default.nix +++ b/pkgs/development/tools/misc/texi2html/default.nix @@ -15,6 +15,6 @@ stdenv.mkDerivation rec { homepage = http://www.nongnu.org/texi2html/; license = stdenv.lib.licenses.gpl2; maintainers = [stdenv.lib.maintainers.marcweber]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } From 52a6c8496b95389f68e7455aad2eabbb3fabe569 Mon Sep 17 00:00:00 2001 From: Karn Kallio Date: Sat, 28 Mar 2015 17:38:24 -0430 Subject: [PATCH 39/79] complete removal of obsolete kdelibs derivation --- pkgs/desktops/kde-4.14/kde-package/4.14.3.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix b/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix index 74d520415f3..b1673d4b4e8 100644 --- a/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix +++ b/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix @@ -220,7 +220,6 @@ versions=builtins.listToAttrs[ {name="kdegraphics-mobipocket";value="4.14.3";} {name="kdegraphics-strigi-analyzer";value="4.14.3";} {name="kdegraphics-thumbnailers";value="4.14.3";} - {name="kdelibs";value="4.14.3";} {name="kdenetwork-filesharing";value="4.14.3";} {name="kdenetwork-strigi-analyzers";value="4.14.3";} {name="kdepim";value="4.14.3";} @@ -386,7 +385,6 @@ modules=[ module="kdelibs"; split=true; pkgs=[ - { name="kdelibs"; } { name="baloo"; } { name="baloo-widgets"; sane="baloo_widgets"; } { name="kfilemetadata"; } From aed1895643345291e1a06868434aeef3ef2e34b4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 28 Mar 2015 23:51:20 +0100 Subject: [PATCH 40/79] r-modules: remedy remaining Hydra failures --- pkgs/development/r-modules/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index abaf586974f..818cdcb3376 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -436,6 +436,7 @@ let "PBSadmb" "PBSmodelling" "PCPS" + "PKgraph" "PopGenReport" "PredictABEL" "PrevMap" @@ -664,6 +665,7 @@ let "babel" # requires edgeR "BACA" # requires RDAVIDWebService "BcDiag" # requires fabia + "beadarrayMSV" # requires Biobase, geneplotter, andlimma "bdvis" # requres taxize "beadarrayFilter" # requires beadarray "bigGP" # requires MPI running. HELP WANTED! @@ -679,6 +681,7 @@ let "CARrampsOcl" # depends on OpenCL "CHAT" # requires DNAcopy "ChemoSpec" # depends on broken speaq + "Crossover" # fails self-test "classGraph" # requires graph, and Rgraphviz "clpAPI" # requires clp "compendiumdb" # requires Biobase @@ -733,6 +736,7 @@ let "gmatrix" # depends on proprietary cudatoolkit "GOGANPA" # requires WGCNA "gputools" # depends on proprietary cudatoolkit + "gMCP" # fails self-test "gRain" # requires gRbase "gRapHD" # requires graph "gRbase" # requires RBGL, and graph @@ -805,7 +809,9 @@ let "optBiomarker" # requires rpanel "ora" # requires ROracle "orQA" # requires genefilter + "pRF" # requires multtest "PBSmapping" # fails its test suite for unclear reasons + "PBSddesolve" # fails its test suite for unclear reasons "PairViz" # requires graph "PANDA" # requires GO.db "ParDNAcopy" # requires DNAcopy @@ -874,6 +880,8 @@ let "rpanel" # I could not make Tcl to recognize BWidget. HELP WANTED! "RQuantLib" # requires QuantLib "RSAP" # requires SAPNWRFCSDK + "rgp" # fails self-test + "rgpui" # depends on broken rgp "RSeed" # requires RBGL, and graph "rsig" # requires survcomp "RSNPset" # requires qvalue @@ -909,6 +917,8 @@ let "spocc" # requires leafletR "SQDA" # requires limma "Statomica" # requires Biobase, multtest + "stagePop" # depends on broken PBSddesolve + "SeqGrapheR" # depends on Biostrings "stpp" # requires spatstat "structSSI" # requires multtest "strum" # requires Rgraphviz From 273d31fff4135fa232daff0230b786b4548faafb Mon Sep 17 00:00:00 2001 From: Petar Bogdanovic Date: Sat, 28 Mar 2015 16:53:48 -0700 Subject: [PATCH 41/79] gnupg1orig: Remove left-over debug message. Patch committed by James Cook . --- pkgs/tools/security/gnupg/1.nix | 2 ++ .../security/gnupg/remove-debug-message.patch | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/tools/security/gnupg/remove-debug-message.patch diff --git a/pkgs/tools/security/gnupg/1.nix b/pkgs/tools/security/gnupg/1.nix index c5d2ca1349c..d5045806e0c 100644 --- a/pkgs/tools/security/gnupg/1.nix +++ b/pkgs/tools/security/gnupg/1.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "7f09319d044b0f6ee71fe3587bb873be701723ac0952cff5069046a78de8fd86"; }; + patches = [ ./remove-debug-message.patch ]; + buildInputs = [ readline bzip2 ]; doCheck = true; diff --git a/pkgs/tools/security/gnupg/remove-debug-message.patch b/pkgs/tools/security/gnupg/remove-debug-message.patch new file mode 100644 index 00000000000..92fc6f2cfca --- /dev/null +++ b/pkgs/tools/security/gnupg/remove-debug-message.patch @@ -0,0 +1,22 @@ +commit 936416690e6c889505d84fe96983a66983beae5e +Author: Werner Koch +Date: Thu Feb 26 09:38:58 2015 +0100 + + gpg: Remove left-over debug message. + + * g10/armor.c (check_input): Remove log_debug. + +diff --git a/g10/armor.c b/g10/armor.c +index 6c0013d..de1726d 100644 +--- a/g10/armor.c ++++ b/g10/armor.c +@@ -534,9 +534,6 @@ check_input( armor_filter_context_t *afx, IOBUF a ) + /* This is probably input from a keyserver helper and we + have not yet seen an error line. */ + afx->key_failed_code = parse_key_failed_line (line+4, len-4); +- log_debug ("armor-keys-failed (%.*s) ->%d\n", +- (int)len, line, +- afx->key_failed_code); + } + if( i >= 0 && !(afx->only_keyblocks && i != 1 && i != 5 && i != 6 )) { + hdr_line = i; From 1901f3fe77d24c0eef00f73f73c176fae3bcb44e Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sat, 28 Mar 2015 23:59:01 +0000 Subject: [PATCH 42/79] fix initrd now that cryptsetup switched to libgcrypt 1.6 --- nixos/modules/system/boot/luksroot.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index e1e472186e3..da5bb8fe066 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -407,7 +407,7 @@ in boot.initrd.extraUtilsCommands = '' cp -pdv ${pkgs.cryptsetup}/sbin/cryptsetup $out/bin - cp -pdv ${pkgs.libgcrypt}/lib/libgcrypt*.so.* $out/lib + cp -pdv ${pkgs.libgcrypt_1_6}/lib/libgcrypt*.so.* $out/lib cp -pdv ${pkgs.libgpgerror}/lib/libgpg-error*.so.* $out/lib cp -pdv ${pkgs.cryptsetup}/lib/libcryptsetup*.so.* $out/lib cp -pdv ${pkgs.popt}/lib/libpopt*.so.* $out/lib From d590a0f4b63901766b94ef8691baa389db56d074 Mon Sep 17 00:00:00 2001 From: Charles Strahan Date: Thu, 12 Mar 2015 23:20:56 -0400 Subject: [PATCH 43/79] ghcjs: support for Haskell-NG closes #5828 closes #6786 --- pkgs/build-support/cabal/ghcjs.nix | 282 ------------------ pkgs/development/compilers/ghc/7.10.1.nix | 2 + pkgs/development/compilers/ghcjs/default.nix | 117 +++++--- pkgs/development/compilers/ghcjs/ghcjs.patch | 6 +- .../configuration-ghc-7.10.x.nix | 39 ++- .../haskell-modules/configuration-ghcjs.nix | 78 ++++- .../haskell-modules/generic-builder.nix | 34 ++- .../haskell-src-meta-ghc710.patch | 55 ++++ .../haskell-modules/with-packages-wrapper.nix | 37 ++- pkgs/top-level/all-packages.nix | 1 - pkgs/top-level/haskell-defaults.nix | 91 ------ pkgs/top-level/haskell-ng.nix | 4 + pkgs/top-level/haskell-packages.nix | 17 -- 13 files changed, 287 insertions(+), 476 deletions(-) delete mode 100644 pkgs/build-support/cabal/ghcjs.nix create mode 100644 pkgs/development/haskell-modules/haskell-src-meta-ghc710.patch diff --git a/pkgs/build-support/cabal/ghcjs.nix b/pkgs/build-support/cabal/ghcjs.nix deleted file mode 100644 index 8ae1746dc78..00000000000 --- a/pkgs/build-support/cabal/ghcjs.nix +++ /dev/null @@ -1,282 +0,0 @@ -# generic builder for Cabal packages - -{ stdenv, fetchurl, lib, pkgconfig, ghcjs, ghc, Cabal, jailbreakCabal, glibcLocales -, gnugrep, coreutils, hscolour # hscolour is unused -, enableLibraryProfiling ? false -, enableSharedLibraries ? false -, enableSharedExecutables ? false -, enableStaticLibraries ? true -, enableCheckPhase ? true -, enableHyperlinkSource ? false -, extension ? (self : super : {}) -}: - -let - enableFeature = stdenv.lib.enableFeature; - optional = stdenv.lib.optional; - optionals = stdenv.lib.optionals; - optionalString = stdenv.lib.optionalString; - filter = stdenv.lib.filter; - - defaultSetupHs = builtins.toFile "Setup.hs" '' - import Distribution.Simple - main = defaultMain - ''; -in - -{ - mkDerivation = - args : # arguments for the individual package, can modify the defaults - let # These attributes are removed in the end. This is in order not to spoil the build - # environment overly, but also to keep hash-backwards-compatible with the old cabal.nix. - internalAttrs = [ - "internalAttrs" "buildDepends" "buildTools" "extraLibraries" "pkgconfigDepends" - "isLibrary" "isExecutable" "testDepends" - ]; - - # Stuff happening after the user preferences have been processed. We remove - # internal attributes and strip null elements from the dependency lists, all - # in the interest of keeping hashes stable. - postprocess = - x : (removeAttrs x internalAttrs) // { - buildInputs = filter (y : ! (y == null)) x.buildInputs; - propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs; - propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs; - doCheck = enableCheckPhase && x.doCheck; - hyperlinkSource = enableHyperlinkSource && x.hyperlinkSource; - }; - - defaults = - self : { # self is the final version of the attribute set - - # pname should be defined by the client to be the package basename - # version should be defined by the client to be the package version - - # fname is the internal full name of the package - fname = "${self.pname}-${self.version}"; - - # name is the external full name of the package; usually we prefix - # all packages with haskell- to avoid name clashes for libraries; - # if that is not desired (for applications), name can be set to - # fname. - name = if self.isLibrary then - if enableLibraryProfiling && self.enableSharedLibraries then - "haskell-${self.pname}-ghcjs${ghc.ghc.version}-${self.version}-profiling-shared" - else if enableLibraryProfiling && !self.enableSharedLibraries then - "haskell-${self.pname}-ghcjs${ghc.ghc.version}-${self.version}-profiling" - else if !enableLibraryProfiling && self.enableSharedLibraries then - "haskell-${self.pname}-ghcjs${ghc.ghc.version}-${self.version}-shared" - else - "haskell-${self.pname}-ghcjs${ghc.ghc.version}-${self.version}" - else - "${self.pname}-${self.version}"; - - # the default download location for Cabal packages is Hackage, - # you still have to specify the checksum - src = fetchurl { - url = "mirror://hackage/${self.pname}/${self.fname}.tar.gz"; - inherit (self) sha256; - }; - - # default buildInputs are just ghc, if more buildInputs are required - # buildInputs can be extended by the client by using extraBuildInputs, - # but often propagatedBuildInputs is preferable anyway - buildInputs = [ghc ghc.ghc.parent.Cabal_1_22_0_0] ++ self.extraBuildInputs; - extraBuildInputs = self.buildTools ++ - (optionals self.doCheck self.testDepends) ++ - (if self.pkgconfigDepends == [] then [] else [pkgconfig]) ++ - (if self.isLibrary then [] else self.buildDepends ++ self.extraLibraries ++ self.pkgconfigDepends); - - # we make sure that propagatedBuildInputs is defined, so that we don't - # have to check for its existence - propagatedBuildInputs = if self.isLibrary then self.buildDepends ++ self.extraLibraries ++ self.pkgconfigDepends else []; - - # By default, also propagate all dependencies to the user environment. This is required, otherwise packages would be broken, because - # GHC also needs all dependencies to be available. - propagatedUserEnvPkgs = if self.isLibrary then self.buildDepends else []; - - # library directories that have to be added to the Cabal files - extraLibDirs = []; - - # build-depends Cabal field - buildDepends = []; - - # target(s) passed to the cabal build phase as an argument - buildTarget = ""; - - # build-depends Cabal fields stated in test-suite stanzas - testDepends = []; - - # target(s) passed to the cabal test phase as an argument - testTarget = ""; - - # build-tools Cabal field - buildTools = []; - - # extra-libraries Cabal field - extraLibraries = []; - - # pkgconfig-depends Cabal field - pkgconfigDepends = []; - - isLibrary = ! self.isExecutable; - isExecutable = false; - - # ignore version restrictions on the build inputs that the cabal file might specify - jailbreak = false; - - # pass the '--enable-split-objs' flag to cabal in the configure stage - enableSplitObjs = false; # !stdenv.isDarwin; # http://hackage.haskell.org/trac/ghc/ticket/4013 - - # pass the '--enable-tests' flag to cabal in the configure stage - # and run any regression test suites the package might have - doCheck = false; #enableCheckPhase; - - # pass the '--hyperlink-source' flag to ./Setup haddock - hyperlinkSource = enableHyperlinkSource; - - # abort the build if the configure phase detects that the package - # depends on multiple versions of the same build input - strictConfigurePhase = true; - - # pass the '--enable-library-vanilla' flag to cabal in the - # configure stage to enable building shared libraries - inherit enableStaticLibraries; - - # pass the '--enable-shared' flag to cabal in the configure - # stage to enable building shared libraries - inherit enableSharedLibraries; - - # pass the '--enable-executable-dynamic' flag to cabal in - # the configure stage to enable linking shared libraries - inherit enableSharedExecutables; - - extraConfigureFlags = [ - (enableFeature self.enableSplitObjs "split-objs") - (enableFeature enableLibraryProfiling "library-profiling") - (enableFeature true "shared") - (enableFeature self.enableStaticLibraries "library-vanilla") - (enableFeature self.enableSharedExecutables "executable-dynamic") - (enableFeature self.doCheck "tests") - ]; - - # GHC needs the locale configured during the Haddock phase. - LANG = "en_US.UTF-8"; - LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive"; - - # compiles Setup and configures - configurePhase = '' - eval "$preConfigure" - - ${optionalString self.jailbreak "${ghc.ghc.parent.jailbreakCabal}/bin/jailbreak-cabal ${self.pname}.cabal"} - - PATH=$PATH:${ghc.ghc.ghc}/bin - - for i in Setup.hs Setup.lhs ${defaultSetupHs}; do - test -f $i && break - done - ghc --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i - - for p in $extraBuildInputs $propagatedBuildInputs $propagatedNativeBuildInputs; do - PkgDir="$p/lib/ghcjs-${ghc.ghc.version}_ghc-${ghc.ghc.ghc.version}/package.conf.d" - if [ -f "$PkgDir/package.cache" ]; then - extraConfigureFlags+=" --package-db=$PkgDir" - continue; - fi - if [ -d "$p/include" ]; then - extraConfigureFlags+=" --extra-include-dirs=$p/include" - fi - for d in lib{,64}; do - if [ -d "$p/$d" ]; then - extraConfigureFlags+=" --extra-lib-dirs=$p/$d" - fi - done - done - - configureFlags+=" --package-db=${ghc.ghc}/${ghc.ghc.libDir}/package.conf.d" - - ${optionalString (self.enableSharedExecutables && self.stdenv.isLinux) '' - configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}"; - ''} - ${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) '' - configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names"; - ''} - - echo "configure flags: $extraConfigureFlags $configureFlags" - ./Setup configure --ghcjs --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \ - --libsubdir='$pkgid' $extraConfigureFlags $configureFlags 2>&1 \ - ${optionalString self.strictConfigurePhase '' - | ${coreutils}/bin/tee "$NIX_BUILD_TOP/cabal-configure.log" - if ${gnugrep}/bin/egrep -q '^Warning:.*depends on multiple versions' "$NIX_BUILD_TOP/cabal-configure.log"; then - echo >&2 "*** abort because of serious configure-time warning from Cabal" - exit 1 - fi - ''} - - eval "$postConfigure" - ''; - - # builds via Cabal - buildPhase = '' - eval "$preBuild" - - ./Setup build ${self.buildTarget} - - export GHC_PACKAGE_PATH=$(${ghc.GHCPackages}) - #test -n "$noHaddock" || ./Setup haddock --html --hoogle \ - # ${optionalString self.hyperlinkSource "--hyperlink-source"} - - eval "$postBuild" - ''; - - checkPhase = optional self.doCheck '' - eval "$preCheck" - - ./Setup test ${self.testTarget} - - eval "$postCheck" - ''; - - # installs via Cabal; creates a registration file for nix-support - # so that the package can be used in other Haskell-builds; also - # adds all propagated build inputs to the user environment packages - installPhase = '' - eval "$preInstall" - - ./Setup copy - - mkdir -p $out/bin # necessary to get it added to PATH - - local confDir=$out/lib/ghcjs-${ghc.ghc.version}_ghc-${ghc.ghc.ghc.version}/package.conf.d - local installedPkgConf=$confDir/${self.fname}.installedconf - local pkgConf=$confDir/${self.fname}.conf - mkdir -p $confDir - ./Setup register --gen-pkg-config=$pkgConf - if test -f $pkgConf; then - echo '[]' > $installedPkgConf - GHC_PACKAGE_PATH=$installedPkgConf ghcjs-pkg --global register $pkgConf --force --package-db=$confDir || true - ghcjs-pkg recache --package-db=$confDir - fi - - if test -f $out/nix-support/propagated-native-build-inputs; then - ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages - fi - - ${optionalString (self.enableSharedExecutables && self.isExecutable && self.stdenv.isDarwin) '' - for exe in $out/bin/* ; do - install_name_tool -add_rpath $out/lib/${ghc.ghc.name}/${self.pname}-${self.version} $exe || true # Ignore failures, which seem to be due to hitting bash scripts rather than binaries - done - ''} - - eval "$postInstall" - ''; - - # We inherit stdenv and ghc so that they can be used - # in Cabal derivations. - inherit stdenv ghc; - }; - in - stdenv.mkDerivation (postprocess (let super = defaults self // args self; - self = super // extension self super; - in self)); -} diff --git a/pkgs/development/compilers/ghc/7.10.1.nix b/pkgs/development/compilers/ghc/7.10.1.nix index d39c4b921ba..629ac69d36f 100644 --- a/pkgs/development/compilers/ghc/7.10.1.nix +++ b/pkgs/development/compilers/ghc/7.10.1.nix @@ -28,7 +28,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + # We patch Cabal for GHCJS. See: https://github.com/haskell/cabal/issues/2454 preConfigure = '' + sed -i 's/HcPkg.useSingleFileDb = .*/HcPkg.useSingleFileDb = False/' libraries/Cabal/Cabal/Distribution/Simple/GHCJS.hs echo >mk/build.mk "${buildMK}" sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix index e6798be78f8..d04bd842bf6 100644 --- a/pkgs/development/compilers/ghcjs/default.nix +++ b/pkgs/development/compilers/ghcjs/default.nix @@ -1,64 +1,91 @@ -{ nodejs, cabal, filepath, HTTP, HUnit, mtl, network, QuickCheck, random, stm -, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, time -, zlib, aeson, attoparsec, bzlib, dataDefault, ghcPaths, hashable -, haskellSrcExts, haskellSrcMeta, lens, optparseApplicative -, parallel, safe, shelly, split, stringsearch, syb, systemFileio -, systemFilepath, tar, terminfo, textBinary, unorderedContainers -, vector, wlPprintText, yaml, fetchgit, Cabal, cabalInstall -, regexPosix, alex, happy, git, gnumake, gcc, autoconf, patch -, automake, libtool, gmp, base16Bytestring -, cryptohash, executablePath, transformersCompat, haddockApi -, haddock, hspec, xhtml, primitive, cacert, pkgs, ghc +{ mkDerivation +, test-framework +, test-framework-hunit +, test-framework-quickcheck2 +, data-default +, ghc-paths +, haskell-src-exts +, haskell-src-meta +, optparse-applicative +, system-fileio +, system-filepath +, text-binary +, unordered-containers +, cabal-install +, wl-pprint-text +, base16-bytestring +, executable-path +, transformers-compat +, haddock-api +, ghcjs-prim +, regex-posix + +, ghc, gmp +, jailbreak-cabal + +, nodejs, stdenv, filepath, HTTP, HUnit, mtl, network, QuickCheck, random, stm +, time +, zlib, aeson, attoparsec, bzlib, hashable +, lens +, parallel, safe, shelly, split, stringsearch, syb +, tar, terminfo +, vector, yaml, fetchgit, Cabal +, alex, happy, git, gnumake, autoconf, patch +, automake, libtool +, cryptohash +, haddock, hspec, xhtml, primitive, cacert, pkgs , coreutils -, ghcjsPrim +, libiconv }: let version = "0.1.0"; - libDir = "share/ghcjs/${pkgs.stdenv.system}-${version}-${ghc.ghc.version}/ghcjs"; + libDir = "share/ghcjs/${pkgs.stdenv.system}-${version}-${ghc.version}/ghcjs"; ghcjsBoot = fetchgit { url = git://github.com/ghcjs/ghcjs-boot.git; - rev = "5c7a71472d5a797e895914d3b82cea447a058793"; - sha256 = "0dp97bgbnlr3sd9yfnk27p6dfv46fi26sn6y6qv1wxs5i29kmjav"; + rev = "8cd6144870470258fb037b3e04a0a2a98c2b6551"; # 7.10 branch + sha256 = "16cbncx179n5khf8hkj9r221wf73rc8isffk8rv3n9psshv1jiji"; fetchSubmodules = true; }; shims = fetchgit { url = git://github.com/ghcjs/shims.git; - rev = "99bbd4bed584ec42bfcc5ea61c3808a2c670053d"; - sha256 = "1my3gqkln7hgm0bpy32pnhwjfza096alh0n9x9ny8xfpxhmzz4h6"; + rev = "6ada4bf1a084d1b80b993303d35ed863d219b031"; # master branch + sha256 = "0dhfnjj3rxdbb2m1pbnjc2yp4xcgsfdrsinljgdmg0hpqkafp4vc"; }; -in cabal.mkDerivation (self: rec { +in mkDerivation (rec { pname = "ghcjs"; inherit version; src = fetchgit { url = git://github.com/ghcjs/ghcjs.git; - rev = "4b9461e8be646d5152a0ae7ece5b3616bf938637"; - sha256 = "19g62j1kkdwcgp0042ppmskwbvfk7qkf1fjs8bpjc6wwd19ipiar"; + rev = "35a59743c4027f26a227635cb24a6246bd851f8d"; # master branch + sha256 = "107sh36ji3psdl3py84vxgqbywjyzglj3p0akzpvcmbarxwfr1mw"; }; isLibrary = true; isExecutable = true; jailbreak = true; - noHaddock = true; + doHaddock = false; doCheck = false; buildDepends = [ filepath HTTP mtl network random stm time zlib aeson attoparsec - bzlib dataDefault ghcPaths hashable haskellSrcExts haskellSrcMeta - lens optparseApplicative parallel safe shelly split - stringsearch syb systemFileio systemFilepath tar terminfo textBinary - unorderedContainers vector wlPprintText yaml - alex happy git gnumake gcc autoconf automake libtool patch gmp - base16Bytestring cryptohash executablePath haddockApi - transformersCompat QuickCheck haddock hspec xhtml - ghcjsPrim regexPosix + bzlib data-default ghc-paths hashable haskell-src-exts haskell-src-meta + lens optparse-applicative parallel safe shelly split + stringsearch syb system-fileio system-filepath tar terminfo text-binary + unordered-containers vector wl-pprint-text yaml + alex happy git gnumake autoconf automake libtool patch gmp + base16-bytestring cryptohash executable-path haddock-api + transformers-compat QuickCheck haddock hspec xhtml + ghcjs-prim regex-posix libiconv ]; buildTools = [ nodejs git ]; testDepends = [ - HUnit testFramework testFrameworkHunit + HUnit test-framework test-framework-hunit ]; patches = [ ./ghcjs.patch ]; postPatch = '' substituteInPlace Setup.hs --replace "/usr/bin/env" "${coreutils}/bin/env" substituteInPlace src/Compiler/Info.hs --replace "@PREFIX@" "$out" - substituteInPlace src-bin/Boot.hs --replace "@PREFIX@" "$out" + substituteInPlace src-bin/Boot.hs \ + --replace "@PREFIX@" "$out" \ + --replace "@CC@" "${stdenv.cc}/bin/cc" ''; preBuild = '' local topDir=$out/${libDir} @@ -69,23 +96,33 @@ in cabal.mkDerivation (self: rec { cp -r ${shims} $topDir/shims chmod -R u+w $topDir/shims + + # Make the patches be relative their corresponding package's directory. + # See: https://github.com/ghcjs/ghcjs-boot/pull/12 + for patch in $topDir/ghcjs-boot/patches/*.patch; do + echo "fixing patch: $patch" + sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch + done ''; postInstall = '' - PATH=$out/bin:${Cabal}/bin:$PATH LD_LIBRARY_PATH=${gmp}/lib:${gcc.cc}/lib64:$LD_LIBRARY_PATH \ + PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \ env -u GHC_PACKAGE_PATH $out/bin/ghcjs-boot \ --dev \ - --with-cabal ${cabalInstall}/bin/cabal \ + --with-cabal ${cabal-install}/bin/cabal \ --with-gmp-includes ${gmp}/include \ --with-gmp-libraries ${gmp}/lib ''; passthru = { inherit libDir; + isGhcjs = true; + nativeGhc = ghc; }; - meta = { - homepage = "https://github.com/ghcjs/ghcjs"; - description = "GHCJS is a Haskell to JavaScript compiler that uses the GHC API"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.jwiegley ]; - }; + + homepage = "https://github.com/ghcjs/ghcjs"; + description = "GHCJS is a Haskell to JavaScript compiler that uses the GHC API"; + license = stdenv.lib.licenses.bsd3; + platforms = ghc.meta.platforms; + maintainers = with stdenv.lib.maintainers; [ + jwiegley cstrahan + ]; }) diff --git a/pkgs/development/compilers/ghcjs/ghcjs.patch b/pkgs/development/compilers/ghcjs/ghcjs.patch index 92f67fb7212..618656f787c 100644 --- a/pkgs/development/compilers/ghcjs/ghcjs.patch +++ b/pkgs/development/compilers/ghcjs/ghcjs.patch @@ -1,5 +1,5 @@ diff --git a/src-bin/Boot.hs b/src-bin/Boot.hs -index 988955b..a55f07b 100644 +index 3c68dcf..64f3cf7 100644 --- a/src-bin/Boot.hs +++ b/src-bin/Boot.hs @@ -512,9 +512,7 @@ initPackageDB :: B () @@ -46,9 +46,11 @@ index 988955b..a55f07b 100644 mapM_ patchPackage =<< allPackages preparePrimops buildGenPrim -@@ -1086,7 +1077,9 @@ cabalInstallFlags parmakeGhcjs = do +@@ -1085,8 +1076,11 @@ cabalInstallFlags parmakeGhcjs = do + , "--avoid-reinstalls" , "--builddir", "dist" , "--with-compiler", ghcjs ^. pgmLocText ++ , "--with-gcc", "@CC@" , "--with-hc-pkg", ghcjsPkg ^. pgmLocText - , "--prefix", toTextI instDir + , "--prefix", "@PREFIX@" diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix index 6855a9b13a8..82566d2a8db 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix @@ -33,6 +33,9 @@ self: super: { unix = null; xhtml = null; + # Cabal_1_22_1_1 requires filepath >=1 && <1.4 + cabal-install = dontCheck (super.cabal-install.override { Cabal = null; }); + # We have Cabal 1.22.x. jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; }; @@ -55,6 +58,9 @@ self: super: { # We have time 1.5 aeson = disableCabalFlag super.aeson "old-locale"; + # requires filepath >=1.1 && <1.4 + Glob = doJailbreak super.Glob; + # Setup: At least the following dependencies are missing: base <4.8 hspec-expectations = overrideCabal super.hspec-expectations (drv: { patchPhase = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal"; @@ -83,6 +89,20 @@ self: super: { # Test suite fails in "/tokens_bytestring_unicode.g.bin". alex = dontCheck super.alex; + # TODO: should eventually update the versions in hackage-packages.nix + haddock-library = overrideCabal super.haddock-library (drv: { + version = "1.2.0"; + sha256 = "0kf8qihkxv86phaznb3liq6qhjs53g3iq0zkvz5wkvliqas4ha56"; + }); + haddock-api = overrideCabal super.haddock-api (drv: { + version = "2.16.0"; + sha256 = "0hk42w6fbr6xp8xcpjv00bhi9r75iig5kp34vxbxdd7k5fqxr1hj"; + }); + haddock = overrideCabal super.haddock (drv: { + version = "2.16.0"; + sha256 = "1afb96w1vv3gmvha2f1h3p8zywpdk8dfk6bgnsa307ydzsmsc3qa"; + }); + # Upstream was notified about the over-specified constraint on 'base' # but refused to do anything about it because he "doesn't want to # support a moving target". Go figure. @@ -104,14 +124,13 @@ self: super: { sed -i '119iimport Prelude hiding ((<$>))' Text/PrettyPrint/Leijen/Text.hs ''; }); - + # https://github.com/kazu-yamamoto/unix-time/issues/30 unix-time = dontCheck super.unix-time; # Until the changes have been pushed to Hackage - haskell-src-meta = appendPatch super.haskell-src-meta (pkgs.fetchpatch { - url = "https://github.com/bmillwood/haskell-src-meta/pull/31.patch"; - sha256 = "0idf12b2wd6chyvsgdcfl5kzx67crvgs1cqklx5say3426j57g4q"; + haskell-src-meta = overrideCabal (doJailbreak (appendPatch super.haskell-src-meta ./haskell-src-meta-ghc710.patch)) (drv: { + prePatch = "sed -i -e 's|template-haskell [^,]\\+|template-haskell|' haskell-src-meta.cabal && cat haskell-src-meta.cabal"; }); foldl = appendPatch super.foldl (pkgs.fetchpatch { url = "https://github.com/Gabriel439/Haskell-Foldl-Library/pull/30.patch"; @@ -144,4 +163,16 @@ self: super: { sha256 = "1fycvjfr1l9wa03k30bnppl3ns99lffh9kmp9r7sr8b6yiydcajq"; stripLen = 1; }); + + ghcjs-prim = self.callPackage ({ mkDerivation, fetchgit, primitive }: mkDerivation { + pname = "ghcjs-prim"; + version = "0.1.0.0"; + src = fetchgit { + url = git://github.com/ghcjs/ghcjs-prim.git; + rev = "ca08e46257dc276e01d08fb47a693024bae001fa"; # ghc-7.10 branch + sha256 = "0w7sqzp5p70yhmdhqasgkqbf3b61wb24djlavwil2j8ry9y472w3"; + }; + buildDepends = [ primitive ]; + license = pkgs.stdenv.lib.licenses.bsd3; + }) {}; } diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix index 9ae45e9425b..aad0da0604e 100644 --- a/pkgs/development/haskell-modules/configuration-ghcjs.nix +++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix @@ -7,6 +7,12 @@ self: super: { # LLVM is not supported on this GHC; use the latest one. inherit (pkgs) llvmPackages; + jailbreak-cabal = pkgs.haskell-ng.packages.ghc7101.jailbreak-cabal; + + # Many packages fail with: + # haddock: internal error: expectJust getPackageDetails + mkDerivation = drv: super.mkDerivation (drv // { doHaddock = false; }); + # This is the list of packages that are built into a booted ghcjs installation # It can be generated with the command: # nix-shell '' -A pkgs.haskellPackages_ghcjs.ghc --command "ghcjs-pkg list | sed -n 's/^ \(.*\)-\([0-9.]*\)$/\1_\2/ p' | sed 's/\./_/g' | sed 's/-\(.\)/\U\1/' | sed 's/^\([^_]*\)\(.*\)$/\1 = null;/'" @@ -19,21 +25,21 @@ self: super: { binary = null; rts = null; bytestring = null; - caseInsensitive = null; + case-insensitive = null; containers = null; deepseq = null; directory = null; dlist = null; - extensibleExceptions = null; + extensible-exceptions = null; filepath = null; - ghcPrim = null; - ghcjsBase = null; - ghcjsPrim = null; + ghc-prim = null; + ghcjs-base = null; + ghcjs-prim = null; hashable = null; - integerGmp = null; + integer-gmp = null; mtl = null; - oldLocale = null; - oldTime = null; + old-locale = null; + old-time = null; parallel = null; pretty = null; primitive = null; @@ -41,12 +47,64 @@ self: super: { scientific = null; stm = null; syb = null; - templateHaskell = null; + template-haskell = null; text = null; time = null; transformers = null; unix = null; - unorderedContainers = null; + unordered-containers = null; vector = null; + pqueue = overrideCabal super.pqueue (drv: { + patchPhase = '' + sed -i -e '12s|null|Data.PQueue.Internals.null|' Data/PQueue/Internals.hs + sed -i -e '64s|null|Data.PQueue.Internals.null|' Data/PQueue/Internals.hs + sed -i -e '32s|null|Data.PQueue.Internals.null|' Data/PQueue/Min.hs + sed -i -e '32s|null|Data.PQueue.Max.null|' Data/PQueue/Max.hs + sed -i -e '42s|null|Data.PQueue.Prio.Internals.null|' Data/PQueue/Prio/Min.hs + sed -i -e '42s|null|Data.PQueue.Prio.Max.null|' Data/PQueue/Prio/Max.hs + ''; + }); + + reactive-banana = overrideCabal super.reactive-banana (drv: { + patchPhase = '' + cat >> src/Reactive/Banana/Switch.hs <) = ap + EOF + ''; + }); + + transformers-compat = overrideCabal super.transformers-compat (drv: { + configureFlags = []; + }); + + dependent-map = overrideCabal super.dependent-map (drv: { + preConfigure = '' + sed -i 's/^.*trust base.*$//' *.cabal + ''; + }); + + profunctors = overrideCabal super.profunctors (drv: { + preConfigure = '' + sed -i 's/^{-# ANN .* #-}//' src/Data/Profunctor/Unsafe.hs + ''; + }); + + "ghcjs-dom" = self.callPackage + ({ mkDerivation, base, mtl, text, ghcjs-base + }: + mkDerivation { + pname = "ghcjs-dom"; + version = "0.1.1.3"; + sha256 = "0pdxb2s7fflrh8sbqakv0qi13jkn3d0yc32xhg2944yfjg5fvlly"; + buildDepends = [ base mtl text ghcjs-base ]; + description = "DOM library that supports both GHCJS and WebKitGTK"; + license = pkgs.stdenv.lib.licenses.mit; + hydraPlatforms = pkgs.stdenv.lib.platforms.none; + }) {}; } diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 3e9f82db359..30109b9a249 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -15,8 +15,8 @@ , doHoogle ? true , editedCabalFile ? null , enableLibraryProfiling ? false -, enableSharedExecutables ? stdenv.lib.versionOlder "7.7" ghc.version -, enableSharedLibraries ? stdenv.lib.versionOlder "7.7" ghc.version +, enableSharedExecutables ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version) +, enableSharedLibraries ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version) , enableSplitObjs ? !stdenv.isDarwin # http://hackage.haskell.org/trac/ghc/ticket/4013 , enableStaticLibraries ? true , extraLibraries ? [] @@ -53,6 +53,8 @@ let inherit (stdenv.lib) optional optionals optionalString versionOlder concatStringsSep enableFeature optionalAttrs; + isGhcjs = ghc.isGhcjs or false; + newCabalFile = fetchurl { url = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal"; sha256 = editedCabalFile; @@ -64,7 +66,7 @@ let main = defaultMain ''; - ghc76xOrLater = stdenv.lib.versionOlder "7.6" ghc.version; + ghc76xOrLater = isGhcjs || stdenv.lib.versionOlder "7.6" ghc.version; packageDbFlag = if ghc76xOrLater then "package-db" else "package-conf"; hasActiveLibrary = isLibrary && (enableStaticLibraries || enableSharedLibraries || enableLibraryProfiling); @@ -82,14 +84,17 @@ let (enableFeature enableSplitObjs "split-objs") (enableFeature enableLibraryProfiling "library-profiling") (enableFeature enableSharedLibraries "shared") - (optionalString (versionOlder "7" ghc.version) (enableFeature enableStaticLibraries "library-vanilla")) - (optionalString (versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic")) - (optionalString (versionOlder "7" ghc.version) (enableFeature doCheck "tests")) + (optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature enableStaticLibraries "library-vanilla")) + (optionalString (isGhcjs || versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic")) + (optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature doCheck "tests")) + ] ++ optionals isGhcjs [ + "--with-hsc2hs=${ghc.nativeGhc}/bin/hsc2hs" + "--ghcjs" ]; setupCompileFlags = [ (optionalString (!coreSetup) "-${packageDbFlag}=$packageConfDir") - (optionalString (versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES") + (optionalString (isGhcjs || versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES") (optionalString (versionOlder "7.10" ghc.version) "-threaded") # https://github.com/haskell/cabal/issues/2398 ]; @@ -108,9 +113,12 @@ let ghcEnv = ghc.withPackages (p: haskellBuildInputs); + setupBuilder = if isGhcjs then "${ghc.nativeGhc}/bin/ghc" else "ghc"; + ghcCommand = if isGhcjs then "ghcjs" else "ghc"; + in stdenv.mkDerivation ({ - name = "${optionalString hasActiveLibrary "haskell-"}${pname}-${version}"; + name = "${optionalString (hasActiveLibrary && pname != "ghcjs") "haskell-"}${pname}-${version}"; pos = builtins.unsafeGetAttrPos "pname" args; @@ -162,7 +170,7 @@ stdenv.mkDerivation ({ configureFlags+=" --extra-lib-dirs=$p/lib" fi done - ghc-pkg --${packageDbFlag}="$packageConfDir" recache + ${ghcCommand}-pkg --${packageDbFlag}="$packageConfDir" recache runHook postSetupCompilerEnvironment ''; @@ -175,7 +183,7 @@ stdenv.mkDerivation ({ done echo setupCompileFlags: $setupCompileFlags - ghc $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i + ${setupBuilder} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i runHook postCompileBuildDriver ''; @@ -248,13 +256,13 @@ stdenv.mkDerivation ({ isHaskellLibrary = hasActiveLibrary; env = stdenv.mkDerivation { - name = "interactive-${optionalString hasActiveLibrary "haskell-"}${pname}-${version}-environment"; + name = "interactive-${optionalString (hasActiveLibrary && pname != "ghcjs") "haskell-"}${pname}-${version}-environment"; nativeBuildInputs = [ ghcEnv systemBuildInputs ]; LANG = "en_US.UTF-8"; LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive"; shellHook = '' - export NIX_GHC="${ghcEnv}/bin/ghc" - export NIX_GHCPKG="${ghcEnv}/bin/ghc" + export NIX_GHC="${ghcEnv}/bin/${ghcCommand}" + export NIX_GHCPKG="${ghcEnv}/bin/${ghcCommand}-pkg" export NIX_GHC_DOCDIR="${ghcEnv}/share/doc/ghc/html" export NIX_GHC_LIBDIR="${ghcEnv}/lib/${ghcEnv.name}" ''; diff --git a/pkgs/development/haskell-modules/haskell-src-meta-ghc710.patch b/pkgs/development/haskell-modules/haskell-src-meta-ghc710.patch new file mode 100644 index 00000000000..c3df98043b3 --- /dev/null +++ b/pkgs/development/haskell-modules/haskell-src-meta-ghc710.patch @@ -0,0 +1,55 @@ +From 24e6f45408083745080ff2f3710f58209041113c Mon Sep 17 00:00:00 2001 +From: Luite Stegeman +Date: Sun, 28 Dec 2014 21:33:22 +0100 +Subject: [PATCH] updates for GHC 7.10 and Template Haskell 2.10 + +--- + haskell-src-meta.cabal | 4 ++-- + src/Language/Haskell/Meta/Syntax/Translate.hs | 6 ++++++ + src/Language/Haskell/Meta/Utils.hs | 5 ++++- + 3 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/src/Language/Haskell/Meta/Syntax/Translate.hs b/src/Language/Haskell/Meta/Syntax/Translate.hs +index 189d32e..36a08f1 100644 +--- a/src/Language/Haskell/Meta/Syntax/Translate.hs ++++ b/src/Language/Haskell/Meta/Syntax/Translate.hs +@@ -384,9 +384,15 @@ a .->. b = AppT (AppT ArrowT a) b + toCxt :: Hs.Context -> Cxt + toCxt = fmap toPred + where ++#if MIN_VERSION_template_haskell(2,10,0) ++ toPred (Hs.ClassA n ts) = foldl' AppT (ConT (toName n)) (fmap toType ts) ++ toPred (Hs.InfixA t1 n t2) = foldl' AppT (ConT (toName n)) (fmap toType [t1,t2]) ++ toPred (Hs.EqualP t1 t2) = foldl' AppT EqualityT (fmap toType [t1,t2]) ++#else + toPred (Hs.ClassA n ts) = ClassP (toName n) (fmap toType ts) + toPred (Hs.InfixA t1 n t2) = ClassP (toName n) (fmap toType [t1, t2]) + toPred (Hs.EqualP t1 t2) = EqualP (toType t1) (toType t2) ++#endif + toPred a@Hs.IParam{} = noTH "toCxt" a + + foldAppT :: Type -> [Type] -> Type +diff --git a/src/Language/Haskell/Meta/Utils.hs b/src/Language/Haskell/Meta/Utils.hs +index 36f7e96..d194f3e 100644 +--- a/src/Language/Haskell/Meta/Utils.hs ++++ b/src/Language/Haskell/Meta/Utils.hs +@@ -166,6 +166,9 @@ renameT env new (ForallT ns cxt t) = + unVarT (VarT n) = PlainTV n + renamePreds = renameThings renamePred + ++#if MIN_VERSION_template_haskell(2,10,0) ++ renamePred = renameT ++#else + renamePred env new (ClassP n ts) = let + (ts', env', new') = renameTs env new [] ts + in (ClassP (normaliseName n) ts', env', new') +@@ -174,7 +177,7 @@ renameT env new (ForallT ns cxt t) = + (t1', env1, new1) = renameT env new t1 + (t2', env2, new2) = renameT env1 new1 t2 + in (EqualP t1' t2', env2, new2) +- ++#endif + + -- | Remove qualification, etc. + normaliseName :: Name -> Name + diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix index b2071fa61c0..d2116a879d5 100644 --- a/pkgs/development/haskell-modules/with-packages-wrapper.nix +++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix @@ -29,9 +29,10 @@ assert versionOlder "6.12" ghc.version; # fi let - ghc761OrLater = versionOlder "7.6.1" ghc.version; + ghc761OrLater = ghc.isGhcjs || versionOlder "7.6.1" ghc.version; packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf"; - libDir = "$out/lib/ghc-${ghc.version}"; + ghcCommand = if ghc.isGhcjs then "ghcjs" else "ghc"; + libDir = "$out/lib/${ghcCommand}-${ghc.version}"; docDir = "$out/share/doc/ghc/html"; packageCfgDir = "${libDir}/package.conf.d"; paths = filter (x: x ? isHaskellLibrary) (closePropagation packages); @@ -50,6 +51,10 @@ buildEnv { postBuild = '' . ${makeWrapper}/nix-support/setup-hook + ${lib.optionalString ghc.isGhcjs '' + cp -r ${ghc}/${ghc.libDir}/* ${libDir}/ + ''} + if test -L "$out/bin"; then binTarget="$(readlink -f "$out/bin")" rm "$out/bin" @@ -59,32 +64,32 @@ buildEnv { for prg in ghc ghci ghc-${ghc.version} ghci-${ghc.version}; do rm -f $out/bin/$prg - makeWrapper ${ghc}/bin/$prg $out/bin/$prg \ - --add-flags '"-B$NIX_GHC_LIBDIR"' \ - --set "NIX_GHC" "$out/bin/ghc" \ - --set "NIX_GHCPKG" "$out/bin/ghc-pkg" \ - --set "NIX_GHC_DOCDIR" "${docDir}" \ - --set "NIX_GHC_LIBDIR" "${libDir}" \ + makeWrapper ${ghc}/bin/$prg $out/bin/$prg \ + --add-flags '"-B$NIX_GHC_LIBDIR"' \ + --set "NIX_GHC" "$out/bin/${ghcCommand}" \ + --set "NIX_GHCPKG" "$out/bin/${ghcCommand}-pkg" \ + --set "NIX_GHC_DOCDIR" "${docDir}" \ + --set "NIX_GHC_LIBDIR" "${libDir}" \ ${optionalString withLLVM ''--prefix "PATH" ":" "${llvm}"''} done for prg in runghc runhaskell; do rm -f $out/bin/$prg - makeWrapper ${ghc}/bin/$prg $out/bin/$prg \ - --add-flags "-f $out/bin/ghc" \ - --set "NIX_GHC" "$out/bin/ghc" \ - --set "NIX_GHCPKG" "$out/bin/ghc-pkg" \ - --set "NIX_GHC_DOCDIR" "${docDir}" \ + makeWrapper ${ghc}/bin/$prg $out/bin/$prg \ + --add-flags "-f $out/bin/ghc" \ + --set "NIX_GHC" "$out/bin/${ghcCommand}" \ + --set "NIX_GHCPKG" "$out/bin/${ghcCommand}-pkg" \ + --set "NIX_GHC_DOCDIR" "${docDir}" \ --set "NIX_GHC_LIBDIR" "${libDir}" done - for prg in ghc-pkg ghc-pkg-${ghc.version}; do + for prg in ${ghcCommand}-pkg ${ghcCommand}-pkg-${ghc.version}; do rm -f $out/bin/$prg makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag}=${packageCfgDir}" done - ${optionalString hasLibraries "$out/bin/ghc-pkg recache"} - $out/bin/ghc-pkg check + ${optionalString hasLibraries "$out/bin/${ghcCommand}-pkg recache"} + $out/bin/${ghcCommand}-pkg check ''; } // { preferLocalBuild = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2e432e24b51..4e099d17fb1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3664,7 +3664,6 @@ let haskellPackages_ghc784_no_profiling = recurseIntoAttrs haskell.packages_ghc784.noProfiling; haskellPackages_ghc784_profiling = recurseIntoAttrs haskell.packages_ghc784.profiling; haskellPackages_ghc784 = recurseIntoAttrs haskell.packages_ghc784.highPrio; - haskellPackages_ghcjs = haskell.packages_ghcjs; haskellPackages = haskellPackages_ghc784; haskell-ng = callPackage ./haskell-ng.nix { }; diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 204603ddee6..f4d513c0c68 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -17,15 +17,6 @@ ghcHEADPrefs = self : super : super // { cabalInstall_1_20_0_6 = super.cabalInstall_1_20_0_6.override { Cabal = null; }; mtl = self.mtl_2_2_1; - ghcjsBase = null; - ghcjsDom = with self; super.ghcjsDom.override { - cabal = self.cabal.override { - extension = self: super: { - configureFlags = [ "-f-ghcjs" "-fwebkit" "-f-gtk3" ]; - buildDepends = [ mtl glib transformers gtk webkit ]; - }; - }; - }; }; ghc784Prefs = self : super : ghcHEADPrefs self super // { @@ -200,88 +191,6 @@ prefFun = ghc784Prefs; }; - packages_ghcjs = - packages { - ghc = pkgs.haskell-ng.compiler.ghc784; - prefFun = self : super : super // { - ghc = let parent = packages_ghc784; in - callPackage ../development/compilers/ghcjs/wrapper.nix { - ghc = parent.ghcjs // { inherit parent; }; - }; - cabal = self.cabalJs; - buildLocalCabalWithArgs = args: super.buildLocalCabalWithArgs (args // { - nativePkgs = packages_ghc784; - }); - ghcjsDom = with self; super.ghcjsDom.override { - cabal = self.cabal.override { - extension = self: super: { - configureFlags = [ ]; - buildDepends = [ mtl ghcjsBase ]; - }; - }; - }; - # This is the list of packages that are built into a booted ghcjs installation - # It can be generated with the command: - # nix-shell '' -A pkgs.haskellPackages_ghcjs.ghc --command "ghcjs-pkg list | sed -n 's/^ \(.*\)-\([0-9.]*\)$/\1_\2/ p' | sed 's/\./_/g' | sed 's/-\(.\)/\U\1/' | sed 's/^\([^_]*\)\(.*\)$/\1 = null;/'" - Cabal = null; - aeson = null; - array = null; - async = null; - attoparsec = null; - base = null; - binary = null; - rts = null; - bytestring = null; - caseInsensitive = null; - containers = null; - deepseq = null; - directory = null; - dlist = null; - extensibleExceptions = null; - filepath = null; - ghcPrim = null; - ghcjsBase = null; - ghcjsPrim = null; - hashable = null; - integerGmp = null; - mtl = null; - oldLocale = null; - oldTime = null; - parallel = null; - pretty = null; - primitive = null; - process = null; - scientific = null; - stm = null; - syb = null; - templateHaskell = null; - text = null; - time = null; - transformers = null; - unix = null; - unorderedContainers = null; - vector = null; - - # GHCJS-specific workarounds - split = super.split.override { - cabal = self.cabal.override { - extension = self: super: { - doCheck = false; # Under ghcjs, the tests hang - }; - }; - }; - dependentMap = super.dependentMap.override { - cabal = self.cabal.override { - extension = self: super: { - preConfigure = '' - sed -i 's/^.*ghc-options:.*$//' *.cabal - ''; # Without this, we get "target ‘base’ is not a module name or a source file" - }; - }; - }; - }; - }; - packages_ghc763 = packages { ghc = pkgs.haskell-ng.compiler.ghc763; prefFun = ghc763Prefs; diff --git a/pkgs/top-level/haskell-ng.nix b/pkgs/top-level/haskell-ng.nix index 6a55023d358..0051c2b3e21 100644 --- a/pkgs/top-level/haskell-ng.nix +++ b/pkgs/top-level/haskell-ng.nix @@ -39,6 +39,9 @@ rec { }); ghc = compiler.ghc784; + ghcjs = packages.ghc7101.callPackage ../development/compilers/ghcjs { + ghc = compiler.ghc7101; + }; }; packages = { @@ -77,6 +80,7 @@ rec { packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { }; }; ghcjs = callPackage ../development/haskell-modules { + ghc = compiler.ghcjs; packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { }; }; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index e6c49c1aad8..51141e5ef00 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -103,15 +103,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in extension = self : super : {}; }; - cabalJs = callPackage ../build-support/cabal/ghcjs.nix { - Cabal = null; # prefer the Cabal version shipped with the compiler - hscolour = self.hscolourBootstrap; - inherit enableLibraryProfiling enableCheckPhase - enableStaticLibraries enableSharedLibraries enableSharedExecutables; - glibcLocales = if pkgs.stdenv.isLinux then pkgs.glibcLocales else null; - extension = self : super : {}; - }; - # A variant of the cabal build driver that disables unit testing. # Useful for breaking cycles, where the unit test of a package A # depends on package B, which has A as a regular build input. @@ -968,14 +959,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in ghcid = callPackage ../development/tools/haskell/ghcid {}; - ghcjs = callPackage ../development/compilers/ghcjs { - Cabal = self.Cabal_1_22_0_0; - cabalInstall = self.cabalInstall_1_22_0_0; - haddock = self.haddock.override { - Cabal = null; - }; - }; - ghcjsDom = callPackage ../development/libraries/haskell/ghcjs-dom {}; ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {}; From 8c16648f56a462577414e2484350d9f2e2c295d0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 28 Mar 2015 11:16:34 +0100 Subject: [PATCH 44/79] ghcjs: fix evaluation error in with-packages-wrapper.nix --- pkgs/development/haskell-modules/with-packages-wrapper.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix index d2116a879d5..e50672221eb 100644 --- a/pkgs/development/haskell-modules/with-packages-wrapper.nix +++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix @@ -51,7 +51,7 @@ buildEnv { postBuild = '' . ${makeWrapper}/nix-support/setup-hook - ${lib.optionalString ghc.isGhcjs '' + ${optionalString ghc.isGhcjs '' cp -r ${ghc}/${ghc.libDir}/* ${libDir}/ ''} From 2502b537431c09180cb5939b7958ed0b3feb56b0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 28 Mar 2015 11:19:34 +0100 Subject: [PATCH 45/79] ghcjs: fix emacs syntax highlighting --- pkgs/development/haskell-modules/with-packages-wrapper.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix index e50672221eb..ac887a3f60e 100644 --- a/pkgs/development/haskell-modules/with-packages-wrapper.nix +++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix @@ -52,7 +52,7 @@ buildEnv { . ${makeWrapper}/nix-support/setup-hook ${optionalString ghc.isGhcjs '' - cp -r ${ghc}/${ghc.libDir}/* ${libDir}/ + cp -r "${ghc}/${ghc.libDir}/"* ${libDir}/ ''} if test -L "$out/bin"; then From acdc2c019dc3450c50c317e0c0f4164e53983634 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 28 Mar 2015 11:23:09 +0100 Subject: [PATCH 46/79] ghcjs-dom in the old package set doesn't evaluate any more. --- .../libraries/haskell/ghcjs-dom/default.nix | 15 --------------- pkgs/top-level/haskell-packages.nix | 2 -- 2 files changed, 17 deletions(-) delete mode 100644 pkgs/development/libraries/haskell/ghcjs-dom/default.nix diff --git a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix deleted file mode 100644 index b5e0a258fde..00000000000 --- a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -# This file was auto-generated by cabal2nix. Please do NOT edit manually! - -{ cabal, ghcjsBase, mtl, text }: - -cabal.mkDerivation (self: { - pname = "ghcjs-dom"; - version = "0.1.1.3"; - sha256 = "0pdxb2s7fflrh8sbqakv0qi13jkn3d0yc32xhg2944yfjg5fvlly"; - buildDepends = [ ghcjsBase mtl text ]; - meta = { - description = "DOM library that supports both GHCJS and WebKitGTK"; - license = self.stdenv.lib.licenses.mit; - platforms = self.ghc.meta.platforms; - }; -}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 51141e5ef00..0d724e21080 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -959,8 +959,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in ghcid = callPackage ../development/tools/haskell/ghcid {}; - ghcjsDom = callPackage ../development/libraries/haskell/ghcjs-dom {}; - ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {}; ghcjsPrim = callPackage ../development/libraries/haskell/ghcjs-prim {}; From b1e854d660b03cc3f7f25dce44e673b9e5bcaf32 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 28 Mar 2015 11:46:27 +0100 Subject: [PATCH 47/79] ghcjs: fix evaluation error in with-packages-wrapper.nix some more --- pkgs/development/haskell-modules/with-packages-wrapper.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix index ac887a3f60e..be708e7da57 100644 --- a/pkgs/development/haskell-modules/with-packages-wrapper.nix +++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix @@ -51,7 +51,7 @@ buildEnv { postBuild = '' . ${makeWrapper}/nix-support/setup-hook - ${optionalString ghc.isGhcjs '' + ${optionalString (ghc.isGhcjs or false) '' cp -r "${ghc}/${ghc.libDir}/"* ${libDir}/ ''} From 4868649f037c4fe80034f281212b8ccd2d0ac148 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 28 Mar 2015 17:15:41 -0700 Subject: [PATCH 48/79] nixos/initrd: Generic library copying --- .../scripts/ec2/amazon-hvm-install-config.nix | 6 +- .../cd-dvd/system-tarball-sheevaplug.nix | 2 +- nixos/modules/system/boot/luksroot.nix | 28 +++------ nixos/modules/system/boot/stage-1.nix | 58 +++++++++++-------- nixos/modules/tasks/filesystems/btrfs.nix | 6 +- nixos/modules/tasks/filesystems/cifs.nix | 2 +- nixos/modules/tasks/filesystems/ext.nix | 5 +- nixos/modules/tasks/filesystems/f2fs.nix | 4 +- nixos/modules/tasks/filesystems/jfs.nix | 2 +- nixos/modules/tasks/filesystems/reiserfs.nix | 3 +- .../tasks/filesystems/unionfs-fuse.nix | 5 +- nixos/modules/tasks/filesystems/vfat.nix | 3 +- nixos/modules/tasks/filesystems/xfs.nix | 2 +- nixos/modules/tasks/filesystems/zfs.nix | 13 +++-- nixos/modules/virtualisation/amazon-image.nix | 2 +- nixos/modules/virtualisation/qemu-vm.nix | 2 +- nixos/tests/virtualbox.nix | 5 +- 17 files changed, 71 insertions(+), 77 deletions(-) diff --git a/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix b/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix index 530769cec5b..c0ec38bf489 100644 --- a/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix +++ b/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix @@ -23,9 +23,9 @@ in boot.kernelParams = [ "console=ttyS0" ]; boot.initrd.extraUtilsCommands = '' - cp -v ${pkgs.gawk}/bin/gawk $out/bin/gawk - cp -v ${pkgs.gnused}/bin/sed $out/bin/gnused - cp -v ${pkgs.utillinux}/sbin/sfdisk $out/bin/sfdisk + copy_bin_and_libs ${pkgs.gawk}/bin/gawk + copy_bin_and_libs ${pkgs.gnused}/bin/sed + copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk cp -v ${growpart} $out/bin/growpart ''; boot.initrd.postDeviceCommands = '' diff --git a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix index 4ce7582c166..46dc1c70502 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix @@ -98,7 +98,7 @@ in boot.initrd.extraUtilsCommands = '' - cp ${pkgs.utillinux}/sbin/hwclock $out/bin + copy_bin_and_libs ${pkgs.utillinux}/sbin/hwclock ''; boot.initrd.postDeviceCommands = diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index da5bb8fe066..20eee8e06e0 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -405,29 +405,19 @@ in # copy the cryptsetup binary and it's dependencies boot.initrd.extraUtilsCommands = '' - cp -pdv ${pkgs.cryptsetup}/sbin/cryptsetup $out/bin - - cp -pdv ${pkgs.libgcrypt_1_6}/lib/libgcrypt*.so.* $out/lib - cp -pdv ${pkgs.libgpgerror}/lib/libgpg-error*.so.* $out/lib - cp -pdv ${pkgs.cryptsetup}/lib/libcryptsetup*.so.* $out/lib - cp -pdv ${pkgs.popt}/lib/libpopt*.so.* $out/lib + copy_bin_and_libs ${pkgs.cryptsetup}/bin/cryptsetup ${optionalString luks.yubikeySupport '' - cp -pdv ${pkgs.ykpers}/bin/ykchalresp $out/bin - cp -pdv ${pkgs.ykpers}/bin/ykinfo $out/bin - cp -pdv ${pkgs.openssl}/bin/openssl $out/bin + copy_bin_and_libs ${pkgs.ykpers}/bin/ykchalresp + copy_bin_and_libs ${pkgs.ykpers}/bin/ykinfo + copy_bin_and_libs ${pkgs.openssl}/bin/openssl - cc -O3 -I${pkgs.openssl}/include -L${pkgs.openssl}/lib ${./pbkdf2-sha512.c} -o $out/bin/pbkdf2-sha512 -lcrypto - strip -s $out/bin/pbkdf2-sha512 + cc -O3 -I${pkgs.openssl}/include -L${pkgs.openssl}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto + strip -s pbkdf2-sha512 + copy_bin_and_libs pbkdf2-sha512 - cp -pdv ${pkgs.libusb1}/lib/libusb*.so.* $out/lib - cp -pdv ${pkgs.ykpers}/lib/libykpers*.so.* $out/lib - cp -pdv ${pkgs.libyubikey}/lib/libyubikey*.so.* $out/lib - cp -pdv ${pkgs.openssl}/lib/libssl*.so.* $out/lib - cp -pdv ${pkgs.openssl}/lib/libcrypto*.so.* $out/lib - - mkdir -p $out/etc/ssl - cp -pdv ${pkgs.openssl}/etc/ssl/openssl.cnf $out/etc/ssl + mkdir -p $out/etc/ssl + cp -pdv ${pkgs.openssl}/etc/ssl/openssl.cnf $out/etc/ssl cat > $out/bin/openssl-wrap <&1 | grep "BusyBox" + $out/bin/blkid >/dev/null $out/bin/udevadm --version $out/bin/dmsetup --version 2>&1 | tee -a log | grep "version:" LVM_SYSTEM_DIR=$out $out/bin/lvm version 2>&1 | tee -a log | grep "LVM" diff --git a/nixos/modules/tasks/filesystems/btrfs.nix b/nixos/modules/tasks/filesystems/btrfs.nix index d0a2ac645e0..049f7708d73 100644 --- a/nixos/modules/tasks/filesystems/btrfs.nix +++ b/nixos/modules/tasks/filesystems/btrfs.nix @@ -17,13 +17,9 @@ in boot.initrd.extraUtilsCommands = mkIf inInitrd '' - mkdir -p $out/bin - cp -v ${pkgs.btrfsProgs}/bin/btrfs $out/bin + copy_bin_and_libs ${pkgs.btrfsProgs}/bin/btrfs ln -sv btrfs $out/bin/btrfsck ln -sv btrfsck $out/bin/fsck.btrfs - # !!! Increases uncompressed initrd by 240k - cp -pv ${pkgs.zlib}/lib/libz.so* $out/lib - cp -pv ${pkgs.lzo}/lib/liblzo2.so* $out/lib ''; boot.initrd.extraUtilsCommandsTest = mkIf inInitrd diff --git a/nixos/modules/tasks/filesystems/cifs.nix b/nixos/modules/tasks/filesystems/cifs.nix index c60f175db84..3932b5c9acf 100644 --- a/nixos/modules/tasks/filesystems/cifs.nix +++ b/nixos/modules/tasks/filesystems/cifs.nix @@ -18,7 +18,7 @@ in boot.initrd.extraUtilsCommands = mkIf inInitrd '' - cp -v ${pkgs.cifs_utils}/sbin/mount.cifs $out/bin + copy_bin_and_libs ${pkgs.cifs_utils}/sbin/mount.cifs ''; }; diff --git a/nixos/modules/tasks/filesystems/ext.nix b/nixos/modules/tasks/filesystems/ext.nix index 24592e9d588..cc9d0ef37d5 100644 --- a/nixos/modules/tasks/filesystems/ext.nix +++ b/nixos/modules/tasks/filesystems/ext.nix @@ -10,12 +10,11 @@ boot.initrd.extraUtilsCommands = '' # Copy e2fsck and friends. - cp -v ${pkgs.e2fsprogs}/sbin/e2fsck $out/bin - cp -v ${pkgs.e2fsprogs}/sbin/tune2fs $out/bin + copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/e2fsck + copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/tune2fs ln -sv e2fsck $out/bin/fsck.ext2 ln -sv e2fsck $out/bin/fsck.ext3 ln -sv e2fsck $out/bin/fsck.ext4 - cp -pdv ${pkgs.e2fsprogs}/lib/lib*.so.* $out/lib ''; }; diff --git a/nixos/modules/tasks/filesystems/f2fs.nix b/nixos/modules/tasks/filesystems/f2fs.nix index 1ed7b1b6a62..430ac630a88 100644 --- a/nixos/modules/tasks/filesystems/f2fs.nix +++ b/nixos/modules/tasks/filesystems/f2fs.nix @@ -13,9 +13,7 @@ in boot.initrd.availableKernelModules = mkIf inInitrd [ "f2fs" ]; boot.initrd.extraUtilsCommands = mkIf inInitrd '' - mkdir -p $out/bin $out/lib - cp -v ${pkgs.f2fs-tools}/sbin/fsck.f2fs $out/bin - cp -pdv ${pkgs.f2fs-tools}/lib/lib*.so.* $out/lib + copy_bin_and_libs ${pkgs.f2fs-tools}/sbin/fsck.f2fs ''; }; } diff --git a/nixos/modules/tasks/filesystems/jfs.nix b/nixos/modules/tasks/filesystems/jfs.nix index b7091ce9b18..fc3905c7dc2 100644 --- a/nixos/modules/tasks/filesystems/jfs.nix +++ b/nixos/modules/tasks/filesystems/jfs.nix @@ -13,7 +13,7 @@ in boot.initrd.kernelModules = mkIf inInitrd [ "jfs" ]; boot.initrd.extraUtilsCommands = mkIf inInitrd '' - cp -v ${pkgs.jfsutils}/sbin/fsck.jfs "$out/bin/" + copy_bin_and_libs ${pkgs.jfsutils}/sbin/fsck.jfs ''; }; } diff --git a/nixos/modules/tasks/filesystems/reiserfs.nix b/nixos/modules/tasks/filesystems/reiserfs.nix index a3bfb3fed8e..900e2eb7575 100644 --- a/nixos/modules/tasks/filesystems/reiserfs.nix +++ b/nixos/modules/tasks/filesystems/reiserfs.nix @@ -17,8 +17,7 @@ in boot.initrd.extraUtilsCommands = mkIf inInitrd '' - cp -v ${pkgs.reiserfsprogs}/sbin/reiserfsck $out/bin - ln -sv reiserfsck $out/bin/fsck.reiserfs + copy_bin_and_libs ${pkgs.reiserfsprogs}/sbin/reiserfsck ''; }; diff --git a/nixos/modules/tasks/filesystems/unionfs-fuse.nix b/nixos/modules/tasks/filesystems/unionfs-fuse.nix index fe195e0db0b..3e38bffa3ba 100644 --- a/nixos/modules/tasks/filesystems/unionfs-fuse.nix +++ b/nixos/modules/tasks/filesystems/unionfs-fuse.nix @@ -7,9 +7,8 @@ boot.initrd.kernelModules = [ "fuse" ]; boot.initrd.extraUtilsCommands = '' - cp -v ${pkgs.fuse}/lib/libfuse* $out/lib - cp -v ${pkgs.fuse}/sbin/mount.fuse $out/bin - cp -v ${pkgs.unionfs-fuse}/bin/unionfs $out/bin + copy_bin_and_libs ${pkgs.fuse}/sbin/mount.fuse + copy_bin_and_libs ${pkgs.unionfs-fuse}/bin/unionfs substitute ${pkgs.unionfs-fuse}/sbin/mount.unionfs-fuse $out/bin/mount.unionfs-fuse \ --replace '${pkgs.bash}/bin/bash' /bin/sh \ --replace '${pkgs.fuse}/sbin' /bin \ diff --git a/nixos/modules/tasks/filesystems/vfat.nix b/nixos/modules/tasks/filesystems/vfat.nix index 4cfe6e208f7..8ebdf0d12f8 100644 --- a/nixos/modules/tasks/filesystems/vfat.nix +++ b/nixos/modules/tasks/filesystems/vfat.nix @@ -17,8 +17,7 @@ in boot.initrd.extraUtilsCommands = mkIf inInitrd '' - cp -v ${pkgs.dosfstools}/sbin/dosfsck $out/bin - ln -sv dosfsck $out/bin/fsck.vfat + copy_bin_and_libs ${pkgs.dosfstools}/sbin/dosfsck ''; }; diff --git a/nixos/modules/tasks/filesystems/xfs.nix b/nixos/modules/tasks/filesystems/xfs.nix index 5225b62a88c..d7c3930f4a3 100644 --- a/nixos/modules/tasks/filesystems/xfs.nix +++ b/nixos/modules/tasks/filesystems/xfs.nix @@ -17,7 +17,7 @@ in boot.initrd.extraUtilsCommands = mkIf inInitrd '' - cp -v ${pkgs.xfsprogs}/sbin/fsck.xfs $out/bin + copy_bin_and_libs ${pkgs.xfsprogs}/sbin/fsck.xfs ''; # Trick just to set 'sh' after the extraUtils nuke-refs. diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 1ac89c4c255..d4b10e9ed09 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -203,11 +203,14 @@ in kernelModules = [ "spl" "zfs" ]; extraUtilsCommands = '' - cp -v ${zfsUserPkg}/sbin/zfs $out/bin - cp -v ${zfsUserPkg}/sbin/zdb $out/bin - cp -v ${zfsUserPkg}/sbin/zpool $out/bin - cp -pdv ${zfsUserPkg}/lib/lib*.so* $out/lib - cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib + copy_bin_and_libs ${zfsUserPkg}/sbin/zfs + copy_bin_and_libs ${zfsUserPkg}/sbin/zdb + copy_bin_and_libs ${zfsUserPkg}/sbin/zpool + ''; + extraUtilsCommandsTest = mkIf inInitrd + '' + $out/bin/zfs --help >/dev/null 2>&1 + $out/bin/zpool --help >/dev/null 2>&1 ''; postDeviceCommands = concatStringsSep "\n" (['' ZFS_FORCE="${optionalString cfgZfs.forceImportRoot "-f"}" diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index 0473c2454e2..600a29f31bc 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -165,7 +165,7 @@ in boot.initrd.extraUtilsCommands = '' # We need swapon in the initrd. - cp --remove-destination ${pkgs.utillinux}/sbin/swapon $out/bin + copy_bin_and_libs ${pkgs.utillinux}/sbin/swapon ''; # Don't put old configurations in the GRUB menu. The user has no diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index a5a133dfa5d..8c7e840910d 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -346,7 +346,7 @@ in boot.initrd.extraUtilsCommands = '' # We need mke2fs in the initrd. - cp -vf --remove-destination ${pkgs.e2fsprogs}/sbin/mke2fs $out/bin + copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/mke2fs ''; boot.initrd.postDeviceCommands = diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix index b2b1ec87779..febe0923ba2 100644 --- a/nixos/tests/virtualbox.nix +++ b/nixos/tests/virtualbox.nix @@ -39,9 +39,8 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let ]; boot.initrd.extraUtilsCommands = '' - cp -av -t "$out/bin/" \ - "${pkgs.linuxPackages.virtualboxGuestAdditions}/sbin/mount.vboxsf" \ - "${pkgs.utillinux}/bin/unshare" + copy_bin_and_libs "${pkgs.linuxPackages.virtualboxGuestAdditions}/sbin/mount.vboxsf" + copy_bin_and_libs "${pkgs.utillinux}/bin/unshare" ${(attrs.extraUtilsCommands or (const "")) pkgs} ''; From c379847fdaeb6549dfdb2c29b84465cb402ced79 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 28 Mar 2015 19:06:43 -0700 Subject: [PATCH 49/79] nixos/vfat: Readd fsck.vfat --- nixos/modules/tasks/filesystems/vfat.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/tasks/filesystems/vfat.nix b/nixos/modules/tasks/filesystems/vfat.nix index 8ebdf0d12f8..958e27ae8a3 100644 --- a/nixos/modules/tasks/filesystems/vfat.nix +++ b/nixos/modules/tasks/filesystems/vfat.nix @@ -18,6 +18,7 @@ in boot.initrd.extraUtilsCommands = mkIf inInitrd '' copy_bin_and_libs ${pkgs.dosfstools}/sbin/dosfsck + ln -sv dosfsck $out/bin/fsck.vfat ''; }; From 9718561589dd41aa28c4bef1476c60ad78e881c2 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 28 Mar 2015 19:07:45 -0700 Subject: [PATCH 50/79] nixos/vfat: Readd fsck.reiserfs --- nixos/modules/tasks/filesystems/reiserfs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/tasks/filesystems/reiserfs.nix b/nixos/modules/tasks/filesystems/reiserfs.nix index 900e2eb7575..ab4c43e2ab8 100644 --- a/nixos/modules/tasks/filesystems/reiserfs.nix +++ b/nixos/modules/tasks/filesystems/reiserfs.nix @@ -18,6 +18,7 @@ in boot.initrd.extraUtilsCommands = mkIf inInitrd '' copy_bin_and_libs ${pkgs.reiserfsprogs}/sbin/reiserfsck + ln -s reiserfsck $out/bin/fsck.reiserfs ''; }; From 028779fb401cce8f087a41a929b97441b96ac356 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 29 Mar 2015 11:02:31 +0200 Subject: [PATCH 51/79] ghcWithPackages: fix isGhcjs evaluation even some more This is harder than I would have thought. --- pkgs/development/haskell-modules/with-packages-wrapper.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix index be708e7da57..be3e2e22a13 100644 --- a/pkgs/development/haskell-modules/with-packages-wrapper.nix +++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix @@ -29,9 +29,10 @@ assert versionOlder "6.12" ghc.version; # fi let - ghc761OrLater = ghc.isGhcjs || versionOlder "7.6.1" ghc.version; + isGhcjs = ghc.isGhcjs or false; + ghc761OrLater = isGhcjs || versionOlder "7.6.1" ghc.version; packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf"; - ghcCommand = if ghc.isGhcjs then "ghcjs" else "ghc"; + ghcCommand = if isGhcjs then "ghcjs" else "ghc"; libDir = "$out/lib/${ghcCommand}-${ghc.version}"; docDir = "$out/share/doc/ghc/html"; packageCfgDir = "${libDir}/package.conf.d"; @@ -51,7 +52,7 @@ buildEnv { postBuild = '' . ${makeWrapper}/nix-support/setup-hook - ${optionalString (ghc.isGhcjs or false) '' + ${optionalString isGhcjs '' cp -r "${ghc}/${ghc.libDir}/"* ${libDir}/ ''} From da26c13df525772d6d84fc90ae6e95870d6a1174 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Sun, 29 Mar 2015 11:40:35 +0200 Subject: [PATCH 52/79] rdiff-backup: Fix build with a ArchLinux patch. --- pkgs/tools/backup/rdiff-backup/default.nix | 3 ++- .../fix-librsync-rs_default_strong_len.patch | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix index 47db1a5d4b2..bcbc8a84647 100644 --- a/pkgs/tools/backup/rdiff-backup/default.nix +++ b/pkgs/tools/backup/rdiff-backup/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation { sha256 = "01hcwf5rgqi303fa4kdjkbpa7n8mvvh7h9gpgh2b23nz73k0q0zf"; }; - phases = "unpackPhase installPhase"; + patches = [ ./fix-librsync-rs_default_strong_len.patch ]; + installPhase = '' python ./setup.py install --prefix=$out sed -i $out/bin/rdiff-backup -e \ diff --git a/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch b/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch new file mode 100644 index 00000000000..ce23c8a8124 --- /dev/null +++ b/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch @@ -0,0 +1,20 @@ +Patch by Roman Tereshonkov and Kari Hautio for rdiff-backup <= 1.2.8 to avoid a build failure with +librsync >= 1.0.0 (which is a security bugfix release). The discussion and solution finding can be +found at https://bugs.launchpad.net/duplicity/+bug/1416344 (for duplicity). + +--- rdiff-backup-1.2.8/_librsyncmodule.c 2009-03-16 15:36:21.000000000 +0100 ++++ rdiff-backup-1.2.8/_librsyncmodule.c.librsync-1.0.0 2015-03-02 00:54:24.000000000 +0100 +@@ -59,8 +59,13 @@ + if (sm == NULL) return NULL; + sm->x_attr = NULL; + ++#ifdef RS_DEFAULT_STRONG_LEN + sm->sig_job = rs_sig_begin((size_t)blocklen, + (size_t)RS_DEFAULT_STRONG_LEN); ++#else ++ sm->sig_job = rs_sig_begin((size_t)blocklen, ++ (size_t)8, RS_MD4_SIG_MAGIC); ++#endif + return (PyObject*)sm; + } + From c7a0925ac2404c6d13cf1180c9a6b8edd72cf469 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 04:56:42 +0300 Subject: [PATCH 53/79] yEd: update --- pkgs/applications/graphics/yed/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix index a9ced83cfae..6e9a1fdeb09 100644 --- a/pkgs/applications/graphics/yed/default.nix +++ b/pkgs/applications/graphics/yed/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, makeWrapper, unzip, jre }: stdenv.mkDerivation rec { - name = "yEd-3.14"; + name = "yEd-3.14.1"; src = fetchurl { url = "http://www.yworks.com/products/yed/demo/${name}.zip"; - sha256 = "147bb081b063abee202a0019597ac960273454046afb29ebbe91e62102dd0471"; + sha256 = "09zik3pjs5x0vc0jvndm762blk85y44lxac3vdfqqbinwd9gfnm2"; }; nativeBuildInputs = [ unzip makeWrapper ]; From cdba27ae9b65f4c48873e0ac1d10be0c5de64208 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 04:56:54 +0300 Subject: [PATCH 54/79] urxvt-perls: update --- .../misc/rxvt_unicode-plugins/urxvt-perls/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix index 98f2e0d6108..8c8b1947bc0 100644 --- a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix +++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix @@ -4,9 +4,9 @@ stdenv.mkDerivation { name = "urxvt-perls"; src = fetchgit { - url = "https://github.com/muennich/urxvt-perls"; - rev = "4dec629b3631297d17855c35be1b723e2d9e7591"; - sha256 = "c61bc8819b4e6655ed4a3ce3b347cb6dbebcb484d5d3973cbe9aa7f2c98d372f"; + url = "git://github.com/muennich/urxvt-perls"; + rev = "e4dbde31edd19e2f4c2b6c91117ee91e2f83ddd7"; + sha256 = "1f8a27c3d54377fdd4ab0be2f4efb8329d4900bb1c792b306dc23b5ee59260b1"; }; installPhase = '' From dd359e6ef7d3a53ed7e350dc9385056c4e5ad3d9 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 04:57:12 +0300 Subject: [PATCH 55/79] urxvt-perls: update --- .../misc/rxvt_unicode-plugins/urxvt-perls/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix index 8c8b1947bc0..c0cc702c986 100644 --- a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix +++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix @@ -23,4 +23,4 @@ stdenv.mkDerivation { license = licenses.gpl2; maintainers = maintainers.abbradar; }; -} \ No newline at end of file +} From 5d7847f2337ac9584b84f870ed30348548639bcc Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 04:57:22 +0300 Subject: [PATCH 56/79] bomi: update --- pkgs/applications/video/bomi/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/video/bomi/default.nix b/pkgs/applications/video/bomi/default.nix index 521f50432ff..d2a293104db 100644 --- a/pkgs/applications/video/bomi/default.nix +++ b/pkgs/applications/video/bomi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python3 +{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python3, which , libX11, libxcb, qt5, mesa , ffmpeg , libchardet @@ -32,13 +32,13 @@ in stdenv.mkDerivation rec { name = "bomi-${version}"; - version = "0.9.0"; + version = "0.9.5"; src = fetchFromGitHub { owner = "xylosper"; repo = "bomi"; rev = "v${version}"; - sha256 = "12xyz40kl03h1m8g7d7s0wf74l2c70v6bd1drhww7ky48hxi0z14"; + sha256 = "1pf82dp7v18yd7knsjl853sfzhq4rqc3sq15jgqiw37096gp0sll"; }; buildInputs = with stdenv.lib; @@ -81,7 +81,7 @@ stdenv.mkDerivation rec { ++ optional cddaSupport "--enable-cdda" ; - nativeBuildInputs = [ pkgconfig perl ]; + nativeBuildInputs = [ pkgconfig perl which ]; enableParallelBuilding = true; From be11af03b39cf486a16ec0a0f248ad9b2da2b065 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:01:53 +0300 Subject: [PATCH 57/79] cmmzmq: update --- pkgs/development/libraries/cppzmq/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/cppzmq/default.nix b/pkgs/development/libraries/cppzmq/default.nix index a7b70615d93..fc2d04e649b 100644 --- a/pkgs/development/libraries/cppzmq/default.nix +++ b/pkgs/development/libraries/cppzmq/default.nix @@ -4,9 +4,9 @@ stdenv.mkDerivation rec { name = "cppzmq"; src = fetchgit { - url = "https://github.com/zeromq/cppzmq"; - rev = "1f05e0d111197c64be32ad5aecd59f4d1b05a819"; - sha256 = "3a3507fd5646f191088e7a0a7a09846da54b0cac0fcb08f7c4c8d510b484e6da"; + url = "git://github.com/zeromq/cppzmq"; + rev = "ac705f604701e2ca1643fa31bae240f9da8b9b9a"; + sha256 = "1bcd5553601a6cdc926aa7a7c89fe54d3b14693cfce85dea97af25cf5a144398"; }; installPhase = '' From 731a4019d0e3ff67974a5a5f295ff7ea6f2c00e5 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:02:02 +0300 Subject: [PATCH 58/79] folly: update --- pkgs/development/libraries/folly/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix index e2ac798d203..180de724d95 100644 --- a/pkgs/development/libraries/folly/default.nix +++ b/pkgs/development/libraries/folly/default.nix @@ -2,14 +2,14 @@ , google-gflags, python, libiberty, openssl }: stdenv.mkDerivation rec { - version = "0.22.0"; + version = "0.32.0"; name = "folly-${version}"; src = fetchFromGitHub { owner = "facebook"; repo = "folly"; rev = "v${version}"; - sha256 = "12p7vbx73jmhf772nbqvd8imw4ihpi16cw6cwxq459r7qds4n0ca"; + sha256 = "0yviih6b220bv6d1rg4lx1hqprqapnzfv4rv64cwjxbmz49ckmzh"; }; buildInputs = [ libiberty boost.lib libevent double_conversion glog google-gflags openssl ]; @@ -26,8 +26,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - description = "A YAML parser and emitter for C++"; - homepage = https://code.google.com/p/yaml-cpp/; + description = "An open-source C++ library developed and used at Facebook"; + homepage = https://github.com/facebook/folly; license = licenses.mit; # 32bit is not supported: https://github.com/facebook/folly/issues/103 platforms = [ "x86_64-linux" ]; From aa652e09d2de775036041d485212ed6a47b52b89 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:02:42 +0300 Subject: [PATCH 59/79] libfprint: update, remove git version --- .../libraries/libfprint/default.nix | 8 +++--- .../libraries/libfprint/master.nix | 26 ------------------- pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 5 insertions(+), 31 deletions(-) delete mode 100644 pkgs/development/libraries/libfprint/master.nix diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix index ffbed794599..aad6214f2d4 100644 --- a/pkgs/development/libraries/libfprint/default.nix +++ b/pkgs/development/libraries/libfprint/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, pkgconfig, libusb, glib, nss, nspr, gdk_pixbuf }: +{ stdenv, fetchurl, pkgconfig, libusb, pixman, glib, nss, nspr, gdk_pixbuf }: stdenv.mkDerivation rec { - name = "libfprint-0.5.1"; + name = "libfprint-0.6.0"; src = fetchurl { url = "http://people.freedesktop.org/~hadess/${name}.tar.xz"; - sha256 = "1cwgaswqcvvbclahk2m2qr09k7lf7l8jwvgf3svq92w8j4xmc4kd"; + sha256 = "1giwh2z63mn45galsjb59rhyrvgwcy01hvvp4g01iaa2snvzr0r5"; }; - buildInputs = [ libusb glib nss nspr gdk_pixbuf ]; + buildInputs = [ libusb pixman glib nss nspr gdk_pixbuf ]; nativeBuildInputs = [ pkgconfig ]; configureFlags = [ "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ]; diff --git a/pkgs/development/libraries/libfprint/master.nix b/pkgs/development/libraries/libfprint/master.nix deleted file mode 100644 index 06d033d0c02..00000000000 --- a/pkgs/development/libraries/libfprint/master.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, fetchgit, libtool, autoconf, automake113x, pkgconfig, libusb, glib, nss, nspr, pixman }: - -stdenv.mkDerivation rec { - name = "libfprint"; - - src = fetchgit { - url = "git://anongit.freedesktop.org/libfprint/libfprint"; - rev = "a3c90f2b24434aa36f782aca3950fd89af01fce0"; - sha256 = "01qa58vq299xzxzxrcqkl51k8396wh56674d9wjmkv2msxx877hi"; - }; - - buildInputs = [ libusb glib nss nspr pixman ]; - nativeBuildInputs = [ libtool autoconf automake113x pkgconfig ]; - - configureScript = "./autogen.sh"; - - configureFlags = [ "--prefix=$(out)" "--disable-examples-build" "--disable-x11-examples-build" "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ]; - - meta = with stdenv.lib; { - homepage = "http://www.freedesktop.org/wiki/Software/fprint/libfprint/"; - description = "A library designed to make it easy to add support for consumer fingerprint readers"; - license = licenses.lgpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ abbradar ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4e099d17fb1..c42da184bd0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6319,7 +6319,7 @@ let extraOnly = true; }; - libfprint = callPackage ../development/libraries/libfprint/master.nix { }; + libfprint = callPackage ../development/libraries/libfprint { }; libfpx = callPackage ../development/libraries/libfpx { }; From d5d8efa0b831f7fd6da484da70f641b2e862235c Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:03:10 +0300 Subject: [PATCH 60/79] ipopt: update --- pkgs/development/libraries/science/math/ipopt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/science/math/ipopt/default.nix b/pkgs/development/libraries/science/math/ipopt/default.nix index 5443a53bc9c..544ab215345 100644 --- a/pkgs/development/libraries/science/math/ipopt/default.nix +++ b/pkgs/development/libraries/science/math/ipopt/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, unzip, blas, liblapack, gfortran }: stdenv.mkDerivation rec { - version = "3.12.0"; + version = "3.12.1"; name = "ipopt-${version}"; src = fetchurl { url = "http://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip"; - sha256 = "18p1ad64mpliba1hf6jkyyrd0srxsqivwbcnbrr09jfpn4jn4bbr"; + sha256 = "0x0wcc21d2bfs3zq8nvhva1nv7xi86wjbyixvvxvcrg2kqjlybdy"; }; preConfigure = '' From b366cb56d8c5f87d5d47b981459679f16174ce28 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:03:24 +0300 Subject: [PATCH 61/79] xlslib: new 'homepage' --- pkgs/development/libraries/xlslib/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/xlslib/default.nix b/pkgs/development/libraries/xlslib/default.nix index 602e7115017..82f1514cd3d 100644 --- a/pkgs/development/libraries/xlslib/default.nix +++ b/pkgs/development/libraries/xlslib/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "C++/C library to construct Excel .xls files in code"; - homepage = http://xlslib.sourceforge.net/; + homepage = http://sourceforge.net/projects/xlslib/files/; license = licenses.bsd2; platforms = platforms.unix; maintainers = maintainers.abbradar; From ac900ac7fb6e87c371436f247579b8fcef9e055a Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:03:54 +0300 Subject: [PATCH 62/79] crawl: update --- pkgs/games/crawl/crawl_purify.patch | 31 ++++++++++++++++++++++++++ pkgs/games/crawl/default.nix | 17 ++++++++------ pkgs/games/crawl/makefile_fonts.patch | 20 ----------------- pkgs/games/crawl/makefile_sqlite.patch | 11 --------- 4 files changed, 41 insertions(+), 38 deletions(-) create mode 100644 pkgs/games/crawl/crawl_purify.patch delete mode 100644 pkgs/games/crawl/makefile_fonts.patch delete mode 100644 pkgs/games/crawl/makefile_sqlite.patch diff --git a/pkgs/games/crawl/crawl_purify.patch b/pkgs/games/crawl/crawl_purify.patch new file mode 100644 index 00000000000..0e2d335adac --- /dev/null +++ b/pkgs/games/crawl/crawl_purify.patch @@ -0,0 +1,31 @@ +diff --git a/crawl-ref/source/Makefile b/crawl-ref/source/Makefile +index b7e2fbf..5ff23db 100644 +--- a/crawl-ref/source/Makefile ++++ b/crawl-ref/source/Makefile +@@ -273,7 +273,7 @@ endif + LIBZ := contrib/install/$(ARCH)/lib/libz.a + + ifndef CROSSHOST +- SQLITE_INCLUDE_DIR := /usr/include ++ SQLITE_INCLUDE_DIR := ${sqlite}/include + else + # This is totally wrong, works only with some old-style setups, and + # on some architectures of Debian/new FHS multiarch -- excluding, for +@@ -943,7 +943,7 @@ else + SYS_PROPORTIONAL_FONT = $(shell { name=$(OUR_PROPORTIONAL_FONT);\ + {\ + fc-list | sed 's/: .*//' | grep -Fi "/$$name";\ +- for dir in /usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts;\ ++ for dir in ${dejavu_fonts}/share/fonts;\ + do [ -d $$dir ] && echo $$dir; done;\ + } | xargs -I% find % -type f -iname $$name -print | head -n1; } 2>/dev/null) + ifneq (,$(SYS_PROPORTIONAL_FONT)) +@@ -968,7 +968,7 @@ else + SYS_MONOSPACED_FONT = $(shell { name=$(OUR_MONOSPACED_FONT);\ + {\ + fc-list | sed 's/: .*//' | grep -Fi "/$$name";\ +- for dir in /usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts;\ ++ for dir in ${dejavu_fonts}/share/fonts;\ + do [ -d $$dir ] && echo $$dir; done;\ + } | xargs -I% find % -type f -iname $$name -print | head -n1; } 2>/dev/null) + ifneq (,$(SYS_MONOSPACED_FONT)) diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix index 7f971150c67..7b153eab869 100644 --- a/pkgs/games/crawl/default.nix +++ b/pkgs/games/crawl/default.nix @@ -1,18 +1,20 @@ -{ stdenv, fetchurl, which, sqlite, lua5_1, perl, zlib, pkgconfig, ncurses +{ stdenv, fetchFromGitHub, which, sqlite, lua5_1, perl, zlib, pkgconfig, ncurses , dejavu_fonts, libpng, SDL, SDL_image, mesa, freetype , tileMode ? true }: -let version = "0.15.2"; +let version = "0.16.1"; in stdenv.mkDerivation rec { name = "crawl-${version}" + (if tileMode then "-tiles" else ""); - src = fetchurl { - url = "mirror://sourceforge/crawl-ref/Stone%20Soup/${version}/stone_soup-${version}-nodeps.tar.xz"; - sha256 = "1qi1g8w0sxmwrv96hnay20gpwp1xn2xcq1cw9iwn1yq112484fp9"; + src = fetchFromGitHub { + owner = "crawl-ref"; + repo = "crawl-ref"; + rev = version; + sha256 = "0gciqaij05qr5bwkk5mblvk5k0p6bzjd58czk1b6x5xx5qcp6mmh"; }; - patches = [ ./makefile_fonts.patch ./makefile_sqlite.patch ]; + patches = [ ./crawl_purify.patch ]; nativeBuildInputs = [ pkgconfig which perl ]; @@ -22,7 +24,8 @@ stdenv.mkDerivation rec { [ libpng SDL SDL_image freetype mesa ]; preBuild = '' - cd source + cd crawl-ref/source + echo "${version}" > util/release_ver # Related to issue #1963 sed -i 's/-fuse-ld=gold//g' Makefile for i in util/*.pl; do diff --git a/pkgs/games/crawl/makefile_fonts.patch b/pkgs/games/crawl/makefile_fonts.patch deleted file mode 100644 index 6c73407b65c..00000000000 --- a/pkgs/games/crawl/makefile_fonts.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- old/source/Makefile 2013-11-28 01:03:54.000000000 +0000 -+++ new/source/Makefile 2014-02-05 14:04:32.531838188 +0000 -@@ -880,7 +880,7 @@ - INSTALL_FONTS += $(PROPORTIONAL_FONT) - endif - else -- SYS_PROPORTIONAL_FONT = $(shell dir=/usr/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1) -+ SYS_PROPORTIONAL_FONT = $(shell dir=${dejavu_fonts}/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1) - ifeq (,$(SYS_PROPORTIONAL_FONT)) - SYS_PROPORTIONAL_FONT = $(shell dir=/usr/local/share/fonts ; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1) - endif -@@ -903,7 +903,7 @@ - INSTALL_FONTS += $(MONOSPACED_FONT) - endif - else -- SYS_MONOSPACED_FONT = $(shell dir=/usr/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1) -+ SYS_MONOSPACED_FONT = $(shell dir=${dejavu_fonts}/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1) - ifeq (,$(SYS_MONOSPACED_FONT)) - SYS_MONOSPACED_FONT = $(shell dir=/usr/local/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1) - endif diff --git a/pkgs/games/crawl/makefile_sqlite.patch b/pkgs/games/crawl/makefile_sqlite.patch deleted file mode 100644 index fbcb925d608..00000000000 --- a/pkgs/games/crawl/makefile_sqlite.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- old/source/Makefile 2014-04-14 12:46:35.401956673 +0000 -+++ new/source/Makefile 2014-04-14 12:47:12.757006254 +0000 -@@ -259,7 +259,7 @@ - LIBZ := contrib/install/$(ARCH)/lib/libz.a - - ifndef CROSSHOST -- SQLITE_INCLUDE_DIR := /usr/include -+ SQLITE_INCLUDE_DIR := ${sqlite}/include - else - # This is totally wrong, works only with some old-style setups, and - # on some architectures of Debian/new FHS multiarch -- excluding, for From 602ff464034bd6c824eaa433221d9af0a5fed133 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:04:07 +0300 Subject: [PATCH 63/79] winetricks: update --- pkgs/misc/emulators/wine/winetricks.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/misc/emulators/wine/winetricks.nix index e65530e38c3..34a2a6efbbb 100644 --- a/pkgs/misc/emulators/wine/winetricks.nix +++ b/pkgs/misc/emulators/wine/winetricks.nix @@ -1,13 +1,15 @@ -{ stdenv, fetchgit, wine, perl, which, coreutils, zenity, curl +{ stdenv, fetchFromGitHub, wine, perl, which, coreutils, zenity, curl , cabextract, unzip, p7zip, gnused, gnugrep, bash } : -stdenv.mkDerivation rec { - name = "winetricks-20150206"; +let version = "20150316"; +in stdenv.mkDerivation rec { + name = "winetricks-${version}"; - src = fetchgit { - url = "https://code.google.com/p/winetricks/"; - rev = "483056823093a90c9186b3d1a4867f481acf5fa1"; - sha256 = "8b86a2a130ced405886775f0f81e7a6b25eb1bc22f357d0fe705fead52fff829"; + src = fetchFromGitHub { + owner = "Winetricks"; + repo = "winetricks"; + rev = version; + sha256 = "00c55jpca6l3v3p02xc0gy5l4xb17gf90282hq5h85nh72kqsbrh"; }; buildInputs = [ perl which ]; From f0c54d671a0ae0444662f4648d38525cd5ba16a9 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:04:18 +0300 Subject: [PATCH 64/79] android-udev-rules: update --- pkgs/os-specific/linux/android-udev-rules/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix index 534ba997004..b30e0f61b1b 100644 --- a/pkgs/os-specific/linux/android-udev-rules/default.nix +++ b/pkgs/os-specific/linux/android-udev-rules/default.nix @@ -5,8 +5,8 @@ stdenv.mkDerivation { src = fetchgit { url = "git://github.com/M0Rf30/android-udev-rules"; - rev = "82f78561f388363a925e6663211988d9527de0c6"; - sha256 = "badd7a152acf92c75335917c07125ffb1b5fda0bed5ec1e474d76e48a8d9f0db"; + rev = "2cc51a456ccfbca338c4e6b76211645aaac631e9"; + sha256 = "dbf1614cebb466d1adbcc5f17cefc0c37f148f9e3b46443b3e82f6cd19a1514f"; }; installPhase = '' From fb8ed6efd4fd9ebcb589730588ad0298cf3f1075 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:04:44 +0300 Subject: [PATCH 65/79] ocz-toolbox: remove (obsoleted by SSD Guru) --- .../os-specific/linux/ocz-toolbox/default.nix | 37 ------------------- pkgs/top-level/all-packages.nix | 2 - 2 files changed, 39 deletions(-) delete mode 100644 pkgs/os-specific/linux/ocz-toolbox/default.nix diff --git a/pkgs/os-specific/linux/ocz-toolbox/default.nix b/pkgs/os-specific/linux/ocz-toolbox/default.nix deleted file mode 100644 index 4537cdac3e9..00000000000 --- a/pkgs/os-specific/linux/ocz-toolbox/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ stdenv, fetchurl, libXrender, fontconfig, freetype, libXext, libX11 }: - -let arch = if stdenv.system == "x86_64-linux" then "64" - else if stdenv.system == "i686-linux" then "32" - else abort "OCZ Toolbox only support {x86-64,i686}-linux targets"; -in stdenv.mkDerivation rec { - version = "4.9.0.634"; - name = "ocz-toolbox-${version}"; - - src = fetchurl { - url = "http://ocz.com/consumer/download/firmware/OCZToolbox_v${version}_linux.tar.gz"; - sha256 = "0h51p5bg9h2smxxy1r4xkzzjjavhgql7yy12qmjk0vbh13flgx3y"; - }; - - prePatch = '' - cd linux${arch} - ''; - - libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libXrender fontconfig freetype libXext libX11 ]; - - installPhase = '' - install -Dm755 OCZToolbox $out/bin/OCZToolbox - patchelf \ - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "$libPath" \ - $out/bin/OCZToolbox - ''; - - dontStrip = true; - - meta = with stdenv.lib; { - description = "Update firmware and BIOS, secure erase, view SMART attributes, and view drive details of your OCZ SSD"; - homepage = "http://ocz.com/consumer/download/firmware"; - license = licenses.unfree; - maintainers = with maintainers; [ abbradar ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c42da184bd0..5ffab19b26f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2179,8 +2179,6 @@ let obnam = callPackage ../tools/backup/obnam { }; - ocz-toolbox = callPackage ../os-specific/linux/ocz-toolbox { }; - odt2txt = callPackage ../tools/text/odt2txt { }; odamex = callPackage ../games/odamex { }; From fefede9807aa944323a41ac03b1be050c4dd3ff8 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:04:58 +0300 Subject: [PATCH 66/79] uwsgi: update --- pkgs/servers/uwsgi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix index 60903314bf1..bf168611f38 100644 --- a/pkgs/servers/uwsgi/default.nix +++ b/pkgs/servers/uwsgi/default.nix @@ -24,11 +24,11 @@ in assert builtins.filter (x: lib.all (y: y.name != x) available) plugins == []; stdenv.mkDerivation rec { - name = "uwsgi-2.0.9"; + name = "uwsgi-2.0.10"; src = fetchurl { url = "http://projects.unbit.it/downloads/${name}.tar.gz"; - sha256 = "15c2j5myx1s54a1f6a7pjblvk7v96mz2kqlbj19mdfd8l2y8j17y"; + sha256 = "12q2sn35vf1ils5043svq8da0czy54k63ziybvl33a9dqbb83cy0"; }; nativeBuildInputs = [ python3 pkgconfig ]; From 9ed21f3a49b5fb7a290daddf2eb51f0a69e95a3c Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:05:06 +0300 Subject: [PATCH 67/79] lbzip2: style fix --- pkgs/tools/compression/lbzip2/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/compression/lbzip2/default.nix b/pkgs/tools/compression/lbzip2/default.nix index 73bc987908d..e1adefd2167 100644 --- a/pkgs/tools/compression/lbzip2/default.nix +++ b/pkgs/tools/compression/lbzip2/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { name = "lbzip2-2.5"; From cb7eeca1478a43e9c54b519f376bab4967ec52ef Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 29 Mar 2015 05:05:14 +0300 Subject: [PATCH 68/79] fprintd: update --- pkgs/tools/security/fprintd/default.nix | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix index 3535aef39e0..fb72782abee 100644 --- a/pkgs/tools/security/fprintd/default.nix +++ b/pkgs/tools/security/fprintd/default.nix @@ -1,19 +1,16 @@ -{ stdenv, fetchgit, automake, autoconf, libtool, pkgconfig, gtk_doc -, libfprint, intltool, glib, dbus_glib, polkit, nss, pam, systemd }: +{ stdenv, fetchurl, pkgconfig, intltool +, libfprint, glib, dbus_glib, polkit, nss, pam, systemd }: stdenv.mkDerivation rec { - name = "fprintd"; + name = "fprintd-0.6.0"; - src = fetchgit { - url = "git://anongit.freedesktop.org/libfprint/fprintd"; - rev = "f7c51b0d585eb63702f0d005081e53f44325df86"; - sha256 = "1gmnn72ablfxvv13s0rms5f39hc4y2z97aq44d7l9hblnfn6wq12"; + src = fetchurl { + url = "http://people.freedesktop.org/~hadess/${name}.tar.xz"; + sha256 = "1by6nvlrqkwzcz2v2kyq6avi3h384vmlr42vj9s2yzcinkp64m1z"; }; buildInputs = [ libfprint glib dbus_glib polkit nss pam systemd ]; - nativeBuildInputs = [ automake libtool autoconf gtk_doc pkgconfig intltool ]; - - configureScript = "./autogen.sh"; + nativeBuildInputs = [ pkgconfig intltool ]; configureFlags = [ "--with-systemdsystemunitdir=$(out)/lib/systemd/system" ]; From d98e0377744513f16e1851e22ba6e8c44f6d58db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Sun, 29 Mar 2015 12:05:33 +0200 Subject: [PATCH 69/79] kodi: 14.1 -> 14.2 --- pkgs/applications/video/kodi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix index c1b17cd89ca..f296ca3edcf 100644 --- a/pkgs/applications/video/kodi/default.nix +++ b/pkgs/applications/video/kodi/default.nix @@ -43,11 +43,11 @@ let }; in stdenv.mkDerivation rec { name = "kodi-" + version; - version = "14.1"; + version = "14.2"; src = fetchurl { url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz"; - sha256 = "1mjmf8ag8dg5brzxy7cmnz72b1b85p69zr1li28j71fgjbi5k053"; + sha256 = "1x37l8db6xrvdw933p804lnwvkcm4vdb9gm5i6vmz4ha8f88bjyr"; }; buildInputs = [ From 9fde4cc2f09baa1e2f77684a60f6da0f53dd07c6 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Sat, 28 Mar 2015 10:20:48 +0100 Subject: [PATCH 70/79] dovecot: Update from 2.2.15 to 2.2.16 --- pkgs/servers/mail/dovecot/2.2.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix index c9776b34b9d..a774777709f 100644 --- a/pkgs/servers/mail/dovecot/2.2.x.nix +++ b/pkgs/servers/mail/dovecot/2.2.x.nix @@ -2,14 +2,14 @@ , inotifyTools, clucene_core_2, sqlite }: stdenv.mkDerivation rec { - name = "dovecot-2.2.15"; + name = "dovecot-2.2.16"; buildInputs = [perl openssl bzip2 zlib openldap clucene_core_2 sqlite] ++ stdenv.lib.optionals (stdenv.isLinux) [ systemd pam inotifyTools ]; src = fetchurl { url = "http://dovecot.org/releases/2.2/${name}.tar.gz"; - sha256 = "17rr7krfvyk706j12y9wy6nf7wh5vppqjrgxjdf66z9nw9lpf3ni"; + sha256 = "1w6gg4h9mxg3i8faqpmgj19imzyy001b0v8ihch8ma3zl63i5kjn"; }; preConfigure = '' From 69874c27ec999ed80179a7d679f211e7c49146a5 Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sun, 29 Mar 2015 11:07:51 +0000 Subject: [PATCH 71/79] awesome manpage is broken in chroot builds, disable for now --- pkgs/applications/window-managers/awesome/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix index 3b655b55c9c..3541743057c 100644 --- a/pkgs/applications/window-managers/awesome/default.nix +++ b/pkgs/applications/window-managers/awesome/default.nix @@ -2,8 +2,9 @@ , xlibs, libstartup_notification, libxdg_basedir, libpthreadstubs , xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter , compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm -, which, dbus, nettools, git, asciidoc, doxygen, xmlto, docbook_xml_dtd_45 -, docbook_xsl }: +, which, dbus, nettools, git, asciidoc, doxygen +#, xmlto, docbook_xml_dtd_45 , docbook_xsl +}: let version = "3.5.6"; @@ -54,10 +55,10 @@ stdenv.mkDerivation rec { xlibs.xcbutilkeysyms xlibs.xcbutilrenderutil xlibs.xcbutilwm - xmlto docbook_xml_dtd_45 docbook_xsl + #xmlto docbook_xml_dtd_45 docbook_xsl ]; - cmakeFlags = "-DGENERATE_MANPAGES=ON"; + #cmakeFlags = "-DGENERATE_MANPAGES=ON"; LD_LIBRARY_PATH = "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib"; GI_TYPELIB_PATH = "${pango}/lib/girepository-1.0"; From f079de2dbfad62be3a991d852513ff64a142fc2c Mon Sep 17 00:00:00 2001 From: Andreas Baldeau Date: Sun, 29 Mar 2015 14:20:02 +0200 Subject: [PATCH 72/79] Added WebStorm IDE --- lib/maintainers.nix | 1 + pkgs/applications/editors/idea/default.nix | 29 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 358cbda44e4..05fbad6634a 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -5,6 +5,7 @@ alphabetically sorted. */ _1126 = "Christian Lask "; + abaldeau = "Andreas Baldeau "; abbradar = "Nikolay Amiantov "; aforemny = "Alexander Foremny "; aherrmann = "Andreas Herrmann "; diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 9c4683b8c9e..0d6851a79e8 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -160,6 +160,23 @@ let }; }); + buildWebStorm = { name, version, build, src, license, description }: + (mkIdeaProduct { + inherit name version build src; + product = "WebStorm"; + meta = with stdenv.lib; { + homepage = "https://www.jetbrains.com/webstorm/"; + inherit description license; + longDescription = '' + WebStorm provides an editor for HTML, JavaScript (incl. Node.js), + and CSS with on-the-fly code analysis, error prevention and + automated refactorings for JavaScript code. + ''; + maintainers = with maintainers; [ abaldeau ]; + platforms = platforms.linux; + }; + }); + buildPycharm = { name, version, build, src, license, description }: (mkIdeaProduct rec { inherit name version build src; @@ -288,4 +305,16 @@ in }; }; + webstorm = buildWebStorm rec { + name = "webstorm-${version}"; + version = "9.0.3"; + build = "139.1112"; + description = "Professional IDE for Web and JavaScript devlopment"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz"; + sha256 = "e4cfe7b5f1220b68d880c4f236df9c9df2b1efcc04775afad6149d949f45f0aa"; + }; + }; + } From c31f1d99a51e97178db0dc642d63a2b534301286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 29 Mar 2015 21:40:57 +0200 Subject: [PATCH 73/79] fix linux 3.2/3.4 builds --- pkgs/os-specific/linux/kernel/common-config.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index c38636ffac3..a2af42761b9 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -302,7 +302,9 @@ with stdenv.lib; ${optionalString (versionAtLeast version "3.6") '' RC_DEVICES? y # Enable IR devices ''} - RT2800USB_RT55XX y + ${optionalString (versionAtLeast version "3.10") '' + RT2800USB_RT55XX y + ''} SCSI_LOGGING y # SCSI logging facility SERIAL_8250 y # 8250/16550 and compatible serial support SLIP_COMPRESSED y # CSLIP compressed headers From 553105310a5a1a2280fc2c40773ab1cf3fdfad98 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 29 Mar 2015 13:20:27 -0700 Subject: [PATCH 74/79] nixos/stage-1: Fix the initrd builder for shell scripts --- nixos/modules/system/boot/stage-1.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index ec696d838cc..0bf5a2f3c80 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -45,8 +45,7 @@ let copy_bin_and_libs () { [ -f "$out/bin/$(basename $1)" ] && return 0 cp -pdv $1 $out/bin - LDD="$(ldd $1)" - [ "$?" -eq "1" ] && return 0 + LDD="$(ldd $1)" || return 0 LIBS="$(echo "$LDD" | awk '{print $3}' | sed '/^$/d')" for LIB in $LIBS; do [ ! -f "$out/lib/$(basename $LIB)" ] && cp -pdv $LIB $out/lib From 299da40f9f1e00f9eb4e8e09c8456e91a83a424b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 24 Mar 2015 22:34:28 +0100 Subject: [PATCH 75/79] iso: make efi FS size adaptive, make deterministic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #6795. This was co-authored with @bobvanderlinden. (cherry picked from commit e19ac248ae59fd327c32b1ae3e37792c22a7c7ac) Signed-off-by: Domen Kožar Conflicts: nixos/modules/installer/cd-dvd/iso-image.nix --- nixos/modules/installer/cd-dvd/iso-image.nix | 32 +++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 39db7d9b8f7..8f17e720aca 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -56,17 +56,28 @@ let echo "timeout 5" >> $out/loader/loader.conf ''; - efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools ]; } + efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools pkgs.libfaketime ]; } + # Be careful about determinism: du --apparent-size, + # dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i) '' - #Let's hope 15M is enough - dd bs=2048 count=7680 if=/dev/zero of="$out" - ${pkgs.dosfstools}/sbin/mkfs.vfat "$out" - mcopy -svi "$out" ${efiDir}/* :: - mmd -i "$out" boot - mcopy -v -i "$out" \ - ${config.boot.kernelPackages.kernel}/bzImage ::boot/bzImage - mcopy -v -i "$out" \ - ${config.system.build.initialRamdisk}/initrd ::boot/initrd + mkdir ./contents && cd ./contents + cp -rp "${efiDir}"/* . + mkdir ./boot + cp -p "${config.boot.kernelPackages.kernel}/bzImage" \ + "${config.system.build.initialRamdisk}/initrd" ./boot/ + touch --date=@0 ./* + + usage_size=$(du -sb --apparent-size . | tr -cd '[:digit:]') + # Make the image 110% as big as the files need to make up for FAT overhead + image_size=$(( ($usage_size * 110) / 100 )) + # Make the image fit blocks of 1M + block_size=$((1024*1024)) + image_size=$(( ($image_size / $block_size + 1) * $block_size )) + echo "Usage size: $usage_size" + echo "Image size: $image_size" + truncate --size=$image_size "$out" + ${pkgs.libfaketime}/bin/faketime "2000-01-01 00:00:00" ${pkgs.dosfstools}/sbin/mkfs.vfat -i 12345678 -n EFIBOOT "$out" + mcopy -bpsvm -i "$out" ./* :: ''; # */ targetArch = if pkgs.stdenv.isi686 then @@ -155,7 +166,6 @@ in }; - config = { boot.loader.grub.version = 2; From a7d73f84bf6f2fd1af9ccecd852d51670edc75c5 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sun, 29 Mar 2015 15:26:09 -0500 Subject: [PATCH 76/79] add lsdvd-0.17 --- pkgs/tools/cd-dvd/lsdvd/default.nix | 20 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/tools/cd-dvd/lsdvd/default.nix diff --git a/pkgs/tools/cd-dvd/lsdvd/default.nix b/pkgs/tools/cd-dvd/lsdvd/default.nix new file mode 100644 index 00000000000..33677d5b10d --- /dev/null +++ b/pkgs/tools/cd-dvd/lsdvd/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, libdvdread, pkgconfig }: + +let + version = "0.17"; +in +stdenv.mkDerivation { + name = "lsdvd-${version}"; + src = fetchurl { + url = "mirror://sourceforge/lsdvd/lsdvd-${version}.tar.gz"; + sha256 = "1274d54jgca1prx106iyir7200aflr70bnb1kawndlmcckcmnb3x"; + }; + + buildInputs = [ libdvdread ]; + nativeBuildInputs = [ pkgconfig ]; + + meta = { + homepage = "http://sourceforge.net/projects/lsdvd/"; + shortDescription = "Display information about audio, video, and subtitle tracks on a DVD"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5ffab19b26f..d8e6bdd6b37 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1771,6 +1771,8 @@ let logstash-forwarder = callPackage ../tools/misc/logstash-forwarder { }; + lsdvd = callPackage ../tools/cd-dvd/lsdvd {}; + kippo = callPackage ../servers/kippo { }; klavaro = callPackage ../games/klavaro {}; From b09a6573a081920e9f247f963a526d64f250bfa0 Mon Sep 17 00:00:00 2001 From: Karn Kallio Date: Sun, 29 Mar 2015 14:26:07 -0430 Subject: [PATCH 77/79] indilib version advance; older sources no longer available --- pkgs/desktops/kde-4.14/kde-package/4.14.3.nix | 3 --- pkgs/desktops/kde-4.14/kdeedu/kstars.nix | 14 ------------ pkgs/development/libraries/indilib/0_9_9.nix | 21 ------------------ .../development/libraries/indilib/default.nix | 14 +++++++----- .../libraries/indilib/link-zlib.patch | 12 ---------- .../libraries/indilib/udev-dir.patch | 22 +++++++++---------- pkgs/top-level/all-packages.nix | 2 -- 7 files changed, 19 insertions(+), 69 deletions(-) delete mode 100644 pkgs/desktops/kde-4.14/kdeedu/kstars.nix delete mode 100644 pkgs/development/libraries/indilib/0_9_9.nix delete mode 100644 pkgs/development/libraries/indilib/link-zlib.patch diff --git a/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix b/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix index b1673d4b4e8..a78041c5a0c 100644 --- a/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix +++ b/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix @@ -116,7 +116,6 @@ hashes=builtins.listToAttrs[ {name="ksnapshot";value="10grzlp7sq367g91858d16sadzipzmgwczhnb5xvy0437lqhhz7c";} {name="kspaceduel";value="0cwgmpv2xcjwz914hqx6rivi5sk4x66imcdqy7pjnj5vk4f197m7";} {name="ksquares";value="1zzg6y6zfqd1a0939hd1wy7ix4wld7ixp5pz2qs315g51m9lpn7i";} - {name="kstars";value="1pjvy476yjir4z6x1j7192xjr9m0zcxq3x3lpvsxf92pk3l4c73p";} {name="ksudoku";value="0qgjx7fbawhn63vv37wv4z56jf0gi4chs64aw9bllbq52syirmgb";} {name="ksystemlog";value="11xh1psqhq7vimymb394kxjk83yax3gzi9fdckjspk6p10cycln2";} {name="kteatime";value="16rrlxc67afkin3afdf1s9dlr7z2281dfsja64pdrrdilwwpyqwi";} @@ -288,7 +287,6 @@ versions=builtins.listToAttrs[ {name="ksnapshot";value="4.14.3";} {name="kspaceduel";value="4.14.3";} {name="ksquares";value="4.14.3";} - {name="kstars";value="4.14.3";} {name="ksudoku";value="4.14.3";} {name="ksystemlog";value="4.14.3";} {name="kteatime";value="4.14.3";} @@ -529,7 +527,6 @@ modules=[ { name="klettres"; } { name="kmplot"; } { name="kqtquickcharts"; } - { name="kstars"; } { name="ktouch"; } { name="kturtle"; } { name="kwordquiz"; } diff --git a/pkgs/desktops/kde-4.14/kdeedu/kstars.nix b/pkgs/desktops/kde-4.14/kdeedu/kstars.nix deleted file mode 100644 index a5e9bee180e..00000000000 --- a/pkgs/desktops/kde-4.14/kdeedu/kstars.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ kde, kdelibs, eigen, xplanet, indilib_0_9_9, pkgconfig, qjson }: - -kde { - -# TODO: wcslib, astrometry - - buildInputs = [ kdelibs eigen xplanet indilib_0_9_9 qjson ]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "A KDE graphical desktop planetarium"; - }; -} diff --git a/pkgs/development/libraries/indilib/0_9_9.nix b/pkgs/development/libraries/indilib/0_9_9.nix deleted file mode 100644 index f9447b14364..00000000000 --- a/pkgs/development/libraries/indilib/0_9_9.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ stdenv, fetchurl, cmake, cfitsio, libusb1, zlib, boost, libnova, libjpeg, gsl, pkgconfig }: - -stdenv.mkDerivation { - name = "indilib-0.9.9"; - - src = fetchurl { - url = mirror://sourceforge/indi/libindi_0.9.9.tar.gz; - sha256 = "720b9096baef1489fd7d7d4a236177863a7f7cec86809f21d291b0d9758e4039"; - }; - - propagatedBuildInputs = [ cfitsio libusb1 zlib boost libnova libjpeg gsl ]; - nativeBuildInputs = [ cmake pkgconfig ]; - - preConfigure = '' - cmakeFlags+=" -DUDEVRULES_INSTALL_DIR=$out/etc/udev/rules.d" - ''; - - meta = { - homepage = http://indi.sf.net; - }; -} diff --git a/pkgs/development/libraries/indilib/default.nix b/pkgs/development/libraries/indilib/default.nix index dd8207ffa2b..b060498d40a 100644 --- a/pkgs/development/libraries/indilib/default.nix +++ b/pkgs/development/libraries/indilib/default.nix @@ -1,16 +1,18 @@ -{ stdenv, fetchurl, cmake, cfitsio, libusb, zlib, boost }: +{ stdenv, fetchurl, cmake, cfitsio, libusb, zlib, boost, libnova +, libjpeg, gsl }: stdenv.mkDerivation { - name = "indilib-0.9.6"; + name = "indilib-1.0.0"; src = fetchurl { - url = mirror://sourceforge/indi/libindi_0.9.6.tar.gz; - sha256 = "1cyhsrsl68iczc4gcdnrrdh0r1dxjac6prxjfkw15wz97ya0mvs4"; + url = mirror://sourceforge/indi/libindi_1.0.0.tar.gz; + sha256 = "0f66jykpjk8mv50lc3rywbqj9mqr4p2n1igfb1222h5fs83c1jhm"; }; - patches = [ ./link-zlib.patch ./udev-dir.patch ]; + patches = [ ./udev-dir.patch ] ; - propagatedBuildInputs = [ cmake cfitsio libusb zlib boost ]; + propagatedBuildInputs = [ cmake cfitsio libusb zlib boost + libnova libjpeg gsl ]; meta = { homepage = http://indi.sf.net; diff --git a/pkgs/development/libraries/indilib/link-zlib.patch b/pkgs/development/libraries/indilib/link-zlib.patch deleted file mode 100644 index c051194a1b8..00000000000 --- a/pkgs/development/libraries/indilib/link-zlib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur libindi-0.9.6-upstream/CMakeLists.txt libindi-0.9.6/CMakeLists.txt ---- libindi-0.9.6-upstream/CMakeLists.txt 2012-11-19 16:09:14.000000000 -0430 -+++ libindi-0.9.6/CMakeLists.txt 2013-05-02 16:50:25.666624174 -0430 -@@ -169,7 +169,7 @@ - # To link with main() and indibase classes ###### - ################################################## - add_library(indidriver SHARED ${libindicom_SRCS} ${liblilxml_SRCS} ${indimain_SRCS} ${indidriver_SRCS}) --target_link_libraries(indidriver ${LIBUSB_LIBRARIES}) -+target_link_libraries(indidriver z ${LIBUSB_LIBRARIES}) - if (NOVA_FOUND) - target_link_libraries(indidriver ${NOVA_LIBRARIES}) - endif(NOVA_FOUND) diff --git a/pkgs/development/libraries/indilib/udev-dir.patch b/pkgs/development/libraries/indilib/udev-dir.patch index 2f6d03d6070..0f497419e70 100644 --- a/pkgs/development/libraries/indilib/udev-dir.patch +++ b/pkgs/development/libraries/indilib/udev-dir.patch @@ -1,12 +1,12 @@ -diff -Naur libindi-0.9.6-upstream/CMakeLists.txt libindi-0.9.6/CMakeLists.txt ---- libindi-0.9.6-upstream/CMakeLists.txt 2012-11-19 16:09:14.000000000 -0430 -+++ libindi-0.9.6/CMakeLists.txt 2013-05-02 17:02:55.455944987 -0430 -@@ -13,7 +13,7 @@ - set(DATA_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/indi/") - set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin") - set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include") --set(UDEVRULES_INSTALL_DIR "/etc/udev/rules.d") -+set(UDEVRULES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/etc/udev/rules.d") +diff -Naur libindi-1.0.0-upstream/CMakeLists.txt libindi-1.0.0/CMakeLists.txt +--- libindi-1.0.0-upstream/CMakeLists.txt 2015-03-28 21:06:49.576863460 -0430 ++++ libindi-1.0.0/CMakeLists.txt 2015-03-28 21:07:48.420677548 -0430 +@@ -28,7 +28,7 @@ + ## the following are directories where stuff will be installed to + set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/") + set(PKGCONFIG_INSTALL_PREFIX "${LIB_DESTINATION}/pkgconfig/") +-set(UDEVRULES_INSTALL_DIR "/lib/udev/rules.d" CACHE STRING "Base directory for udev rules") ++set(UDEVRULES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d" CACHE STRING "Base directory for udev rules") - IF(APPLE) - set(CMAKE_SHARED_LINKER_FLAGS "-undefined dynamic_lookup") + ################## Includes ################################ + Include (CheckCXXSourceCompiles) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d8e6bdd6b37..09d620c3823 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6058,8 +6058,6 @@ let indilib = callPackage ../development/libraries/indilib { }; - indilib_0_9_9 = callPackage ../development/libraries/indilib/0_9_9.nix { }; - iniparser = callPackage ../development/libraries/iniparser { }; intltool = callPackage ../development/tools/misc/intltool { }; From ca149f2be05b677ccd4a1f8b502c242bc85747c6 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 29 Mar 2015 13:29:57 -0700 Subject: [PATCH 78/79] nixos/mysql: All versions of mysql have mysqld in /bin --- nixos/modules/services/databases/mysql.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index b94a3fbf3de..1e2400d84b3 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -10,8 +10,6 @@ let is55 = mysql.mysqlVersion == "5.5"; - mysqldDir = if is55 then "${mysql}/bin" else "${mysql}/libexec"; - pidFile = "${cfg.pidDir}/mysqld.pid"; mysqldOptions = @@ -182,7 +180,7 @@ in chown -R ${cfg.user} ${cfg.pidDir} ''; - serviceConfig.ExecStart = "${mysqldDir}/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}"; + serviceConfig.ExecStart = "${mysql}/bin/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}"; postStart = '' From eb22e54243cbd7e63f17a56a6bb73526d8112ed2 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 29 Mar 2015 14:06:56 -0700 Subject: [PATCH 79/79] libftdi: 1.1 -> 1.2 --- pkgs/development/libraries/libftdi/1.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix index 273bdb3136e..cd0a2a3c473 100644 --- a/pkgs/development/libraries/libftdi/1.x.nix +++ b/pkgs/development/libraries/libftdi/1.x.nix @@ -9,11 +9,11 @@ assert pythonSupport -> python != null && swig != null; assert docSupport -> doxygen != null; stdenv.mkDerivation rec { - name = "libftdi1-1.1"; + name = "libftdi1-1.2"; src = fetchurl { url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.bz2"; - sha256 = "088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0"; + sha256 = "1ml8hiahnqm4z0xzyjv8kyrkzvhw6l431c3jndg026cjh9f7ksm6"; }; buildInputs = with stdenv.lib; [ cmake pkgconfig confuse ]