From 8e7518f923f9a8104832f898ae00ac1ac91407ed Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Mon, 3 Feb 2014 18:21:42 +0100 Subject: [PATCH 001/118] Added snapBlaze and sqliteSimple haskell packages --- .../libraries/haskell/snap-blaze/default.nix | 14 ++++++++++++++ .../libraries/haskell/sqlite-simple/default.nix | 17 +++++++++++++++++ pkgs/top-level/haskell-packages.nix | 4 ++++ 3 files changed, 35 insertions(+) create mode 100644 pkgs/development/libraries/haskell/snap-blaze/default.nix create mode 100644 pkgs/development/libraries/haskell/sqlite-simple/default.nix diff --git a/pkgs/development/libraries/haskell/snap-blaze/default.nix b/pkgs/development/libraries/haskell/snap-blaze/default.nix new file mode 100644 index 00000000000..2b7444cd154 --- /dev/null +++ b/pkgs/development/libraries/haskell/snap-blaze/default.nix @@ -0,0 +1,14 @@ +{ cabal, blazeHtml, snapCore }: + +cabal.mkDerivation (self: { + pname = "snap-blaze"; + version = "0.2.1.2"; + sha256 = "136i5q9ipfqrh7fw8rgn1ws6zkjdrfwfq9wpccrm8dg3l61380wh"; + buildDepends = [ blazeHtml snapCore ]; + meta = { + homepage = "http://github.com/jaspervdj/snap-blaze"; + description = "blaze-html integration for Snap"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/sqlite-simple/default.nix b/pkgs/development/libraries/haskell/sqlite-simple/default.nix new file mode 100644 index 00000000000..c566cd19d82 --- /dev/null +++ b/pkgs/development/libraries/haskell/sqlite-simple/default.nix @@ -0,0 +1,17 @@ +{ cabal, base16Bytestring, directSqlite, HUnit, text, time +, transformers +}: + +cabal.mkDerivation (self: { + pname = "sqlite-simple"; + version = "0.4.4.0"; + sha256 = "09vgy3hji0bjb3bwxwkwhmgf50q442dqr3d86g5l5s3xiw3hca0r"; + buildDepends = [ directSqlite text time transformers ]; + testDepends = [ base16Bytestring directSqlite HUnit text time ]; + meta = { + homepage = "http://github.com/nurpax/sqlite-simple"; + description = "Mid-Level SQLite client library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 783b868f804..8e9db7f21c4 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2111,6 +2111,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x snapletAcidState = callPackage ../development/libraries/haskell/snaplet-acid-state {}; + snapBlaze = callPackage ../development/libraries/haskell/snap-blaze/default.nix {}; + snapCore = callPackage ../development/libraries/haskell/snap/core.nix {}; snapLoaderDynamic = callPackage ../development/libraries/haskell/snap/loader-dynamic.nix {}; @@ -2211,6 +2213,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x split_0_2_2 = callPackage ../development/libraries/haskell/split/0.2.2.nix {}; split = self.split_0_2_2; + sqliteSimple = callPackage ../development/libraries/haskell/sqlite-simple/default.nix {}; + stbImage = callPackage ../development/libraries/haskell/stb-image {}; stm_2_1_1_2 = callPackage ../development/libraries/haskell/stm/2.1.1.2.nix {}; From 2c8e492691aeaac55fe6971ce7b74aa8188fe14c Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Tue, 4 Feb 2014 18:09:12 +0100 Subject: [PATCH 002/118] Generate hoogle databases beside HTML haddock documentation for Haskell packages --- pkgs/build-support/cabal/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix index 6dc83963d19..5e028863b06 100644 --- a/pkgs/build-support/cabal/default.nix +++ b/pkgs/build-support/cabal/default.nix @@ -220,7 +220,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; ./Setup build ${self.buildTarget} export GHC_PACKAGE_PATH=$(${ghc.GHCPackages}) - test -n "$noHaddock" || ./Setup haddock + test -n "$noHaddock" || ./Setup haddock --html --hoogle eval "$postBuild" ''; From 1920d6854ad04a57e3aa653ea6253f244532364c Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 4 Feb 2014 22:13:24 -0600 Subject: [PATCH 003/118] Add pythonPackages.pysphere 0.1.8 Signed-off-by: Austin Seipp --- pkgs/top-level/python-packages.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b639f739a05..48d0a8c5db3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5388,6 +5388,21 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + pysphere = buildPythonPackage rec { + name = "pysphere-0.1.8"; + + src = fetchurl { + url = "http://pysphere.googlecode.com/files/${name}.zip"; + md5 = "c57cba33626ac4b1e3d1974923d59232"; + }; + + buildInputs = [ pkgs.unzip ]; + meta = { + homepage = "https://code.google.com/p/pysphere/"; + license = "BSD"; + description = "Python API for interaction with the VMWare vSphere"; + }; + }; pysqlite = buildPythonPackage (rec { name = "pysqlite-2.6.3"; From 9eaf987e623a76c915578de8fda25b21996c9b1c Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Wed, 5 Feb 2014 10:19:28 +0100 Subject: [PATCH 004/118] nodejs: update packages --- pkgs/top-level/node-packages-generated.nix | 80 +++++++++++----------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix index fd4077e4e4c..80910e5a7d9 100644 --- a/pkgs/top-level/node-packages-generated.nix +++ b/pkgs/top-level/node-packages-generated.nix @@ -144,14 +144,14 @@ passthru.names = [ "adm-zip" ]; }; by-spec."adm-zip"."~0.4.3" = - self.by-version."adm-zip"."0.4.3"; - by-version."adm-zip"."0.4.3" = lib.makeOverridable self.buildNodePackage { - name = "node-adm-zip-0.4.3"; + self.by-version."adm-zip"."0.4.4"; + by-version."adm-zip"."0.4.4" = lib.makeOverridable self.buildNodePackage { + name = "node-adm-zip-0.4.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.3.tgz"; - name = "adm-zip-0.4.3.tgz"; - sha1 = "28d6a3809abb7845a0ffa38f9fff455c2c6f6f6c"; + url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz"; + name = "adm-zip-0.4.4.tgz"; + sha1 = "a61ed5ae6905c3aea58b3a657d25033091052736"; }) ]; buildInputs = @@ -3365,7 +3365,7 @@ buildInputs = (self.nativeDeps."decompress" or []); deps = [ - self.by-version."adm-zip"."0.4.3" + self.by-version."adm-zip"."0.4.4" self.by-version."mkdirp"."0.3.5" self.by-version."mout"."0.6.0" self.by-version."rimraf"."2.2.6" @@ -4888,14 +4888,14 @@ passthru.names = [ "forever-agent" ]; }; by-spec."forever-agent"."~0.5.0" = - self.by-version."forever-agent"."0.5.0"; - by-version."forever-agent"."0.5.0" = lib.makeOverridable self.buildNodePackage { - name = "node-forever-agent-0.5.0"; + self.by-version."forever-agent"."0.5.2"; + by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage { + name = "node-forever-agent-0.5.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.0.tgz"; - name = "forever-agent-0.5.0.tgz"; - sha1 = "0c1647a74f3af12d76a07a99490ade7c7249c8f0"; + url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"; + name = "forever-agent-0.5.2.tgz"; + sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130"; }) ]; buildInputs = @@ -5884,7 +5884,7 @@ ]; peerDependencies = [ self.by-version."grunt"."0.4.2" - self.by-version."karma"."0.11.13" + self.by-version."karma"."0.11.14" ]; passthru.names = [ "grunt-karma" ]; }; @@ -7372,14 +7372,14 @@ passthru.names = [ "junk" ]; }; by-spec."karma"."*" = - self.by-version."karma"."0.11.13"; - by-version."karma"."0.11.13" = lib.makeOverridable self.buildNodePackage { - name = "karma-0.11.13"; + self.by-version."karma"."0.11.14"; + by-version."karma"."0.11.14" = lib.makeOverridable self.buildNodePackage { + name = "karma-0.11.14"; src = [ (fetchurl { - url = "http://registry.npmjs.org/karma/-/karma-0.11.13.tgz"; - name = "karma-0.11.13.tgz"; - sha1 = "f63da4f9d14669c6b3d2d9feb7f4406c4cd004c0"; + url = "http://registry.npmjs.org/karma/-/karma-0.11.14.tgz"; + name = "karma-0.11.14.tgz"; + sha1 = "2f6f81611bfe62e588d4e1d63c14f3928971a77c"; }) ]; buildInputs = @@ -7408,15 +7408,15 @@ ]; passthru.names = [ "karma" ]; }; - "karma" = self.by-version."karma"."0.11.13"; + "karma" = self.by-version."karma"."0.11.14"; by-spec."karma".">=0.11.11" = - self.by-version."karma"."0.11.13"; + self.by-version."karma"."0.11.14"; by-spec."karma".">=0.9" = - self.by-version."karma"."0.11.13"; + self.by-version."karma"."0.11.14"; by-spec."karma".">=0.9.3" = - self.by-version."karma"."0.11.13"; + self.by-version."karma"."0.11.14"; by-spec."karma"."~0.11.0" = - self.by-version."karma"."0.11.13"; + self.by-version."karma"."0.11.14"; by-spec."karma-chrome-launcher"."*" = self.by-version."karma-chrome-launcher"."0.1.2"; by-version."karma-chrome-launcher"."0.1.2" = lib.makeOverridable self.buildNodePackage { @@ -7433,7 +7433,7 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.11.13" + self.by-version."karma"."0.11.14" ]; passthru.names = [ "karma-chrome-launcher" ]; }; @@ -7457,7 +7457,7 @@ self.by-version."dateformat"."1.0.7-1.2.3" ]; peerDependencies = [ - self.by-version."karma"."0.11.13" + self.by-version."karma"."0.11.14" ]; passthru.names = [ "karma-coverage" ]; }; @@ -7479,7 +7479,7 @@ self.by-version."xmlbuilder"."0.4.2" ]; peerDependencies = [ - self.by-version."karma"."0.11.13" + self.by-version."karma"."0.11.14" ]; passthru.names = [ "karma-junit-reporter" ]; }; @@ -7500,7 +7500,7 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.11.13" + self.by-version."karma"."0.11.14" self.by-version."mocha"."1.17.1" ]; passthru.names = [ "karma-mocha" ]; @@ -7522,7 +7522,7 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.11.13" + self.by-version."karma"."0.11.14" self.by-version."requirejs"."2.1.10" ]; passthru.names = [ "karma-requirejs" ]; @@ -7548,7 +7548,7 @@ self.by-version."saucelabs"."0.1.1" ]; peerDependencies = [ - self.by-version."karma"."0.11.13" + self.by-version."karma"."0.11.14" ]; passthru.names = [ "karma-sauce-launcher" ]; }; @@ -9686,7 +9686,7 @@ (fetchurl { url = "http://registry.npmjs.org/nijs/-/nijs-0.0.13.tgz"; name = "nijs-0.0.13.tgz"; - sha1 = "31396055a3cc19ed5b7438c8e6811b9a20f27cfc"; + sha1 = "eba11ace22e3ff73a9dc526b2b955c2e04472572"; }) ]; buildInputs = @@ -9713,7 +9713,7 @@ buildInputs = (self.nativeDeps."node-appc" or []); deps = [ - self.by-version."adm-zip"."0.4.3" + self.by-version."adm-zip"."0.4.4" self.by-version."async"."0.2.10" self.by-version."colors"."0.6.2" self.by-version."diff"."1.0.8" @@ -12073,7 +12073,7 @@ deps = [ self.by-version."qs"."0.6.6" self.by-version."json-stringify-safe"."5.0.0" - self.by-version."forever-agent"."0.5.0" + self.by-version."forever-agent"."0.5.2" self.by-version."node-uuid"."1.4.1" self.by-version."mime"."1.2.11" self.by-version."tough-cookie"."0.12.1" @@ -12191,7 +12191,7 @@ deps = [ self.by-version."qs"."0.6.6" self.by-version."json-stringify-safe"."5.0.0" - self.by-version."forever-agent"."0.5.0" + self.by-version."forever-agent"."0.5.2" self.by-version."tunnel-agent"."0.3.0" self.by-version."http-signature"."0.10.0" self.by-version."hawk"."1.0.0" @@ -12222,7 +12222,7 @@ deps = [ self.by-version."qs"."0.6.6" self.by-version."json-stringify-safe"."5.0.0" - self.by-version."forever-agent"."0.5.0" + self.by-version."forever-agent"."0.5.2" self.by-version."tunnel-agent"."0.3.0" self.by-version."http-signature"."0.10.0" self.by-version."hawk"."1.0.0" @@ -12253,7 +12253,7 @@ deps = [ self.by-version."qs"."0.6.6" self.by-version."json-stringify-safe"."5.0.0" - self.by-version."forever-agent"."0.5.0" + self.by-version."forever-agent"."0.5.2" self.by-version."node-uuid"."1.4.1" self.by-version."mime"."1.2.11" self.by-version."tough-cookie"."0.9.15" @@ -12284,7 +12284,7 @@ deps = [ self.by-version."qs"."0.6.6" self.by-version."json-stringify-safe"."5.0.0" - self.by-version."forever-agent"."0.5.0" + self.by-version."forever-agent"."0.5.2" self.by-version."node-uuid"."1.4.1" self.by-version."mime"."1.2.11" self.by-version."tough-cookie"."0.9.15" @@ -12650,7 +12650,7 @@ deps = [ self.by-version."lodash"."1.3.1" self.by-version."async"."0.2.10" - self.by-version."adm-zip"."0.4.3" + self.by-version."adm-zip"."0.4.4" ]; peerDependencies = [ ]; @@ -15281,7 +15281,7 @@ buildInputs = (self.nativeDeps."webdrvr" or []); deps = [ - self.by-version."adm-zip"."0.4.3" + self.by-version."adm-zip"."0.4.4" self.by-version."kew"."0.1.7" self.by-version."mkdirp"."0.3.5" self.by-version."npmconf"."0.1.12" From b9fe0b8fb10bdc25d62fc766f04f2235205e1ef9 Mon Sep 17 00:00:00 2001 From: Georges Dubus Date: Tue, 4 Feb 2014 18:43:21 +0100 Subject: [PATCH 005/118] bazaar: updated to 2.6.0 and fixed ssl bug Fixes #1216 --- .../bazaar/add_certificates.patch | 11 +++++++++++ .../version-management/bazaar/default.nix | 18 +++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 pkgs/applications/version-management/bazaar/add_certificates.patch diff --git a/pkgs/applications/version-management/bazaar/add_certificates.patch b/pkgs/applications/version-management/bazaar/add_certificates.patch new file mode 100644 index 00000000000..332f42aa89c --- /dev/null +++ b/pkgs/applications/version-management/bazaar/add_certificates.patch @@ -0,0 +1,11 @@ +diff -ru orig/bzrlib/transport/http/_urllib2_wrappers.py bzr-2.6.0/bzrlib/transport/http/_urllib2_wrappers.py +--- orig/bzrlib/transport/http/_urllib2_wrappers.py 2013-07-27 13:50:53.000000000 +0200 ++++ bzr-2.6.0/bzrlib/transport/http/_urllib2_wrappers.py 2014-02-04 18:34:15.838622492 +0100 +@@ -86,6 +86,7 @@ + u"/usr/local/share/certs/ca-root-nss.crt", # FreeBSD + # XXX: Needs checking, can't trust the interweb ;) -- vila 2012-01-25 + u'/etc/openssl/certs/ca-certificates.crt', # Solaris ++ u'@certPath@', + ] + def default_ca_certs(): + if sys.platform == 'win32': diff --git a/pkgs/applications/version-management/bazaar/default.nix b/pkgs/applications/version-management/bazaar/default.nix index 1eb114ecd8c..2ea916052a3 100644 --- a/pkgs/applications/version-management/bazaar/default.nix +++ b/pkgs/applications/version-management/bazaar/default.nix @@ -1,20 +1,28 @@ -{ stdenv, fetchurl, pythonPackages }: +{ stdenv, fetchurl, pythonPackages, cacert }: stdenv.mkDerivation rec { - version = "2.5"; - release = ".1"; + version = "2.6"; + release = ".0"; name = "bazaar-${version}${release}"; src = fetchurl { url = "http://launchpad.net/bzr/${version}/${version}${release}/+download/bzr-${version}${release}.tar.gz"; - sha256 = "10krjbzia2avn09p0cdlbx2wya0r5v11w5ymvyl72af5dkx4cwwn"; + sha256 = "1c6sj77h5f97qimjc14kr532kgc0jk3wq778xrkqi0pbh9qpk509"; }; - buildInputs = [ pythonPackages.python pythonPackages.wrapPython ]; + buildInputs = [ pythonPackages.python pythonPackages.wrapPython cacert ]; # Readline support is needed by bzrtools. pythonPath = [ pythonPackages.readline ]; + # Bazaar can't find the certificates alone + patches = [ ./add_certificates.patch ]; + postPatch = '' + substituteInPlace bzrlib/transport/http/_urllib2_wrappers.py \ + --subst-var-by "certPath" "${cacert}/etc/ca-bundle.crt" + ''; + + installPhase = '' python setup.py install --prefix=$out wrapPythonPrograms From 1e0352f80140510ac0d0fa303197fc75235049ec Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 5 Feb 2014 07:54:11 -0500 Subject: [PATCH 006/118] Fix gummiboot builder Signed-off-by: Shea Levy --- .../modules/system/boot/loader/gummiboot/gummiboot-builder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py b/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py index f49c55c7e95..db73544181b 100644 --- a/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py +++ b/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py @@ -74,8 +74,8 @@ def remove_old_entries(gens): slice_end = -1 * len(".conf") known_paths = [] for gen in gens: - known_paths.append copy_from_profile(gen, "kernel", True) - known_paths.append copy_from_profile(gen, "initrd", True) + known_paths.append(copy_from_profile(gen, "kernel", True)) + known_paths.append(copy_from_profile(gen, "initrd", True)) for path in glob.iglob("@efiSysMountPoint@/loader/entries/nixos-generation-[1-9]*.conf"): try: gen = int(path[slice_start:slice_end]) From bfc682ea372d04049994d679ae1cce3fa3aeff4a Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 5 Feb 2014 08:00:19 -0500 Subject: [PATCH 007/118] Mount a ramfs on /run/keys for safe key storage for nixops Signed-off-by: Shea Levy --- nixos/modules/system/boot/stage-2-init.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh index 2fadd3de1f0..e0ff258c0ee 100644 --- a/nixos/modules/system/boot/stage-2-init.sh +++ b/nixos/modules/system/boot/stage-2-init.sh @@ -131,6 +131,15 @@ if ! mountpoint -q /run; then mount -t tmpfs -o "mode=0755,size=@runSize@" none /run fi +# Create a ramfs on /run/keys to hold secrets that shouldn't +# be written to disk (generally used for nixops, harmless +# elsehwere) +if ! mountpoint -q /run/keys; then + rm -rf /run/keys + mkdir -m 0700 /run/keys + mount -t ramfs none /run/keys +fi + mkdir -m 0755 -p /run/lock From d1d3e841b66b0834733f96a31bc577c73577d068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 5 Feb 2014 15:24:56 +0100 Subject: [PATCH 008/118] spring 95.0 -> 96.0 --- pkgs/games/spring/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix index 70cffaa192e..99066581aa2 100644 --- a/pkgs/games/spring/default.nix +++ b/pkgs/games/spring/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { name = "spring-${version}"; - version = "95.0"; + version = "96.0"; src = fetchurl { url = "mirror://sourceforge/springrts/spring_${version}_src.tar.lzma"; - sha256 = "0g0jfbbxl1g8nasibw13yjnsgalnfn4s2ii5z4s8k87vla9apg1v"; + sha256 = "1axyqkxgv3a0zg0afzlc7j3lyi412zd551j317ci41yqz2qzf0px"; }; buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL From 6fe07cb3044f99861cafb05709fc094c403d5473 Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Wed, 5 Feb 2014 15:49:45 +0100 Subject: [PATCH 009/118] Fix IDEA, previously it could not find the jdk. --- pkgs/applications/editors/idea/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 93e95c8d87d..31812bcb989 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -39,11 +39,14 @@ let 7z a -tzip $out/$name/lib/snappy-java-1.0.5.jar . mkdir -p $out/bin + + jdk=${jdk}/lib/openjdk + makeWrapper $out/$name/bin/idea.sh $out/bin/idea \ --prefix PATH : ${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin \ --prefix LD_RUN_PATH : ${stdenv.gcc.gcc}/lib/ \ - --prefix JDK_HOME : ${jdk} \ - --prefix IDEA_JDK : ${jdk} + --prefix JDK_HOME : $jdk \ + --prefix IDEA_JDK : $jdk mkdir -p $out/share/applications cp ${ideaItem}/share/applications/* $out/share/applications From da16a4b631c8885410575d6e8c3b0b6c985cac19 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 5 Feb 2014 09:07:45 -0500 Subject: [PATCH 010/118] Add string-conversions haskell package Signed-off-by: Shea Levy --- .../haskell/string-conversions/default.nix | 13 +++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/development/libraries/haskell/string-conversions/default.nix diff --git a/pkgs/development/libraries/haskell/string-conversions/default.nix b/pkgs/development/libraries/haskell/string-conversions/default.nix new file mode 100644 index 00000000000..efab2ee40bb --- /dev/null +++ b/pkgs/development/libraries/haskell/string-conversions/default.nix @@ -0,0 +1,13 @@ +{ cabal, text, utf8String }: + +cabal.mkDerivation (self: { + pname = "string-conversions"; + version = "0.3.0.2"; + sha256 = "0jcm0vv0ll74zfc7s2l8qpqpbfnkv7ir9d1kg68m6b0f9sq0dgng"; + buildDepends = [ text utf8String ]; + meta = { + description = "Simplifies dealing with different types for strings"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 105799eaf35..f7554b5da56 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2146,6 +2146,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x stringCombinators = callPackage ../development/libraries/haskell/string-combinators {}; + stringConversions = callPackage ../development/libraries/haskell/string-conversions {}; + stringprep = callPackage ../development/libraries/haskell/stringprep {}; stringQq = callPackage ../development/libraries/haskell/string-qq {}; From b8e06f3110ffecbb4846c0da098eb88390ec3255 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 5 Feb 2014 09:56:14 -0500 Subject: [PATCH 011/118] Revive old haskell-tls packages tls-1.2 broke source-compatability Signed-off-by: Shea Levy --- .../libraries/haskell/tls-extra/default.nix | 21 ++++++++++++++++ .../libraries/haskell/tls/1.1.x.nix | 25 +++++++++++++++++++ .../haskell/tls/{default.nix => 1.2.x.nix} | 0 pkgs/top-level/haskell-packages.nix | 8 +++++- 4 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/haskell/tls-extra/default.nix create mode 100644 pkgs/development/libraries/haskell/tls/1.1.x.nix rename pkgs/development/libraries/haskell/tls/{default.nix => 1.2.x.nix} (100%) diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix new file mode 100644 index 00000000000..0fdcaf71d51 --- /dev/null +++ b/pkgs/development/libraries/haskell/tls-extra/default.nix @@ -0,0 +1,21 @@ +{ cabal, certificate, cipherAes, cipherRc4, cryptohash +, cryptoPubkey, cryptoRandom, mtl, network, pem, time, tls, vector +}: + +cabal.mkDerivation (self: { + pname = "tls-extra"; + version = "0.6.6"; + sha256 = "0k0sj3nq1lrvbmd582mjj8cxbxigivz1hm8hhij1ncl2pgnq5xyv"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + certificate cipherAes cipherRc4 cryptohash cryptoPubkey + cryptoRandom mtl network pem time tls vector + ]; + meta = { + homepage = "http://github.com/vincenthz/hs-tls"; + description = "TLS extra default values and helpers"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/tls/1.1.x.nix b/pkgs/development/libraries/haskell/tls/1.1.x.nix new file mode 100644 index 00000000000..0f354d8b77e --- /dev/null +++ b/pkgs/development/libraries/haskell/tls/1.1.x.nix @@ -0,0 +1,25 @@ +{ cabal, cereal, certificate, cprngAes, cryptohash, cryptoPubkey +, cryptoRandom, mtl, network, QuickCheck, testFramework +, testFrameworkQuickcheck2, time +}: + +cabal.mkDerivation (self: { + pname = "tls"; + version = "1.1.5"; + sha256 = "1ja03x3i7dgjpy22h4shnni1xslph8i8q4accqq8njpqpz54c84c"; + buildDepends = [ + cereal certificate cryptohash cryptoPubkey cryptoRandom mtl network + ]; + testDepends = [ + cereal certificate cprngAes cryptoPubkey cryptoRandom mtl + QuickCheck testFramework testFrameworkQuickcheck2 time + ]; + doCheck = false; + meta = { + homepage = "http://github.com/vincenthz/hs-tls"; + description = "TLS/SSL protocol native implementation (Server and Client)"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/1.2.x.nix similarity index 100% rename from pkgs/development/libraries/haskell/tls/default.nix rename to pkgs/development/libraries/haskell/tls/1.2.x.nix diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index f7554b5da56..5bcd7b3a69d 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2347,7 +2347,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x timeCompat = callPackage ../development/libraries/haskell/time-compat {}; - tls = callPackage ../development/libraries/haskell/tls {}; + tls = callPackage ../development/libraries/haskell/tls/1.2.x.nix {}; + + tls_1_1_x = callPackage ../development/libraries/haskell/tls/1.1.x.nix {}; + + tlsExtra = callPackage ../development/libraries/haskell/tls-extra { + tls = self.tls_1_1_x; + }; transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {}; transformers_0_3_0_0 = if (pkgs.stdenv.lib.versionOlder ghc.version "7.7") then From eb2f44c18cb6d300e965308547d8a4dea110f519 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Fri, 17 May 2013 17:08:32 +0200 Subject: [PATCH 012/118] Generate /etc/passwd and /etc/group at build time This is a rather large commit that switches user/group creation from using useradd/groupadd on activation to just generating the contents of /etc/passwd and /etc/group, and then on activation merging the generated files with the files that exist in the system. This makes the user activation process much cleaner, in my opinion. The users.extraUsers..uid and users.extraGroups..gid must all be properly defined (if .createUser is true, which it is by default). My pull request adds a lot of uids/gids to config.ids to solve this problem for existing nixos services, but there might be configurations that break because this change. However, this will be discovered during the build. Option changes introduced by this commit: * Remove the options .isSystemUser and .isAlias since they don't make sense when generating /etc/passwd statically. * Add .members as a complement to .extraGroups. * Add .passwordFile for setting a user's password from an encrypted (shadow-style) file. * Add users.mutableUsers which is true by default. This means you can keep managing your users as previously, by using useradd/groupadd manually. This is accomplished by merging the generated passwd/group file with the existing files in /etc on system activation. The merging of the files is simplistic. It just looks at the user/group names. If a user/group exists both on the system and in the generated files, the system entry will be kept un-changed and the generated entries will be ignored. The merging itself is performed with the help of vipw/vigr to properly lock the account files during edit. If mutableUsers is set to false, the generated passwd and group files will not be merged with the system files on activation. Instead they will simply replace the system files, and overwrite any changes done on the running system. The same logic holds for user password, if the .password or .passwordFile options are used. If mutableUsers is false, password will simply be replaced on activation. If true, the initial user passwords will be set according to the configuration, but existing passwords will not be touched. I have tested this on a couple of different systems and it seems to work fine so far. If you think this is a good idea, please test it. This way of adding local users has been discussed in issue #103 (and this commit solves that issue). --- nixos/modules/config/users-groups.nix | 375 ++++++++++-------- nixos/modules/programs/shadow.nix | 2 + nixos/modules/virtualisation/amazon-image.nix | 2 +- .../virtualisation/virtualbox-image.nix | 2 +- 4 files changed, 211 insertions(+), 170 deletions(-) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 714de646eb7..97bf6726279 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -5,7 +5,7 @@ with pkgs.lib; let ids = config.ids; - users = config.users; + cfg = config.users; userOpts = { name, config, ... }: { @@ -28,9 +28,8 @@ let }; uid = mkOption { - type = with types; uniq (nullOr int); - default = null; - description = "The account UID. If undefined, NixOS will select a free UID."; + type = with types; uniq int; + description = "The account UID."; }; group = mkOption { @@ -60,13 +59,21 @@ let createHome = mkOption { type = types.bool; default = false; - description = "If true, the home directory will be created automatically."; + description = '' + If true, the home directory will be created automatically. If this + option is true and the home directory already exists but is not + owned by the user, directory owner and group will be changed to + match the user. + ''; }; useDefaultShell = mkOption { type = types.bool; default = false; - description = "If true, the user's shell will be set to users.defaultUserShell."; + description = '' + If true, the user's shell will be set to + cfg.defaultUserShell. + ''; }; password = mkOption { @@ -78,13 +85,29 @@ let because it is world-readable in the Nix store. This option should only be used for public accounts such as guest. + The option password overrides + passwordFile, if both are specified. + If none of the options password or + passwordFile are specified, the user account will + be locked for password logins. This is the default behavior except + for the root account, which has an empty password by default. If you + want to lock the root account for password logins, set + users.extraUsers.root.password to + null. ''; }; - isSystemUser = mkOption { - type = types.bool; - default = true; - description = "Indicates if the user is a system user or not."; + passwordFile = mkOption { + type = with types; uniq (nullOr string); + default = null; + description = '' + The path to a file that contains the user's password. The password + file is read on each system activation. The file should contain + exactly one line, which should be the password in an encrypted form + that is suitable for the chpasswd -e command. + See the password for more details on how passwords + are assigned. + ''; }; createUser = mkOption { @@ -96,19 +119,11 @@ let then not modify any of the basic properties for the user account. ''; }; - - isAlias = mkOption { - type = types.bool; - default = false; - description = "If true, the UID of this user is not required to be unique and can thus alias another user."; - }; - }; config = { name = mkDefault name; - uid = mkDefault (attrByPath [name] null ids.uids); - shell = mkIf config.useDefaultShell (mkDefault users.defaultUserShell); + shell = mkIf config.useDefaultShell (mkDefault cfg.defaultUserShell); }; }; @@ -123,28 +138,100 @@ let }; gid = mkOption { - type = with types; uniq (nullOr int); - default = null; - description = "The GID of the group. If undefined, NixOS will select a free GID."; + type = with types; uniq int; + description = "The GID of the group."; + }; + + members = mkOption { + type = with types; listOf string; + default = []; + description = '' + ''; }; }; config = { name = mkDefault name; - gid = mkDefault (attrByPath [name] null ids.gids); }; }; - # Note: the 'X' in front of the password is to distinguish between - # having an empty password, and not having a password. - serializedUser = u: "${u.name}\n${u.description}\n${if u.uid != null then toString u.uid else ""}\n${u.group}\n${toString (concatStringsSep "," u.extraGroups)}\n${u.home}\n${u.shell}\n${toString u.createHome}\n${if u.password != null then "X" + u.password else ""}\n${toString u.isSystemUser}\n${toString u.createUser}\n${toString u.isAlias}\n"; - - usersFile = pkgs.writeText "users" ( + getGroup = gname: let - p = partition (u: u.isAlias) (attrValues config.users.extraUsers); - in concatStrings (map serializedUser p.wrong ++ map serializedUser p.right)); + groups = mapAttrsToList (n: g: g) ( + filterAttrs (n: g: g.name == gname) cfg.extraGroups + ); + in + if length groups == 1 then head groups + else if groups == [] then throw "Group ${gname} not defined" + else throw "Group ${gname} has multiple definitions"; + + getUser = uname: + let + users = mapAttrsToList (n: u: u) ( + filterAttrs (n: u: u.name == uname) cfg.extraUsers + ); + in + if length users == 1 then head users + else if users == [] then throw "User ${uname} not defined" + else throw "User ${uname} has multiple definitions"; + + mkGroupEntry = gname: + let + g = getGroup gname; + users = mapAttrsToList (n: u: u.name) ( + filterAttrs (n: u: elem g.name u.extraGroups) cfg.extraUsers + ); + in concatStringsSep ":" [ + g.name "x" (toString g.gid) + (concatStringsSep "," (users ++ (filter (u: !(elem u users)) g.members))) + ]; + + mkPasswdEntry = uname: let u = getUser uname; in + concatStringsSep ":" [ + u.name "x" (toString u.uid) + (toString (getGroup u.group).gid) + u.description u.home u.shell + ]; + + sortOn = a: sort (as1: as2: lessThan (getAttr a as1) (getAttr a as2)); + + groupFile = pkgs.writeText "group" ( + concatStringsSep "\n" (map (g: mkGroupEntry g.name) ( + sortOn "gid" (attrValues cfg.extraGroups) + )) + ); + + passwdFile = pkgs.writeText "passwd" ( + concatStringsSep "\n" (map (u: mkPasswdEntry u.name) ( + sortOn "uid" (filter (u: u.createUser) (attrValues cfg.extraUsers)) + )) + ); + + # If mutableUsers is true, this script adds all users/groups defined in + # users.extra{Users,Groups} to /etc/{passwd,group} iff there isn't any + # existing user/group with the same name in those files. + # If mutableUsers is false, the /etc/{passwd,group} files will simply be + # replaced with the users/groups defined in the NixOS configuration. + # The merging procedure could certainly be improved, and instead of just + # keeping the lines as-is from /etc/{passwd,group} they could be combined + # in some way with the generated content from the NixOS configuration. + merger = src: pkgs.writeScript "merger" '' + #!${pkgs.bash}/bin/bash + + PATH=${pkgs.gawk}/bin:${pkgs.gnugrep}/bin:$PATH + + ${if !cfg.mutableUsers + then ''cp ${src} $1.tmp'' + else ''awk -F: '{ print "^"$1":.*" }' $1 | egrep -vf - ${src} | cat $1 - > $1.tmp'' + } + + # set mtime to +1, otherwise change might go unnoticed (vipw/vigr only looks at mtime) + touch -m -t $(date -d @$(($(stat -c %Y $1)+1)) +%Y%m%d%H%M.%S) $1.tmp + + mv -f $1.tmp $1 + ''; in @@ -154,6 +241,28 @@ in options = { + users.mutableUsers = mkOption { + type = types.bool; + default = true; + description = '' + If true, you are free to add new users and groups to the system + with the ordinary useradd and + groupadd commands. On system activation, the + existing contents of the /etc/passwd and + /etc/group files will be merged with the + contents generated from the users.extraUsers and + users.extraGroups options. If + mutableUsers is false, the contents of the user and + group files will simply be replaced on system activation. This also + holds for the user passwords; if this option is false, all changed + passwords will be reset according to the + users.extraUsers configuration on activation. If + this option is true, the initial password for a user will be set + according to users.extraUsers, but existing passwords + will not be changed. + ''; + }; + users.extraUsers = mkOption { default = {}; type = types.loaOf types.optionSet; @@ -188,20 +297,6 @@ in options = [ groupOpts ]; }; - security.initialRootPassword = mkOption { - type = types.str; - default = ""; - example = "!"; - description = '' - The (hashed) password for the root account set on initial - installation. The empty string denotes that root can login - locally without a password (but not via remote services such - as SSH, or indirectly via su or - sudo). The string ! - prevents root from logging in using a password. - ''; - }; - }; @@ -211,144 +306,88 @@ in users.extraUsers = { root = { + uid = ids.uids.root; description = "System administrator"; home = "/root"; - shell = config.users.defaultUserShell; + shell = cfg.defaultUserShell; group = "root"; + password = mkDefault ""; }; nobody = { + uid = ids.uids.nobody; description = "Unprivileged account (don't use!)"; + group = "nogroup"; }; }; users.extraGroups = { - root = { }; - wheel = { }; - disk = { }; - kmem = { }; - tty = { }; - floppy = { }; - uucp = { }; - lp = { }; - cdrom = { }; - tape = { }; - audio = { }; - video = { }; - dialout = { }; - nogroup = { }; - users = { }; - nixbld = { }; - utmp = { }; - adm = { }; # expected by journald + root.gid = ids.gids.root; + wheel.gid = ids.gids.wheel; + disk.gid = ids.gids.disk; + kmem.gid = ids.gids.kmem; + tty.gid = ids.gids.tty; + floppy.gid = ids.gids.floppy; + uucp.gid = ids.gids.uucp; + lp.gid = ids.gids.lp; + cdrom.gid = ids.gids.cdrom; + tape.gid = ids.gids.tape; + audio.gid = ids.gids.audio; + video.gid = ids.gids.video; + dialout.gid = ids.gids.dialout; + nogroup.gid = ids.gids.nogroup; + users.gid = ids.gids.users; + nixbld.gid = ids.gids.nixbld; + utmp.gid = ids.gids.utmp; + adm.gid = ids.gids.adm; }; - system.activationScripts.rootPasswd = stringAfter [ "etc" ] - '' - # If there is no password file yet, create a root account with an - # empty password. - if ! test -e /etc/passwd; then - rootHome=/root - touch /etc/passwd; chmod 0644 /etc/passwd - touch /etc/group; chmod 0644 /etc/group - touch /etc/shadow; chmod 0600 /etc/shadow - # Can't use useradd, since it complains that it doesn't know us - # (bootstrap problem!). - echo "root:x:0:0:System administrator:$rootHome:${config.users.defaultUserShell}" >> /etc/passwd - echo "root:${config.security.initialRootPassword}:::::::" >> /etc/shadow - fi + system.activationScripts.users = + let + mkhomeUsers = filterAttrs (n: u: u.createHome) cfg.extraUsers; + setpwUsers = filterAttrs (n: u: u.createUser) cfg.extraUsers; + setpw = n: u: '' + setpw=yes + ${optionalString cfg.mutableUsers '' + test "$(getent shadow '${u.name}' | cut -d: -f2)" != "x" && setpw=no + ''} + if [ "$setpw" == "yes" ]; then + ${if u.password == "" + then "passwd -d '${u.name}' &>/dev/null" + else if (isNull u.password && isNull u.passwordFile) + then "passwd -l '${u.name}' &>/dev/null" + else if !(isNull u.password) + then '' + echo "${u.name}:${u.password}" | ${pkgs.shadow}/sbin/chpasswd'' + else '' + echo -n "${u.name}:" | cat - "${u.passwordFile}" | \ + ${pkgs.shadow}/sbin/chpasswd -e + '' + } + fi + ''; + mkhome = n: u: + let + uid = toString u.uid; + gid = toString ((getGroup u.group).gid); + h = u.home; + in '' + test -a "${h}" || mkdir -p "${h}" || true + test "$(stat -c %u "${h}")" = ${uid} || chown ${uid} "${h}" || true + test "$(stat -c %g "${h}")" = ${gid} || chgrp ${gid} "${h}" || true + ''; + in stringAfter [ "etc" ] '' + touch /etc/group + touch /etc/passwd + VISUAL=${merger groupFile} ${pkgs.shadow}/sbin/vigr &>/dev/null + VISUAL=${merger passwdFile} ${pkgs.shadow}/sbin/vipw &>/dev/null + ${pkgs.shadow}/sbin/grpconv + ${pkgs.shadow}/sbin/pwconv + ${concatStrings (mapAttrsToList mkhome mkhomeUsers)} + ${concatStrings (mapAttrsToList setpw setpwUsers)} ''; - # Print a reminder for users to set a root password. - environment.interactiveShellInit = - '' - if [ "$UID" = 0 ]; then - read _l < /etc/shadow - if [ "''${_l:0:6}" = root:: ]; then - cat >&2 < Date: Wed, 5 Feb 2014 14:05:09 +0100 Subject: [PATCH 013/118] Only add shadow to system packages if users.mutableUsers is true --- nixos/modules/programs/shadow.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index fdc80331a84..15b083b72d2 100644 --- a/nixos/modules/programs/shadow.nix +++ b/nixos/modules/programs/shadow.nix @@ -58,7 +58,8 @@ in config = { - environment.systemPackages = [ pkgs.shadow ]; + environment.systemPackages = + pkgs.lib.optional config.users.mutableUsers pkgs.shadow; environment.etc = [ { # /etc/login.defs: global configuration for pwdutils. You From 0b92ad02c87b9eff8dbc45cc4221289d737d29a6 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Wed, 5 Feb 2014 15:07:20 +0100 Subject: [PATCH 014/118] Re-introduce security.initialRootPassword, and add a new option users.extraUsers..hashedPassword --- nixos/modules/config/users-groups.nix | 83 ++++++++++++++----- nixos/modules/virtualisation/amazon-image.nix | 2 +- .../virtualisation/virtualbox-image.nix | 2 +- 3 files changed, 64 insertions(+), 23 deletions(-) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 97bf6726279..e38593d5602 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -7,6 +7,24 @@ let ids = config.ids; cfg = config.users; + passwordDescription = '' + The options hashedPassword, + password and passwordFile + controls what password is set for the user. + hashedPassword overrides both + password and passwordFile. + password overrides passwordFile. + If none of these three options are set, no password is assigned to + the user, and the user will not be able to do password logins. + If the option users.mutableUsers is true, the + password defined in one of the three options will only be set when + the user is created for the first time. After that, you are free to + change the password with the ordinary user management commands. If + users.mutableUsers is false, you cannot change + user passwords, they will always be set according to the password + options. + ''; + userOpts = { name, config, ... }: { options = { @@ -76,24 +94,24 @@ let ''; }; + hashedPassword = mkOption { + type = with types; uniq (nullOr str); + default = null; + description = '' + Specifies the (hashed) password for the user. + ${passwordDescription} + ''; + }; + password = mkOption { type = with types; uniq (nullOr str); default = null; description = '' - The user's password. If undefined, no password is set for - the user. Warning: do not set confidential information here - because it is world-readable in the Nix store. This option - should only be used for public accounts such as - guest. - The option password overrides - passwordFile, if both are specified. - If none of the options password or - passwordFile are specified, the user account will - be locked for password logins. This is the default behavior except - for the root account, which has an empty password by default. If you - want to lock the root account for password logins, set - users.extraUsers.root.password to - null. + Specifies the (clear text) password for the user. + Warning: do not set confidential information here + because it is world-readable in the Nix store. This option + should only be used for public accounts. + ${passwordDescription} ''; }; @@ -105,8 +123,7 @@ let file is read on each system activation. The file should contain exactly one line, which should be the password in an encrypted form that is suitable for the chpasswd -e command. - See the password for more details on how passwords - are assigned. + ${passwordDescription} ''; }; @@ -297,6 +314,26 @@ in options = [ groupOpts ]; }; + security.initialRootPassword = mkOption { + type = types.str; + default = ""; + example = "!"; + description = '' + The (hashed) password for the root account set on initial + installation. The empty string denotes that root can login + locally without a password (but not via remote services such + as SSH, or indirectly via su or + sudo). The string ! + prevents root from logging in using a password. + Note, setting this option sets + users.extraUsers.root.hashedPassword. + Note, if users.mutableUsers is false + you cannot change the root password manually, so in that case + the name of this option is a bit misleading, since it will define + the root password beyond the user initialisation phase. + ''; + }; + }; @@ -311,7 +348,7 @@ in home = "/root"; shell = cfg.defaultUserShell; group = "root"; - password = mkDefault ""; + hashedPassword = config.security.initialRootPassword; }; nobody = { uid = ids.uids.nobody; @@ -351,17 +388,21 @@ in test "$(getent shadow '${u.name}' | cut -d: -f2)" != "x" && setpw=no ''} if [ "$setpw" == "yes" ]; then - ${if u.password == "" + ${if !(isNull u.hashedPassword) + then '' + echo "${u.name}:${u.hashedPassword}" | \ + ${pkgs.shadow}/sbin/chpasswd -e'' + else if u.password == "" then "passwd -d '${u.name}' &>/dev/null" - else if (isNull u.password && isNull u.passwordFile) - then "passwd -l '${u.name}' &>/dev/null" else if !(isNull u.password) then '' echo "${u.name}:${u.password}" | ${pkgs.shadow}/sbin/chpasswd'' - else '' + else if !(isNull u.passwordFile) + then '' echo -n "${u.name}:" | cat - "${u.passwordFile}" | \ ${pkgs.shadow}/sbin/chpasswd -e '' + else "passwd -l '${u.name}' &>/dev/null" } fi ''; diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index 701e95af7d3..abd2a1084bd 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -164,5 +164,5 @@ with pkgs.lib; # Prevent logging in as root without a password. This doesn't really matter, # since the only PAM services that allow logging in with a null # password are local ones that are inaccessible on EC2 machines. - users.extraUsers.root.password = null; + security.initialRootPassword = "!"; } diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix index a89c8264a33..71bdf31a98d 100644 --- a/nixos/modules/virtualisation/virtualbox-image.nix +++ b/nixos/modules/virtualisation/virtualbox-image.nix @@ -111,5 +111,5 @@ with pkgs.lib; # Prevent logging in as root without a password. For NixOps, we # don't need this because the user can login via SSH, and for the # demo images, there is a demo user account that can sudo to root. - users.extraUsers.root.password = null; + security.initialRootPassword = "!"; } From 72ba2bf1269afd4a33d62476fa1ddcd5450ba58d Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Wed, 5 Feb 2014 15:24:05 +0100 Subject: [PATCH 015/118] Add description to group.members option --- nixos/modules/config/users-groups.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index e38593d5602..20ec1bda281 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -163,6 +163,8 @@ let type = with types; listOf string; default = []; description = '' + The user names of the group members, added to the + /etc/group file. ''; }; From 63adcbcfc7160954540e13fc1ce9a913c5d9854a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 5 Feb 2014 16:29:49 +0100 Subject: [PATCH 016/118] libgcrypt: update to 1.6.1 --- pkgs/development/libraries/libgcrypt/1.6.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libgcrypt/1.6.nix b/pkgs/development/libraries/libgcrypt/1.6.nix index f5f8297bc6c..ea981f7ed12 100644 --- a/pkgs/development/libraries/libgcrypt/1.6.nix +++ b/pkgs/development/libraries/libgcrypt/1.6.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libgpgerror, transfig, ghostscript, texinfo }: stdenv.mkDerivation rec { - name = "libgcrypt-1.6.0"; + name = "libgcrypt-1.6.1"; src = fetchurl { url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; - sha256 = "024plbybsmnxbp39hs92lp6dzvkz2cb70nv69qrwr55d02350bb6"; + sha256 = "0w10vhpj1r5nq7qm6jp21p1v1vhf37701cw8yilygzzqd7mfzhx1"; }; nativeBuildInputs = [ transfig ghostscript texinfo ]; From bb0c35d982471da435e8b32d94ec7c35dadebac6 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Wed, 5 Feb 2014 08:11:22 +0200 Subject: [PATCH 017/118] kde4_next.konversation: update from 1.4 to 1.5 --- pkgs/applications/networking/irc/konversation/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/irc/konversation/default.nix b/pkgs/applications/networking/irc/konversation/default.nix index c4d2f4b3782..d3009115b17 100644 --- a/pkgs/applications/networking/irc/konversation/default.nix +++ b/pkgs/applications/networking/irc/konversation/default.nix @@ -3,7 +3,7 @@ let pn = "konversation"; - v = "1.4"; + v = "1.5"; in stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://kde/stable/${pn}/${v}/src/${name}.tar.xz"; - sha256 = "030vsbb18dlzsnjl3fzyd1m9wvvksiyc1lm45abi4q6x4xd60knv"; + sha256 = "0vsl34kiar7kbsgncycwd7f66f493fip6d635qlprqn1gqhycb9q"; }; buildInputs = [ cmake qt4 perl gettext libXScrnSaver kdelibs kdepimlibs From e27b00915af1515fa3e5fdafdd82f6fb031c2fbf Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Wed, 5 Feb 2014 08:13:05 +0200 Subject: [PATCH 018/118] youtubeDL: update from 2014.01.30.2 to 2014.02.03 --- pkgs/tools/misc/youtube-dl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index cca459c1a29..629cf93695f 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, python, zip }: let - version = "2014.01.30.2"; + version = "2014.02.03"; in stdenv.mkDerivation rec { name = "youtube-dl-${version}"; src = fetchurl { url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz"; - sha256 = "1bx4ip1d4gp057nha4ylj2baksxg8kkxgvsdcx6bj36wbb0f8fl9"; + sha256 = "0ba6kg72j7h7xcldar0fd5pk809fp4ihr8nclwwp1qj93mraqjir"; }; buildInputs = [ python ]; From 1f21ae53d3162252f5898e614511dbfd3b66d4de Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Wed, 5 Feb 2014 20:14:16 +0200 Subject: [PATCH 019/118] KDE: default to 4.11 --- pkgs/top-level/all-packages.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bbae9a7946e..243c021d16d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9586,9 +9586,11 @@ let hsetroot = callPackage ../tools/X11/hsetroot { }; - kde4 = recurseIntoAttrs pkgs.kde410; + kde4 = recurseIntoAttrs pkgs.kde411; - kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde411 ); +# kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde412 ); + + kde4_prev = recurseIntoAttrs pkgs.kde410; kde410 = kdePackagesFor (pkgs.kde410 // { boost = boost149; From e060d9a2ffb677f7482ddba4845544392a1f4b28 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 4 Feb 2014 16:02:43 +0100 Subject: [PATCH 020/118] Remove obsolete file --- doc/outline.txt | 158 ------------------------------------------------ 1 file changed, 158 deletions(-) delete mode 100644 doc/outline.txt diff --git a/doc/outline.txt b/doc/outline.txt deleted file mode 100644 index 816cdbdc3ed..00000000000 --- a/doc/outline.txt +++ /dev/null @@ -1,158 +0,0 @@ -- The standard environment - - (Some of this can be moved from the Nix manual) - - - Special attributes - - - Generic builder - - - Helper functions - - - GCC / ld wrapper (+ env vars) - - - Phases (+ how to add phases) and hooks - - - Override functions for stdenv - - - Overriding GCC - - - Overriding the setup script - - - Predefined override functions in all-packages.nix: static binary - stdenv, dietlibc stdenv - - - Stdenv bootstrap; how to update the Linux bootstrap binaries - - - Specific platform notes (Linux, Native, Cygwin, Mingw) - - -- Support for specific languages - - - Perl - - - Generic Perl builder - - - Python - - - Wrapper generation - - - Haskell - - - TODO - - - Java - - - TODO; Java needs lots of improvement - - - TeX/LaTeX - - - Special support for building TeX documents - - -- Special kinds of applications - - - OpenGL apps - - - Binary-only apps - - - Linux kernel modules - - - Mozilla plugins/extensions - - - X apps - - - KDE apps - - - GConf-based apps - - - Programs that need wrappers - - - makeWrapper etc. - - - Initial ramdisks - - -- Library functions - - - i.e. in lib/default.nix - - -- Specific package notes - - - Linux kernel; how to update; feature tests - - - X.org; how to update - - - Gnome; how to update - - - GCC? - - - GHC? - - - ... - - -- Meta attributes - - - License attr; possible values - - -- Virtual machine support (for the build farm) - - - vmtools - - - KVM notes - - - Performing a build in a VM - - - In the host FS - - - In a disk image - - - RPM builds - - - RPM image creation - - - Deb builds - - - Deb image creation - - - Debugging VM builds - - -- Guidelines for Nixpkgs contributions - - - File naming conventions - - - Versioning of packages - - - Tree organisation - - - Variable naming - - - Layout / indentations style - - - Output FS hierarchy (e.g. $out/share/man instead of $out/man) - - -- Misc - - - Building outside of the Nixpkgs tree - - - Config options - - - Downloading stuff - - - fetchurl - - - mirror:// scheme - - - fetchsvn - - - fetchcvs - - - fetchdarcs - - -- Appendix: Nixpkgs config options - From 7703f04b751084aecca9eeda4517ce7c053a4000 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 4 Feb 2014 16:58:12 +0100 Subject: [PATCH 021/118] =?UTF-8?q?Add=20a=20stdenv=20adapter=20=E2=80=98u?= =?UTF-8?q?seGoldLinker=E2=80=99=20to=20force=20use=20of=20Gold?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/build-support/clang-wrapper/default.nix | 10 +++---- pkgs/build-support/gcc-wrapper/default.nix | 8 +++--- pkgs/stdenv/adapters.nix | 30 ++++++++++++++------ pkgs/stdenv/linux/default.nix | 6 ++-- pkgs/top-level/all-packages.nix | 6 ++-- 5 files changed, 37 insertions(+), 23 deletions(-) diff --git a/pkgs/build-support/clang-wrapper/default.nix b/pkgs/build-support/clang-wrapper/default.nix index 05b8194697e..49ee34e9926 100644 --- a/pkgs/build-support/clang-wrapper/default.nix +++ b/pkgs/build-support/clang-wrapper/default.nix @@ -18,21 +18,21 @@ let clangVersion = (builtins.parseDrvName clang.name).version; clangName = (builtins.parseDrvName clang.name).name; - + in stdenv.mkDerivation { name = (if name != "" then name else clangName + "-wrapper") + (if clang != null && clangVersion != "" then "-" + clangVersion else ""); - + builder = ./builder.sh; setupHook = ./setup-hook.sh; clangWrapper = ./clang-wrapper.sh; ldWrapper = ./ld-wrapper.sh; utils = ./utils.sh; addFlags = ./add-flags; - + inherit nativeTools nativeLibc nativePrefix clang clangVersion libcxx; libcxxabi = libcxx.abi or null; @@ -42,7 +42,7 @@ stdenv.mkDerivation { binutils = if nativeTools then null else binutils; # The wrapper scripts use 'cat', so we may need coreutils coreutils = if nativeTools then null else coreutils; - + langC = true; langCC = true; shell = if shell == "" then stdenv.shell else @@ -65,7 +65,7 @@ stdenv.mkDerivation { if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else abort "don't know the name of the dynamic linker for this platform"); }; - + meta = let clang_ = if clang != null then clang else {}; in (if clang_ ? meta then removeAttrs clang.meta ["priority"] else {}) // diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix index 58dde3485ca..1f521f40585 100644 --- a/pkgs/build-support/gcc-wrapper/default.nix +++ b/pkgs/build-support/gcc-wrapper/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation { name = (if name != "" then name else gccName + "-wrapper") + (if gcc != null && gccVersion != "" then "-" + gccVersion else ""); - + builder = ./builder.sh; setupHook = ./setup-hook.sh; gccWrapper = ./gcc-wrapper.sh; @@ -39,13 +39,13 @@ stdenv.mkDerivation { ldSolarisWrapper = ./ld-solaris-wrapper.sh; utils = ./utils.sh; addFlags = ./add-flags; - + inherit nativeTools nativeLibc nativePrefix gcc; libc = if nativeLibc then null else libc; binutils = if nativeTools then null else binutils; # The wrapper scripts use 'cat', so we may need coreutils coreutils = if nativeTools then null else coreutils; - + langC = if nativeTools then true else gcc.langC; langCC = if nativeTools then true else gcc.langCC; langFortran = if nativeTools then false else gcc ? langFortran; @@ -72,7 +72,7 @@ stdenv.mkDerivation { if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else abort "don't know the name of the dynamic linker for this platform"); }; - + meta = let gcc_ = if gcc != null then gcc else {}; in (if gcc_ ? meta then removeAttrs gcc.meta ["priority"] else {}) // diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 662f3307b46..85063621815 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -2,8 +2,7 @@ a new stdenv with different behaviour, e.g. using a different C compiler. */ -{dietlibc, fetchurl, runCommand}: - +pkgs: rec { @@ -57,13 +56,13 @@ rec { NIX_GCC = import ../build-support/gcc-wrapper { inherit stdenv; - libc = dietlibc; + libc = pkgs.dietlibc; inherit (stdenv.gcc) gcc binutils nativeTools nativePrefix; nativeLibc = false; }; }); isDietLibC = true; - } // {inherit fetchurl;}; + }; # Return a modified stdenv that uses klibc to create small @@ -80,7 +79,7 @@ rec { configureFlags = args.configureFlags or "" + " --disable-shared"; # brrr... - NIX_GCC = runCommand "klibc-wrapper" {} '' + NIX_GCC = pkgs.runCommand "klibc-wrapper" {} '' mkdir -p $out/bin ln -s ${klibc}/bin/klcc $out/bin/gcc ln -s ${klibc}/bin/klcc $out/bin/cc @@ -90,7 +89,7 @@ rec { }); isKlibc = true; isStatic = true; - } // {inherit fetchurl;}; + }; # Return a modified stdenv that tries to build statically linked @@ -103,7 +102,7 @@ rec { + " --disable-shared"; # brrr... }); isStatic = true; - } // {inherit fetchurl;}; + }; # Return a modified stdenv that builds static libraries instead of @@ -115,7 +114,7 @@ rec { toString args.configureFlags or "" + " --enable-static --disable-shared"; }); - } // {inherit fetchurl;}; + }; # Return a modified stdenv that adds a cross compiler to the @@ -277,7 +276,7 @@ rec { */ replaceMaintainersField = stdenv: pkgs: maintainers: stdenv // { mkDerivation = args: - pkgs.lib.recursiveUpdate + stdenv.lib.recursiveUpdate (stdenv.mkDerivation args) { meta.maintainers = maintainers; }; }; @@ -354,4 +353,17 @@ rec { }); }; + + /* Modify a stdenv so that it used the Gold linker. */ + useGoldLinker = stdenv: + let + binutils = stdenv.gcc.binutils; + binutils' = pkgs.runCommand "${binutils.name}-gold" { } + '' + mkdir -p $out/bin + ln -s ${binutils}/bin/* $out/bin/ + ln -sfn ${binutils}/bin/ld.gold $out/bin/ld + ''; # */ + in overrideGCC stdenv (stdenv.gcc.override { binutils = binutils'; }); + } diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 408c362bedb..3d424c904ba 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -11,6 +11,8 @@ rec { + lib = import ../../../lib; + bootstrapFiles = if system == "i686-linux" then import ./bootstrap/i686 else if system == "x86_64-linux" then import ./bootstrap/x86_64 @@ -134,9 +136,9 @@ rec { # A helper function to call gcc-wrapper. wrapGCC = - {gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper"}: + { gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper" }: - import ../../build-support/gcc-wrapper { + lib.makeOverridable (import ../../build-support/gcc-wrapper) { nativeTools = false; nativeLibc = false; inherit gcc binutils coreutils libc shell name; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 243c021d16d..785e22f95e9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -97,7 +97,7 @@ let (import ../build-support/trivial-builders.nix { inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; }); stdenvAdapters = - import ../stdenv/adapters.nix { inherit (pkgs) dietlibc fetchurl runCommand; }; + import ../stdenv/adapters.nix pkgs; # Allow packages to be overriden globally via the `packageOverrides' @@ -3060,9 +3060,9 @@ let inherit stdenv coreutils zlib; }; - wrapClang = wrapClangWith (import ../build-support/clang-wrapper) glibc; + wrapClang = wrapClangWith (makeOverridable (import ../build-support/clang-wrapper)) glibc; - wrapGCC = wrapGCCWith (import ../build-support/gcc-wrapper) glibc; + wrapGCC = wrapGCCWith (makeOverridable (import ../build-support/gcc-wrapper)) glibc; wrapGCCCross = {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}: From c3d84d15ce29b3be3f55e3c5fded66998202595c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 4 Feb 2014 17:18:38 +0100 Subject: [PATCH 022/118] Apply makeOverridable to stdenv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This removes the need for hacks like stdenv.regenerate. It also ensures that overrideGCC is now stackable (so ‘stdenv = useGoldLinker clangStdenv’ works). --- pkgs/development/compilers/dev86/default.nix | 4 +- pkgs/stdenv/adapters.nix | 14 +- pkgs/stdenv/generic/default.nix | 276 +++++++++---------- pkgs/top-level/all-packages.nix | 7 +- 4 files changed, 141 insertions(+), 160 deletions(-) diff --git a/pkgs/development/compilers/dev86/default.nix b/pkgs/development/compilers/dev86/default.nix index 539588ac3ad..f37dae80830 100644 --- a/pkgs/development/compilers/dev86/default.nix +++ b/pkgs/development/compilers/dev86/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation { name = "dev86-0.16.19"; - + src = fetchurl { url = http://www.debath.co.uk/dev86/Dev86src-0.16.19.tar.gz; sha256 = "33398b87ca85e2b69e4062cf59f2f7354af46da5edcba036c6f97bae17b8d00e"; @@ -17,7 +17,7 @@ stdenv.mkDerivation { '' substituteInPlace makefile.in --replace "-O2" "" --replace "-O" "" ''; - + meta = { description = "Linux 8086 development environment"; homepage = http://www.debath.co.uk/; diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 85063621815..da4e0691e43 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -8,20 +8,14 @@ rec { # Override the compiler in stdenv for specific packages. - overrideGCC = stdenv: gcc: stdenv // - { mkDerivation = args: stdenv.mkDerivation (args // { NIX_GCC = gcc; }); - inherit gcc; - }; + overrideGCC = stdenv: gcc: stdenv.override { inherit gcc; }; # Add some arbitrary packages to buildInputs for specific packages. # Used to override packages in stdenv like Make. Should not be used # for other dependencies. - overrideInStdenv = stdenv: pkgs: stdenv // - { mkDerivation = args: stdenv.mkDerivation (args // - { buildInputs = args.buildInputs or [] ++ pkgs; } - ); - }; + overrideInStdenv = stdenv: pkgs: + stdenv.override (prev: { extraBuildInputs = prev.extraBuildInputs or [] ++ pkgs; }); # Override the setup script of stdenv. Useful for testing new @@ -32,7 +26,7 @@ rec { # randomPkg = import ../bla { ... # stdenv = overrideSetup stdenv ../stdenv/generic/setup-latest.sh; # }; - overrideSetup = stdenv: setup: stdenv.regenerate setup; + overrideSetup = stdenv: setupScript: stdenv.override { inherit setupScript; }; # Return a modified stdenv that uses dietlibc to create small diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 4a36327810b..f872d5b1b75 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -1,9 +1,15 @@ +let lib = import ../../../lib; in lib.makeOverridable ( + { system, name ? "stdenv", preHook ? "", initialPath, gcc, shell , extraAttrs ? {}, overrides ? (pkgs: {}), config , # The `fetchurl' to use for downloading curl and its dependencies # (see all-packages.nix). fetchurlBoot + +, setupScript ? ./setup.sh + +, extraBuildInputs ? [] }: if ! builtins ? langVersion then @@ -14,169 +20,155 @@ else let - lib = import ../../../lib; - allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1"; allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; unsafeGetAttrPos = builtins.unsafeGetAttrPos or (n: as: null); - stdenvGenerator = setupScript: rec { + # The stdenv that we are producing. + result = - # The stdenv that we are producing. - result = + derivation { + inherit system name; - derivation { - inherit system name; + builder = shell; - builder = shell; + args = ["-e" ./builder.sh]; - args = ["-e" ./builder.sh]; + setup = setupScript; - setup = setupScript; + inherit preHook initialPath gcc shell; - inherit preHook initialPath gcc shell; + propagatedUserEnvPkgs = [gcc] ++ + lib.filter lib.isDerivation initialPath; - propagatedUserEnvPkgs = [gcc] ++ - lib.filter lib.isDerivation initialPath; + __ignoreNulls = true; + } - __ignoreNulls = true; - } + // rec { - // rec { + meta = { + description = "The default build environment for Unix packages in Nixpkgs"; + }; - meta = { - description = "The default build environment for Unix packages in Nixpkgs"; - }; - - # Add a utility function to produce derivations that use this - # stdenv and its shell. - mkDerivation = attrs: - let - pos = - if attrs.meta.description or null != null then - unsafeGetAttrPos "description" attrs.meta - else - unsafeGetAttrPos "name" attrs; - pos' = if pos != null then "‘" + pos.file + ":" + toString pos.line + "’" else "«unknown-file»"; - in - if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then - throw "package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate" - else if !allowBroken && attrs.meta.broken or false then - throw "you can't use package ‘${attrs.name}’ in ${pos'} because it has been marked as broken" - else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then - throw "the package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’" - else - lib.addPassthru (derivation ( - (removeAttrs attrs ["meta" "passthru" "crossAttrs"]) - // (let - buildInputs = attrs.buildInputs or []; - nativeBuildInputs = attrs.nativeBuildInputs or []; - propagatedBuildInputs = attrs.propagatedBuildInputs or []; - propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or []; - crossConfig = attrs.crossConfig or null; - in - { - builder = attrs.realBuilder or shell; - args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)]; - stdenv = result; - system = result.system; - userHook = config.stdenv.userHook or null; - - # Inputs built by the cross compiler. - buildInputs = lib.optionals (crossConfig != null) buildInputs; - propagatedBuildInputs = lib.optionals (crossConfig != null) - propagatedBuildInputs; - # Inputs built by the usual native compiler. - nativeBuildInputs = nativeBuildInputs ++ lib.optionals - (crossConfig == null) buildInputs; - propagatedNativeBuildInputs = propagatedNativeBuildInputs ++ - lib.optionals (crossConfig == null) propagatedBuildInputs; - }))) ( + # Add a utility function to produce derivations that use this + # stdenv and its shell. + mkDerivation = attrs: + let + pos = + if attrs.meta.description or null != null then + unsafeGetAttrPos "description" attrs.meta + else + unsafeGetAttrPos "name" attrs; + pos' = if pos != null then "‘" + pos.file + ":" + toString pos.line + "’" else "«unknown-file»"; + in + if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then + throw "package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate" + else if !allowBroken && attrs.meta.broken or false then + throw "you can't use package ‘${attrs.name}’ in ${pos'} because it has been marked as broken" + else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then + throw "the package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’" + else + lib.addPassthru (derivation ( + (removeAttrs attrs ["meta" "passthru" "crossAttrs"]) + // (let + buildInputs = attrs.buildInputs or []; + nativeBuildInputs = attrs.nativeBuildInputs or []; + propagatedBuildInputs = attrs.propagatedBuildInputs or []; + propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or []; + crossConfig = attrs.crossConfig or null; + in { - # The meta attribute is passed in the resulting attribute set, - # but it's not part of the actual derivation, i.e., it's not - # passed to the builder and is not a dependency. But since we - # include it in the result, it *is* available to nix-env for - # queries. We also a meta.position attribute here to - # identify the source location of the package. - meta = attrs.meta or {} // (if pos != null then { - position = pos.file + ":" + (toString pos.line); - } else {}); - passthru = attrs.passthru or {}; - } // - # Pass through extra attributes that are not inputs, but - # should be made available to Nix expressions using the - # derivation (e.g., in assertions). - (attrs.passthru or {})); + builder = attrs.realBuilder or shell; + args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)]; + stdenv = result; + system = result.system; + userHook = config.stdenv.userHook or null; - # Utility flags to test the type of platform. - isDarwin = result.system == "x86_64-darwin"; - isLinux = result.system == "i686-linux" - || result.system == "x86_64-linux" - || result.system == "powerpc-linux" - || result.system == "armv5tel-linux" - || result.system == "armv6l-linux" - || result.system == "armv7l-linux" - || result.system == "mips64el-linux"; - isGNU = result.system == "i686-gnu"; # GNU/Hurd - isGlibc = isGNU # useful for `stdenvNative' - || isLinux - || result.system == "x86_64-kfreebsd-gnu"; - isSunOS = result.system == "i686-solaris" - || result.system == "x86_64-solaris"; - isCygwin = result.system == "i686-cygwin"; - isFreeBSD = result.system == "i686-freebsd" - || result.system == "x86_64-freebsd"; - isOpenBSD = result.system == "i686-openbsd" - || result.system == "x86_64-openbsd"; - isBSD = result.system == "i686-freebsd" - || result.system == "x86_64-freebsd" - || result.system == "i686-openbsd" - || result.system == "x86_64-openbsd"; - isi686 = result.system == "i686-linux" - || result.system == "i686-gnu" - || result.system == "i686-freebsd" - || result.system == "i686-openbsd" - || result.system == "i386-sunos"; - isx86_64 = result.system == "x86_64-linux" - || result.system == "x86_64-darwin" - || result.system == "x86_64-freebsd" - || result.system == "x86_64-openbsd" - || result.system == "x86_64-solaris"; - is64bit = result.system == "x86_64-linux" - || result.system == "x86_64-darwin" - || result.system == "x86_64-freebsd" - || result.system == "x86_64-openbsd" - || result.system == "x86_64-solaris"; - isMips = result.system == "mips-linux" - || result.system == "mips64el-linux"; - isArm = result.system == "armv5tel-linux" + # Inputs built by the cross compiler. + buildInputs = lib.optionals (crossConfig != null) buildInputs ++ extraBuildInputs; + propagatedBuildInputs = lib.optionals (crossConfig != null) propagatedBuildInputs; + # Inputs built by the usual native compiler. + nativeBuildInputs = nativeBuildInputs ++ lib.optionals (crossConfig == null) buildInputs; + propagatedNativeBuildInputs = propagatedNativeBuildInputs ++ + lib.optionals (crossConfig == null) propagatedBuildInputs; + }))) ( + { + # The meta attribute is passed in the resulting attribute set, + # but it's not part of the actual derivation, i.e., it's not + # passed to the builder and is not a dependency. But since we + # include it in the result, it *is* available to nix-env for + # queries. We also a meta.position attribute here to + # identify the source location of the package. + meta = attrs.meta or {} // (if pos != null then { + position = pos.file + ":" + (toString pos.line); + } else {}); + passthru = attrs.passthru or {}; + } // + # Pass through extra attributes that are not inputs, but + # should be made available to Nix expressions using the + # derivation (e.g., in assertions). + (attrs.passthru or {})); + + # Utility flags to test the type of platform. + isDarwin = result.system == "x86_64-darwin"; + isLinux = result.system == "i686-linux" + || result.system == "x86_64-linux" + || result.system == "powerpc-linux" + || result.system == "armv5tel-linux" || result.system == "armv6l-linux" - || result.system == "armv7l-linux"; + || result.system == "armv7l-linux" + || result.system == "mips64el-linux"; + isGNU = result.system == "i686-gnu"; # GNU/Hurd + isGlibc = isGNU # useful for `stdenvNative' + || isLinux + || result.system == "x86_64-kfreebsd-gnu"; + isSunOS = result.system == "i686-solaris" + || result.system == "x86_64-solaris"; + isCygwin = result.system == "i686-cygwin"; + isFreeBSD = result.system == "i686-freebsd" + || result.system == "x86_64-freebsd"; + isOpenBSD = result.system == "i686-openbsd" + || result.system == "x86_64-openbsd"; + isBSD = result.system == "i686-freebsd" + || result.system == "x86_64-freebsd" + || result.system == "i686-openbsd" + || result.system == "x86_64-openbsd"; + isi686 = result.system == "i686-linux" + || result.system == "i686-gnu" + || result.system == "i686-freebsd" + || result.system == "i686-openbsd" + || result.system == "i386-sunos"; + isx86_64 = result.system == "x86_64-linux" + || result.system == "x86_64-darwin" + || result.system == "x86_64-freebsd" + || result.system == "x86_64-openbsd" + || result.system == "x86_64-solaris"; + is64bit = result.system == "x86_64-linux" + || result.system == "x86_64-darwin" + || result.system == "x86_64-freebsd" + || result.system == "x86_64-openbsd" + || result.system == "x86_64-solaris"; + isMips = result.system == "mips-linux" + || result.system == "mips64el-linux"; + isArm = result.system == "armv5tel-linux" + || result.system == "armv6l-linux" + || result.system == "armv7l-linux"; - # Utility function: allow stdenv to be easily regenerated with - # a different setup script. (See all-packages.nix for an - # example.) - regenerate = stdenvGenerator; + # For convenience, bring in the library functions in lib/ so + # packages don't have to do that themselves. + inherit lib; - # For convenience, bring in the library functions in lib/ so - # packages don't have to do that themselves. - inherit lib; + inherit fetchurlBoot; - inherit fetchurlBoot; + inherit overrides; + } - inherit overrides; - } + # Propagate any extra attributes. For instance, we use this to + # "lift" packages like curl from the final stdenv for Linux to + # all-packages.nix for that platform (meaning that it has a line + # like curl = if stdenv ? curl then stdenv.curl else ...). + // extraAttrs; - # Propagate any extra attributes. For instance, we use this to - # "lift" packages like curl from the final stdenv for Linux to - # all-packages.nix for that platform (meaning that it has a line - # like curl = if stdenv ? curl then stdenv.curl else ...). - // extraAttrs; - - }.result; - - -in stdenvGenerator ./setup.sh +in result) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 785e22f95e9..1495372f6da 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -782,12 +782,7 @@ let despotify = callPackage ../development/libraries/despotify { }; - dev86 = callPackage ../development/compilers/dev86 { - /* Using GNU Make 3.82 leads to this: - make[4]: *** No rule to make target `__ldivmod.o)' - So use 3.81. */ - stdenv = overrideInStdenv stdenv [gnumake381]; - }; + dev86 = callPackage ../development/compilers/dev86 { }; dnsmasq = callPackage ../tools/networking/dnsmasq { }; From 58a863268a8f4cb0b5e9ed7bf7cb00b164b576a8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 4 Feb 2014 17:34:15 +0100 Subject: [PATCH 023/118] stdenv: Simplify --- pkgs/stdenv/generic/default.nix | 84 ++++++++++++++++----------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index f872d5b1b75..457eb29ee14 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -112,49 +112,49 @@ let (attrs.passthru or {})); # Utility flags to test the type of platform. - isDarwin = result.system == "x86_64-darwin"; - isLinux = result.system == "i686-linux" - || result.system == "x86_64-linux" - || result.system == "powerpc-linux" - || result.system == "armv5tel-linux" - || result.system == "armv6l-linux" - || result.system == "armv7l-linux" - || result.system == "mips64el-linux"; - isGNU = result.system == "i686-gnu"; # GNU/Hurd - isGlibc = isGNU # useful for `stdenvNative' + isDarwin = system == "x86_64-darwin"; + isLinux = system == "i686-linux" + || system == "x86_64-linux" + || system == "powerpc-linux" + || system == "armv5tel-linux" + || system == "armv6l-linux" + || system == "armv7l-linux" + || system == "mips64el-linux"; + isGNU = system == "i686-gnu"; # GNU/Hurd + isGlibc = isGNU # useful for `stdenvNative' || isLinux - || result.system == "x86_64-kfreebsd-gnu"; - isSunOS = result.system == "i686-solaris" - || result.system == "x86_64-solaris"; - isCygwin = result.system == "i686-cygwin"; - isFreeBSD = result.system == "i686-freebsd" - || result.system == "x86_64-freebsd"; - isOpenBSD = result.system == "i686-openbsd" - || result.system == "x86_64-openbsd"; - isBSD = result.system == "i686-freebsd" - || result.system == "x86_64-freebsd" - || result.system == "i686-openbsd" - || result.system == "x86_64-openbsd"; - isi686 = result.system == "i686-linux" - || result.system == "i686-gnu" - || result.system == "i686-freebsd" - || result.system == "i686-openbsd" - || result.system == "i386-sunos"; - isx86_64 = result.system == "x86_64-linux" - || result.system == "x86_64-darwin" - || result.system == "x86_64-freebsd" - || result.system == "x86_64-openbsd" - || result.system == "x86_64-solaris"; - is64bit = result.system == "x86_64-linux" - || result.system == "x86_64-darwin" - || result.system == "x86_64-freebsd" - || result.system == "x86_64-openbsd" - || result.system == "x86_64-solaris"; - isMips = result.system == "mips-linux" - || result.system == "mips64el-linux"; - isArm = result.system == "armv5tel-linux" - || result.system == "armv6l-linux" - || result.system == "armv7l-linux"; + || system == "x86_64-kfreebsd-gnu"; + isSunOS = system == "i686-solaris" + || system == "x86_64-solaris"; + isCygwin = system == "i686-cygwin"; + isFreeBSD = system == "i686-freebsd" + || system == "x86_64-freebsd"; + isOpenBSD = system == "i686-openbsd" + || system == "x86_64-openbsd"; + isBSD = system == "i686-freebsd" + || system == "x86_64-freebsd" + || system == "i686-openbsd" + || system == "x86_64-openbsd"; + isi686 = system == "i686-linux" + || system == "i686-gnu" + || system == "i686-freebsd" + || system == "i686-openbsd" + || system == "i386-sunos"; + isx86_64 = system == "x86_64-linux" + || system == "x86_64-darwin" + || system == "x86_64-freebsd" + || system == "x86_64-openbsd" + || system == "x86_64-solaris"; + is64bit = system == "x86_64-linux" + || system == "x86_64-darwin" + || system == "x86_64-freebsd" + || system == "x86_64-openbsd" + || system == "x86_64-solaris"; + isMips = system == "mips-linux" + || system == "mips64el-linux"; + isArm = system == "armv5tel-linux" + || system == "armv6l-linux" + || system == "armv7l-linux"; # For convenience, bring in the library functions in lib/ so # packages don't have to do that themselves. From bea2b3c5177a9fae5df5598574bd25bca8f6cb09 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 5 Feb 2014 12:49:53 +0100 Subject: [PATCH 024/118] addCoverageInstrumentation: Set NIX_CFLAGS_COMPILE as an attribute This allows it to show up in nix-shell. --- pkgs/stdenv/adapters.nix | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index da4e0691e43..3bac5341154 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -231,8 +231,17 @@ rec { programs like lcov to produce pretty-printed reports. */ addCoverageInstrumentation = stdenv: - addAttrsToDerivation - { + # Object files instrumented with coverage analysis write runtime + # coverage data to /.gcda, where is the + # location where gcc originally created the object file. That + # would be /tmp/nix-build-, which will be long gone by + # the time we run the program. Furthermore, the .gcno + # files created at compile time are also written there. And to + # make nice coverage reports with lcov, we need the source code. + # So we have to use the `keepBuildTree' adapter as well. + let stdenv' = cleanupBuildTree (keepBuildTree stdenv); in + { mkDerivation = args: stdenv'.mkDerivation (args // { + NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -O0 --coverage"; postUnpack = '' # This is an uberhack to prevent libtool from removing gcno @@ -242,21 +251,9 @@ rec { for i in $(find -name ltmain.sh); do substituteInPlace $i --replace '*.$objext)' '*.$objext | *.gcno)' done - - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -O0 --coverage" - ''; - } - - # Object files instrumented with coverage analysis write - # runtime coverage data to /.gcda, where - # is the location where gcc originally created the object - # file. That would be /tmp/nix-build-, which will - # be long gone by the time we run the program. Furthermore, - # the .gcno files created at compile time are also - # written there. And to make nice coverage reports with lcov, - # we need the source code. So we have to use the - # `keepBuildTree' adapter as well. - (cleanupBuildTree (keepBuildTree stdenv)); + '' + args.postUnpack or ""; + }); + }; /* Replace the meta.maintainers field of a derivation. This is useful From 80647127a3e7e3eaf84dc6ff0af13ff4aaad2e0b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 5 Feb 2014 14:11:21 +0100 Subject: [PATCH 025/118] Turn the coverage analysis stdenv adapters into setup hooks Stdenv adapters are kinda weird and un-idiomatic (especially when they don't actually change stdenv). It's more idiomatic to say buildInputs = [ makeCoverageAnalysisReport ]; --- pkgs/build-support/release/default.nix | 2 +- pkgs/build-support/release/nix-build.nix | 29 ++----------------- .../enable-coverage-instrumentation.sh | 14 +++++++++ .../make-coverage-analysis-report.sh | 18 ++++++++++++ pkgs/stdenv/adapters.nix | 24 +-------------- pkgs/stdenv/generic/default.nix | 4 +-- pkgs/top-level/all-packages.nix | 6 ++++ 7 files changed, 45 insertions(+), 52 deletions(-) create mode 100644 pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh create mode 100644 pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh diff --git a/pkgs/build-support/release/default.nix b/pkgs/build-support/release/default.nix index 3d593f0b6bb..acad3487dad 100644 --- a/pkgs/build-support/release/default.nix +++ b/pkgs/build-support/release/default.nix @@ -27,7 +27,7 @@ rec { } // args); coverageAnalysis = args: nixBuild ( - { inherit lcov; + { inherit lcov enableCoverageInstrumentation makeCoverageAnalysisReport; doCoverageAnalysis = true; } // args); diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix index 88bafd84faa..42533b0094a 100644 --- a/pkgs/build-support/release/nix-build.nix +++ b/pkgs/build-support/release/nix-build.nix @@ -15,6 +15,7 @@ , failureHook ? null , prePhases ? [] , postPhases ? [] +, buildInputs ? [] , ... } @ args: stdenv.mkDerivation ( @@ -61,13 +62,6 @@ stdenv.mkDerivation ( . ${./functions.sh} origSrc=$src src=$(findTarballs $src | head -1) - - # Set GCC flags for coverage analysis, if desired. - if test -n "${toString doCoverageAnalysis}"; then - export NIX_CFLAGS_COMPILE="-O0 --coverage $NIX_CFLAGS_COMPILE" - export CFLAGS="-O0" - export CXXFLAGS="-O0" - fi ''; initPhase = '' @@ -85,30 +79,13 @@ stdenv.mkDerivation ( prePhases = ["initPhase"] ++ prePhases; - # In the report phase, create a coverage analysis report. - coverageReportPhase = if doCoverageAnalysis then '' - ${args.lcov}/bin/lcov --directory . --capture --output-file app.info - set -o noglob - ${args.lcov}/bin/lcov --remove app.info $lcovFilter > app2.info - set +o noglob - mv app2.info app.info - - mkdir $out/coverage - ${args.lcov}/bin/genhtml app.info $lcovExtraTraceFiles -o $out/coverage > log - - # Grab the overall coverage percentage for use in release overviews. - grep "Overall coverage rate" log | sed 's/^.*(\(.*\)%).*$/\1/' > $out/nix-support/coverage-rate - - echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products - '' else ""; - + buildInputs = buildInputs ++ [ args.makeCoverageAnalysisReport ]; lcovFilter = ["/nix/store/*"] ++ lcovFilter; inherit lcovExtraTraceFiles; - postPhases = postPhases ++ - (stdenv.lib.optional doCoverageAnalysis "coverageReportPhase") ++ ["finalPhase"]; + postPhases = postPhases ++ ["finalPhase"]; meta = (if args ? meta then args.meta else {}) // { description = if doCoverageAnalysis then "Coverage analysis" else "Nix package for ${stdenv.system}"; diff --git a/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh b/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh new file mode 100644 index 00000000000..08ef490e244 --- /dev/null +++ b/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh @@ -0,0 +1,14 @@ +# Force GCC to build with coverage instrumentation. Also disable +# optimisation, since it may confuse things. +export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -O0 --coverage" + +# FIXME: Handle the case where postUnpack is already set. +postUnpack() { + # This is an uberhack to prevent libtool from remoaving gcno + # files. This has been fixed in libtool, but there are packages + # out there with old ltmain.sh scripts. See + # http://www.mail-archive.com/libtool@gnu.org/msg10725.html + for i in $(find -name ltmain.sh); do + substituteInPlace $i --replace '*.$objext)' '*.$objext | *.gcno)' + done +} diff --git a/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh new file mode 100644 index 00000000000..2951666651c --- /dev/null +++ b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh @@ -0,0 +1,18 @@ +postPhases+=" coverageReportPhase" + +coverageReportPhase() { + lcov --directory . --capture --output-file app.info + set -o noglob + lcov --remove app.info $lcovFilter > app2.info + set +o noglob + mv app2.info app.info + + mkdir -p $out/coverage + genhtml app.info $lcovExtraTraceFiles -o $out/coverage > log + + # Grab the overall coverage percentage for use in release overviews. + mkdir -p $out/nix-support + grep "Overall coverage rate" log | sed 's/^.*(\(.*\)%).*$/\1/' > $out/nix-support/coverage-rate + + echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products +} diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 3bac5341154..cb7e3ba925f 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -231,29 +231,7 @@ rec { programs like lcov to produce pretty-printed reports. */ addCoverageInstrumentation = stdenv: - # Object files instrumented with coverage analysis write runtime - # coverage data to /.gcda, where is the - # location where gcc originally created the object file. That - # would be /tmp/nix-build-, which will be long gone by - # the time we run the program. Furthermore, the .gcno - # files created at compile time are also written there. And to - # make nice coverage reports with lcov, we need the source code. - # So we have to use the `keepBuildTree' adapter as well. - let stdenv' = cleanupBuildTree (keepBuildTree stdenv); in - { mkDerivation = args: stdenv'.mkDerivation (args // { - NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -O0 --coverage"; - postUnpack = - '' - # This is an uberhack to prevent libtool from removing gcno - # files. This has been fixed in libtool, but there are - # packages out there with old ltmain.sh scripts. - # See http://www.mail-archive.com/libtool@gnu.org/msg10725.html - for i in $(find -name ltmain.sh); do - substituteInPlace $i --replace '*.$objext)' '*.$objext | *.gcno)' - done - '' + args.postUnpack or ""; - }); - }; + cleanupBuildTree (keepBuildTree (overrideInStdenv stdenv [ pkgs.enableCoverageInstrumentation ])); /* Replace the meta.maintainers field of a derivation. This is useful diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 457eb29ee14..6e74af5fce5 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -87,10 +87,10 @@ let userHook = config.stdenv.userHook or null; # Inputs built by the cross compiler. - buildInputs = lib.optionals (crossConfig != null) buildInputs ++ extraBuildInputs; + buildInputs = lib.optionals (crossConfig != null) (buildInputs ++ extraBuildInputs); propagatedBuildInputs = lib.optionals (crossConfig != null) propagatedBuildInputs; # Inputs built by the usual native compiler. - nativeBuildInputs = nativeBuildInputs ++ lib.optionals (crossConfig == null) buildInputs; + nativeBuildInputs = nativeBuildInputs ++ lib.optionals (crossConfig == null) (buildInputs ++ extraBuildInputs); propagatedNativeBuildInputs = propagatedNativeBuildInputs ++ lib.optionals (crossConfig == null) propagatedBuildInputs; }))) ( diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1495372f6da..bbc14656e8e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -396,6 +396,12 @@ let fixDarwinDylibNames = makeSetupHook { } ../build-support/setup-hooks/fix-darwin-dylib-names.sh; + enableCoverageInstrumentation = makeSetupHook { } ../build-support/setup-hooks/enable-coverage-instrumentation.sh; + + makeCoverageAnalysisReport = makeSetupHook + { deps = [ pkgs.lcov pkgs.enableCoverageInstrumentation ]; } + ../build-support/setup-hooks/make-coverage-analysis-report.sh; + ### TOOLS From a123a2675bdd7da9b592fb7ab3db328208f88843 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 5 Feb 2014 14:37:43 +0100 Subject: [PATCH 026/118] lcov: Filter out /nix/store/* by default --- pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh index 2951666651c..4b8abb61ace 100644 --- a/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh +++ b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh @@ -3,7 +3,7 @@ postPhases+=" coverageReportPhase" coverageReportPhase() { lcov --directory . --capture --output-file app.info set -o noglob - lcov --remove app.info $lcovFilter > app2.info + lcov --remove app.info ${lcovFilter:-"/nix/store/*"} > app2.info set +o noglob mv app2.info app.info From 428469443987e063760cf85235d96f02f51dc891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 5 Feb 2014 19:16:15 +0100 Subject: [PATCH 027/118] nixos/mesa: don't create /run/opengl-driver-32 ... ... if on 64-bit and without 32-bit drivers. Also assert against requesting 32-bit drivers on 32-bit machine. --- nixos/modules/services/x11/mesa.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/x11/mesa.nix b/nixos/modules/services/x11/mesa.nix index f892a151758..12fc7ae1178 100644 --- a/nixos/modules/services/x11/mesa.nix +++ b/nixos/modules/services/x11/mesa.nix @@ -61,13 +61,18 @@ in { }; config = mkIf cfg.enable { + assertions = pkgs.lib.singleton { + assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64; + message = "Option driSupport32Bit only makes sens on a 64-bit system."; + }; + system.activationScripts.setup-opengl.deps = []; system.activationScripts.setup-opengl.text = '' rm -f /run/opengl-driver{,-32} - ${optionalString (!cfg.driSupport32Bit) "ln -sf opengl-driver /run/opengl-driver-32"} - - ${# !!! The OpenGL driver depends on what's detected at runtime. - if elem "nvidia" cfg.videoDrivers then + ${optionalString (pkgs.stdenv.isi686) "ln -sf opengl-driver /run/opengl-driver-32"} + '' + #TODO: The OpenGL driver should depend on what's detected at runtime. + +( if elem "nvidia" cfg.videoDrivers then '' ln -sf ${kernelPackages.nvidia_x11} /run/opengl-driver ${optionalString cfg.driSupport32Bit @@ -89,8 +94,7 @@ in { ${optionalString cfg.driSupport32Bit "ln -sf ${pkgs_i686.mesa_drivers} /run/opengl-driver-32"} '' - } - ''; + ); environment.variables.LD_LIBRARY_PATH = [ "/run/opengl-driver/lib" "/run/opengl-driver-32/lib" ] From 65fe5331f4247ca3b1b5baa6f64a19c195df9f1b Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Wed, 5 Feb 2014 20:22:14 +0200 Subject: [PATCH 028/118] kde4_next.calligra: update from 2.7.2 to 2.7.5 --- pkgs/applications/office/calligra/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix index 137e7be019f..e87053d5326 100644 --- a/pkgs/applications/office/calligra/default.nix +++ b/pkgs/applications/office/calligra/default.nix @@ -6,11 +6,11 @@ }: stdenv.mkDerivation rec { - name = "calligra-2.7.2"; + name = "calligra-2.7.5"; src = fetchurl { url = "mirror://kde/stable/${name}/${name}.tar.xz"; - sha256 = "1awnvv62fp5bjhi6fys37s6lpzxaig4v15m1zjlgxq82ig61w6sq"; + sha256 = "0png8ac10xywxsml1z18as18kc9k9162l6an67hi6lgx0rv27ldi"; }; nativeBuildInputs = [ cmake perl pkgconfig ]; From c60f9cdb3eabdf28c63b6b32f033c9975de02be2 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Wed, 5 Feb 2014 20:28:53 +0200 Subject: [PATCH 029/118] kwebkitpart: update from 1.3.2 to 1.3.3 --- .../networking/browsers/kwebkitpart/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/kwebkitpart/default.nix b/pkgs/applications/networking/browsers/kwebkitpart/default.nix index e9babf787bd..5ced048fe64 100644 --- a/pkgs/applications/networking/browsers/kwebkitpart/default.nix +++ b/pkgs/applications/networking/browsers/kwebkitpart/default.nix @@ -1,12 +1,13 @@ { stdenv, fetchgit, kdelibs }: stdenv.mkDerivation rec { - name = "kwebkitpart-1.3.2"; + name = "kwebkitpart-${version}"; + version = "1.3.3"; src = fetchgit { url = git://anongit.kde.org/kwebkitpart; - rev = "292f32fda933b2ead5a61ff1ec457f839fad5c85"; - sha256 = "1b2jar9b1yb3gy9fnq8dn2n4z8lffb6pfrj9jc4rjzv5b3rwh1ak"; + rev = "refs/tags/v${version}"; + sha256 = "0kszffgg3zpf319lmzlmdba5gq8kdr5xwb69xwy4s2abc9nvwvbi"; }; buildInputs = [ kdelibs ]; From d7cb2f5712ec392093bc2cd714f099eaec74acbc Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 5 Feb 2014 19:45:15 +0100 Subject: [PATCH 030/118] lcov: Apply upstream patch for GCC >= 4.7 compatibility --- pkgs/development/tools/analysis/lcov/default.nix | 3 ++- .../tools/analysis/lcov/lcov-except-unreach.patch | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix index 0a0974b886a..92e53204a34 100644 --- a/pkgs/development/tools/analysis/lcov/default.nix +++ b/pkgs/development/tools/analysis/lcov/default.nix @@ -9,7 +9,8 @@ stdenv.mkDerivation rec { }; patches = - (stdenv.lib.optional stdenv.isFreeBSD ./freebsd-install.patch); + [ ./lcov-except-unreach.patch ] + ++ stdenv.lib.optional stdenv.isFreeBSD ./freebsd-install.patch; preBuild = '' makeFlagsArray=(PREFIX=$out BIN_DIR=$out/bin MAN_DIR=$out/share/man) diff --git a/pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch b/pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch new file mode 100644 index 00000000000..6c8d8664d02 --- /dev/null +++ b/pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch @@ -0,0 +1,13 @@ +http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/lcov/bin/geninfo?r1=1.117&r2=1.118&view=patch + +--- a/bin/geninfo 2012/10/10 08:36:16 1.117 ++++ b/bin/geninfo 2012/11/13 09:58:53 1.118 +@@ -1833,7 +1833,7 @@ + push(@result, 0); + } else { + # Check for zero count +- if ($count eq "#####") { ++ if ($count =~ /^[#=]/) { + $count = 0; + } + push(@result, 1); From eed3c8a6eccaaa5680d4d358e4c996d38576ca83 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 5 Feb 2014 20:17:01 +0100 Subject: [PATCH 031/118] lcov: Don't warn about missing source files Another upstream patch for compatibility with current GCCs. --- .../tools/analysis/lcov/default.nix | 2 +- .../tools/analysis/lcov/no-warn-missing.patch | 54 +++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/tools/analysis/lcov/no-warn-missing.patch diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix index 92e53204a34..9ad34097d0b 100644 --- a/pkgs/development/tools/analysis/lcov/default.nix +++ b/pkgs/development/tools/analysis/lcov/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; patches = - [ ./lcov-except-unreach.patch ] + [ ./lcov-except-unreach.patch ./no-warn-missing.patch ] ++ stdenv.lib.optional stdenv.isFreeBSD ./freebsd-install.patch; preBuild = '' diff --git a/pkgs/development/tools/analysis/lcov/no-warn-missing.patch b/pkgs/development/tools/analysis/lcov/no-warn-missing.patch new file mode 100644 index 00000000000..fa1f476fba0 --- /dev/null +++ b/pkgs/development/tools/analysis/lcov/no-warn-missing.patch @@ -0,0 +1,54 @@ +http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/lcov/bin/geninfo?view=log + +--- a/bin/geninfo 2013/01/10 09:02:32 1.119 ++++ b/bin/geninfo 2013/02/22 14:09:08 1.120 +@@ -864,7 +864,6 @@ + my $source; # gcov source header information + my $object; # gcov object header information + my @matches; # List of absolute paths matching filename +- my @unprocessed; # List of unprocessed source code files + my $base_dir; # Base directory for current file + my @tmp_links; # Temporary links to be cleaned up + my @result; +@@ -1060,7 +1059,6 @@ + + # Traverse the list of generated .gcov files and combine them into a + # single .info file +- @unprocessed = keys(%{$instr}); + foreach $gcov_file (sort(@gcov_list)) + { + my $i; +@@ -1143,16 +1141,6 @@ + \@matches, \@gcov_content); + } + +- # Remove processed file from list +- for ($index = scalar(@unprocessed) - 1; $index >= 0; $index--) +- { +- if ($unprocessed[$index] eq $source_filename) +- { +- splice(@unprocessed, $index, 1); +- last; +- } +- } +- + # Skip external files if requested + if (!$opt_external) { + if (is_external($source_filename)) { +@@ -1297,16 +1285,6 @@ + unlink($gcov_file); + } + +- # Check for files which show up in the graph file but were never +- # processed +- if (@unprocessed && @gcov_list) +- { +- foreach (@unprocessed) +- { +- warn("WARNING: no data found for $_\n"); +- } +- } +- + if (!($output_filename && ($output_filename eq "-"))) + { + close(INFO_HANDLE); From d39d5cbc166532d5fc581e8910a6a77010eee57c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 5 Feb 2014 20:24:37 +0100 Subject: [PATCH 032/118] gnome2.vte: fix CVE-2012-2738 (just DOS) --- pkgs/desktops/gnome-2/desktop/vte/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-2/desktop/vte/default.nix b/pkgs/desktops/gnome-2/desktop/vte/default.nix index e9928aa73cf..aca30f87dfc 100644 --- a/pkgs/desktops/gnome-2/desktop/vte/default.nix +++ b/pkgs/desktops/gnome-2/desktop/vte/default.nix @@ -9,7 +9,14 @@ stdenv.mkDerivation rec { sha256 = "00zrip28issgmz2cqk5k824cbqpbixi5x7k88zxksdqpnq1f414d"; }; - patches = [ ./alt.patch ]; + patches = [ + ./alt.patch + ( fetchurl { # CVE-2012-2738 + url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/" + + "vte/files/vte-0.28.2-limit-arguments.patch?revision=1.1"; + sha256 = "1s8agx74wa7wlv9ybd5h3dp4hzf4ddg7piyan37g2ab3fnvg4jhn"; + } ) + ]; buildInputs = [ intltool pkgconfig glib gtk ncurses ] ++ stdenv.lib.optionals pythonSupport [python pygtk]; From 37a354f632491da50b9d6034230617e0dce1bf4c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:39:04 +0100 Subject: [PATCH 033/118] haskell-llvm-general: drop unnecessary function arguments --- pkgs/development/libraries/haskell/llvm-general/3.4.nix | 1 - pkgs/top-level/haskell-packages.nix | 1 - 2 files changed, 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/llvm-general/3.4.nix b/pkgs/development/libraries/haskell/llvm-general/3.4.nix index 3206493eee3..7749c47689e 100644 --- a/pkgs/development/libraries/haskell/llvm-general/3.4.nix +++ b/pkgs/development/libraries/haskell/llvm-general/3.4.nix @@ -1,7 +1,6 @@ { cabal, HUnit, llvmConfig, llvmGeneralPure, mtl, parsec , QuickCheck, setenv, testFramework, testFrameworkHunit , testFrameworkQuickcheck2, transformers, utf8String -, ncurses, zlib }: cabal.mkDerivation (self: { diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 5bcd7b3a69d..c6776b913e3 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1574,7 +1574,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x llvmGeneral = callPackage ../development/libraries/haskell/llvm-general/3.4.nix { llvmConfig = pkgs.llvm; - inherit (pkgs) zlib ncurses; }; llvmGeneralPure_3_3 = callPackage ../development/libraries/haskell/llvm-general-pure/3.3.nix { }; From eb7b5317fdfe79888695f9b7fc7086bdca890760 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:40:47 +0100 Subject: [PATCH 034/118] haskell-packages.nix: provide a consistent attribute name for llvmGeneral_3_4 --- pkgs/top-level/haskell-packages.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c6776b913e3..058343267c9 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1571,14 +1571,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x llvmConfig = pkgs.llvm_33; llvmGeneralPure = self.llvmGeneralPure_3_3; }; - - llvmGeneral = callPackage ../development/libraries/haskell/llvm-general/3.4.nix { + llvmGeneral_3_4 = callPackage ../development/libraries/haskell/llvm-general/3.4.nix { llvmConfig = pkgs.llvm; }; + llvmGeneral = self.llvmGeneral_3_4; llvmGeneralPure_3_3 = callPackage ../development/libraries/haskell/llvm-general-pure/3.3.nix { }; - - llvmGeneralPure = callPackage ../development/libraries/haskell/llvm-general-pure/3.4.nix {}; + llvmGeneralPure_3_4 = callPackage ../development/libraries/haskell/llvm-general-pure/3.4.nix {}; + llvmGeneralPure = self.llvmGeneralPure_3_4; lrucache = callPackage ../development/libraries/haskell/lrucache {}; From f379d2f5b454f8a22c036eacdf2b01a772563888 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:41:05 +0100 Subject: [PATCH 035/118] haskell-abstract-deque-tests: add version 0.3 --- .../haskell/abstract-deque-tests/default.nix | 21 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/development/libraries/haskell/abstract-deque-tests/default.nix diff --git a/pkgs/development/libraries/haskell/abstract-deque-tests/default.nix b/pkgs/development/libraries/haskell/abstract-deque-tests/default.nix new file mode 100644 index 00000000000..66db8b44dc5 --- /dev/null +++ b/pkgs/development/libraries/haskell/abstract-deque-tests/default.nix @@ -0,0 +1,21 @@ +{ cabal, abstractDeque, HUnit, random, testFramework +, testFrameworkHunit, time +}: + +cabal.mkDerivation (self: { + pname = "abstract-deque-tests"; + version = "0.3"; + sha256 = "19gb5x5z3nvazdra3skm24c2g2byj0i4cjbzfwfghnb5q96gn5sz"; + buildDepends = [ + abstractDeque HUnit random testFramework testFrameworkHunit time + ]; + testDepends = [ + abstractDeque HUnit random testFramework testFrameworkHunit time + ]; + meta = { + homepage = "https://github.com/rrnewton/haskell-lockfree/wiki"; + description = "A test-suite for any queue or double-ended queue satisfying an interface"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 058343267c9..8cfd3fec62d 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -520,6 +520,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x abstractDeque = callPackage ../development/libraries/haskell/abstract-deque {}; + abstractDequeTests = callPackage ../development/libraries/haskell/abstract-deque-tests {}; + abstractPar = callPackage ../development/libraries/haskell/abstract-par {}; adjunctions = callPackage ../development/libraries/haskell/adjunctions {}; From cdbca9518e3f0e45e1c94a7ffd673887e979fc1c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:31 +0100 Subject: [PATCH 036/118] haskell-HList: update to version 0.3.2.0 --- pkgs/development/libraries/haskell/HList/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/HList/default.nix b/pkgs/development/libraries/haskell/HList/default.nix index ae6f8e435f7..aafa2fae825 100644 --- a/pkgs/development/libraries/haskell/HList/default.nix +++ b/pkgs/development/libraries/haskell/HList/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "HList"; - version = "0.3.1.0"; - sha256 = "1cq7l7cv62jf47s75ycsgxg75kkrgnnrpb6y22cskc97hkfsnjmk"; + version = "0.3.2.0"; + sha256 = "1cv27y8jg38yvfca83zn3fzq7mkzhqw7j1y7kg5fkfh4wd8ixs1f"; buildDepends = [ mtl ]; testDepends = [ cmdargs doctest filepath hspec lens mtl syb ]; buildTools = [ diffutils ]; From 9c3c0397a24334508ef76da070c28c1be563c199 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:33 +0100 Subject: [PATCH 037/118] haskell-HTF: update to version 0.11.1.1 --- pkgs/development/libraries/haskell/HTF/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix index ddcb8c0e371..509719d383a 100644 --- a/pkgs/development/libraries/haskell/HTF/default.nix +++ b/pkgs/development/libraries/haskell/HTF/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "HTF"; - version = "0.11.1.0"; - sha256 = "0prijzy852fkr8z58rhba6jvrb27b6lyz2jdgqb7r1jrnkhqmhpq"; + version = "0.11.1.1"; + sha256 = "0j425h0av82cbwkfds2jhf3hsm2wd8vca8bjdyg8v09k6kb220cs"; isLibrary = true; isExecutable = true; buildDepends = [ From e41a33b48faef62638b26108226d1cf87a3de0b1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:35 +0100 Subject: [PATCH 038/118] haskell-abstract-deque: update to version 0.3 --- .../libraries/haskell/abstract-deque/default.nix | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/haskell/abstract-deque/default.nix b/pkgs/development/libraries/haskell/abstract-deque/default.nix index 03ae29aef73..c9df3b5c86a 100644 --- a/pkgs/development/libraries/haskell/abstract-deque/default.nix +++ b/pkgs/development/libraries/haskell/abstract-deque/default.nix @@ -1,18 +1,13 @@ -{ cabal, HUnit, random, testFramework, testFrameworkHunit, time }: +{ cabal, random, time }: cabal.mkDerivation (self: { pname = "abstract-deque"; - version = "0.2.2.1"; - sha256 = "0saf7j8fdqqk9msxrfja22zx8v0ibzrqx3v9l07g5n84yh4ydbdx"; - buildDepends = [ - HUnit random testFramework testFrameworkHunit time - ]; - testDepends = [ - HUnit random testFramework testFrameworkHunit time - ]; + version = "0.3"; + sha256 = "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"; + buildDepends = [ random time ]; doCheck = false; meta = { - homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki"; + homepage = "https://github.com/rrnewton/haskell-lockfree/wiki"; description = "Abstract, parameterized interface to mutable Deques"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; From 30ae0ae0a8f18a24ccc7bcf3febd4c49e71e5364 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:37 +0100 Subject: [PATCH 039/118] haskell-ansi-terminal: update to version 0.6.1.1 --- pkgs/development/libraries/haskell/ansi-terminal/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/ansi-terminal/default.nix b/pkgs/development/libraries/haskell/ansi-terminal/default.nix index 2e9b1c0c25f..59eb51845b8 100644 --- a/pkgs/development/libraries/haskell/ansi-terminal/default.nix +++ b/pkgs/development/libraries/haskell/ansi-terminal/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "ansi-terminal"; - version = "0.6.1"; - sha256 = "0ncghc0z2xkfn1hfvyl0haf4mia9lhjbiqda11nxkqqfxdyklb2j"; + version = "0.6.1.1"; + sha256 = "06pdcpp2z7wk9mkr5lzwk64lqhj09c7l1ah4s3vz7zwrdzfaccwi"; isLibrary = true; isExecutable = true; meta = { From 2916f880b1d67a4eb81ebbedb63e5a6d538836ec Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:39 +0100 Subject: [PATCH 040/118] haskell-bindings-DSL: update to version 1.0.21 --- pkgs/development/libraries/haskell/bindings-DSL/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/bindings-DSL/default.nix b/pkgs/development/libraries/haskell/bindings-DSL/default.nix index ed2a631419a..223760b291a 100644 --- a/pkgs/development/libraries/haskell/bindings-DSL/default.nix +++ b/pkgs/development/libraries/haskell/bindings-DSL/default.nix @@ -2,10 +2,10 @@ cabal.mkDerivation (self: { pname = "bindings-DSL"; - version = "1.0.20"; - sha256 = "11qc02fkmrpy6c1a85lwlz06m4fpvfpbpbxgv5rkyb1amg2cnklq"; + version = "1.0.21"; + sha256 = "0fbrl9jfkwlv66v3cv6cj51kk7jjdry0jz8k83bf4mav26123mk9"; meta = { - homepage = "http://bitbucket.org/mauricio/bindings-dsl"; + homepage = "https://github.com/jwiegley/bindings-dsl/wiki"; description = "FFI domain specific language, on top of hsc2hs"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; From 2f17d51ce8df8f394cc5f7a3e6a872441ebd5aa5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:41 +0100 Subject: [PATCH 041/118] haskell-blaze-html: update to version 0.7.0.1 --- pkgs/development/libraries/haskell/blaze-html/default.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix index bec48f8e44f..81b00235673 100644 --- a/pkgs/development/libraries/haskell/blaze-html/default.nix +++ b/pkgs/development/libraries/haskell/blaze-html/default.nix @@ -4,16 +4,13 @@ cabal.mkDerivation (self: { pname = "blaze-html"; - version = "0.7.0.0"; - sha256 = "1k8mxq3hmf2s7qab67jz3yaan7wdc4mn5sa00rw5zk4mjh722w86"; + version = "0.7.0.1"; + sha256 = "05z0a6x49f56bazkcdxpdi2a7pyzsiv7qc72grcz9sqjz1d6yagh"; buildDepends = [ blazeBuilder blazeMarkup text ]; testDepends = [ blazeBuilder blazeMarkup HUnit QuickCheck testFramework testFrameworkHunit testFrameworkQuickcheck2 text ]; - patchPhase = '' - sed -i -e 's|blaze-markup.*>=.*,|blaze-markup,|' blaze-html.cabal - ''; meta = { homepage = "http://jaspervdj.be/blaze"; description = "A blazingly fast HTML combinator library for Haskell"; From 31e1399a31b699dcfc4e0a0a2986f2da408565a1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:43 +0100 Subject: [PATCH 042/118] haskell-blaze-svg: update to version 0.3.3.1 --- pkgs/development/libraries/haskell/blaze-svg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/blaze-svg/default.nix b/pkgs/development/libraries/haskell/blaze-svg/default.nix index b342b35dbe6..0502f1eabc2 100644 --- a/pkgs/development/libraries/haskell/blaze-svg/default.nix +++ b/pkgs/development/libraries/haskell/blaze-svg/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "blaze-svg"; - version = "0.3.3.0"; - sha256 = "1wi4nc73ic3qmbx6v9fniacwcz2nlvmp5snn144fdiwb22klfn5f"; + version = "0.3.3.1"; + sha256 = "00i0apyklvmkr4w30d4r86gcg86h35sc3ncvqax70827126cdmsj"; buildDepends = [ blazeMarkup mtl ]; jailbreak = true; meta = { From 337a7f9e17acaf65100ae4f8319e3d1189355548 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:45 +0100 Subject: [PATCH 043/118] haskell-conduit: update to version 1.0.13 --- pkgs/development/libraries/haskell/conduit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix index 0557fd36236..25987150533 100644 --- a/pkgs/development/libraries/haskell/conduit/default.nix +++ b/pkgs/development/libraries/haskell/conduit/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "conduit"; - version = "1.0.12"; - sha256 = "025h1nbplq7v1qp74bg647q36n3d56kin700ws7vm922xmvcrjjm"; + version = "1.0.13"; + sha256 = "19l2wqx5fil9sv4kj8jd19yvb4fa7jp3n523j38z9bd6ydnb8fni"; buildDepends = [ liftedBase mmorph monadControl mtl resourcet text transformers transformersBase void From 43f6f321707713f60ecdb8b50eed3d19b17cb72b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:47 +0100 Subject: [PATCH 044/118] haskell-diagrams-svg: update to version 1.0.1.2 --- pkgs/development/libraries/haskell/diagrams/svg.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/diagrams/svg.nix b/pkgs/development/libraries/haskell/diagrams/svg.nix index 42289164144..56b1306a7ce 100644 --- a/pkgs/development/libraries/haskell/diagrams/svg.nix +++ b/pkgs/development/libraries/haskell/diagrams/svg.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "diagrams-svg"; - version = "1.0.1.1"; - sha256 = "0wjk2f7xh7ihkvdri669mw25bdwszzx03np32fy66k56x7adgxzc"; + version = "1.0.1.2"; + sha256 = "1aaybkizlfc4ji7m2p2naw4ml1pacppkbfr2ygqlq0k3bg0cd36k"; buildDepends = [ blazeMarkup blazeSvg colour diagramsCore diagramsLib filepath hashable lens monoidExtras mtl split time vectorSpace From 24f0b095a6582dc1998c808ea914f11e972ae0c5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:49 +0100 Subject: [PATCH 045/118] haskell-free: update to version 4.5 --- pkgs/development/libraries/haskell/free/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/free/default.nix b/pkgs/development/libraries/haskell/free/default.nix index 4e679da1bdb..7d8376da28e 100644 --- a/pkgs/development/libraries/haskell/free/default.nix +++ b/pkgs/development/libraries/haskell/free/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "free"; - version = "4.4"; - sha256 = "19c6zy7gxsd121g1kny9y8rv33gsxv3kfsi37iyn6q0p8r38wbcy"; + version = "4.5"; + sha256 = "0hcdl02whmnyxd3mbfrncd978778irm5sx5f4z54zsigwlk822vx"; buildDepends = [ bifunctors comonad distributive mtl profunctors semigroupoids semigroups transformers From 4e9e56382eac6c8e25f9caf64c85145d26a3ba41 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:51 +0100 Subject: [PATCH 046/118] haskell-haskell-src-exts: update to version 1.14.0.1 --- .../libraries/haskell/haskell-src-exts/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix index b044437e527..270353b7f76 100644 --- a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix +++ b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix @@ -4,15 +4,14 @@ cabal.mkDerivation (self: { pname = "haskell-src-exts"; - version = "1.14.0"; - sha256 = "070khsw56xwyrclamv5wckj9na2xbzibv702xx52ik2wbs21dr0d"; + version = "1.14.0.1"; + sha256 = "1bsqjj4hy8mqprs44yfy1c96678w9q708yc40g5ygqfyhg0hd29s"; buildDepends = [ cpphs ]; testDepends = [ filepath smallcheck tasty tastyHunit tastySmallcheck ]; buildTools = [ happy ]; doCheck = false; - preConfigure = "runhaskell Setup.hs clean"; meta = { homepage = "https://github.com/haskell-suite/haskell-src-exts"; description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer"; From 216be85d75712fa73a6bb25513b226459bca52b2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:52 +0100 Subject: [PATCH 047/118] haskell-lockfree-queue: update to version 0.2.3 --- .../libraries/haskell/lockfree-queue/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/lockfree-queue/default.nix b/pkgs/development/libraries/haskell/lockfree-queue/default.nix index ac2114b7f37..a5106d910f3 100644 --- a/pkgs/development/libraries/haskell/lockfree-queue/default.nix +++ b/pkgs/development/libraries/haskell/lockfree-queue/default.nix @@ -1,18 +1,18 @@ -{ cabal, abstractDeque, atomicPrimops, HUnit, IORefCAS +{ cabal, abstractDeque, abstractDequeTests, atomicPrimops, HUnit , testFramework, testFrameworkHunit }: cabal.mkDerivation (self: { pname = "lockfree-queue"; - version = "0.2.0.2"; - sha256 = "0mb07hx4cllnxv7mz19vvn9zcc5rx0ji5wv80fx0yirgk2qjpgml"; - buildDepends = [ abstractDeque atomicPrimops IORefCAS ]; + version = "0.2.3"; + sha256 = "0y8ax6vcjnjm8g7ybn95wca74hm0g22fvgra06vj6l90pl93awyg"; + buildDepends = [ abstractDeque atomicPrimops ]; testDepends = [ - abstractDeque atomicPrimops HUnit IORefCAS testFramework + abstractDeque abstractDequeTests atomicPrimops HUnit testFramework testFrameworkHunit ]; meta = { - homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki"; + homepage = "https://github.com/rrnewton/haskell-lockfree/wiki"; description = "Michael and Scott lock-free queues"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; From 859f5be293c472619088baed184ec7c4466d7a63 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:54 +0100 Subject: [PATCH 048/118] haskell-mime-mail: update to version 0.4.4 --- pkgs/development/libraries/haskell/mime-mail/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix index 4f7353dfdb6..e88dee9fa51 100644 --- a/pkgs/development/libraries/haskell/mime-mail/default.nix +++ b/pkgs/development/libraries/haskell/mime-mail/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "mime-mail"; - version = "0.4.3"; - sha256 = "0xh6j4vdg2ispr9f41s8pvx5rb08zqapkqxyvykvjg2ibmczzg4f"; + version = "0.4.4"; + sha256 = "1y0fss53z1mvykpfkp28zwic2mb7zhf02lwxdr22n34hjzk34g9b"; buildDepends = [ base64Bytestring blazeBuilder filepath random text ]; From d5aaeb89c141a76fa09cf514f742ddffd7273400 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:56 +0100 Subject: [PATCH 049/118] haskell-mime: update to version 0.4.0 --- pkgs/development/libraries/haskell/mime/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/mime/default.nix b/pkgs/development/libraries/haskell/mime/default.nix index 37c231d08ff..b4d2f7d7e50 100644 --- a/pkgs/development/libraries/haskell/mime/default.nix +++ b/pkgs/development/libraries/haskell/mime/default.nix @@ -1,9 +1,10 @@ -{ cabal }: +{ cabal, text }: cabal.mkDerivation (self: { pname = "mime"; - version = "0.3.4"; - sha256 = "1klvy32idy6v029p5a6g93r79ac5cycnrx5c8z9bgvplbplpfjwy"; + version = "0.4.0"; + sha256 = "159jp7dcyx26slda2743zdr2prnm707mnglcb9p66hr1wjh98kx4"; + buildDepends = [ text ]; meta = { homepage = "https://github.com/GaloisInc/mime"; description = "Working with MIME types"; From ebe7e96078131c272f41c84fa4988ae15e53eab2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:42:58 +0100 Subject: [PATCH 050/118] haskell-murmur-hash: update to version 0.1.0.7 --- pkgs/development/libraries/haskell/murmur-hash/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/murmur-hash/default.nix b/pkgs/development/libraries/haskell/murmur-hash/default.nix index 0c4058eb111..12d5d550d10 100644 --- a/pkgs/development/libraries/haskell/murmur-hash/default.nix +++ b/pkgs/development/libraries/haskell/murmur-hash/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "murmur-hash"; - version = "0.1.0.6"; - sha256 = "0wnkwl3a9x0f4rvsj4wf129n03vpw8qk4kzx6vmrapwwb4r80npz"; + version = "0.1.0.7"; + sha256 = "125v4ypiv8n2m8zd1yi46prz96yy79ap0yzhm4vhrws4cf1zapkp"; meta = { homepage = "http://github.com/nominolo/murmur-hash"; description = "MurmurHash2 implementation for Haskell"; From 9ce70d54f66327e8a7ee67627ff9a9ff7a1331fb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:00 +0100 Subject: [PATCH 051/118] haskell-mwc-random: update to version 0.13.1.1 --- pkgs/development/libraries/haskell/mwc-random/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/mwc-random/default.nix b/pkgs/development/libraries/haskell/mwc-random/default.nix index d26980994e7..995571abc20 100644 --- a/pkgs/development/libraries/haskell/mwc-random/default.nix +++ b/pkgs/development/libraries/haskell/mwc-random/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "mwc-random"; - version = "0.13.1.0"; - sha256 = "16g6b1pphr4p36nn5qjj62iwf47rq8kfmpjgfvd35r3cz9qqb8cb"; + version = "0.13.1.1"; + sha256 = "1hi9ci65m3pjkli0rvx2x4fmp73c9fsmnc1zkpaj4g64ibhhir64"; buildDepends = [ primitive time vector ]; testDepends = [ HUnit QuickCheck statistics testFramework testFrameworkHunit From f8fb3529e6c74dbb86b3fc12a210c25a668cde6a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:02 +0100 Subject: [PATCH 052/118] haskell-numbers: update to version 3000.2.0.1 --- pkgs/development/libraries/haskell/numbers/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/numbers/default.nix b/pkgs/development/libraries/haskell/numbers/default.nix index 26ed2d77bd0..902ea9ce880 100644 --- a/pkgs/development/libraries/haskell/numbers/default.nix +++ b/pkgs/development/libraries/haskell/numbers/default.nix @@ -2,13 +2,13 @@ cabal.mkDerivation (self: { pname = "numbers"; - version = "3000.2.0.0"; - sha256 = "035qc7dgh4nd661z4mm742v8y7xqdyyp0r0vkinxiifciqb1fkbm"; + version = "3000.2.0.1"; + sha256 = "10z1bi5qbc81z5xx2v1ylwcpmcfl1ci7lxrswkgi0dd1wi8havbk"; testDepends = [ QuickCheck testFramework testFrameworkQuickcheck2 ]; meta = { - homepage = "https://github.com/DanBurton/numbers#readme"; + homepage = "https://github.com/jwiegley/numbers#readme"; description = "Various number types"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; From c4ce58575bf4d1f73de1828aa3d98beef38c973a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:04 +0100 Subject: [PATCH 053/118] haskell-pandoc-types: update to version 1.12.3.2 --- pkgs/development/libraries/haskell/pandoc-types/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/pandoc-types/default.nix b/pkgs/development/libraries/haskell/pandoc-types/default.nix index 110195fa518..ee41d76a417 100644 --- a/pkgs/development/libraries/haskell/pandoc-types/default.nix +++ b/pkgs/development/libraries/haskell/pandoc-types/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pandoc-types"; - version = "1.12.3.1"; - sha256 = "0q9wj3vkhnvl1l2hbg9nmcbshkf23nmaylm3zmqj5j95vay60hkr"; + version = "1.12.3.2"; + sha256 = "1jgab8ccyyr8ygm6y0wbr3vvwdg5gkp1b6014dk8ryqb2dmkmikc"; buildDepends = [ aeson syb ]; meta = { homepage = "http://johnmacfarlane.net/pandoc"; From 390f7c457944534185550f8e57c4f638519f12ec Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:06 +0100 Subject: [PATCH 054/118] haskell-pandoc: update to version 1.12.3.3 --- pkgs/development/libraries/haskell/pandoc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix index 94a0ba418ea..5a93cb023c9 100644 --- a/pkgs/development/libraries/haskell/pandoc/default.nix +++ b/pkgs/development/libraries/haskell/pandoc/default.nix @@ -10,8 +10,8 @@ cabal.mkDerivation (self: { pname = "pandoc"; - version = "1.12.3.1"; - sha256 = "0kvw10d2cnv16w9y9zx2l2gmn3zsrxppa9lllvqh1jah54rbn1pc"; + version = "1.12.3.3"; + sha256 = "0v7wvh93rz3k7phlz21627j5xakpi83174mchr3lwg4bmkfxn25s"; isLibrary = true; isExecutable = true; buildDepends = [ From 677eef34b3f70c1eaecd31116fae7069675dfc8e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:07 +0100 Subject: [PATCH 055/118] haskell-pipes-parse: update to version 3.0.1 --- pkgs/development/libraries/haskell/pipes-parse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/pipes-parse/default.nix b/pkgs/development/libraries/haskell/pipes-parse/default.nix index ea83701f702..ef615ebb808 100644 --- a/pkgs/development/libraries/haskell/pipes-parse/default.nix +++ b/pkgs/development/libraries/haskell/pipes-parse/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pipes-parse"; - version = "3.0.0"; - sha256 = "07ycdnx24qlysbf78sgfl2g8rfsrxnaiq1rimc4656in4cmcjn9g"; + version = "3.0.1"; + sha256 = "0f262p8mfcpvs3f3myy6bll9v61rfgrfdy2scdzf7vvx0h0lrpj7"; buildDepends = [ pipes transformers ]; meta = { description = "Parsing infrastructure for the pipes ecosystem"; From c1aefe3b26f1b419136d4563cf54e93c82c708e9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:09 +0100 Subject: [PATCH 056/118] haskell-pipes-zlib: update to version 0.4.0 --- pkgs/development/libraries/haskell/pipes-zlib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/pipes-zlib/default.nix b/pkgs/development/libraries/haskell/pipes-zlib/default.nix index 171b8c90b56..67d08ebcb4a 100644 --- a/pkgs/development/libraries/haskell/pipes-zlib/default.nix +++ b/pkgs/development/libraries/haskell/pipes-zlib/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pipes-zlib"; - version = "0.3.0"; - sha256 = "15d475rxziazxlbcbm8snik45z88kk7gxbxrpv4070bwylh3z0wc"; + version = "0.4.0"; + sha256 = "1xi8x7cfzr7042x5jq8b6xqdhffh1jgprk90yzsfjldllck9z5ia"; buildDepends = [ pipes transformers zlib zlibBindings ]; meta = { homepage = "https://github.com/k0001/pipes-zlib"; From 363a00d1ce0e1060ff87d62cd6bd2a5a0204c8e7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:11 +0100 Subject: [PATCH 057/118] haskell-setenv: update to version 0.1.1.1 --- pkgs/development/libraries/haskell/setenv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/setenv/default.nix b/pkgs/development/libraries/haskell/setenv/default.nix index b00480279e1..4b3e75a1731 100644 --- a/pkgs/development/libraries/haskell/setenv/default.nix +++ b/pkgs/development/libraries/haskell/setenv/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "setenv"; - version = "0.1.1"; - sha256 = "1j0fj8nrx9z90kghasxjx5jycz9y9xdi7mrxmgnsc14csa65rhb8"; + version = "0.1.1.1"; + sha256 = "0azkvsvk9i1979rn45zryqyirvjhj9b32nnz1m30aasbs2q8f393"; doCheck = false; meta = { description = "A cross-platform library for setting environment variables"; From d91fe0a1d8a539b699491d91e7ab193ed963e4c2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:13 +0100 Subject: [PATCH 058/118] haskell-tagstream-conduit: update to version 0.5.5 --- .../libraries/haskell/tagstream-conduit/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix index ca177a80a10..c28301e4183 100644 --- a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix +++ b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix @@ -1,15 +1,15 @@ { cabal, attoparsec, attoparsecConduit, blazeBuilder -, blazeBuilderConduit, caseInsensitive, conduit, hspec, HUnit -, QuickCheck, text, transformers +, blazeBuilderConduit, caseInsensitive, conduit, dataDefault, hspec +, HUnit, QuickCheck, text, transformers, xmlConduit }: cabal.mkDerivation (self: { pname = "tagstream-conduit"; - version = "0.5.4.1"; - sha256 = "1gahdil5jasm6v7gp519ahr2yc7ppysdnmkl21cd4zzn6y1r0gw9"; + version = "0.5.5"; + sha256 = "17157chhw610f8az6c25qzq5mmhpb1a8m12kdc2k8khgynpkrj5f"; buildDepends = [ attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit - caseInsensitive conduit text transformers + caseInsensitive conduit dataDefault text transformers xmlConduit ]; testDepends = [ conduit hspec HUnit QuickCheck text ]; meta = { From 8fee060a8bbab34b18afabec6ee8506398924a29 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:15 +0100 Subject: [PATCH 059/118] haskell-warp: update to version 2.0.3.1 --- pkgs/development/libraries/haskell/warp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix index b8008447e40..84f653cde16 100644 --- a/pkgs/development/libraries/haskell/warp/default.nix +++ b/pkgs/development/libraries/haskell/warp/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "warp"; - version = "2.0.2.1"; - sha256 = "0r8kpg2k7mr9y7nlccvfk6qbzgv459gidbaw6sgaxb26f6bgipgk"; + version = "2.0.3.1"; + sha256 = "0rbl9p1kdgvya2ah2bpaqfv73hlvhsd46nk5f5wgx244pm714kc5"; buildDepends = [ blazeBuilder blazeBuilderConduit caseInsensitive conduit hashable httpDate httpTypes liftedBase network networkConduit simpleSendfile From fdce90b76ccacdf0f01df62fda728ea3519097a7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:17 +0100 Subject: [PATCH 060/118] haskell-yaml: update to version 0.8.6 --- pkgs/development/libraries/haskell/yaml/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix index 8e3a3e46f45..e7fac87c319 100644 --- a/pkgs/development/libraries/haskell/yaml/default.nix +++ b/pkgs/development/libraries/haskell/yaml/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "yaml"; - version = "0.8.5.4"; - sha256 = "0mn1i0whqr9q6vh43x5xa0p4xxckqszhsi62warx1kjvrq4yil6f"; + version = "0.8.6"; + sha256 = "0qmbgb2gsqj25hl1blxjjcpk5fp5za9d1vshjs86mpapqvlhr9rn"; isLibrary = true; isExecutable = true; buildDepends = [ From 8cefbfcb1f43918e3009253a571b8f9c185c464f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:18 +0100 Subject: [PATCH 061/118] haskell-hasktags: update to version 0.68.7 --- pkgs/development/tools/haskell/hasktags/default.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/haskell/hasktags/default.nix b/pkgs/development/tools/haskell/hasktags/default.nix index cd27fb5fbc4..036c308a712 100644 --- a/pkgs/development/tools/haskell/hasktags/default.nix +++ b/pkgs/development/tools/haskell/hasktags/default.nix @@ -1,13 +1,12 @@ -{ cabal, filepath, HUnit, json }: +{ cabal, filepath, json, utf8String }: cabal.mkDerivation (self: { pname = "hasktags"; - version = "0.68.6"; - sha256 = "1r5vnn9n2jva1ccjv8vnp3j0z3bh3xsi7yjv9llnvj0jw308aq9r"; + version = "0.68.7"; + sha256 = "0z98ha2xjc6npcyn15arp6h6ad87bs4acdhd1rnqrsy4lc0lny04"; isLibrary = false; isExecutable = true; - buildDepends = [ filepath json ]; - testDepends = [ filepath HUnit json ]; + buildDepends = [ filepath json utf8String ]; meta = { homepage = "http://github.com/MarcWeber/hasktags"; description = "Produces ctags \"tags\" and etags \"TAGS\" files for Haskell programs"; From 190a01eb43f80bdc78aae04428e13a9f6e13106c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Feb 2014 10:43:20 +0100 Subject: [PATCH 062/118] haskell-hlint: update to version 1.8.57 --- pkgs/development/tools/haskell/hlint/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix index c8ede663be4..860148cf244 100644 --- a/pkgs/development/tools/haskell/hlint/default.nix +++ b/pkgs/development/tools/haskell/hlint/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hlint"; - version = "1.8.56"; - sha256 = "1idff4jaca324acbr0aa64j977l5nxnlfk9nny33i81b5hzciwmw"; + version = "1.8.57"; + sha256 = "062fpyjd3mha9faxdpg763sigafl4mvl8qqw3z31zkafz361qzm4"; isLibrary = true; isExecutable = true; buildDepends = [ From befe6905e2e2de88ab34e7b11608651fc5fd84b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 5 Feb 2014 20:43:52 +0100 Subject: [PATCH 063/118] curl: update 7.33 -> .35, including two security fixes CVE-2013-4545 CVE-2014-0015 --- pkgs/tools/networking/curl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 86f27d7460c..10bfc0e21ec 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -13,11 +13,11 @@ assert scpSupport -> libssh2 != null; assert c-aresSupport -> c-ares != null; stdenv.mkDerivation rec { - name = "curl-7.33.0"; + name = "curl-7.35.0"; src = fetchurl { url = "http://curl.haxx.se/download/${name}.tar.bz2"; - sha256 = "1cyiali7jq613qz5zb28myhywrdi35dngniwvknmh9lyjk6y9z8a"; + sha256 = "10qdzk3lfdpg8lvg8wfiqbfjp5yxyv25y1y2679vgwal2iqd2x6p"; }; # Zlib and OpenSSL must be propagated because `libcurl.la' contains From c2c50db47d9048c3747850ab25731ba509a0c4a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 5 Feb 2014 21:38:03 +0100 Subject: [PATCH 064/118] gegl: fix CVE-2012-4433 via an Arch patch --- pkgs/development/libraries/gegl/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix index a30d5c78e7f..0649775ad21 100644 --- a/pkgs/development/libraries/gegl/default.nix +++ b/pkgs/development/libraries/gegl/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg , librsvg, pango, gtk, bzip2, intltool }: - + stdenv.mkDerivation rec { name = "gegl-0.2.0"; @@ -9,6 +9,13 @@ stdenv.mkDerivation rec { sha256 = "df2e6a0d9499afcbc4f9029c18d9d1e0dd5e8710a75e17c9b1d9a6480dd8d426"; }; + patches = [( fetchurl { + url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/" + + "gegl-0.2.0-CVE-2012-4433.patch?h=packages/gegl&id=57a60fbda5d7bbbd1cc4767cb0724baa80c5e3e9"; + sha256 = "0p8mxj3w09nn1cc6cbxrd9hx742c5y27903i608wx6ja3kdjis59"; + name = "CVE-2012-4433.patch"; + })]; + # needs fonts otherwise don't know how to pass them configureFlags = "--disable-docs"; From edb9e50ef9ee4f671a65b515abe3c899a20c39ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 5 Feb 2014 22:17:41 +0100 Subject: [PATCH 065/118] flashplayer: update, fixing many security CVEs --- .../mozilla-plugins/flashplayer-11/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix index d4d95f7e5b9..ecd51f7c110 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix @@ -35,6 +35,8 @@ }: let + # -> http://get.adobe.com/flashplayer/ + version = "11.2.202.336"; src = if stdenv.system == "x86_64-linux" then @@ -43,10 +45,9 @@ let # http://labs.adobe.com/technologies/flashplayer10/faq.html throw "no x86_64 debugging version available" else rec { - # -> http://labs.adobe.com/downloads/flashplayer10.html - version = "11.2.202.310"; + inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; - sha256 = "03r9r7h3l4i15hw62k9il6pjzq122nldbgxr37b4y10xp08a9izj"; + sha256 = "1wri6y5vllgs452dfklv23k7bp5daajnaqblkn5cb2gl28l5xcni"; } else if stdenv.system == "i686-linux" then if debug then { @@ -55,9 +56,9 @@ let url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz; sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk"; } else rec { - version = "11.2.202.310"; + inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; - sha256 = "0qf09p92silp81pjfcg2vcfcfi1padizmb58q5iaarnapgkawlbh"; + sha256 = "0mjxjbj75r74gqpmqzqa6vlrk2wv7r358wcqbmg132bhv8kaph85"; } else throw "Flash Player is not supported on this platform"; From 4424edccf402537aa6789eb27244e61aea8d13bb Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 3 Feb 2014 07:30:29 -0600 Subject: [PATCH 066/118] rxvt-unicode: calculate font width correctly It is (fairly) well known among rxvt-unicode users that its method of calculating the width of Xft fonts is not correct. This is the Gentoo version of the patch which corrects the problem. --- .../misc/rxvt_unicode/default.nix | 2 ++ .../rxvt-unicode-9.06-font-width.patch | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix index e5d0ae95f99..2e3ef9f0d10 100644 --- a/pkgs/applications/misc/rxvt_unicode/default.nix +++ b/pkgs/applications/misc/rxvt_unicode/default.nix @@ -24,6 +24,8 @@ stdenv.mkDerivation (rec { outputs = [ "out" "terminfo" ]; + patches = [ ./rxvt-unicode-9.06-font-width.patch ]; + preConfigure = '' mkdir -p $terminfo/share/terminfo diff --git a/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch new file mode 100644 index 00000000000..636083218fa --- /dev/null +++ b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch @@ -0,0 +1,21 @@ +--- a/src/rxvtfont.C 2008-07-09 12:21:45.000000000 +0400 ++++ b/src/rxvtfont.C 2009-10-30 14:32:53.000000000 +0300 +@@ -1195,12 +1195,14 @@ + XGlyphInfo g; + XftTextExtents16 (disp, f, &ch, 1, &g); + +- g.width -= g.x; +- ++/* ++ * bukind: don't use g.width as a width of a character! ++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial ++ */ + int wcw = WCWIDTH (ch); +- if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; ++ if (wcw > 1) g.xOff = g.xOff / wcw; ++ if (width < g.xOff) width = g.xOff; + +- if (width < g.width ) width = g.width; + if (height < g.height ) height = g.height; + if (glheight < g.height - g.y) glheight = g.height - g.y; + } \ No newline at end of file From 19027ca0a6f3ee348d4a36d63cb98c8638d9097f Mon Sep 17 00:00:00 2001 From: Karn Kallio Date: Mon, 3 Feb 2014 22:40:23 -0430 Subject: [PATCH 067/118] pakcs: advance version to 1.11.3, which is compatible with SWI Prolog 6.6 --- .../compilers/pakcs/adjust-buildsystem.patch | 31 +++++++++---------- pkgs/development/compilers/pakcs/default.nix | 19 ++++++------ 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch index 4de7683dcdd..830fc3fa7f9 100644 --- a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch +++ b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch @@ -1,7 +1,7 @@ -diff -Naur pakcs-1.11.2-upstream/Makefile pakcs-1.11.2/Makefile ---- pakcs-1.11.2-upstream/Makefile 2013-03-21 04:58:38.000000000 -0430 -+++ pakcs-1.11.2/Makefile 2013-05-09 15:04:48.035646127 -0430 -@@ -55,7 +55,6 @@ +diff -Naur pakcs-1.11.3-upstream/Makefile pakcs-1.11.3/Makefile +--- pakcs-1.11.3-upstream/Makefile 2014-01-31 09:10:03.000000000 -0430 ++++ pakcs-1.11.3/Makefile 2014-02-03 20:27:41.558334480 -0430 +@@ -66,7 +66,6 @@ # .PHONY: install install: installscripts @@ -9,21 +9,20 @@ diff -Naur pakcs-1.11.2-upstream/Makefile pakcs-1.11.2/Makefile # pre-compile all libraries: @cd lib && $(MAKE) fcy # install the Curry2Prolog compiler as a saved system: -@@ -66,11 +65,6 @@ - @cd lib && $(MAKE) acy - # prepare for separate compilation by compiling all librariers to Prolog code: - @if [ -r bin/pakcs ] ; then cd lib && $(MAKE) pl ; fi +@@ -105,10 +104,6 @@ + # compile the tools: + .PHONY: tools + tools: - # compile the Curry Port Name Server demon: -- @if [ -r bin/pakcs ] ; then cd cpns && $(MAKE) ; fi +- @if [ -r bin/pakcs ] ; then cd cpns && $(MAKE) ; fi - # compile the event handler demon for dynamic web pages: -- @if [ -r bin/pakcs ] ; then cd www && $(MAKE) ; fi -- $(MAKE) tools - $(MAKE) docs - chmod -R go+rX . +- @if [ -r bin/pakcs ] ; then cd www && $(MAKE) ; fi + @if [ -r bin/pakcs ] ; then cd currytools && $(MAKE) ; fi + @if [ -r bin/pakcs ] ; then cd tools && $(MAKE) ; fi -diff -Naur pakcs-1.11.2-upstream/scripts/pakcs.sh pakcs-1.11.2/scripts/pakcs.sh ---- pakcs-1.11.2-upstream/scripts/pakcs.sh 2013-03-21 04:52:59.000000000 -0430 -+++ pakcs-1.11.2/scripts/pakcs.sh 2013-05-09 03:14:23.500876628 -0430 +diff -Naur pakcs-1.11.3-upstream/scripts/pakcs.sh pakcs-1.11.3/scripts/pakcs.sh +--- pakcs-1.11.3-upstream/scripts/pakcs.sh 2014-01-31 09:04:19.000000000 -0430 ++++ pakcs-1.11.3/scripts/pakcs.sh 2014-02-03 20:20:40.775350116 -0430 @@ -16,7 +16,7 @@ # use readline wrapper rlwrap if it is installed and we have tty as stdin: USERLWRAP=no diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix index bb4657d8aff..a3b80c02545 100644 --- a/pkgs/development/compilers/pakcs/default.nix +++ b/pkgs/development/compilers/pakcs/default.nix @@ -1,11 +1,12 @@ -{ stdenv, fetchurl, cabal, swiProlog, mtl, syb, makeWrapper, rlwrap, tk }: +{ stdenv, fetchurl, cabal, swiProlog, either, mtl, syb +, glibcLocales, makeWrapper, rlwrap, tk }: let - fname = "pakcs-1.11.2"; + fname = "pakcs-1.11.3"; fsrc = fetchurl { url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz"; - sha256 = "1x23kn91v44my4rd8j3247pj8i2myz82rzgbq07asi1x21bpvvmy"; + sha256 = "006bq6cmycq2f4xb3zmnmxyngj64hppk3a083hy0qzj7gl77zvfw"; }; in @@ -29,12 +30,12 @@ stdenv.mkDerivation rec { sourceRoot = "${name}/frontend/curry-frontend"; isLibrary = true; isExecutable = true; - buildDepends = [ mtl syb curryBase ]; + buildDepends = [ either mtl syb curryBase ]; }); src = fsrc; - buildInputs = [ swiProlog makeWrapper rlwrap tk ]; + buildInputs = [ swiProlog makeWrapper glibcLocales rlwrap tk ]; patches = [ ./adjust-buildsystem.patch ]; @@ -48,6 +49,10 @@ stdenv.mkDerivation rec { ''; preBuild = '' + # Some comments in files are in UTF-8, so include the locale needed by GHC runtime. + export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive + export LC_ALL=en_US.UTF-8 + # Set up link to cymake, which has been built already. ensureDir bin/.local ln -s ${curryFront}/bin/cymake bin/.local/ @@ -65,10 +70,6 @@ stdenv.mkDerivation rec { # Fixing PAKCSHOME and related paths. sed -i 's@PAKCSHOME=/tmp/.*@PAKCSHOME='$out/pakcs'@' $out/pakcs/bin/{pakcs,makecurrycgi,parsecurry,.makesavedstate} - # Fix symbolic links into the tmp build dir. - ln -s ../currytools/CASS/cass $out/pakcs/bin/cass - ln -s ../currytools/currydoc/CurryDoc $out/pakcs/bin/currydoc - # The Prolog sources must be rebuilt in their final directory, # to switch the embedded references to the tmp build directory. export TEMP=/tmp From 9b7ecb76f320574094799d33e77df14fddc55782 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 5 Feb 2014 23:19:08 -0500 Subject: [PATCH 068/118] Use proper file and attribute names for tls packages Signed-off-by: Shea Levy --- .../libraries/haskell/tls/{1.1.x.nix => 1.1.5.nix} | 0 .../libraries/haskell/tls/{1.2.x.nix => 1.2.2.nix} | 0 pkgs/top-level/haskell-packages.nix | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) rename pkgs/development/libraries/haskell/tls/{1.1.x.nix => 1.1.5.nix} (100%) rename pkgs/development/libraries/haskell/tls/{1.2.x.nix => 1.2.2.nix} (100%) diff --git a/pkgs/development/libraries/haskell/tls/1.1.x.nix b/pkgs/development/libraries/haskell/tls/1.1.5.nix similarity index 100% rename from pkgs/development/libraries/haskell/tls/1.1.x.nix rename to pkgs/development/libraries/haskell/tls/1.1.5.nix diff --git a/pkgs/development/libraries/haskell/tls/1.2.x.nix b/pkgs/development/libraries/haskell/tls/1.2.2.nix similarity index 100% rename from pkgs/development/libraries/haskell/tls/1.2.x.nix rename to pkgs/development/libraries/haskell/tls/1.2.2.nix diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 8cfd3fec62d..d9e8fbc958b 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2348,12 +2348,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x timeCompat = callPackage ../development/libraries/haskell/time-compat {}; - tls = callPackage ../development/libraries/haskell/tls/1.2.x.nix {}; - - tls_1_1_x = callPackage ../development/libraries/haskell/tls/1.1.x.nix {}; + tls_1_1_5 = callPackage ../development/libraries/haskell/tls/1.1.5.nix {}; + tls_1_2_2 = callPackage ../development/libraries/haskell/tls/1.1.5.nix {}; + tls = self.tls_1_2_2; tlsExtra = callPackage ../development/libraries/haskell/tls-extra { - tls = self.tls_1_1_x; + tls = self.tls_1_1_5; }; transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {}; From 5559d4d47e62d079df525cbd1059f2b19727d8ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 08:06:22 +0100 Subject: [PATCH 069/118] kicad: disable parallel building, as it often fails CC @viric. --- pkgs/applications/science/electronics/kicad/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 11d2e770165..8adab57656e 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { sed -i -e 's,/usr/local/kicad,'$out,g common/gestfich.cpp ''; - enableParallelBuilding = true; + #enableParallelBuilding = true; # often fails on Hydra: fatal error: pcb_plot_params_lexer.h: No such file or directory buildInputs = [ cmake mesa wxGTK zlib libX11 gettext ]; From 0c439c3a1afe9f31f88e28059624577068ed9405 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 6 Feb 2014 09:49:32 +0200 Subject: [PATCH 070/118] socat: update from 1.7.2.2 to 1.7.2.3, potentially fixes CVE-2014-0019 --- pkgs/tools/networking/socat/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix index 45de7015d7a..8e2f9449090 100644 --- a/pkgs/tools/networking/socat/default.nix +++ b/pkgs/tools/networking/socat/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl }: stdenv.mkDerivation rec { - name = "socat-1.7.2.2"; + name = "socat-1.7.2.3"; src = fetchurl { url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2"; - sha256 = "0g4miazc9w3gxbk5vvw228jp3qxn775jspkgqv5hjf2d3bqpl5ls"; + sha256 = "1l5ajqwfpxy35mvqlihzncmfngn61k7in51wkvd8q4vvmxaar605"; }; buildInputs = [ openssl ]; From 951f37f3da52548ae6170d96ae64083adace16c2 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sun, 19 Jan 2014 14:01:25 +0100 Subject: [PATCH 071/118] services.xserver.videoDrivers -> services.mesa.videoDrivers --- nixos/modules/virtualisation/qemu-vm.nix | 2 +- nixos/modules/virtualisation/virtualbox-guest.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 2218e1045eb..2483ee63d57 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -387,7 +387,7 @@ in # When building a regular system configuration, override whatever # video driver the host uses. services.xserver.videoDriver = mkVMOverride null; - services.xserver.videoDrivers = mkVMOverride [ "vesa" ]; + services.mesa.videoDrivers = mkVMOverride [ "vesa" ]; services.xserver.defaultDepth = mkVMOverride 0; services.xserver.resolutions = mkVMOverride [ { x = 1024; y = 768; } ]; services.xserver.monitorSection = diff --git a/nixos/modules/virtualisation/virtualbox-guest.nix b/nixos/modules/virtualisation/virtualbox-guest.nix index 664fd21781c..9dda455e5d3 100644 --- a/nixos/modules/virtualisation/virtualbox-guest.nix +++ b/nixos/modules/virtualisation/virtualbox-guest.nix @@ -52,7 +52,7 @@ optionalAttrs (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) # ugly... serviceConfig.ExecStart = "@${kernel.virtualboxGuestAdditions}/sbin/VBoxService VBoxService --foreground"; }; - services.xserver.videoDrivers = mkOverride 50 [ "virtualbox" ]; + services.mesa.videoDrivers = mkOverride 50 [ "virtualbox" ]; services.xserver.config = '' From fc30e8e9b503618010db98094c6892846849a4db Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Thu, 6 Feb 2014 09:56:35 +0100 Subject: [PATCH 072/118] llvm: remove duplicate ncurses buildInput --- pkgs/development/compilers/llvm/3.4/llvm.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix index d93bd4aba19..7f58abea1fa 100644 --- a/pkgs/development/compilers/llvm/3.4/llvm.nix +++ b/pkgs/development/compilers/llvm/3.4/llvm.nix @@ -26,7 +26,7 @@ in stdenv.mkDerivation rec { mv compiler-rt-${version} $sourceRoot/projects/compiler-rt ''; - buildInputs = [ perl groff cmake libxml2 python libffi ncurses ] ++ stdenv.lib.optional stdenv.isLinux valgrind; + buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind; propagatedBuildInputs = [ ncurses zlib ]; From eed6431d97433e8dd081b5318189d00e19ae4cbf Mon Sep 17 00:00:00 2001 From: Andraz Brodnik Date: Thu, 6 Feb 2014 11:59:59 +0100 Subject: [PATCH 073/118] Add steghide-0.5.1 . --- pkgs/tools/security/steghide/default.nix | 30 ++ .../patches/steghide-0.5.1-gcc34.patch | 42 +++ .../patches/steghide-0.5.1-gcc4.patch | 46 +++ .../patches/steghide-0.5.1-gcc43.patch | 349 ++++++++++++++++++ 4 files changed, 467 insertions(+) create mode 100644 pkgs/tools/security/steghide/default.nix create mode 100644 pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch create mode 100644 pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch create mode 100644 pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch diff --git a/pkgs/tools/security/steghide/default.nix b/pkgs/tools/security/steghide/default.nix new file mode 100644 index 00000000000..bc87c091a58 --- /dev/null +++ b/pkgs/tools/security/steghide/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, libjpeg, libmcrypt, zlib, libmhash, gettext, libtool}: + + stdenv.mkDerivation rec { + buildInputs = [ libjpeg libmcrypt zlib libmhash gettext libtool ]; + version = "0.5.1"; + name = "steghide-${version}"; + + meta = with stdenv.lib; { + homepage = http://steghide.sourceforge.net/; + description = "Steghide is a steganography program that is able to hide data in various kinds of image- and audio-files."; + license = licenses.gpl2; + }; + + src = fetchurl { + url = "mirror://sourceforge/steghide/steghide/${version}/steghide-${version}.tar.gz" ; + sha256 = "78069b7cfe9d1f5348ae43f918f06f91d783c2b3ff25af021e6a312cf541b47b"; + }; + + patches = [ + ./patches/steghide-0.5.1-gcc34.patch + ./patches/steghide-0.5.1-gcc4.patch + ./patches/steghide-0.5.1-gcc43.patch + ]; + + # AM_CXXFLAGS needed for automake + preConfigure = '' + export AM_CXXFLAGS="$CXXFLAGS -std=c++0x" + ''; + + } diff --git a/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch new file mode 100644 index 00000000000..373316c7840 --- /dev/null +++ b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch @@ -0,0 +1,42 @@ +--- steghide-0.5.1.old/src/Makefile.am ++++ steghide-0.5.1.new/src/Makefile.am 2004-07-16 19:01:39.673947633 +0200 +@@ -33,5 +33,5 @@ + WavPCMSampleValue.cc error.cc main.cc msg.cc SMDConstructionHeuristic.cc + LIBS = @LIBINTL@ @LIBS@ + localedir = $(datadir)/locale +-LIBTOOL = $(SHELL) libtool ++LIBTOOL = $(SHELL) libtool --tag=CXX + MAINTAINERCLEANFILES = Makefile.in +--- steghide-0.5.1.old/src/AuSampleValues.cc ++++ steghide-0.5.1.new/src/AuSampleValues.cc 2004-07-16 18:59:18.934578427 +0200 +@@ -17,21 +17,21 @@ + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ +- ++#include "common.h" + #include "AuSampleValues.h" + + // AuMuLawSampleValue +-const BYTE AuMuLawSampleValue::MinValue = 0 ; +-const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ; ++template<> const BYTE AuMuLawSampleValue::MinValue = 0 ; ++template<> const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ; + + // AuPCM8SampleValue +-const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ; +-const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ; ++template<> const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ; ++template<> const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ; + + // AuPCM16SampleValue +-const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ; +-const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ; ++template<> const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ; ++template<> const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ; + + // AuPCM32SampleValue +-const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ; +-const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ; ++template<> const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ; ++template<> const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ; diff --git a/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch new file mode 100644 index 00000000000..a8df1735e9d --- /dev/null +++ b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch @@ -0,0 +1,46 @@ +diff -Naur steghide-0.5.1-orig/src/AuData.h steghide-0.5.1/src/AuData.h +--- steghide-0.5.1-orig/src/AuData.h 2003-09-28 09:30:29.000000000 -0600 ++++ steghide-0.5.1/src/AuData.h 2007-05-11 22:04:56.000000000 -0600 +@@ -26,22 +26,30 @@ + + // AuMuLawAudioData + typedef AudioDataImpl AuMuLawAudioData ; ++template<> + inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; } ++template<> + inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; } + + // AuPCM8AudioData + typedef AudioDataImpl AuPCM8AudioData ; ++template<> + inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; } ++template<> + inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; } + + // AuPCM16AudioData + typedef AudioDataImpl AuPCM16AudioData ; ++template<> + inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; } ++template<> + inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; } + + // AuPCM32AudioData + typedef AudioDataImpl AuPCM32AudioData ; ++template<> + inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; } ++template<> + inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; } + + #endif // ndef SH_AUDATA_H +diff -Naur steghide-0.5.1-orig/src/MHashPP.cc steghide-0.5.1/src/MHashPP.cc +--- steghide-0.5.1-orig/src/MHashPP.cc 2003-10-05 04:17:50.000000000 -0600 ++++ steghide-0.5.1/src/MHashPP.cc 2007-05-11 22:07:01.000000000 -0600 +@@ -120,7 +120,7 @@ + + std::string MHashPP::getAlgorithmName (hashid id) + { +- char *name = mhash_get_hash_name (id) ; ++ char *name = (char *) mhash_get_hash_name (id) ; + std::string retval ; + if (name == NULL) { + retval = std::string ("") ; diff --git a/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch new file mode 100644 index 00000000000..ca66b9c544f --- /dev/null +++ b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch @@ -0,0 +1,349 @@ +--- steghide-0.5.1.old/configure.in 2003-10-15 09:48:52.000000000 +0200 ++++ steghide-0.5.1.new/configure.in 2008-05-09 19:04:46.000000000 +0200 +@@ -7,27 +7,26 @@ + dnl checks for programs. + AC_PROG_CXX + AC_PROG_INSTALL + AC_PROG_AWK + AC_PROG_LN_S ++AC_CXX_COMPILE_STDCXX_0X + + dnl GNU gettext + AC_CHECK_FUNCS(strchr) + AM_GNU_GETTEXT + AM_CONDITIONAL(USE_INTLDIR, test "$nls_cv_use_gnu_gettext" = yes) + + dnl check if debugging support is requested +-AC_MSG_CHECKING([wether to enable debugging]) ++AC_MSG_CHECKING([whether to enable debugging]) + AC_ARG_ENABLE(debug,[ --enable-debug enable debugging], + if test "$enableval" = yes ; + then + AC_MSG_RESULT([yes]) + AC_DEFINE(DEBUG,1,[enable code used only for debugging]) +- CXXFLAGS="-O2 -Wall -g" + else + AC_MSG_RESULT([no]) +- CXXFLAGS="-O2 -Wall" + fi + , + AC_MSG_RESULT([no]) + CXXFLAGS="-O2 -Wall" + ) +@@ -213,7 +212,18 @@ + echo "libmhash can be downloaded from http://mhash.sourceforge.net/."; + echo "**********"; + AC_MSG_ERROR([[libmhash not found]]) + fi + ++dnl Should we add std=c++0x? ++ ++if test "$ac_cv_cxx_compile_cxx0x_cxx" = yes; ++then ++ CXXFLAGS="${CXXFLAGS} -std=c++0x -Wall -Wextra" ++else ++ CXXFLAGS="${CXXFLAGS} -Wall -Wextra" ++fi ++ ++AC_SUBST(CXXFLAGS) ++ + dnl create Makefiles + AC_OUTPUT([Makefile steghide.spec steghide.doxygen doc/Makefile po/Makefile.in src/Makefile tests/Makefile tests/data/Makefile m4/Makefile intl/Makefile]) +--- steghide-0.5.1.old/m4/ac_cxx_compile_stdcxx_0x.m4 1970-01-01 01:00:00.000000000 +0100 ++++ steghide-0.5.1.new/m4/ac_cxx_compile_stdcxx_0x.m4 2008-05-09 19:04:46.000000000 +0200 +@@ -0,0 +1,107 @@ ++# =========================================================================== ++# http://autoconf-archive.cryp.to/ac_cxx_compile_stdcxx_0x.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AC_CXX_COMPILE_STDCXX_0X ++# ++# DESCRIPTION ++# ++# Check for baseline language coverage in the compiler for the C++0x ++# standard. ++# ++# LAST MODIFICATION ++# ++# 2008-04-17 ++# ++# COPYLEFT ++# ++# Copyright (c) 2008 Benjamin Kosnik ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. ++ ++AC_DEFUN([AC_CXX_COMPILE_STDCXX_0X], [ ++ AC_CACHE_CHECK(if g++ supports C++0x features without additional flags, ++ ac_cv_cxx_compile_cxx0x_native, ++ [AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ AC_TRY_COMPILE([ ++ template ++ struct check ++ { ++ static_assert(sizeof(int) <= sizeof(T), "not big enough"); ++ }; ++ ++ typedef check> right_angle_brackets; ++ ++ int a; ++ decltype(a) b; ++ ++ typedef check check_type; ++ check_type c; ++ check_type&& cr = c;],, ++ ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no) ++ AC_LANG_RESTORE ++ ]) ++ ++ AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x, ++ ac_cv_cxx_compile_cxx0x_cxx, ++ [AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ ac_save_CXXFLAGS="$CXXFLAGS" ++ CXXFLAGS="$CXXFLAGS -std=c++0x" ++ AC_TRY_COMPILE([ ++ template ++ struct check ++ { ++ static_assert(sizeof(int) <= sizeof(T), "not big enough"); ++ }; ++ ++ typedef check> right_angle_brackets; ++ ++ int a; ++ decltype(a) b; ++ ++ typedef check check_type; ++ check_type c; ++ check_type&& cr = c;],, ++ ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no) ++ CXXFLAGS="$ac_save_CXXFLAGS" ++ AC_LANG_RESTORE ++ ]) ++ ++ AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x, ++ ac_cv_cxx_compile_cxx0x_gxx, ++ [AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ ac_save_CXXFLAGS="$CXXFLAGS" ++ CXXFLAGS="$CXXFLAGS -std=gnu++0x" ++ AC_TRY_COMPILE([ ++ template ++ struct check ++ { ++ static_assert(sizeof(int) <= sizeof(T), "not big enough"); ++ }; ++ ++ typedef check> right_angle_brackets; ++ ++ int a; ++ decltype(a) b; ++ ++ typedef check check_type; ++ check_type c; ++ check_type&& cr = c;],, ++ ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no) ++ CXXFLAGS="$ac_save_CXXFLAGS" ++ AC_LANG_RESTORE ++ ]) ++ ++ if test "$ac_cv_cxx_compile_cxx0x_native" = yes || ++ test "$ac_cv_cxx_compile_cxx0x_cxx" = yes || ++ test "$ac_cv_cxx_compile_cxx0x_gxx" = yes; then ++ AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ]) ++ fi ++]) +--- steghide-0.5.1.old/src/Arguments.cc 2003-10-11 23:25:04.000000000 +0200 ++++ steghide-0.5.1.new/src/Arguments.cc 2008-05-09 19:04:44.000000000 +0200 +@@ -26,10 +26,12 @@ + #include "Terminal.h" + #include "common.h" + #include "error.h" + #include "msg.h" + ++float Arguments::Default_Goal = 100.0 ; ++ + // the global Arguments object + Arguments Args ; + + Arguments::Arguments (int argc, char* argv[]) + { +--- steghide-0.5.1.old/src/Arguments.h 2003-10-11 23:23:57.000000000 +0200 ++++ steghide-0.5.1.new/src/Arguments.h 2008-05-09 19:04:44.000000000 +0200 +@@ -98,11 +98,11 @@ + static const bool Default_EmbedEmbFn = true ; + static const bool Default_Force = false ; + static const VERBOSITY Default_Verbosity = NORMAL ; + static const unsigned long Default_Radius = 0 ; // there is no default radius for all file formats + static const unsigned int Max_Algorithm = 3 ; +- static const float Default_Goal = 100.0 ; ++ static float Default_Goal ; + static const DEBUGCOMMAND Default_DebugCommand = NONE ; + static const bool Default_Check = false ; + static const unsigned int Default_DebugLevel = 0 ; + static const unsigned int Default_GmlGraphRecDepth = 0 ; + static const unsigned int Default_GmlStartVertex = 0 ; +--- steghide-0.5.1.old/src/EncryptionMode.h 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/EncryptionMode.h 2008-05-09 19:04:46.000000000 +0200 +@@ -69,11 +69,11 @@ + static const unsigned int NumValues = 8 ; + IRep Value ; + + typedef struct struct_Translation { + IRep irep ; +- char* srep ; ++ const char* srep ; + } Translation ; + static const Translation Translations[] ; + } ; + + #endif // ndef SH_ENCMODE_H +--- steghide-0.5.1.old/src/Graph.cc 2003-10-11 23:54:26.000000000 +0200 ++++ steghide-0.5.1.new/src/Graph.cc 2008-05-09 19:04:46.000000000 +0200 +@@ -20,10 +20,12 @@ + + #include + #include + #include + #include ++#include ++#include + + #include "BitString.h" + #include "CvrStgFile.h" + #include "Edge.h" + #include "Graph.h" +--- steghide-0.5.1.old/src/Matching.cc 2003-10-11 23:54:30.000000000 +0200 ++++ steghide-0.5.1.new/src/Matching.cc 2008-05-09 19:04:46.000000000 +0200 +@@ -16,10 +16,11 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + ++#include + #include "Edge.h" + #include "Graph.h" + #include "Matching.h" + #include "ProgressOutput.h" + #include "common.h" +--- steghide-0.5.1.old/src/ProgressOutput.cc 2003-10-11 11:20:51.000000000 +0200 ++++ steghide-0.5.1.new/src/ProgressOutput.cc 2008-05-09 19:04:44.000000000 +0200 +@@ -21,10 +21,12 @@ + #include + + #include "ProgressOutput.h" + #include "common.h" + ++float ProgressOutput::NoAvgWeight = 1.0 ; ++ + ProgressOutput::ProgressOutput () + : Message("__nomessage__") + { + LastUpdate = time(NULL) - 1 ; // -1 to ensure that message is written first time + } +--- steghide-0.5.1.old/src/ProgressOutput.h 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/ProgressOutput.h 2008-05-09 19:04:44.000000000 +0200 +@@ -60,13 +60,13 @@ + /** + * update the output appending rate, [average edge weight], "done" and a newline + * \param rate the rate of matched vertices + * \param avgweight the average edge weight (is not printed if not given) + **/ +- void done (float rate, float avgweight = NoAvgWeight) const ; ++ void done (float rate, float avgweight = 1.0) const ; + +- static const float NoAvgWeight = -1.0 ; ++ static float NoAvgWeight ; + + protected: + std::string vcompose (const char *msgfmt, va_list ap) const ; + + private: +--- steghide-0.5.1.old/src/SMDConstructionHeuristic.cc 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/SMDConstructionHeuristic.cc 2008-05-09 19:04:46.000000000 +0200 +@@ -16,10 +16,12 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + ++#include ++ + #include "Edge.h" + #include "Graph.h" + #include "Matching.h" + #include "SMDConstructionHeuristic.h" + #include "Vertex.h" +--- steghide-0.5.1.old/src/WavFile.cc 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/WavFile.cc 2008-05-09 19:04:46.000000000 +0200 +@@ -19,10 +19,11 @@ + */ + + #include + #include + #include ++#include + + #include "CvrStgFile.h" + #include "DFSAPHeuristic.h" + #include "SampleValueAdjacencyList.h" + #include "SMDConstructionHeuristic.h" +--- steghide-0.5.1.old/src/wrapper_hash_map.h 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/wrapper_hash_map.h 2008-05-09 19:04:46.000000000 +0200 +@@ -25,17 +25,21 @@ + + #ifdef __GNUC__ + # if __GNUC__ < 3 + # include + namespace sgi { using ::hash ; using ::hash_map ; } ; +-# else ++# elif __GNUC__ == 3 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 3 ) + # include +-# if __GNUC_MINOR__ == 0 ++# if __GNUC__ == 3 && __GNUC_MINOR__ == 0 + namespace sgi = std ; // GCC 3.0 + # else + namespace sgi = __gnu_cxx ; // GCC 3.1 and later + # endif ++# else ++# include ++# define hash_map unordered_map ++ namespace sgi = std ; + # endif + #else + namespace sgi = std ; + #endif + +--- steghide-0.5.1.old/src/wrapper_hash_set.h 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/wrapper_hash_set.h 2008-05-09 19:04:46.000000000 +0200 +@@ -26,17 +26,21 @@ + + #ifdef __GNUC__ + # if __GNUC__ < 3 + # include + namespace sgi { using ::hash ; using ::hash_set ; } ; +-# else ++# elif __GNUC__ == 3 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 3 ) + # include +-# if __GNUC_MINOR__ == 0 ++# if __GNUC__ == 3 && __GNUC_MINOR__ == 0 + namespace sgi = std ; // GCC 3.0 + # else + namespace sgi = ::__gnu_cxx ; // GCC 3.1 and later + # endif ++# else ++# include ++# define hash_set unordered_set ++ namespace sgi = std ; + # endif + #else + namespace sgi = std ; + #endif + From 451fe867b2162f0a9ff5ec0e4f5327623a88f80f Mon Sep 17 00:00:00 2001 From: Andraz Brodnik Date: Thu, 6 Feb 2014 12:00:41 +0100 Subject: [PATCH 074/118] Add steghide to top level. --- 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 bbc14656e8e..3b7ca278dbc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5641,6 +5641,8 @@ let stlink = callPackage ../development/tools/misc/stlink { }; + steghide = callPackage ../tools/security/steghide {}; + stepmania = callPackage ../games/stepmania {}; stlport = callPackage ../development/libraries/stlport { }; From 6b613f285c50290a68c4c5e633f27a29d0a12835 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 6 Feb 2014 12:29:53 +0100 Subject: [PATCH 075/118] Fix nixBuild --- pkgs/build-support/release/nix-build.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix index 42533b0094a..993f12bc300 100644 --- a/pkgs/build-support/release/nix-build.nix +++ b/pkgs/build-support/release/nix-build.nix @@ -79,7 +79,7 @@ stdenv.mkDerivation ( prePhases = ["initPhase"] ++ prePhases; - buildInputs = buildInputs ++ [ args.makeCoverageAnalysisReport ]; + buildInputs = buildInputs ++ stdenv.lib.optional doCoverageAnalysis args.makeCoverageAnalysisReport; lcovFilter = ["/nix/store/*"] ++ lcovFilter; From de9ed78ab2e774d65bcab74c56cdc01dbde4cdec Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 6 Feb 2014 12:30:03 +0100 Subject: [PATCH 076/118] cleanSources: Filter *.o and *.so --- lib/sources.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/sources.nix b/lib/sources.nix index 8d259c0837e..a80e4397d6a 100644 --- a/lib/sources.nix +++ b/lib/sources.nix @@ -12,7 +12,10 @@ rec { # Filter out Subversion and CVS directories. (type == "directory" && (baseName == ".git" || baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) || # Filter out backup files. - (lib.hasSuffix "~" baseName) + lib.hasSuffix "~" baseName || + # Filter out generates files. + lib.hasSuffix ".o" baseName || + lib.hasSuffix ".so" baseName ); in src: builtins.filterSource filter src; From 77376a215e1dd2c1ab36d710891bd00255169fce Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 6 Feb 2014 14:21:58 +0100 Subject: [PATCH 077/118] debBuild: Allow setting a maintainer address --- pkgs/build-support/release/debian-build.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix index ba7be86a6c1..168b44ad74c 100644 --- a/pkgs/build-support/release/debian-build.nix +++ b/pkgs/build-support/release/debian-build.nix @@ -51,7 +51,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation ( ''; installPhase = '' - eval "$preInstall" + eval "$preInstall" export LOGNAME=root ${checkinstall}/sbin/checkinstall --nodoc -y -D \ @@ -59,6 +59,8 @@ vmTools.runInLinuxImage (stdenv.mkDerivation ( --requires="${concatStringsSep "," debRequires}" \ --provides="${concatStringsSep "," debProvides}" \ ${optionalString (src ? version) "--pkgversion=$(echo ${src.version} | tr _ -)"} \ + ''${debMaintainer:+--maintainer="'$debMaintainer'"} \ + $checkInstallFlags \ make install mkdir -p $out/debs @@ -79,7 +81,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation ( echo "file deb-extra $(ls $i/debs/*.deb | sort | head -1)" >> $out/nix-support/hydra-build-products done - eval "$postInstall" + eval "$postInstall" ''; # */ meta = (if args ? meta then args.meta else {}) // { From 43166e306e5e842336ca98229706fb3ab68da5d4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 6 Feb 2014 15:11:00 +0100 Subject: [PATCH 078/118] haskell-packages.nix: use the correct path to tls 1.2.2 --- pkgs/top-level/haskell-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index d9e8fbc958b..7b98108dccb 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2349,7 +2349,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x timeCompat = callPackage ../development/libraries/haskell/time-compat {}; tls_1_1_5 = callPackage ../development/libraries/haskell/tls/1.1.5.nix {}; - tls_1_2_2 = callPackage ../development/libraries/haskell/tls/1.1.5.nix {}; + tls_1_2_2 = callPackage ../development/libraries/haskell/tls/1.2.2.nix {}; tls = self.tls_1_2_2; tlsExtra = callPackage ../development/libraries/haskell/tls-extra { From 2dd13fcb0b1ca678af58d5c53dd3e4b05a75b2fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 19:21:26 +0100 Subject: [PATCH 079/118] socat-2.*: fix CVE-2014-0019 --- pkgs/tools/networking/socat/2.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix index 62180313442..885f2d005d8 100644 --- a/pkgs/tools/networking/socat/2.x.nix +++ b/pkgs/tools/networking/socat/2.x.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl }: stdenv.mkDerivation rec { - name = "socat-2.0.0-b6"; + name = "socat-2.0.0-b7"; src = fetchurl { url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2"; - sha256 = "03n70v7ygsl4ji7rwvyv8f70d3q32jnas26j29amkf3fm4agnhvz"; + sha256 = "0h6k9ccrnziw03j0if7myrd28vcc97nwz1bifmbrkp5jkpk69ygk"; }; buildInputs = [ openssl ]; From 32cd198d8f9c8e36f5ef95f1690e76f1e438505f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 19:56:28 +0100 Subject: [PATCH 080/118] gimp: remove 2.6, because it's old and vulnerable CVE-2012-2763 and three others. If we really need to resurrect it, I think I saw debian could have patches for these somewhere. Also add linux platforms for 2.8. --- pkgs/applications/graphics/gimp/2.8.nix | 1 + pkgs/applications/graphics/gimp/default.nix | 32 --------------------- pkgs/top-level/all-packages.nix | 5 ---- 3 files changed, 1 insertion(+), 37 deletions(-) delete mode 100644 pkgs/applications/graphics/gimp/default.nix diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix index 423b9f3ce22..0f8d6d45f12 100644 --- a/pkgs/applications/graphics/gimp/2.8.nix +++ b/pkgs/applications/graphics/gimp/2.8.nix @@ -34,5 +34,6 @@ stdenv.mkDerivation rec { description = "The GNU Image Manipulation Program"; homepage = http://www.gimp.org/; license = "GPL"; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix deleted file mode 100644 index 33d52c6645b..00000000000 --- a/pkgs/applications/graphics/gimp/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, gtk, freetype -, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl -, perlXMLParser, python, pygtk, gettext, xlibs, intltool, babl_0_0_22, gegl_0_0_22 -}: - -stdenv.mkDerivation rec { - name = "gimp-2.6.12"; - - src = fetchurl { - url = "ftp://ftp.gtk.org/pub/gimp/v2.6/${name}.tar.bz2"; - sha256 = "0qpcgaa4pdqqhyyy8vjvzfflxgsrrs25zk79gixzlnbzq3qwjlym"; - }; - - buildInputs = [ - pkgconfig gtk freetype fontconfig - libart_lgpl libtiff libjpeg libpng libexif zlib perl - perlXMLParser python pygtk gettext intltool babl_0_0_22 gegl_0_0_22 - ]; - - passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ? - - configureFlags = [ "--disable-print" ]; - - # "screenshot" needs this. - NIX_LDFLAGS = "-rpath ${xlibs.libX11}/lib"; - - meta = { - description = "The GNU Image Manipulation Program"; - homepage = http://www.gimp.org/; - license = "GPL"; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bbc14656e8e..c793a200eb2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7928,11 +7928,6 @@ let get_iplayer = callPackage ../applications/misc/get_iplayer {}; - gimp_2_6 = callPackage ../applications/graphics/gimp { - inherit (gnome) libart_lgpl; - libpng = libpng12; - }; - gimp_2_8 = callPackage ../applications/graphics/gimp/2.8.nix { inherit (gnome) libart_lgpl; webkit = null; From 15282d8228b0b9f216c02f057ea90288e70f9b7f Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 6 Feb 2014 14:14:53 -0500 Subject: [PATCH 081/118] Add scottyHastache haskell package Signed-off-by: Shea Levy --- .../haskell/scotty-hastache/default.nix | 19 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/development/libraries/haskell/scotty-hastache/default.nix diff --git a/pkgs/development/libraries/haskell/scotty-hastache/default.nix b/pkgs/development/libraries/haskell/scotty-hastache/default.nix new file mode 100644 index 00000000000..76e6fe45ad1 --- /dev/null +++ b/pkgs/development/libraries/haskell/scotty-hastache/default.nix @@ -0,0 +1,19 @@ +{ cabal, blazeHtml, blazeMarkup, filepath, hastache, httpTypes, mtl +, scotty, text, wai, warp +}: + +cabal.mkDerivation (self: { + pname = "scotty-hastache"; + version = "0.2.0"; + sha256 = "105cxlasj4sl4ddzg8ms6k95078q10zcm2c86jcn76s0jmv95669"; + buildDepends = [ + blazeHtml blazeMarkup filepath hastache httpTypes mtl scotty text + wai warp + ]; + meta = { + homepage = "https://github.com/scotty-web/scotty-hastache"; + description = "Easy Mustache templating support for Scotty"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 7b98108dccb..9619364ea56 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2080,6 +2080,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x scotty = callPackage ../development/libraries/haskell/scotty {}; + scottyHastache = callPackage ../development/libraries/haskell/scotty-hastache {}; + securemem = callPackage ../development/libraries/haskell/securemem {}; sendfile = callPackage ../development/libraries/haskell/sendfile {}; From f4c4f121cb4c07f628d5260a5f85cf63ae6b3289 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 6 Feb 2014 14:16:28 -0500 Subject: [PATCH 082/118] Add wai-middleware-static haskell package Signed-off-by: Shea Levy --- .../haskell/wai-middleware-static/default.nix | 14 ++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 pkgs/development/libraries/haskell/wai-middleware-static/default.nix diff --git a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix new file mode 100644 index 00000000000..859c75c39c3 --- /dev/null +++ b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix @@ -0,0 +1,14 @@ +{ cabal, filepath, httpTypes, mtl, text, wai }: + +cabal.mkDerivation (self: { + pname = "wai-middleware-static"; + version = "0.4.0.2"; + sha256 = "0nw54h8baphjdwsd118g9j5w4g2mnb2hrny0n4ih4jlqlcqam3lf"; + buildDepends = [ filepath httpTypes mtl text wai ]; + meta = { + homepage = "https://github.com/scotty-web/scotty"; + description = "WAI middleware that intercepts requests to static files"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 9619364ea56..f14e7150ba8 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2480,6 +2480,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x waiLogger = callPackage ../development/libraries/haskell/wai-logger {}; + waiMiddlewareStatic = callPackage ../development/libraries/haskell/wai-middleware-static {}; + waiTest = callPackage ../development/libraries/haskell/wai-test {}; warp = callPackage ../development/libraries/haskell/warp {}; From 11914108aa7cd855a52f94c4d30e931572ba0655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 20:09:49 +0100 Subject: [PATCH 083/118] gnash: fix CVE-2012-1175 by upstream patch --- pkgs/applications/video/gnash/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix index 4f2addcc99b..0291e7593ea 100644 --- a/pkgs/applications/video/gnash/default.nix +++ b/pkgs/applications/video/gnash/default.nix @@ -10,7 +10,13 @@ assert stdenv ? glibc; -let version = "0.8.10"; in +let version = "0.8.10"; + patch_CVE = fetchurl { + url = "http://git.savannah.gnu.org/cgit/gnash.git/patch/?id=bb4dc77eecb6ed1b967e3ecbce3dac6c5e6f1527"; + sha256 = "1g7ymbq9vxi0mwcgs2dpyd2sf30gaam7blza0ywiwj32f5wk62v1"; + name = "CVE-2012-1175.patch"; + }; +in stdenv.mkDerivation rec { name = "gnash-${version}"; @@ -21,6 +27,8 @@ stdenv.mkDerivation rec { }; patchPhase = '' + patch -p1 < ${patch_CVE} + # Add all libs to `macros/libslist', a list of library search paths. for lib in ${lib.concatStringsSep " " (map (lib: "\"${lib}\"/lib") From 97e7ce23447d0aafe1c20d2e459079abf54b31a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 20:34:55 +0100 Subject: [PATCH 084/118] gnutls2: fix CVE-2013-2116 by Debian patch --- pkgs/development/libraries/gnutls/2.12.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/libraries/gnutls/2.12.nix b/pkgs/development/libraries/gnutls/2.12.nix index 86829a3a44b..fa9e5c69b79 100644 --- a/pkgs/development/libraries/gnutls/2.12.nix +++ b/pkgs/development/libraries/gnutls/2.12.nix @@ -12,6 +12,13 @@ stdenv.mkDerivation rec { sha256 = "1lkys703z4yxfgzarmgas5ccvn6m254w9wvm7s8v0zkj81z7m9nz"; }; + patches = [(fetchurl { + url = "http://anonscm.debian.org/viewvc/pkg-gnutls/packages/gnutls26/trunk/" + + "debian/patches/21_sanitycheck.diff?revision=1777&view=co"; + sha256 = "0k18a7q6irmgjzp647bd18zccjpsr82n2s9arpamnkakgnny4ks9"; + name = "CVE-2013-2116.patch"; + })]; + configurePhase = '' ./configure --prefix="$out" \ --disable-dependency-tracking --enable-fast-install \ From cb605c92d2294eb873c637d399169a74bdcb593a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 20:45:14 +0100 Subject: [PATCH 085/118] gnutls32: update 3.2.4 -> .10, including CVE fixes Also make gnutls32 the default gnutls. CVE-2013-{4466,4487} --- pkgs/development/libraries/gnutls/3.2.nix | 4 ++-- pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/gnutls/3.2.nix b/pkgs/development/libraries/gnutls/3.2.nix index 5a5b6aa94e2..03a0c001979 100644 --- a/pkgs/development/libraries/gnutls/3.2.nix +++ b/pkgs/development/libraries/gnutls/3.2.nix @@ -5,11 +5,11 @@ assert guileBindings -> guile != null; stdenv.mkDerivation (rec { - name = "gnutls-3.2.4"; + name = "gnutls-3.2.10"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz"; - sha256 = "0zl4h37g51xyaalv3qp2hvn1m6z7xzfw4yvpvi6mby4x5sqrrp8i"; + sha256 = "1g1w93d66sz51977zbqd56641r501a1djcwhykbjm8alhyz1564h"; }; # Note: GMP is a dependency of Nettle, whose public headers include diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c793a200eb2..1b1916f2c63 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4323,7 +4323,8 @@ let gnu-efi = callPackage ../development/libraries/gnu-efi { }; - gnutls = callPackage ../development/libraries/gnutls { + gnutls = gnutls32; + gnutls31 = callPackage ../development/libraries/gnutls { guileBindings = config.gnutls.guile or true; }; From 1c3950dc9d1c12ea97a0203bda296da24581f6b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 20:49:23 +0100 Subject: [PATCH 086/118] gnutls31: update 3.1.12 -> .20, including CVE fixes Also make gnutls32 the default gnutls. CVE-2013-{4466,4487} --- pkgs/development/libraries/gnutls/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix index 0a98a2698fd..8750dd568f7 100644 --- a/pkgs/development/libraries/gnutls/default.nix +++ b/pkgs/development/libraries/gnutls/default.nix @@ -5,11 +5,11 @@ assert guileBindings -> guile != null; stdenv.mkDerivation (rec { - name = "gnutls-3.1.12"; + name = "gnutls-3.1.20"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz"; - sha256 = "1h8j3xi2jad2dclybgqffb5264hdqrxpsx99irs03yy9np6iw5l8"; + sha256 = "1a8pzc29sn1kmbqvldljf4kmbz60pdk931dirk5jdd0qpf8fzd5x"; }; # Note: GMP is a dependency of Nettle, whose public headers include From 6e0cac6d6a1d0b12634b38100308ec6c7bbf23f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 20:54:07 +0100 Subject: [PATCH 087/118] hadoop: update, including fix for CVE-2013-2192 --- pkgs/applications/networking/cluster/hadoop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix index ef2f16e3193..f6e86c6289c 100644 --- a/pkgs/applications/networking/cluster/hadoop/default.nix +++ b/pkgs/applications/networking/cluster/hadoop/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { - name = "hadoop-2.0.2-alpha"; + name = "hadoop-2.2.0"; src = fetchurl { url = "mirror://apache/hadoop/common/${name}/${name}.tar.gz"; - sha256 = "1r7ailmqhny3pl5nb8bcblnhckszy6hb9n58kwa3s4b8qfk87gkb"; + sha256 = "0r0kx8arsrvmcfy0693hpv4cz3i0razvk1xa3yhlf3ybb80a8106"; }; buildInputs = [ makeWrapper ]; From 72740390d73d329ac799da221b2f26cdca1fa62b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 20:59:04 +0100 Subject: [PATCH 088/118] libarchive: fix CVE-2013-0211 by upstream patch --- pkgs/development/libraries/libarchive/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix index 7abad2f2d08..b7b001e44eb 100644 --- a/pkgs/development/libraries/libarchive/default.nix +++ b/pkgs/development/libraries/libarchive/default.nix @@ -12,6 +12,12 @@ stdenv.mkDerivation rec { sha256 = "0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb"; }; + patches = [(fetchurl { + url = "https://github.com/libarchive/libarchive/commit/22531545514043e04633e1c015c7540b9de9dbe4.patch"; + sha256 = "0c1a0prlpq5nn7zgs7cqvw9xnmhkkc8l0mpsip86k1lafircqhzh"; + name = "CVE-2013-0211.patch"; + })]; + buildInputs = [ sharutils libxml2 zlib bzip2 openssl xz ] ++ stdenv.lib.optionals stdenv.isLinux [ e2fsprogs attr acl ]; From 2ceb44b9a9b3f22271f0499bf17dcbf0b25cc77b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 21:55:22 +0100 Subject: [PATCH 089/118] lightdm-gtk-greter: fix CVE-2014-0979 by upstream patch --- .../display-managers/lightdm-gtk-greeter/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix index 0e75005d13b..69f1eef9cec 100644 --- a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix +++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix @@ -20,7 +20,13 @@ stdenv.mkDerivation rec { sha256 = "1nb8ljrbrp1zga083g3b633xi3izxxm4jipw1qgial1x16mqc0hz"; }; - patches = [ ./lightdm-gtk-greeter.patch ]; + patches = [ + ./lightdm-gtk-greeter.patch + (fetchurl { # CVE-2014-0979, https://bugs.launchpad.net/lightdm-gtk-greeter/+bug/1266449 + url = "https://launchpadlibrarian.net/161796033/07_fix-NULL-username.patch"; + sha256 = "1sqkhsz1z10k6vlmlrqrfx452lznv30885fmnzc73p2zxdlw9q1a"; + }) + ]; patchFlags = "-p1"; buildInputs = [ pkgconfig lightdm intltool ] From 35c586e62473d13114cf1dd1842563693120a853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 6 Feb 2014 21:57:23 +0100 Subject: [PATCH 090/118] boost149: fix CVE-2013-0252 by upstream patch Also have just one patch per line in the expression. --- pkgs/development/libraries/boost/1.49.nix | 7 ++- .../libraries/boost/CVE-2013-0252.patch | 48 +++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/boost/CVE-2013-0252.patch diff --git a/pkgs/development/libraries/boost/1.49.nix b/pkgs/development/libraries/boost/1.49.nix index f502df4e19c..fca4249e963 100644 --- a/pkgs/development/libraries/boost/1.49.nix +++ b/pkgs/development/libraries/boost/1.49.nix @@ -57,7 +57,12 @@ stdenv.mkDerivation { }; # See . - patches = [ ./boost_filesystem_post_1_49_0.patch ./time_utc.patch ./boost-149-cstdint.patch ] ++ (stdenv.lib.optional stdenv.isDarwin ./boost-149-darwin.patch ); + patches = [ + ./CVE-2013-0252.patch # https://svn.boost.org/trac/boost/ticket/7743 + ./boost_filesystem_post_1_49_0.patch + ./time_utc.patch + ./boost-149-cstdint.patch + ] ++ (stdenv.lib.optional stdenv.isDarwin ./boost-149-darwin.patch ); enableParallelBuilding = true; diff --git a/pkgs/development/libraries/boost/CVE-2013-0252.patch b/pkgs/development/libraries/boost/CVE-2013-0252.patch new file mode 100644 index 00000000000..fce52d47969 --- /dev/null +++ b/pkgs/development/libraries/boost/CVE-2013-0252.patch @@ -0,0 +1,48 @@ +Index: /boost/locale/utf.hpp +=================================================================== +--- /boost/locale/utf.hpp (revision 78304) ++++ /boost/locale/utf.hpp (revision 81590) +@@ -220,4 +220,6 @@ + return incomplete; + tmp = *p++; ++ if (!is_trail(tmp)) ++ return illegal; + c = (c << 6) | ( tmp & 0x3F); + case 2: +@@ -225,4 +227,6 @@ + return incomplete; + tmp = *p++; ++ if (!is_trail(tmp)) ++ return illegal; + c = (c << 6) | ( tmp & 0x3F); + case 1: +@@ -230,4 +234,6 @@ + return incomplete; + tmp = *p++; ++ if (!is_trail(tmp)) ++ return illegal; + c = (c << 6) | ( tmp & 0x3F); + } +Index: /libs/locale/test/test_codepage_converter.cpp +=================================================================== +--- /libs/locale/test/test_codepage_converter.cpp (revision 73786) ++++ /libs/locale/test/test_codepage_converter.cpp (revision 81590) +@@ -140,4 +140,18 @@ + TEST_TO("\xf8\x90\x80\x80\x80",illegal); // 400 0000 + TEST_TO("\xfd\xbf\xbf\xbf\xbf\xbf",illegal); // 7fff ffff ++ ++ std::cout << "-- Invalid trail" << std::endl; ++ TEST_TO("\xC2\x7F",illegal); ++ TEST_TO("\xdf\x7F",illegal); ++ TEST_TO("\xe0\x7F\x80",illegal); ++ TEST_TO("\xef\xbf\x7F",illegal); ++ TEST_TO("\xe0\x7F\x80",illegal); ++ TEST_TO("\xef\xbf\x7F",illegal); ++ TEST_TO("\xf0\x7F\x80\x80",illegal); ++ TEST_TO("\xf4\x7f\xbf\xbf",illegal); ++ TEST_TO("\xf0\x90\x7F\x80",illegal); ++ TEST_TO("\xf4\x8f\x7F\xbf",illegal); ++ TEST_TO("\xf0\x90\x80\x7F",illegal); ++ TEST_TO("\xf4\x8f\xbf\x7F",illegal); + + std::cout << "-- Invalid length" << std::endl; From c3a81a6991389d03644b72a475ca4d63da04faa1 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Fri, 31 Jan 2014 14:25:26 +0100 Subject: [PATCH 091/118] Add fakechroot --- pkgs/tools/system/fakechroot/default.nix | 20 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/tools/system/fakechroot/default.nix diff --git a/pkgs/tools/system/fakechroot/default.nix b/pkgs/tools/system/fakechroot/default.nix new file mode 100644 index 00000000000..a652a1e84ef --- /dev/null +++ b/pkgs/tools/system/fakechroot/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "fakechroot-${version}"; + version = "2.17.2"; + + src = fetchurl { + url = "https://github.com/dex4er/fakechroot/archive/${version}.tar.gz"; + md5 = "e614f62972efa4654fc780ae7e4affad"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/dex4er/fakechroot; + description = "Give a fake chroot environment through LD_PRELOAD"; + license = licenses.lgpl21; + maintainers = with maintainers; [offline]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f027cbe2e16..59e3334e121 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -899,6 +899,8 @@ let fakeroot = callPackage ../tools/system/fakeroot { }; + fakechroot = callPackage ../tools/system/fakechroot { }; + fcitx = callPackage ../tools/inputmethods/fcitx { }; fcron = callPackage ../tools/system/fcron { }; From 23c2993ef6916bf61e883e7e99acbaf2d507a0dc Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Thu, 6 Feb 2014 21:43:49 +0000 Subject: [PATCH 092/118] node-packages: add gh and regenerate pkgs/top-level/node-packages-generated.nix --- pkgs/top-level/node-packages-generated.nix | 403 ++++++++++++++++----- pkgs/top-level/node-packages.json | 1 + 2 files changed, 313 insertions(+), 91 deletions(-) diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix index 80910e5a7d9..139c948298a 100644 --- a/pkgs/top-level/node-packages-generated.nix +++ b/pkgs/top-level/node-packages-generated.nix @@ -1054,7 +1054,7 @@ deps = [ self.by-version."graceful-fs"."2.0.1" self.by-version."mout"."0.6.0" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."osenv"."0.0.3" ]; peerDependencies = [ @@ -1077,7 +1077,7 @@ deps = [ self.by-version."graceful-fs"."2.0.1" self.by-version."mout"."0.6.0" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."osenv"."0.0.3" ]; peerDependencies = [ @@ -1898,7 +1898,7 @@ ]; passthru.names = [ "cli" ]; }; - by-spec."cli-color"."~0.2.2" = + by-spec."cli-color"."*" = self.by-version."cli-color"."0.2.3"; by-version."cli-color"."0.2.3" = lib.makeOverridable self.buildNodePackage { name = "node-cli-color-0.2.3"; @@ -1919,6 +1919,30 @@ ]; passthru.names = [ "cli-color" ]; }; + by-spec."cli-color"."~0.2.2" = + self.by-version."cli-color"."0.2.3"; + by-spec."cli-color"."~0.2.3" = + self.by-version."cli-color"."0.2.3"; + by-spec."cli-log"."~0.0.8" = + self.by-version."cli-log"."0.0.8"; + by-version."cli-log"."0.0.8" = lib.makeOverridable self.buildNodePackage { + name = "node-cli-log-0.0.8"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/cli-log/-/cli-log-0.0.8.tgz"; + name = "cli-log-0.0.8.tgz"; + sha1 = "af738d7f5fcda8aab21bd4dbcd904ee5137c1ad0"; + }) + ]; + buildInputs = + (self.nativeDeps."cli-log" or []); + deps = [ + self.by-version."cli-color"."0.2.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "cli-log" ]; + }; by-spec."cliff"."0.1.8" = self.by-version."cliff"."0.1.8"; by-version."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage { @@ -2267,25 +2291,6 @@ ]; passthru.names = [ "combined-stream" ]; }; - by-spec."commander"."*" = - self.by-version."commander"."2.1.0"; - by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage { - name = "node-commander-2.1.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz"; - name = "commander-2.1.0.tgz"; - sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781"; - }) - ]; - buildInputs = - (self.nativeDeps."commander" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "commander" ]; - }; by-spec."commander"."0.6.1" = self.by-version."commander"."0.6.1"; by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage { @@ -2305,6 +2310,26 @@ ]; passthru.names = [ "commander" ]; }; + by-spec."commander"."1.3.1" = + self.by-version."commander"."1.3.1"; + by-version."commander"."1.3.1" = lib.makeOverridable self.buildNodePackage { + name = "node-commander-1.3.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/commander/-/commander-1.3.1.tgz"; + name = "commander-1.3.1.tgz"; + sha1 = "02443e02db96f4b32b674225451abb6e9510000e"; + }) + ]; + buildInputs = + (self.nativeDeps."commander" or []); + deps = [ + self.by-version."keypress"."0.1.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "commander" ]; + }; by-spec."commander"."1.3.2" = self.by-version."commander"."1.3.2"; by-version."commander"."1.3.2" = lib.makeOverridable self.buildNodePackage { @@ -2348,6 +2373,23 @@ self.by-version."commander"."2.0.0"; by-spec."commander"."2.1.0" = self.by-version."commander"."2.1.0"; + by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-commander-2.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz"; + name = "commander-2.1.0.tgz"; + sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781"; + }) + ]; + buildInputs = + (self.nativeDeps."commander" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "commander" ]; + }; by-spec."commander"."~0.6.1" = self.by-version."commander"."0.6.1"; by-spec."config"."0.4.15" = @@ -2910,6 +2952,26 @@ ]; passthru.names = [ "cookies" ]; }; + by-spec."copy-paste"."~0.1.0" = + self.by-version."copy-paste"."0.1.0"; + by-version."copy-paste"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-copy-paste-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/copy-paste/-/copy-paste-0.1.0.tgz"; + name = "copy-paste-0.1.0.tgz"; + sha1 = "d748638a4eccfa83af064eeb4bfc625cb300d28c"; + }) + ]; + buildInputs = + (self.nativeDeps."copy-paste" or []); + deps = [ + self.by-version."execSync"."1.0.1-pre" + ]; + peerDependencies = [ + ]; + passthru.names = [ "copy-paste" ]; + }; by-spec."core-util-is"."~1.0.0" = self.by-version."core-util-is"."1.0.1"; by-version."core-util-is"."1.0.1" = lib.makeOverridable self.buildNodePackage { @@ -4257,6 +4319,26 @@ ]; passthru.names = [ "everyauth" ]; }; + by-spec."execSync"."~1.0.0" = + self.by-version."execSync"."1.0.1-pre"; + by-version."execSync"."1.0.1-pre" = lib.makeOverridable self.buildNodePackage { + name = "node-execSync-1.0.1-pre"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/execSync/-/execSync-1.0.1-pre.tgz"; + name = "execSync-1.0.1-pre.tgz"; + sha1 = "8fa8deb748eecdafe61feea49921bb9b7a410d1e"; + }) + ]; + buildInputs = + (self.nativeDeps."execSync" or []); + deps = [ + self.by-version."temp"."0.5.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "execSync" ]; + }; by-spec."exit"."~0.1.1" = self.by-version."exit"."0.1.2"; by-version."exit"."0.1.2" = lib.makeOverridable self.buildNodePackage { @@ -4856,7 +4938,7 @@ self.by-version."forever-monitor"."1.2.3" self.by-version."nconf"."0.6.9" self.by-version."nssocket"."0.5.1" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."pkginfo"."0.3.0" self.by-version."timespan"."2.3.0" self.by-version."watch"."0.8.0" @@ -5413,6 +5495,60 @@ ]; passthru.names = [ "getobject" ]; }; + by-spec."gh"."*" = + self.by-version."gh"."1.8.2"; + by-version."gh"."1.8.2" = lib.makeOverridable self.buildNodePackage { + name = "gh-1.8.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/gh/-/gh-1.8.2.tgz"; + name = "gh-1.8.2.tgz"; + sha1 = "01ae9e23a617a9c08e8196078dd7b5a8b79b0156"; + }) + ]; + buildInputs = + (self.nativeDeps."gh" or []); + deps = [ + self.by-version."async"."0.2.10" + self.by-version."cli-color"."0.2.3" + self.by-version."cli-log"."0.0.8" + self.by-version."copy-paste"."0.1.0" + self.by-version."moment"."2.4.0" + self.by-version."handlebars"."1.0.11" + self.by-version."github"."0.1.13" + self.by-version."inquirer"."0.3.5" + self.by-version."wordwrap"."0.0.2" + self.by-version."nopt"."2.1.2" + self.by-version."open"."0.0.4" + self.by-version."truncate"."1.0.2" + self.by-version."update-notifier"."0.1.7" + self.by-version."userhome"."0.1.0" + self.by-version."which"."1.0.5" + ]; + peerDependencies = [ + ]; + passthru.names = [ "gh" ]; + }; + "gh" = self.by-version."gh"."1.8.2"; + by-spec."github"."~0.1.12" = + self.by-version."github"."0.1.13"; + by-version."github"."0.1.13" = lib.makeOverridable self.buildNodePackage { + name = "node-github-0.1.13"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/github/-/github-0.1.13.tgz"; + name = "github-0.1.13.tgz"; + sha1 = "90567238d0eb54f7c58ad3a6a2bea0fa495c94fb"; + }) + ]; + buildInputs = + (self.nativeDeps."github" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "github" ]; + }; by-spec."github-flavored-markdown".">= 0.0.1" = self.by-version."github-flavored-markdown"."1.0.1"; by-version."github-flavored-markdown"."1.0.1" = lib.makeOverridable self.buildNodePackage { @@ -5880,7 +6016,7 @@ buildInputs = (self.nativeDeps."grunt-karma" or []); deps = [ - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" ]; peerDependencies = [ self.by-version."grunt"."0.4.2" @@ -5979,6 +6115,27 @@ passthru.names = [ "gzippo" ]; }; "gzippo" = self.by-version."gzippo"."0.2.0"; + by-spec."handlebars"."1.0.11" = + self.by-version."handlebars"."1.0.11"; + by-version."handlebars"."1.0.11" = lib.makeOverridable self.buildNodePackage { + name = "handlebars-1.0.11"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/handlebars/-/handlebars-1.0.11.tgz"; + name = "handlebars-1.0.11.tgz"; + sha1 = "28b8af8b1f3658ef377e621e0d6b07078fc450a9"; + }) + ]; + buildInputs = + (self.nativeDeps."handlebars" or []); + deps = [ + self.by-version."optimist"."0.3.7" + self.by-version."uglify-js"."1.2.6" + ]; + peerDependencies = [ + ]; + passthru.names = [ "handlebars" ]; + }; by-spec."handlebars"."1.0.x" = self.by-version."handlebars"."1.0.12"; by-version."handlebars"."1.0.12" = lib.makeOverridable self.buildNodePackage { @@ -6418,7 +6575,7 @@ (self.nativeDeps."http-proxy" or []); deps = [ self.by-version."colors"."0.6.2" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."pkginfo"."0.3.0" self.by-version."utile"."0.2.1" ]; @@ -6545,7 +6702,7 @@ deps = [ self.by-version."coffee-script-redux"."2.0.0-beta4" self.by-version."istanbul"."0.2.4" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."escodegen"."1.1.0" self.by-version."mkdirp"."0.3.5" self.by-version."which"."1.0.5" @@ -6717,6 +6874,8 @@ }; by-spec."inquirer"."~0.3.1" = self.by-version."inquirer"."0.3.5"; + by-spec."inquirer"."~0.3.4" = + self.by-version."inquirer"."0.3.5"; by-spec."inquirer"."~0.4.0" = self.by-version."inquirer"."0.4.0"; by-version."inquirer"."0.4.0" = lib.makeOverridable self.buildNodePackage { @@ -7391,7 +7550,7 @@ self.by-version."glob"."3.2.8" self.by-version."minimatch"."0.2.14" self.by-version."http-proxy"."0.10.4" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."coffee-script"."1.6.3" self.by-version."rimraf"."2.2.6" self.by-version."q"."0.9.7" @@ -8951,14 +9110,14 @@ passthru.names = [ "moment" ]; }; by-spec."mongodb"."*" = - self.by-version."mongodb"."1.4.0-rc5"; - by-version."mongodb"."1.4.0-rc5" = lib.makeOverridable self.buildNodePackage { - name = "node-mongodb-1.4.0-rc5"; + self.by-version."mongodb"."1.4.0-rc6"; + by-version."mongodb"."1.4.0-rc6" = lib.makeOverridable self.buildNodePackage { + name = "node-mongodb-1.4.0-rc6"; src = [ (fetchurl { - url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.0-rc5.tgz"; - name = "mongodb-1.4.0-rc5.tgz"; - sha1 = "4be74a98df5f2f0e1eba6d868498d710f4c264ae"; + url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.0-rc6.tgz"; + name = "mongodb-1.4.0-rc6.tgz"; + sha1 = "dd2f6a03d9e9da019d6aa5da66c4d5de7993aedd"; }) ]; buildInputs = @@ -8971,7 +9130,7 @@ ]; passthru.names = [ "mongodb" ]; }; - "mongodb" = self.by-version."mongodb"."1.4.0-rc5"; + "mongodb" = self.by-version."mongodb"."1.4.0-rc6"; by-spec."mongodb"."1.2.14" = self.by-version."mongodb"."1.2.14"; by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage { @@ -9720,7 +9879,7 @@ self.by-version."dox"."0.4.4" self.by-version."jade"."0.35.0" self.by-version."node-uuid"."1.4.1" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."request"."2.27.0" self.by-version."semver"."2.1.0" self.by-version."sprintf"."0.1.3" @@ -10027,7 +10186,7 @@ deps = [ self.by-version."mailcomposer"."0.2.8" self.by-version."simplesmtp"."0.3.20" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" ]; peerDependencies = [ ]; @@ -10643,6 +10802,8 @@ }; by-spec."open"."~0.0.3" = self.by-version."open"."0.0.4"; + by-spec."open"."~0.0.4" = + self.by-version."open"."0.0.4"; by-spec."opener"."~1.3.0" = self.by-version."opener"."1.3.0"; by-version."opener"."1.3.0" = lib.makeOverridable self.buildNodePackage { @@ -10682,14 +10843,14 @@ passthru.names = [ "openid" ]; }; by-spec."optimist"."*" = - self.by-version."optimist"."0.6.0"; - by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage { - name = "node-optimist-0.6.0"; + self.by-version."optimist"."0.6.1"; + by-version."optimist"."0.6.1" = lib.makeOverridable self.buildNodePackage { + name = "node-optimist-0.6.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz"; - name = "optimist-0.6.0.tgz"; - sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200"; + url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz"; + name = "optimist-0.6.1.tgz"; + sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686"; }) ]; buildInputs = @@ -10702,7 +10863,7 @@ ]; passthru.names = [ "optimist" ]; }; - "optimist" = self.by-version."optimist"."0.6.0"; + "optimist" = self.by-version."optimist"."0.6.1"; by-spec."optimist"."0.2" = self.by-version."optimist"."0.2.8"; by-version."optimist"."0.2.8" = lib.makeOverridable self.buildNodePackage { @@ -10745,8 +10906,27 @@ }; by-spec."optimist"."0.6.0" = self.by-version."optimist"."0.6.0"; + by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage { + name = "node-optimist-0.6.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz"; + name = "optimist-0.6.0.tgz"; + sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200"; + }) + ]; + buildInputs = + (self.nativeDeps."optimist" or []); + deps = [ + self.by-version."wordwrap"."0.0.2" + self.by-version."minimist"."0.0.5" + ]; + peerDependencies = [ + ]; + passthru.names = [ "optimist" ]; + }; by-spec."optimist"."0.6.x" = - self.by-version."optimist"."0.6.0"; + self.by-version."optimist"."0.6.1"; by-spec."optimist"."~0.3" = self.by-version."optimist"."0.3.7"; by-spec."optimist"."~0.3.4" = @@ -10754,7 +10934,7 @@ by-spec."optimist"."~0.3.5" = self.by-version."optimist"."0.3.7"; by-spec."optimist"."~0.6.0" = - self.by-version."optimist"."0.6.0"; + self.by-version."optimist"."0.6.1"; by-spec."options".">=0.0.5" = self.by-version."options"."0.0.5"; by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage { @@ -12937,26 +13117,7 @@ ]; passthru.names = [ "send" ]; }; - by-spec."sequence"."*" = - self.by-version."sequence"."3.0.0"; - by-version."sequence"."3.0.0" = lib.makeOverridable self.buildNodePackage { - name = "node-sequence-3.0.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/sequence/-/sequence-3.0.0.tgz"; - name = "sequence-3.0.0.tgz"; - sha1 = "5957d3e03c70e270b2009a8c8bdaa97338a6e170"; - }) - ]; - buildInputs = - (self.nativeDeps."sequence" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "sequence" ]; - }; - by-spec."sequence"."2.x" = + by-spec."sequence"."2.2.1" = self.by-version."sequence"."2.2.1"; by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage { name = "node-sequence-2.2.1"; @@ -12975,6 +13136,8 @@ ]; passthru.names = [ "sequence" ]; }; + by-spec."sequence"."2.x" = + self.by-version."sequence"."2.2.1"; by-spec."sha"."~1.2.1" = self.by-version."sha"."1.2.3"; by-version."sha"."1.2.3" = lib.makeOverridable self.buildNodePackage { @@ -13577,14 +13740,14 @@ passthru.names = [ "stack-trace" ]; }; by-spec."statsd"."*" = - self.by-version."statsd"."0.7.0"; - by-version."statsd"."0.7.0" = lib.makeOverridable self.buildNodePackage { - name = "statsd-0.7.0"; + self.by-version."statsd"."0.7.1"; + by-version."statsd"."0.7.1" = lib.makeOverridable self.buildNodePackage { + name = "statsd-0.7.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/statsd/-/statsd-0.7.0.tgz"; - name = "statsd-0.7.0.tgz"; - sha1 = "13354345392c50a30221d3ab524bffcdda90272e"; + url = "http://registry.npmjs.org/statsd/-/statsd-0.7.1.tgz"; + name = "statsd-0.7.1.tgz"; + sha1 = "b3a5124948ea5558e59eb26536ccfdedb9ba2a70"; }) ]; buildInputs = @@ -13592,13 +13755,13 @@ deps = [ self.by-version."node-syslog"."1.1.7" self.by-version."hashring"."1.0.1" - self.by-version."winser"."0.0.11" + self.by-version."winser"."0.1.6" ]; peerDependencies = [ ]; passthru.names = [ "statsd" ]; }; - "statsd" = self.by-version."statsd"."0.7.0"; + "statsd" = self.by-version."statsd"."0.7.1"; by-spec."stream-combiner"."~0.0.2" = self.by-version."stream-combiner"."0.0.4"; by-version."stream-combiner"."0.0.4" = lib.makeOverridable self.buildNodePackage { @@ -14077,6 +14240,26 @@ "temp" = self.by-version."temp"."0.6.0"; by-spec."temp"."0.6.0" = self.by-version."temp"."0.6.0"; + by-spec."temp"."~0.5.1" = + self.by-version."temp"."0.5.1"; + by-version."temp"."0.5.1" = lib.makeOverridable self.buildNodePackage { + name = "node-temp-0.5.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/temp/-/temp-0.5.1.tgz"; + name = "temp-0.5.1.tgz"; + sha1 = "77ab19c79aa7b593cbe4fac2441768cad987b8df"; + }) + ]; + buildInputs = + (self.nativeDeps."temp" or []); + deps = [ + self.by-version."rimraf"."2.1.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "temp" ]; + }; by-spec."temp"."~0.6.0" = self.by-version."temp"."0.6.0"; by-spec."tempfile"."~0.1.2" = @@ -14276,7 +14459,7 @@ self.by-version."longjohn"."0.2.2" self.by-version."moment"."2.4.0" self.by-version."node-appc"."0.2.0" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."request"."2.27.0" self.by-version."semver"."2.2.1" self.by-version."sprintf"."0.1.3" @@ -14540,7 +14723,26 @@ self.by-version."async"."0.2.10" self.by-version."source-map"."0.1.31" self.by-version."optimist"."0.3.7" - self.by-version."uglify-to-browserify"."1.0.1" + self.by-version."uglify-to-browserify"."1.0.2" + ]; + peerDependencies = [ + ]; + passthru.names = [ "uglify-js" ]; + }; + by-spec."uglify-js"."~1.2" = + self.by-version."uglify-js"."1.2.6"; + by-version."uglify-js"."1.2.6" = lib.makeOverridable self.buildNodePackage { + name = "uglify-js-1.2.6"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.2.6.tgz"; + name = "uglify-js-1.2.6.tgz"; + sha1 = "d354b2d3c1cf10ebc18fa78c11a28bdd9ce1580d"; + }) + ]; + buildInputs = + (self.nativeDeps."uglify-js" or []); + deps = [ ]; peerDependencies = [ ]; @@ -14608,21 +14810,21 @@ self.by-version."async"."0.2.10" self.by-version."source-map"."0.1.31" self.by-version."optimist"."0.3.7" - self.by-version."uglify-to-browserify"."1.0.1" + self.by-version."uglify-to-browserify"."1.0.2" ]; peerDependencies = [ ]; passthru.names = [ "uglify-js" ]; }; by-spec."uglify-to-browserify"."~1.0.0" = - self.by-version."uglify-to-browserify"."1.0.1"; - by-version."uglify-to-browserify"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "node-uglify-to-browserify-1.0.1"; + self.by-version."uglify-to-browserify"."1.0.2"; + by-version."uglify-to-browserify"."1.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-uglify-to-browserify-1.0.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.1.tgz"; - name = "uglify-to-browserify-1.0.1.tgz"; - sha1 = "0e9ada5d4ca358a59a00bb33c8061e2f40ef97d2"; + url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz"; + name = "uglify-to-browserify-1.0.2.tgz"; + sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7"; }) ]; buildInputs = @@ -14885,6 +15087,25 @@ ]; passthru.names = [ "useragent" ]; }; + by-spec."userhome"."~0.1.0" = + self.by-version."userhome"."0.1.0"; + by-version."userhome"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-userhome-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/userhome/-/userhome-0.1.0.tgz"; + name = "userhome-0.1.0.tgz"; + sha1 = "bd2067d90b3f7ac6c026d87612c579d88fb89f86"; + }) + ]; + buildInputs = + (self.nativeDeps."userhome" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "userhome" ]; + }; by-spec."util"."0.10.2" = self.by-version."util"."0.10.2"; by-version."util"."0.10.2" = lib.makeOverridable self.buildNodePackage { @@ -15359,22 +15580,22 @@ self.by-version."which"."1.0.5"; by-spec."which"."~1.0.5" = self.by-version."which"."1.0.5"; - by-spec."winser"."=0.0.11" = - self.by-version."winser"."0.0.11"; - by-version."winser"."0.0.11" = lib.makeOverridable self.buildNodePackage { - name = "winser-0.0.11"; + by-spec."winser"."=0.1.6" = + self.by-version."winser"."0.1.6"; + by-version."winser"."0.1.6" = lib.makeOverridable self.buildNodePackage { + name = "winser-0.1.6"; src = [ (fetchurl { - url = "http://registry.npmjs.org/winser/-/winser-0.0.11.tgz"; - name = "winser-0.0.11.tgz"; - sha1 = "38474086a89ac72f90f9c6762e23375d12046c7c"; + url = "http://registry.npmjs.org/winser/-/winser-0.1.6.tgz"; + name = "winser-0.1.6.tgz"; + sha1 = "08663dc32878a12bbce162d840da5097b48466c9"; }) ]; buildInputs = (self.nativeDeps."winser" or []); deps = [ - self.by-version."sequence"."3.0.0" - self.by-version."commander"."2.1.0" + self.by-version."sequence"."2.2.1" + self.by-version."commander"."1.3.1" ]; peerDependencies = [ ]; diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json index 0e6d45bb551..e2adc137aa9 100644 --- a/pkgs/top-level/node-packages.json +++ b/pkgs/top-level/node-packages.json @@ -115,4 +115,5 @@ , "bower2nix" , "fetch-bower" , { "titanium": "3.2.0" } +, "gh" ] From 346bfc28ea979ef37f3508950842e69daf9cba32 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 6 Feb 2014 16:30:40 -0600 Subject: [PATCH 093/118] kernel: Upgrade from 3.13.1 -> 3.13.2 --- pkgs/os-specific/linux/kernel/linux-3.13.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.13.nix b/pkgs/os-specific/linux/kernel/linux-3.13.nix index 437e4bc025a..637d2935c98 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.13.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.13.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.13.1"; + version = "3.13.2"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0gkikbz676h79rv0aaihl90mw7fqhjx3rkhcqrmzggjb54048jvq"; + sha256 = "1bvxcdzjff514zwk18b9dfkhhk12fjjbb4a1saynqnisdn7b78dl"; }; features.iwlwifi = true; From 15fb296b43609cfe936b77b30f945d66f0788bcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 7 Feb 2014 00:25:50 +0100 Subject: [PATCH 094/118] xfce: partially add gtk3 support --- nixos/modules/services/x11/desktop-managers/xfce.nix | 2 +- pkgs/desktops/xfce/core/gtk-xfce-engine.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 5e5fab3ed2b..3c67571ffd5 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -29,7 +29,7 @@ in start = '' # Set GTK_PATH so that GTK+ can find the theme engines. - export GTK_PATH=${config.system.path}/lib/gtk-2.0 + export GTK_PATH="${config.system.path}/lib/gtk-2.0:${config.system.path}/lib/gtk-3.0" # Set GTK_DATA_PREFIX so that GTK+ can find the Xfce themes. export GTK_DATA_PREFIX=${config.system.path} diff --git a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix index a97a11c6f12..0a30d8ac48b 100644 --- a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix +++ b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtk }: +{ stdenv, fetchurl, pkgconfig, intltool, gtk, gtk3 }: stdenv.mkDerivation rec { p_name = "gtk-xfce-engine"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { name = "${p_name}-${ver_maj}.${ver_min}"; #TODO: gtk3 - buildInputs = [ pkgconfig intltool gtk ]; + buildInputs = [ pkgconfig intltool gtk gtk3 ]; meta = { homepage = http://www.xfce.org/; From c9decf12e3f346a22e60c5fc4f2933fd5de8dbd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 7 Feb 2014 00:28:07 +0100 Subject: [PATCH 095/118] gnome3.gnome-keyring: add missing runtime dependency --- pkgs/desktops/gnome-3/core/gnome-keyring/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix index 455f18de98e..b557e210645 100644 --- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, libxslt -, intltool, pango, gcr, gdk_pixbuf, atk, p11_kit +, intltool, pango, gcr, gdk_pixbuf, atk, p11_kit, makeWrapper , docbook_xsl_ns, docbook_xsl, gnome3 }: stdenv.mkDerivation rec { @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = with gnome3; [ dbus libgcrypt pam python gtk3 gconf libgnome_keyring - pango gcr gdk_pixbuf atk p11_kit + pango gcr gdk_pixbuf atk p11_kit makeWrapper ]; propagatedBuildInputs = [ glib libtasn1 libxslt ]; @@ -25,6 +25,13 @@ stdenv.mkDerivation rec { "--with-pkcs11-modules=$$out/lib/pkcs11/" ]; + postInstall = '' + wrapProgram "$out/bin/gnome-keyring" \ + --prefix XDG_DATA_DIRS : "${glib}/share:$out/share" + wrapProgram "$out/bin/gnome-keyring-daemon" \ + --prefix XDG_DATA_DIRS : "${glib}/share:$out/share" + ''; + meta = with stdenv.lib; { platforms = platforms.linux; }; From 2d166153ec33185d2f62a181cbdce2f8ce5bfb95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 7 Feb 2014 00:29:08 +0100 Subject: [PATCH 096/118] gnome3.gnome-shell: add GDK_PIXBUG_MODULE that has svg and png loaders --- pkgs/desktops/gnome-3/core/gnome-shell/default.nix | 6 ++++-- .../desktops/gnome-3/core/gnome-themes-standard/default.nix | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix index 3799a008c1b..92c8d2a3bc7 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix @@ -2,8 +2,9 @@ , python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns , libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit , pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper -, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet }: +, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }: +# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup stdenv.mkDerivation rec { name = "gnome-shell-3.10.2.1"; @@ -15,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = with gnome3; [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountservice - libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf + libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm @@ -31,6 +32,7 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gnome-shell" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \ + --set GDK_PIXBUF_MODULE_FILE ${gnome_themes_standard}/lib/gdk-pixbuf/loaders.cache \ --prefix XDG_DATA_DIRS : "${gnome-menus}:/share:${ibus}/share:${gnome_settings_daemon}/share:${gdm}/share:${glib}/share:${gnome_themes_standard}/share:${mutter}/share:${gnome_icon_theme}/share:${gsettings_desktop_schemas}/share:${gtk}/share:$out/share" wrapProgram "$out/libexec/gnome-shell-calendar-server" \ --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share" diff --git a/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix index 8faae4d2148..e3de21806d3 100644 --- a/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix @@ -10,8 +10,9 @@ stdenv.mkDerivation rec { buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ]; preConfigure = '' - cat ${gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache ${librsvg}/lib/gdk-pixbuf/loaders.cache > loaders.cache - export GDK_PIXBUF_MODULE_FILE=`readlink -e loaders.cache` + mkdir -p $out/lib/gdk-pixbuf/ + cat ${gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache ${librsvg}/lib/gdk-pixbuf/loaders.cache > $out/lib/gdk-pixbuf/loaders.cache + export GDK_PIXBUF_MODULE_FILE=`readlink -e $out/lib/gdk-pixbuf/loaders.cache` ''; meta = with stdenv.lib; { From 1142be63016ee1c36ef6e433778d133ea737b325 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 7 Feb 2014 00:29:39 +0100 Subject: [PATCH 097/118] gnome3.gnome_terminal: add missing runtime dependencies --- pkgs/desktops/gnome-3/core/gnome-terminal/default.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix index 281f985c121..31ee53e9713 100644 --- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango , gnome_doc_utils, intltool, libX11, which, gconf, libuuid -, desktop_file_utils, itstool, ncurses }: +, desktop_file_utils, itstool, ncurses, makeWrapper }: stdenv.mkDerivation rec { @@ -15,10 +15,16 @@ stdenv.mkDerivation rec { }; buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte - gnome3.dconf gnome3.gconf itstool ncurses ]; + gnome3.dconf gnome3.gconf itstool ncurses makeWrapper ]; nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ]; + postInstall = '' + wrapProgram "$out/libexec/gnome-terminal-server" \ + --prefix XDG_DATA_DIRS : "${gnome3.gsettings_desktop_schemas}/share:$out/share" + ''; + + meta = with stdenv.lib; { platforms = platforms.linux; }; From c5c14c72f4d94365a8b9c5a818752bf2d8fdb8ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 7 Feb 2014 00:31:10 +0100 Subject: [PATCH 098/118] gnome3.gnome-settings-daemon: add missing input --- pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix index cb9b00f5279..668a53d2bf8 100644 --- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { [ intltool pkgconfig ibus gtk glib gsettings_desktop_schemas libnotify gnome_desktop lcms2 libXtst libxkbfile pulseaudio libcanberra_gtk3 upower colord libgweather polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libwacom libxslt - libtool docbook_xsl docbook_xsl_ns makeWrapper ]; + libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ]; postInstall = '' wrapProgram "$out/libexec/gnome-settings-daemon-localeexec" \ From 65a28e8b7312a4c7c493378c1cbdda7b17fceba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 7 Feb 2014 00:31:29 +0100 Subject: [PATCH 099/118] Add gnome3 desktop manager. Very experimental. Currently very basic gnome-shell launches on my laptop. Quite some services won't start yet, most notable is gnome-control-center. GTK3 apps still don't have theming applied and for example launching chromium results in horrible red windows. --- nixos/modules/services/x11/desktop-managers/default.nix | 2 +- pkgs/desktops/gnome-3/default.nix | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 035b23b4e1b..70750770663 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -17,7 +17,7 @@ in # Note: the order in which desktop manager modules are imported here # determines the default: later modules (if enabled) are preferred. # E.g., if KDE is enabled, it supersedes xterm. - imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ]; + imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ./gnome3.nix ]; options = { diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 56d38bf1d90..e9ec7be55b9 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -32,6 +32,8 @@ rec { gjs = callPackage ./core/gjs { }; + gnome_control_center = callPackage ./core/gnome-control-center { }; + gnome_icon_theme = callPackage ./core/gnome-icon-theme { }; gnome-menus = callPackage ./core/gnome-menus { }; From 506a030b910fe7ff619a0ec3cc8a4a59cbbb5bfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 7 Feb 2014 00:37:17 +0100 Subject: [PATCH 100/118] gnome3: add missing files --- .../services/x11/desktop-managers/gnome3.nix | 58 +++++++++++++++++++ .../core/gnome-control-center/default.nix | 25 ++++++++ 2 files changed, 83 insertions(+) create mode 100644 nixos/modules/services/x11/desktop-managers/gnome3.nix create mode 100644 pkgs/desktops/gnome-3/core/gnome-control-center/default.nix diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix new file mode 100644 index 00000000000..6c43112c813 --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -0,0 +1,58 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + cfg = config.services.xserver.desktopManager.gnome3; + gnome3 = pkgs.gnome3; +in { + + options = { + + services.xserver.desktopManager.gnome3.enable = mkOption { + default = false; + example = true; + description = "Enable Gnome 3 desktop manager."; + }; + + }; + + config = mkIf cfg.enable { + + # Enable helpful DBus services. + security.polkit.enable = true; + services.udisks2.enable = true; + networking.networkmanager.enable = true; + services.upower.enable = config.powerManagement.enable; + + fonts.extraFonts = [ pkgs.dejavu_fonts ]; + + services.xserver.desktopManager.session = singleton + { name = "gnome3"; + start = '' + # Set GTK_DATA_PREFIX so that GTK+ can find the themes + export GTK_DATA_PREFIX=${config.system.path} + + # find theme engines + export GTK_PATH=${config.system.path}/lib/gtk-3.0:{config.system.path}/lib/gtk-2.0 + + export XDG_MENU_PREFIX=gnome + + ${gnome3.gnome_session}/bin/gnome-session& + waitPID=$! + ''; + }; + + environment.systemPackages = + [ gnome3.evince + gnome3.eog + pkgs.ibus + gnome3.gnome_shell + gnome3.gnome_settings_daemon + gnome3.gnome_terminal + gnome3.gnome_icon_theme + gnome3.gnome_themes_standard + ]; + }; + +} diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix new file mode 100644 index 00000000000..b73009d896d --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -0,0 +1,25 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, libcanberra +, libxml2, polkit, libxslt, libgtop, libsoup, colord, pulseaudio, fontconfig }: + +# http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules +# TODO: colord_gtk + + +stdenv.mkDerivation rec { + name = "gnome-control-center-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-control-center/3.10/${name}.tar.xz"; + sha256 = "1ac34kqkf174w0qc12p927dfhcm69xnv7fqzmbhjab56rn49wypn"; + }; + + buildInputs = with gnome3; + [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas + libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus + gnome_online_accounts libsoup colord pulseaudio fontconfig ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; + +} From f5de6b8fc83bd00032db3411350561c0efac127c Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 6 Feb 2014 00:53:55 +0000 Subject: [PATCH 101/118] updates: mr, vcsh and transmission-remote-gtk - mr: copy some more stuff to output - add vcsh package - transmission-remote-gtk: 1.0.1 -> 1.1.1 --- .../p2p/transmission-remote-gtk/default.nix | 8 +++--- .../version-management/mr/default.nix | 6 ++-- .../version-management/vcsh/default.nix | 28 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 4 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 pkgs/applications/version-management/vcsh/default.nix diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix index 894b1363cd0..3c1cfe51836 100644 --- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix +++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtk, json_glib, curl }: +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, json_glib, curl }: stdenv.mkDerivation rec { - name = "transmission-remote-gtk-1.0.1"; + name = "transmission-remote-gtk-1.1.1"; src = fetchurl { url = "http://transmission-remote-gtk.googlecode.com/files/${name}.tar.gz"; - sha256 = "b1ae032dd52b2d7975656913e4fe39e7f74d29ef8138292d8b82318ff9afed6f"; + sha256 = "1jbh2pm4i740cmzqd2r7zxnqqipvv2v2ndmnmk53nqrxcbgc4nlz"; }; - buildInputs = [ pkgconfig intltool gtk json_glib curl ]; + buildInputs = [ pkgconfig intltool gtk3 json_glib curl ]; meta = { description = "GTK remote control for the Transmission BitTorrent client"; diff --git a/pkgs/applications/version-management/mr/default.nix b/pkgs/applications/version-management/mr/default.nix index 9e8024d7b19..e89cea6aadc 100644 --- a/pkgs/applications/version-management/mr/default.nix +++ b/pkgs/applications/version-management/mr/default.nix @@ -17,13 +17,14 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -pv $out/bin $out/share/man/man1 + mkdir -pv $out/bin $out/share/man/man1 $out/share/mr cp -v mr $out/bin cp -v webcheckout $out/bin cp -v mr.1 $out/share/man/man1 cp -v webcheckout.1 $out/share/man/man1 + cp -v lib/* $out/share/mr ''; - + meta = { description = "Multiple Repository management tool"; longDescription = ''The mr(1) command can checkout, update, or perform other actions on a @@ -53,4 +54,3 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.antono ]; }; } - diff --git a/pkgs/applications/version-management/vcsh/default.nix b/pkgs/applications/version-management/vcsh/default.nix new file mode 100644 index 00000000000..d438cb1bc6c --- /dev/null +++ b/pkgs/applications/version-management/vcsh/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchgit}: + +stdenv.mkDerivation rec { + rev = "75c4c554eefbefb714fabd356933858edbce3b1e"; + version = "1.20131229"; + name = "vcsh-${version}_${rev}"; + + src = fetchgit { + inherit rev; + url = "https://github.com/RichiH/vcsh"; + sha256 = "0rc82a8vnnk9q6q88z9s10873gqgdpppbpwy2yw8a7hydqrpn0hs"; + }; + + phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + + installPhase = '' + mkdir -p $out/bin + cp vcsh $out/bin + ''; + + meta = { + description = "Version Control System for $HOME"; + homepage = https://github.com/RichiH/vcsh; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = [ stdenv.lib.maintainers.garbas ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 59e3334e121..241f73868f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2018,6 +2018,8 @@ let vboot_reference = callPackage ../tools/system/vboot_reference { }; + vcsh = callPackage ../applications/version-management/vcsh { }; + verilog = callPackage ../applications/science/electronics/verilog {}; vfdecrypt = callPackage ../tools/misc/vfdecrypt { }; From 7a653e515603af12b1a8c369b00081665c6f41b0 Mon Sep 17 00:00:00 2001 From: Corey O'Connor Date: Thu, 6 Feb 2014 14:00:59 -0800 Subject: [PATCH 102/118] add guvcview package --- pkgs/os-specific/linux/guvcview/default.nix | 39 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 41 insertions(+) create mode 100644 pkgs/os-specific/linux/guvcview/default.nix diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix new file mode 100644 index 00000000000..6e4a2caba18 --- /dev/null +++ b/pkgs/os-specific/linux/guvcview/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchgit, intltool, autoreconfHook, gettext, pkgconfig +, gtk3, portaudio, libpng, SDL, ffmpeg, udev, libusb1, libv4l, alsaLib }: + +stdenv.mkDerivation rec { + version = "1.7.2"; + rev = "ab84b0b1ed358f0504e1218a0ef792a02b307af8"; + name = "guvcview-${version}_${rev}"; + + src = fetchgit { + inherit rev; + url = "git://git.code.sf.net/p/guvcview/git-master"; + sha256 = "08cpbxq3dh2mlsgzk5dj3vfrgap4q281n9h6xzpbsvyifcj1a9n1"; + }; + + buildInputs = + [ SDL + alsaLib + autoreconfHook + ffmpeg + gtk3 + intltool + libusb1 + libv4l + pkgconfig + portaudio + udev + ]; + + preConfigure = '' + ./bootstrap.sh + ''; + + meta = { + description = "A simple interface for devices supported by the linux UVC driver"; + homepage = http://guvcview.sourceforge.net; + maintainers = [ stdenv.lib.maintainers.coconnor ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 241f73868f0..666d573d396 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8095,6 +8095,8 @@ let gv = callPackage ../applications/misc/gv { }; + guvcview = callPackage ../os-specific/linux/guvcview { }; + hello = callPackage ../applications/misc/hello/ex-2 { }; herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { }; From 6fa5612a46ab291c291aa1925a2e5da152dbdfdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 7 Feb 2014 09:48:18 +0100 Subject: [PATCH 103/118] gnutls2: fix build in chroot (/usr/bin/perl doc script) I've got no idea how this could get triggered on Hydra, 97e7ce2 ? --- pkgs/development/libraries/gnutls/2.12.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gnutls/2.12.nix b/pkgs/development/libraries/gnutls/2.12.nix index fa9e5c69b79..59f0131b9d4 100644 --- a/pkgs/development/libraries/gnutls/2.12.nix +++ b/pkgs/development/libraries/gnutls/2.12.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, zlib, lzo, libtasn1, nettle -, guileBindings, guile, pkgconfig }: +, guileBindings, guile, pkgconfig, perl }: assert guileBindings -> guile != null; @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { })]; configurePhase = '' + patchShebangs . + ./configure --prefix="$out" \ --disable-dependency-tracking --enable-fast-install \ --with-lzo --with-libtasn1-prefix="${libtasn1}" \ @@ -29,7 +31,7 @@ stdenv.mkDerivation rec { else ""} ''; - buildInputs = [ zlib lzo libtasn1 pkgconfig ] + buildInputs = [ zlib lzo libtasn1 pkgconfig perl ] ++ stdenv.lib.optional guileBindings guile; propagatedBuildInputs = [ nettle ]; From fabda56521c5f40acdbba926eb63b92c27605bc9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 7 Feb 2014 09:16:02 +0100 Subject: [PATCH 104/118] haskell-lens: update to version 4.0.1 --- .../development/libraries/haskell/lens/{4.0.nix => 4.0.1.nix} | 4 ++-- pkgs/top-level/haskell-packages.nix | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) rename pkgs/development/libraries/haskell/lens/{4.0.nix => 4.0.1.nix} (94%) diff --git a/pkgs/development/libraries/haskell/lens/4.0.nix b/pkgs/development/libraries/haskell/lens/4.0.1.nix similarity index 94% rename from pkgs/development/libraries/haskell/lens/4.0.nix rename to pkgs/development/libraries/haskell/lens/4.0.1.nix index 9046558c22d..d921dbe1cbb 100644 --- a/pkgs/development/libraries/haskell/lens/4.0.nix +++ b/pkgs/development/libraries/haskell/lens/4.0.1.nix @@ -10,8 +10,8 @@ cabal.mkDerivation (self: { pname = "lens"; - version = "4.0"; - sha256 = "1mrpbwnj1k2my71lm0ajxsx5r44sz372gfxn78vz4182yv3bmla1"; + version = "4.0.1"; + sha256 = "1dm4gdpyd7kndf3zaikjqa1gkc7y7wzfnyhhk3xyhjxa5hn5rj75"; buildDepends = [ aeson bifunctors comonad constraints contravariant distributive exceptions filepath hashable mtl parallel primitive profunctors diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index f14e7150ba8..1a404240d48 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1535,7 +1535,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x leksahServer = callPackage ../development/libraries/haskell/leksah/leksah-server.nix {}; lens_3_10_2 = callPackage ../development/libraries/haskell/lens/3.10.2.nix {}; - lens_4_0 = callPackage ../development/libraries/haskell/lens/4.0.nix {}; + lens_4_0_1 = callPackage ../development/libraries/haskell/lens/4.0.1.nix { + aeson = self.aeson_0_7_0_0; + }; lens = self.lens_3_10_2; lensAeson = callPackage ../development/libraries/haskell/lens-aeson {}; From 6498f489766c216da1d3bc10ce733d506bb73160 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 7 Feb 2014 09:49:48 +0100 Subject: [PATCH 105/118] haskell-linear: this package requires lens 4.x to compile --- pkgs/top-level/haskell-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 1a404240d48..766a8d7d309 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1560,7 +1560,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x liftedBase = callPackage ../development/libraries/haskell/lifted-base {}; - linear = callPackage ../development/libraries/haskell/linear {}; + linear = callPackage ../development/libraries/haskell/linear { + lens = self.lens_4_0_1; + }; List = callPackage ../development/libraries/haskell/List {}; From 5b421f7bdb2ed78fd7f23683e50de97742f5a007 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 6 Feb 2014 13:25:14 -0600 Subject: [PATCH 106/118] Add Haskell packages 'hybrid-vectors' and 'sparse'. Also, disable the test suite of 'linear' which fails running the doctests. --- .../haskell/hybrid-vectors/default.nix | 14 ++++++++++ .../libraries/haskell/linear/default.nix | 1 + .../libraries/haskell/sparse/default.nix | 28 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 7 +++++ 4 files changed, 50 insertions(+) create mode 100644 pkgs/development/libraries/haskell/hybrid-vectors/default.nix create mode 100644 pkgs/development/libraries/haskell/sparse/default.nix diff --git a/pkgs/development/libraries/haskell/hybrid-vectors/default.nix b/pkgs/development/libraries/haskell/hybrid-vectors/default.nix new file mode 100644 index 00000000000..56fd36fbe87 --- /dev/null +++ b/pkgs/development/libraries/haskell/hybrid-vectors/default.nix @@ -0,0 +1,14 @@ +{ cabal, deepseq, primitive, vector }: + +cabal.mkDerivation (self: { + pname = "hybrid-vectors"; + version = "0.1"; + sha256 = "0a5ry6xmkr0zjz0kp7qbm7kdz5yr9842gy116902djppmdn5dq05"; + buildDepends = [ deepseq primitive vector ]; + meta = { + homepage = "http://github.com/ekmett/hybrid-vectors"; + description = "Hybrid vectors e.g. Mixed Boxed/Unboxed vectors"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix index a0d1e67ee6f..5b8f42d5420 100644 --- a/pkgs/development/libraries/haskell/linear/default.nix +++ b/pkgs/development/libraries/haskell/linear/default.nix @@ -17,6 +17,7 @@ cabal.mkDerivation (self: { binary doctest filepath HUnit lens simpleReflect testFramework testFrameworkHunit ]; + doCheck = false; meta = { homepage = "http://github.com/ekmett/linear/"; description = "Linear Algebra"; diff --git a/pkgs/development/libraries/haskell/sparse/default.nix b/pkgs/development/libraries/haskell/sparse/default.nix new file mode 100644 index 00000000000..6af05d19379 --- /dev/null +++ b/pkgs/development/libraries/haskell/sparse/default.nix @@ -0,0 +1,28 @@ +{ cabal, contravariant, deepseq, doctest, filepath, hlint +, hybridVectors, lens, linear, mtl, primitive, QuickCheck +, semigroups, simpleReflect, testFramework +, testFrameworkQuickcheck2, testFrameworkTh, transformers, vector +, vectorAlgorithms +}: + +cabal.mkDerivation (self: { + pname = "sparse"; + version = "0.9"; + sha256 = "0v0z7kjgmcdx9ajlhr9pc1i3qqghd60s02xnlmj4hcxby8k0r8mc"; + buildDepends = [ + contravariant deepseq hybridVectors lens primitive transformers + vector vectorAlgorithms + ]; + testDepends = [ + deepseq doctest filepath hlint hybridVectors lens linear mtl + QuickCheck semigroups simpleReflect testFramework + testFrameworkQuickcheck2 testFrameworkTh transformers vector + ]; + doCheck = false; + meta = { + homepage = "http://github.com/ekmett/sparse"; + description = "A playground of sparse linear algebra primitives using Morton ordering"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 766a8d7d309..282f36ac9cd 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1449,6 +1449,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hxtUnicode = callPackage ../development/libraries/haskell/hxt-unicode {}; + hybridVectors = callPackage ../development/libraries/haskell/hybrid-vectors {}; + iCalendar = callPackage ../development/libraries/haskell/iCalendar {}; idna = callPackage ../development/libraries/haskell/idna {}; @@ -2128,6 +2130,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x socks = callPackage ../development/libraries/haskell/socks {}; + sparse = callPackage ../development/libraries/haskell/sparse { + lens = self.lens_4_0_1; + linear = self.linear.override { lens = self.lens_4_0_1; }; + }; + srcloc = callPackage ../development/libraries/haskell/srcloc {}; stateref = callPackage ../development/libraries/haskell/stateref {}; From 56d26d04ece7c119664ac82290680933bb1d43fc Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 7 Feb 2014 09:40:06 +0100 Subject: [PATCH 107/118] haskell-sparse: jailbreak to fix build with current versions of vector-algorithms and QuickCheck https://github.com/NixOS/nixpkgs/pull/1692 https://github.com/ekmett/sparse/issues/3 https://github.com/ekmett/sparse/issues/4 --- pkgs/development/libraries/haskell/sparse/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/libraries/haskell/sparse/default.nix b/pkgs/development/libraries/haskell/sparse/default.nix index 6af05d19379..f498da21939 100644 --- a/pkgs/development/libraries/haskell/sparse/default.nix +++ b/pkgs/development/libraries/haskell/sparse/default.nix @@ -18,6 +18,9 @@ cabal.mkDerivation (self: { QuickCheck semigroups simpleReflect testFramework testFrameworkQuickcheck2 testFrameworkTh transformers vector ]; + patchPhase = '' + sed -i -e 's|vector-algorithms >=.*|vector-algorithms|' -e 's|QuickCheck.*,|QuickCheck,|' sparse.cabal + ''; doCheck = false; meta = { homepage = "http://github.com/ekmett/sparse"; From 4f3d4c55ffa45b5216d1d3a8df0a446cd17f0b0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 7 Feb 2014 01:49:16 +0100 Subject: [PATCH 108/118] vim-ft: match attributes with dash and set nix as ft --- pkgs/applications/editors/vim/ft-nix-support.patch | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/vim/ft-nix-support.patch b/pkgs/applications/editors/vim/ft-nix-support.patch index 0e73162d33e..b2ac423092e 100644 --- a/pkgs/applications/editors/vim/ft-nix-support.patch +++ b/pkgs/applications/editors/vim/ft-nix-support.patch @@ -23,7 +23,7 @@ new file mode 100644 index 0000000..a2f9918 --- /dev/null +++ b/runtime/syntax/nix.vim -@@ -0,0 +1,40 @@ +@@ -0,0 +1,42 @@ +" Vim syntax file +" Language: nix +" Maintainer: Marc Weber @@ -46,8 +46,8 @@ index 0000000..a2f9918 + \ __readFile __toXML __toFile __filterSource __attrNames __getAttr __hasAttr __isAttrs __listToAttrs __isList + \ __head __tail __add __sub __lessThan __substring __stringLength + -+syn match nixAttr "\w\+\ze\s*=" -+syn match nixFuncArg "\zs\w\+\ze\s*:" ++syn match nixAttr "[a-zA-Z0-9-_]\+\ze\s*=" ++syn match nixFuncArg "\zs[a-zA-Z0-9-_]\+\ze\s*:" +syn region nixStringParam start=+\${+ end=+}+ +syn region nixMultiLineComment start=+/\*+ skip=+\\"+ end=+\*/+ +syn match nixEndOfLineComment "#.*$" @@ -66,3 +66,5 @@ index 0000000..a2f9918 +hi def link nixEndOfLineComment Comment +hi def link nixAttr Identifier +hi def link nixFuncArg Identifier ++ ++let b:current_syntax = "nix" From 515d4ad8fe2743ea71f6871de586ac73eadf7e09 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 6 Feb 2014 01:18:09 +0000 Subject: [PATCH 109/118] add haskellPackages.preprocessorTools (0.1.3 and 1.0.1) --- .../libraries/haskell/preprocessor-tools/0.1.3.nix | 14 ++++++++++++++ .../libraries/haskell/preprocessor-tools/1.0.1.nix | 14 ++++++++++++++ pkgs/top-level/haskell-packages.nix | 6 ++++++ 3 files changed, 34 insertions(+) create mode 100644 pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix create mode 100644 pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix diff --git a/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix b/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix new file mode 100644 index 00000000000..1ca159c7128 --- /dev/null +++ b/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix @@ -0,0 +1,14 @@ +{ cabal, mtl, parsec, syb }: + +cabal.mkDerivation (self: { + pname = "preprocessor-tools"; + version = "0.1.3"; + sha256 = "0jz85v93zpv6cwvad18wr12nsikmv4n20gn37zli2h34zi543i9v"; + buildDepends = [ mtl parsec syb ]; + meta = { + homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/"; + description = "Extending Haskell's syntax using a custom preprocessor"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix b/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix new file mode 100644 index 00000000000..e4a1f02eafa --- /dev/null +++ b/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix @@ -0,0 +1,14 @@ +{ cabal, mtl, parsec, syb }: + +cabal.mkDerivation (self: { + pname = "preprocessor-tools"; + version = "1.0.1"; + sha256 = "0ngfmvw6hvbr52i01n180ls4c8rx2wk2rka6g6igpvy9x2gwjin9"; + buildDepends = [ mtl parsec syb ]; + meta = { + homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/"; + description = "Extending Haskell's syntax using a custom preprocessor"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 8cfd3fec62d..ef0dc8b8a58 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1909,6 +1909,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x pqueue = callPackage ../development/libraries/haskell/pqueue {}; + preprocessorTools_0_1_3 = callPackage ../development/libraries/haskell/preprocessor-tools/0.1.3.nix {}; + + preprocessorTools_1_0_1 = callPackage ../development/libraries/haskell/preprocessor-tools/1.0.1.nix {}; + + preprocessorTools = self.preprocessorTools_1_0_1; + prettyclass = callPackage ../development/libraries/haskell/prettyclass {}; prettyShow_1_2 = callPackage ../development/libraries/haskell/pretty-show/1.2.nix {}; From 5b243ad01550aaa452ed42d08ee66aa682c07937 Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Fri, 7 Feb 2014 13:20:52 +0100 Subject: [PATCH 110/118] netbeans: Bump to version 7.4 --- pkgs/applications/editors/netbeans/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix index f1fd9adbe86..5a2afebdd5c 100644 --- a/pkgs/applications/editors/netbeans/default.nix +++ b/pkgs/applications/editors/netbeans/default.nix @@ -11,10 +11,10 @@ let }; in stdenv.mkDerivation { - name = "netbeans-7.2"; + name = "netbeans-7.4"; src = fetchurl { - url = http://download.netbeans.org/netbeans/7.2/final/zip/netbeans-7.2-201207171143-ml.zip; - sha256 = "18ya1w291hdnc35vb12yqnai82wmqm7351wn82fax12kzha5fmci"; + url = http://download.netbeans.org/netbeans/7.4/final/zip/netbeans-7.4-201310111528.zip; + sha256 = "0nrnghnsdix5cmp86xi1gmvarhjk2k8mlbld3dfa9impm8gpv6mx"; }; buildCommand = '' # Unpack and copy the stuff @@ -25,7 +25,9 @@ stdenv.mkDerivation { # Create a wrapper capable of starting it mkdir -p $out/bin makeWrapper $out/netbeans/bin/netbeans $out/bin/netbeans \ - --prefix PATH : ${jdk}/bin:${which}/bin + --prefix PATH : ${jdk}/bin:${which}/bin \ + --prefix JAVA_HOME : ${jdk}/lib/openjdk \ + --add-flags "--jdkhome ${jdk}/lib/openjdk" # Create desktop item, so we can pick it from the KDE/GNOME menu mkdir -p $out/share/applications From e058de164252314ff6deab948e4ec9a5db0986f5 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 7 Feb 2014 09:57:28 -0500 Subject: [PATCH 111/118] Add option to enforce uniqueness of uids/gids (on by default) Signed-off-by: Shea Levy --- nixos/modules/config/users-groups.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 20ec1bda281..f70e8c292c4 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -252,6 +252,17 @@ let mv -f $1.tmp $1 ''; + idsAreUnique = set: idAttr: !(fold (name: args@{ dup, acc }: + let + id = builtins.toString (builtins.getAttr idAttr (builtins.getAttr name set)); + exists = builtins.hasAttr id acc; + newAcc = acc // (builtins.listToAttrs [ { name = id; value = true; } ]); + in if dup then args else if exists + then builtins.trace "Duplicate ${idAttr} ${id}" { dup = true; acc = null; } + else { dup = false; acc = newAcc; } + ) { dup = false; acc = {}; } (builtins.attrNames set)).dup; + uidsAreUnique = idsAreUnique cfg.extraUsers "uid"; + gidsAreUnique = idsAreUnique cfg.extraGroups "gid"; in { @@ -282,6 +293,14 @@ in ''; }; + users.enforceIdUniqueness = mkOption { + type = types.bool; + default = true; + description = '' + Whether to require that no two users/groups share the same uid/gid. + ''; + }; + users.extraUsers = mkOption { default = {}; type = types.loaOf types.optionSet; @@ -432,6 +451,8 @@ in # for backwards compatibility system.activationScripts.groups = stringAfter [ "users" ] ""; + assertions = [ { assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique); message = "uids and gids must be unique!"; } ]; + }; } From 6b2533c48f738963b15a27782bff2201de6fdf03 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 4 Feb 2014 13:13:30 -0600 Subject: [PATCH 112/118] glfw: Update packaging and add v3 This patch cleans up the previous glfw2 package. Additionally, it adds glfw3 and makes that the new default glfw version. --- .../libraries/glfw/{default.nix => 2.x.nix} | 24 ++++++++++--------- pkgs/development/libraries/glfw/3.x.nix | 22 +++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++- 3 files changed, 38 insertions(+), 12 deletions(-) rename pkgs/development/libraries/glfw/{default.nix => 2.x.nix} (51%) create mode 100644 pkgs/development/libraries/glfw/3.x.nix diff --git a/pkgs/development/libraries/glfw/default.nix b/pkgs/development/libraries/glfw/2.x.nix similarity index 51% rename from pkgs/development/libraries/glfw/default.nix rename to pkgs/development/libraries/glfw/2.x.nix index 292c15361b6..8750cd955a6 100644 --- a/pkgs/development/libraries/glfw/default.nix +++ b/pkgs/development/libraries/glfw/2.x.nix @@ -1,27 +1,29 @@ -{ stdenv, fetchurl, mesa, libX11, libXext }: +{ stdenv, fetchurl, mesa, libX11 }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "glfw-2.7.9"; src = fetchurl { - url = mirror://sourceforge/glfw/glfw-2.7.9.tar.bz2; + url = "mirror://sourceforge/glfw/${name}.tar.bz2"; sha256 = "17c2msdcb7pn3p8f83805h1c216bmdqnbn9hgzr1j8wnwjcpxx6i"; }; - buildInputs = [ mesa libX11 libXext ]; + buildInputs = [ mesa libX11 ]; buildPhase = '' + make x11 + ''; + + installPhase = '' mkdir -p $out make x11-install PREFIX=$out - ''; + ''; - installPhase = ":"; - - meta = { + meta = with stdenv.lib; { description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time"; - homepage = http://glfw.sourceforge.net/; - license = "zlib/libpng"; # http://www.opensource.org/licenses/zlib-license.php + homepage = "http://glfw.sourceforge.net/"; + license = licenses.zlib; maintainers = [ stdenv.lib.maintainers.marcweber ]; - platforms = stdenv.lib.platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix new file mode 100644 index 00000000000..ab7e312762f --- /dev/null +++ b/pkgs/development/libraries/glfw/3.x.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, cmake, mesa, libXrandr, libXi, libXxf86vm, libXfixes, x11 }: + +stdenv.mkDerivation rec { + name = "glfw-3.0.4"; + + src = fetchurl { + url = "mirror://sourceforge/glfw/${name}.tar.bz2"; + sha256 = "1h7g16ncgkl38w19x4dvnn17k9j0kqfvbb9whw9qc71lkq5xf2ag"; + }; + + enableParallelBuilding = true; + + buildInputs = [ cmake mesa libXrandr libXi libXxf86vm libXfixes x11 ]; + + meta = with stdenv.lib; { + description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time"; + homepage = "http://glfw.sourceforge.net/"; + license = licenses.zlib; + maintainers = with maintainers; [ marcweber ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 666d573d396..3478b409d10 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4180,7 +4180,9 @@ let glew = callPackage ../development/libraries/glew { }; - glfw = callPackage ../development/libraries/glfw { }; + glfw = glfw3; + glfw2 = callPackage ../development/libraries/glfw/2.x.nix { }; + glfw3 = callPackage ../development/libraries/glfw/3.x.nix { }; glibc = callPackage ../development/libraries/glibc/2.18 { kernelHeaders = linuxHeaders; From a8db8e15e60d4704371a5d885a14d35d3aada56c Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 6 Feb 2014 01:18:43 +0000 Subject: [PATCH 113/118] add haskellPackages.ixdopp --- .../libraries/haskell/ixdopp/default.nix | 16 ++++++++++++++++ pkgs/top-level/haskell-packages.nix | 4 ++++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/development/libraries/haskell/ixdopp/default.nix diff --git a/pkgs/development/libraries/haskell/ixdopp/default.nix b/pkgs/development/libraries/haskell/ixdopp/default.nix new file mode 100644 index 00000000000..94bfa018553 --- /dev/null +++ b/pkgs/development/libraries/haskell/ixdopp/default.nix @@ -0,0 +1,16 @@ +{ cabal, preprocessorTools, syb }: + +cabal.mkDerivation (self: { + pname = "ixdopp"; + version = "0.1.3"; + sha256 = "1vknwznk42b33q4pmh6z620g761yf3cmsmrmhilgq42i5qhll4d4"; + isLibrary = false; + isExecutable = true; + buildDepends = [ preprocessorTools ]; + meta = { + homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/"; + description = "Expands a Haskell program using ixdo notation into a Haskell program using the indexed monad bind operator (>>>=)"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index ef0dc8b8a58..793656c15bf 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1489,6 +1489,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ivor = callPackage ../development/libraries/haskell/ivor {}; + ixdopp = callPackage ../development/libraries/haskell/ixdopp { + preprocessorTools = self.preprocessorTools_0_1_3; + }; + ixShapable = callPackage ../development/libraries/haskell/ix-shapable {}; JuicyPixels = callPackage ../development/libraries/haskell/JuicyPixels {}; From 498c0687991417672199becaa34502cc4c6b406e Mon Sep 17 00:00:00 2001 From: PkmX Date: Sat, 8 Feb 2014 05:44:44 +0800 Subject: [PATCH 114/118] Add pygobject3 to PYTHONPATH and add relevant paths to LD_LIBRRY_PATH and GI_TYPELIB_PATH to fix the perference GUI (ibus-setup). --- pkgs/development/libraries/ibus/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/ibus/default.nix b/pkgs/development/libraries/ibus/default.nix index 6c82ad839e1..16f7db941b6 100644 --- a/pkgs/development/libraries/ibus/default.nix +++ b/pkgs/development/libraries/ibus/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper, python, intltool, pkgconfig -, gnome3, dbus, libnotify, isocodes, gobjectIntrospection, wayland }: +, gnome3, atk, pygobject3, dbus, libnotify, isocodes, gobjectIntrospection, wayland }: stdenv.mkDerivation rec { name = "ibus-${version}"; @@ -21,9 +21,12 @@ stdenv.mkDerivation rec { preBuild = "patchShebangs ./scripts"; - postInstall = '' + postInstall = '' for f in "$out"/bin/*; do - wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share" + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share" \ + --prefix PYTHONPATH : "$(toPythonPath ${pygobject3})" \ + --prefix LD_LIBRARY_PATH : "${gnome3.gtk3}/lib:${atk}/lib:$out/lib" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH:$out/lib/girepository-1.0" done ''; From db12d783ffd753145119c22a34ca5945e9a7a4ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Fri, 7 Feb 2014 23:08:15 +0100 Subject: [PATCH 115/118] nixos: add uid/gid for munin To be compatible with eb2f44c18cb6d300e965308547d8a4dea110f519 (Generate /etc/passwd and /etc/group at build time). Without this you'll get this: $ nixos-rebuild build [...] user-thrown exception: The option `users.extraGroups.unnamed-9.1.gid' is used but not defined. --- nixos/modules/misc/ids.nix | 2 ++ nixos/modules/services/monitoring/munin.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 16eec904321..51da1a2cfce 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -110,6 +110,7 @@ openldap = 99; memcached = 100; cgminer = 101; + munin = 102; # When adding a uid, make sure it doesn't match an existing gid. @@ -199,6 +200,7 @@ haproxy = 92; openldap = 93; connman = 94; + munin = 95; # When adding a gid, make sure it doesn't match an existing uid. diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index 153f4942902..39c4fb1aefa 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -173,10 +173,12 @@ in name = "munin"; description = "Munin monitoring user"; group = "munin"; + uid = config.ids.uids.munin; }]; users.extraGroups = [{ name = "munin"; + gid = config.ids.gids.munin; }]; }) (mkIf nodeCfg.enable { From f7e47552bfc04e9e39b4746d220429fecd17c1ed Mon Sep 17 00:00:00 2001 From: PkmX Date: Sat, 8 Feb 2014 07:38:04 +0800 Subject: [PATCH 116/118] Add dconf to GIO_EXTRA_MODULES so ibus-setup doesn't use the memory backend. --- pkgs/development/libraries/ibus/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ibus/default.nix b/pkgs/development/libraries/ibus/default.nix index 16f7db941b6..75eb1b4134c 100644 --- a/pkgs/development/libraries/ibus/default.nix +++ b/pkgs/development/libraries/ibus/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1v4a9xv2k26g6ggk4282ynfvh68j2r5hg1cdpvnryfa8c2pkdaq2"; }; - configureFlags = "--enable-dconf --disable-memconf --enable-ui --enable-python-library"; + configureFlags = "--disable-gconf --enable-dconf --disable-memconf --enable-ui --enable-python-library"; buildInputs = [ makeWrapper python gnome3.glib wayland @@ -26,7 +26,8 @@ stdenv.mkDerivation rec { wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share" \ --prefix PYTHONPATH : "$(toPythonPath ${pygobject3})" \ --prefix LD_LIBRARY_PATH : "${gnome3.gtk3}/lib:${atk}/lib:$out/lib" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH:$out/lib/girepository-1.0" + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH:$out/lib/girepository-1.0" \ + --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" done ''; From c4dbb0a961fe236229811250a8c20e0b44a15f4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 8 Feb 2014 08:29:09 +0100 Subject: [PATCH 117/118] rtmpdump: fix build by reverting to gnutls31 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3478b409d10..a44487d98c7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1737,7 +1737,9 @@ let privateer = callPackage ../games/privateer { }; - rtmpdump = callPackage ../tools/video/rtmpdump { }; + rtmpdump = callPackage ../tools/video/rtmpdump { + gnutls = gnutls31; # gnutls32: undefined reference to gnutls_calc_dh_{key,secret} + }; reaverwps = callPackage ../tools/networking/reaver-wps {}; From 7ae5902c593afa7e5e4c87f05768298a10b0bc2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 8 Feb 2014 08:58:27 +0100 Subject: [PATCH 118/118] libchop: fix build by reverting to gnutls31 The errors were a bit cryptic. CC @viric. --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a44487d98c7..2d8e96cc664 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4618,7 +4618,9 @@ let libchamplain_0_6 = callPackage ../development/libraries/libchamplain/0.6.nix {}; - libchop = callPackage ../development/libraries/libchop { }; + libchop = callPackage ../development/libraries/libchop { + gnutls = gnutls31; + }; libcm = callPackage ../development/libraries/libcm { };