From 1d5d7fdee2e85460e44b9931f3259254c2092806 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 14 May 2014 17:53:58 +0200 Subject: [PATCH 0001/2163] pam: Add logFailures option for adding pam_tally to su --- nixos/modules/programs/shadow.nix | 2 +- nixos/modules/security/pam.nix | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index 27a18c726a3..9763332ed97 100644 --- a/nixos/modules/programs/shadow.nix +++ b/nixos/modules/programs/shadow.nix @@ -82,7 +82,7 @@ in security.pam.services = { chsh = { rootOK = true; }; chfn = { rootOK = true; }; - su = { rootOK = true; forwardXAuth = true; }; + su = { rootOK = true; forwardXAuth = true; logFailures = true; }; passwd = {}; # Note: useradd, groupadd etc. aren't setuid root, so it # doesn't really matter what the PAM config says as long as it diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 6a5eb4c720f..76fbd9b671f 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -132,6 +132,12 @@ let description = "Whether to update /var/log/wtmp."; }; + logFailures = mkOption { + default = false; + type = types.bool; + description = "Whether to log authentication failures in /var/log/faillog."; + }; + text = mkOption { type = types.nullOr types.lines; description = "Contents of the PAM service file."; @@ -159,6 +165,8 @@ let # Authentication management. ${optionalString cfg.rootOK "auth sufficient pam_rootok.so"} + ${optionalString cfg.logFailures + "auth required pam_tally.so"} ${optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth) "auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=~/.ssh/authorized_keys:~/.ssh/authorized_keys2:/etc/ssh/authorized_keys.d/%u"} ${optionalString cfg.usbAuth From 9ec52d632302ad6267a83b563de9927f886e1817 Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Thu, 29 May 2014 14:47:07 +0200 Subject: [PATCH 0002/2163] Fixes to make basic builds on Cygwin work again + additions to support x86_64-cygwin --- lib/platforms.nix | 2 +- pkgs/development/interpreters/perl/5.16/default.nix | 8 +++++++- pkgs/development/libraries/openssl/default.nix | 7 ++++++- pkgs/stdenv/generic/default.nix | 3 ++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/platforms.nix b/lib/platforms.nix index 76df389deac..c1b79d3aceb 100644 --- a/lib/platforms.nix +++ b/lib/platforms.nix @@ -7,7 +7,7 @@ rec { freebsd = ["i686-freebsd" "x86_64-freebsd"]; openbsd = ["i686-openbsd" "x86_64-openbsd"]; netbsd = ["i686-netbsd" "x86_64-netbsd"]; - cygwin = ["i686-cygwin"]; + cygwin = ["i686-cygwin" "x86_64-cygwin"]; unix = linux ++ darwin ++ freebsd ++ openbsd; all = linux ++ darwin ++ cygwin ++ freebsd ++ openbsd; none = []; diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix index bbd9e003b2c..b7a27d4f478 100644 --- a/pkgs/development/interpreters/perl/5.16/default.nix +++ b/pkgs/development/interpreters/perl/5.16/default.nix @@ -54,6 +54,12 @@ stdenv.mkDerivation rec { ${optionalString stdenv.isArm '' configureFlagsArray=(-Dldflags="-lm -lrt") ''} + + ${optionalString stdenv.isCygwin '' + cp cygwin/cygwin{,.bak} + echo "#define PERLIO_NOT_STDIO 0" > tmp + cat tmp cygwin/cygwin.c.bak > cygwin/cygwin.c + ''} ''; preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools)) @@ -64,7 +70,7 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; - doCheck = !stdenv.isDarwin; + doCheck = stdenv.isLinux; # some network-related tests don't work, mostly probably due to our sandboxing testsToSkip = '' diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 7217c876bfd..130ab6b205f 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -60,7 +60,12 @@ stdenv.mkDerivation { else "./config"; configureFlags = "shared --libdir=lib --openssldir=etc/ssl" + - stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"; + stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" + + stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") " no-asm"; + + preBuild = stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") '' + sed -i -e "s|-march=i486|-march=x86-64|g" Makefile + ''; makeFlags = "MANDIR=$(out)/share/man"; diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 14da127b9e0..ce0fd3a1dc2 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -127,7 +127,8 @@ let || system == "x86_64-kfreebsd-gnu"; isSunOS = system == "i686-solaris" || system == "x86_64-solaris"; - isCygwin = system == "i686-cygwin"; + isCygwin = system == "i686-cygwin" + || system == "x86_64-cygwin"; isFreeBSD = system == "i686-freebsd" || system == "x86_64-freebsd"; isOpenBSD = system == "i686-openbsd" From 86e18c965f1fd66f72bcadc065e6e5350f11ba0f Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Sat, 31 May 2014 14:25:46 +0200 Subject: [PATCH 0003/2163] Fix perl compilation --- pkgs/development/interpreters/perl/5.16/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix index b7a27d4f478..403bd91870d 100644 --- a/pkgs/development/interpreters/perl/5.16/default.nix +++ b/pkgs/development/interpreters/perl/5.16/default.nix @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { ''} ${optionalString stdenv.isCygwin '' - cp cygwin/cygwin{,.bak} + cp cygwin/cygwin.c{,.bak} echo "#define PERLIO_NOT_STDIO 0" > tmp cat tmp cygwin/cygwin.c.bak > cygwin/cygwin.c ''} From d39684b69bb196de3e3440cc7fb0a749f6b7bc6c Mon Sep 17 00:00:00 2001 From: Chris Farmiloe Date: Sat, 21 Jun 2014 14:02:35 +0200 Subject: [PATCH 0004/2163] Simple nixos module to enable configuration of freetds and setup the expected environment variables --- nixos/modules/module-list.nix | 1 + nixos/modules/programs/freetds.nix | 61 ++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 nixos/modules/programs/freetds.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a82cef3e076..2cdb8a900d8 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -58,6 +58,7 @@ ./programs/ssmtp.nix ./programs/venus.nix ./programs/wvdial.nix + ./programs/freetds.nix ./programs/zsh/zsh.nix ./programs/screen.nix ./rename.nix diff --git a/nixos/modules/programs/freetds.nix b/nixos/modules/programs/freetds.nix new file mode 100644 index 00000000000..398fd104363 --- /dev/null +++ b/nixos/modules/programs/freetds.nix @@ -0,0 +1,61 @@ +# Global configuration for freetds environment. + +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.environment.freetds; + +in +{ + ###### interface + + options = { + + environment.freetds = mkOption { + type = types.attrsOf types.str; + default = {}; + example = { + MYDATABASE = + '' + host = 10.0.2.100 + port = 1433 + tds version = 7.2 + ''; + }; + description = + '' + Configure freetds database entries. Each attribute denotes + a section within freetds.conf, and the value (a string) is the config + content for that section. When at least one entry is configured + the global environment variables FREETDSCONF, FREETDS and SYBASE + will be configured to allow the programs that use freetds to find the + library and config. + ''; + + }; + + }; + + ###### implementation + + config = mkIf (length (attrNames cfg) > 0) { + + environment.variables.FREETDSCONF = "/etc/freetds.conf"; + environment.variables.FREETDS = "/etc/freetds.conf"; + environment.variables.SYBASE = "${pkgs.freetds}"; + + environment.etc."freetds.conf" = { text = + (concatStrings (mapAttrsToList (name: value: + '' + [${name}] + ${value} + '' + ) cfg)); + }; + + }; + +} From de4d6f0447393a0a2c688461740d12b886a57f9d Mon Sep 17 00:00:00 2001 From: Chris Double Date: Mon, 30 Jun 2014 12:08:34 +1200 Subject: [PATCH 0005/2163] Add namecoin cryptocurrency --- pkgs/applications/misc/namecoin/default.nix | 37 +++++++++++++++++++++ pkgs/applications/misc/namecoin/qt.nix | 33 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 ++ 3 files changed, 73 insertions(+) create mode 100644 pkgs/applications/misc/namecoin/default.nix create mode 100644 pkgs/applications/misc/namecoin/qt.nix diff --git a/pkgs/applications/misc/namecoin/default.nix b/pkgs/applications/misc/namecoin/default.nix new file mode 100644 index 00000000000..1a26403e6f4 --- /dev/null +++ b/pkgs/applications/misc/namecoin/default.nix @@ -0,0 +1,37 @@ +{ fetchgit, stdenv, db4, boost, openssl, unzip }: + +stdenv.mkDerivation rec { + version = "0.3.75"; + name = "namecoin-${version}"; + + src = fetchgit { + url = "https://github.com/namecoin/namecoin"; + rev = "31ea638d4ba7f0a3011cb25483f4c7d293134c7a"; + sha256 = "c14a5663cba675b3508937a26a812316559938fd7b64659dd00749a9f5d7e9e0"; + }; + + # Don't build with miniupnpc due to namecoin using a different verison that + # ships with NixOS and it is API incompatible. + buildInputs = [ db4 boost openssl unzip ]; + + patchPhase = '' + sed -e 's/-Wl,-Bstatic//g' -e 's/-l gthread-2.0//g' -e 's/-l z//g' -i src/Makefile + ''; + + buildPhase = '' + make -C src INCLUDEPATHS= LIBPATHS= + ''; + + installPhase = '' + mkdir -p $out/bin + cp src/namecoind $out/bin + ''; + + meta = { + description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency"; + homepage = "http://namecoin.info"; + license = "MIT"; + maintainers = [ "Chris Double " ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/misc/namecoin/qt.nix b/pkgs/applications/misc/namecoin/qt.nix new file mode 100644 index 00000000000..08dbee26f0b --- /dev/null +++ b/pkgs/applications/misc/namecoin/qt.nix @@ -0,0 +1,33 @@ +{ fetchgit, stdenv, db4, boost, openssl, qt4, unzip, namecoin }: + +stdenv.mkDerivation rec { + version = "0.3.75"; + name = "namecoin-qt-${version}"; + + src = namecoin.src; + + # Don't build with miniupnpc due to namecoin using a different verison that + # ships with NixOS and it is API incompatible. + buildInputs = [ db4 boost openssl unzip qt4 ]; + + configurePhase = '' + qmake USE_UPNP=- + ''; + + buildPhase = '' + make + ''; + + installPhase = '' + mkdir -p $out/bin + cp namecoin-qt $out/bin + ''; + + meta = { + description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency"; + homepage = "http://namecoin.info"; + license = "MIT"; + maintainers = [ "Chris Double " ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cfb4ac4ba82..b8a97d5a432 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9169,6 +9169,9 @@ let mutt = callPackage ../applications/networking/mailreaders/mutt { }; + namecoin = callPackage ../applications/misc/namecoin { }; + namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { }; + pcmanfm = callPackage ../applications/misc/pcmanfm { }; ruby_gpgme = callPackage ../development/libraries/ruby_gpgme { From c6c889b4ea8295607fc43d99ae4a2f62a31bab6c Mon Sep 17 00:00:00 2001 From: Chris Double Date: Fri, 4 Jul 2014 15:19:08 +1200 Subject: [PATCH 0006/2163] Add Self programming language --- .../development/interpreters/self/default.nix | 44 +++++++++++++++++++ pkgs/development/interpreters/self/self | 18 ++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 64 insertions(+) create mode 100644 pkgs/development/interpreters/self/default.nix create mode 100755 pkgs/development/interpreters/self/self diff --git a/pkgs/development/interpreters/self/default.nix b/pkgs/development/interpreters/self/default.nix new file mode 100644 index 00000000000..b379044789d --- /dev/null +++ b/pkgs/development/interpreters/self/default.nix @@ -0,0 +1,44 @@ +{ fetchurl, fetchgit, stdenv, xlibs, gcc44, makeWrapper, ncurses, cmake }: + +stdenv.mkDerivation rec { + # The Self wrapper stores source in $XDG_DATA_HOME/self or ~/.local/share/self + # so that it can be written to when using the Self transposer. Running 'Self' + # after installation runs without an image. You can then build a Self image with: + # $ cd ~/.local/share/self/objects + # $ Self + # > 'worldBuilder.self' _RunScript + # + # This image can later be started with: + # $ Self -s myimage.snap + # + version = "4.5.0"; + name = "self-${version}"; + + src = fetchgit { + url = "https://github.com/russellallen/self"; + rev = "d16bcaad3c5092dae81ad0b16d503f2a53b8ef86"; + sha256 = "966025b71542e44fc830b951f404f5721ad410ed24f7236fd0cd820ea0fc5731"; + }; + + # gcc 4.6 and above causes crashes on Self startup but gcc 4.4 works. + buildInputs = [ gcc44 ncurses xlibs.libX11 xlibs.libXext makeWrapper cmake ]; + + selfWrapper = ./self; + + installPhase = '' + mkdir -p "$out"/bin + cp ./vm/Self "$out"/bin/Self.wrapped + mkdir -p "$out"/share/self + cp -r ../objects "$out"/share/self/ + makeWrapper $selfWrapper $out/bin/Self \ + --set SELF_ROOT "$out" + ''; + + meta = { + description = "A prototype-based dynamic object-oriented programming language, environment, and virtual machine"; + homepage = "http://selflanguage.org/"; + license = stdenv.lib.licenses.bsd3; + maintainer = [ "Chris Double " ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/development/interpreters/self/self b/pkgs/development/interpreters/self/self new file mode 100755 index 00000000000..d504682086b --- /dev/null +++ b/pkgs/development/interpreters/self/self @@ -0,0 +1,18 @@ +#! /usr/bin/env bash + +export SELF_HOME="$HOME/.local/share/self" +if [ -n "$XDG_DATA_HOME" ] + then export SELF_HOME="$XDG_DATA_HOME/self" +fi + +if [ ! -d $SELF_HOME ]; then + mkdir -p $SELF_HOME +fi + +if [ ! -d $SELF_HOME/objects ]; then + mkdir -p $SELF_HOME/objects + cp -r $SELF_ROOT/share/self/objects/* $SELF_HOME/objects + chmod -R +w $SELF_HOME/objects +fi + +exec $SELF_ROOT/bin/Self.wrapped "$@" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 11d06f40e50..f4978b706f4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3625,6 +3625,8 @@ let scheme48 = callPackage ../development/interpreters/scheme48 { }; + self = callPackage_i686 ../development/interpreters/self { }; + spark = callPackage ../applications/networking/cluster/spark { }; spidermonkey = callPackage ../development/interpreters/spidermonkey { }; From 518daa96600603ea117c25f80482378d2301ed11 Mon Sep 17 00:00:00 2001 From: Matthew Brown Date: Sun, 6 Jul 2014 13:08:39 +0100 Subject: [PATCH 0007/2163] Added Sphinx Search package --- pkgs/servers/search/sphinxsearch/default.nix | 31 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/servers/search/sphinxsearch/default.nix diff --git a/pkgs/servers/search/sphinxsearch/default.nix b/pkgs/servers/search/sphinxsearch/default.nix new file mode 100644 index 00000000000..9264ae99609 --- /dev/null +++ b/pkgs/servers/search/sphinxsearch/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, mysql }: + +let + version = "2.1.9"; + mainSrc = fetchurl { + url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz"; + sha256 = "00vwxf3zr0g1fq9mls1z2rd8nxw74b76pkl1j466lig1qc5am2b2"; + }; +in + +stdenv.mkDerivation rec { + name = "sphinxsearch-${version}"; + src = mainSrc; + + configureFlags = [ + "--program-prefix=sphinxsearch-" + ]; + + buildInputs = [ + pkgconfig + mysql + ]; + + meta = { + description = "Sphinx is an open source full text search server."; + homepage = http://sphinxsearch.com; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.all; + maintainers = with stdenv.lib.maintainers; [ ederoyd46 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f20f6ef8953..bc4eabb8efb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6125,6 +6125,8 @@ let sphinxbase = callPackage ../development/libraries/sphinxbase { }; + sphinxsearch = callPackage ../servers/search/sphinxsearch { }; + spice = callPackage ../development/libraries/spice { celt = celt_0_5_1; inherit (xlibs) libXrandr libXfixes libXext libXrender libXinerama; From a45d48fe08ba7055c25329b9d258704cc158e522 Mon Sep 17 00:00:00 2001 From: Wout Mertens Date: Tue, 8 Jul 2014 22:31:16 +0200 Subject: [PATCH 0008/2163] Google hangouts: Bump to 5.4.2.0 Verified working with Firefox, however it still doesn't work with Chromium because of the NPAPI vs PPAPI thing. Chrome's Pepper Plugin API doesn't seem to look for plugins in the MOZ_PLUGIN_PATH, anyway I left them there for others to find the solution :-) --- .../google-talk-plugin/default.nix | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix index e1bc4e977f6..0e3376b5d72 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix @@ -13,6 +13,7 @@ let [ mesa xorg.libXt xorg.libX11 + xorg.libXrender cairo libpng gtk @@ -47,20 +48,20 @@ stdenv.mkDerivation rec { name = "google-talk-plugin-${version}"; # You can get the upstream version and SHA-1 hash from the following URLs: - # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages - # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages - version = "5.1.5.0"; + # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | grep -E 'Version|SHA1' + # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages | grep -E 'Version|SHA1' + version = "5.4.2.0"; src = if stdenv.system == "x86_64-linux" then fetchurl { url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb"; - sha1 = "fc830f4c7f5816f4578ec73e6d4aef059ad4a0b1"; + sha1 = "d75fad757750b4830c4e401ade92b4993e2a4ab2"; } else if stdenv.system == "i686-linux" then fetchurl { url = "${baseURL}/google-talkplugin_${version}-1_i386.deb"; - sha1 = "9b7043c3585b3479ba11aabb7b8af755a61df963"; + sha1 = "410872377b0bdac06b580c5e1755a3a3c712144b"; } else throw "Google Talk does not support your platform."; @@ -72,22 +73,18 @@ stdenv.mkDerivation rec { '' plugins=$out/lib/mozilla/plugins mkdir -p $plugins - cp opt/google/talkplugin/libnp*.so $plugins + cp opt/google/talkplugin/*.so $plugins - patchelf --set-rpath "${makeLibraryPath [ stdenv.gcc.gcc xorg.libX11 ]}:${stdenv.gcc.gcc}/lib64" \ - $plugins/libnpgoogletalk.so + for i in libnpgoogletalk.so libppgoogletalk.so libppo1d.so; do + patchelf --set-rpath "${makeLibraryPath [ stdenv.gcc.gcc xorg.libX11 ]}:${stdenv.gcc.gcc}/lib64" $plugins/$i + done - patchelf --set-rpath "$out/libexec/google/talkplugin/lib:${rpathPlugin}:${stdenv.gcc.gcc}/lib64" \ - $plugins/libnpgtpo3dautoplugin.so + for i in libgoogletalkremoting.so libnpo1d.so; do + patchelf --set-rpath "$out/libexec/google/talkplugin/lib:${rpathPlugin}:${stdenv.gcc.gcc}/lib64" $plugins/$i + done mkdir -p $out/libexec/google/talkplugin - cp -prd opt/google/talkplugin/{GoogleTalkPlugin,locale,windowpicker.glade} $out/libexec/google/talkplugin/ - - mkdir -p $out/libexec/google/talkplugin/lib - cp opt/google/talkplugin/lib/libCg* $out/libexec/google/talkplugin/lib/ - - patchelf --set-rpath "$out/libexec/google/talkplugin/lib" \ - $out/libexec/google/talkplugin/lib/libCgGL.so + cp -prd opt/google/talkplugin/{data,GoogleTalkPlugin,locale,remoting24x24.png,windowpicker.glade} $out/libexec/google/talkplugin/ patchelf \ --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ From d82c95cf170b9c46ff64afa283cb15b8cd4f5c3d Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Thu, 10 Jul 2014 09:55:50 +0200 Subject: [PATCH 0009/2163] glibc_multi: move glibc_multi script out of all-packages.nix --- .../libraries/glibc/2.19/multi.nix | 31 +++++++++++++++++ pkgs/top-level/all-packages.nix | 34 +++---------------- 2 files changed, 35 insertions(+), 30 deletions(-) create mode 100644 pkgs/development/libraries/glibc/2.19/multi.nix diff --git a/pkgs/development/libraries/glibc/2.19/multi.nix b/pkgs/development/libraries/glibc/2.19/multi.nix new file mode 100644 index 00000000000..ad4a34152b6 --- /dev/null +++ b/pkgs/development/libraries/glibc/2.19/multi.nix @@ -0,0 +1,31 @@ +{ runCommand, glibc, glibc32 +}: + +runCommand "${glibc.name}-multi" + { inherit glibc32; + glibc64 = glibc; + } + '' + mkdir -p $out + ln -s $glibc64/* $out/ + + rm $out/lib $out/lib64 + mkdir -p $out/lib + ln -s $glibc64/lib/* $out/lib + ln -s $glibc32/lib $out/lib/32 + ln -s lib $out/lib64 + + # fixing ldd RLTDLIST + rm $out/bin + cp -rs $glibc64/bin $out + chmod u+w $out/bin + rm $out/bin/ldd + sed -e "s|^RTLDLIST=.*$|RTLDLIST=\"$out/lib/ld-2.19.so $out/lib/32/ld-linux.so.2\"|g" \ + $glibc64/bin/ldd > $out/bin/ldd + chmod 555 $out/bin/ldd + + rm $out/include + cp -rs $glibc32/include $out + chmod -R u+w $out/include + cp -rsf $glibc64/include $out + '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f3714770c5f..edf75394cb9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4634,36 +4634,10 @@ let glibcInfo = callPackage ../development/libraries/glibc/2.19/info.nix { }; - glibc_multi = - runCommand "${glibc.name}-multi" - { glibc64 = glibc; - glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc; - } - '' - mkdir -p $out - ln -s $glibc64/* $out/ - - rm $out/lib $out/lib64 - mkdir -p $out/lib - ln -s $glibc64/lib/* $out/lib - ln -s $glibc32/lib $out/lib/32 - ln -s lib $out/lib64 - - # fixing ldd RLTDLIST - rm $out/bin - cp -rs $glibc64/bin $out - chmod u+w $out/bin - rm $out/bin/ldd - sed -e "s|^RTLDLIST=.*$|RTLDLIST=\"$out/lib/ld-2.19.so $out/lib/32/ld-linux.so.2\"|g" \ - $glibc64/bin/ldd > $out/bin/ldd - chmod 555 $out/bin/ldd - - rm $out/include - cp -rs $glibc32/include $out - chmod -R u+w $out/include - cp -rsf $glibc64/include $out - '' # */ - ; + glibc_multi = callPackage ../development/libraries/glibc/2.19/multi.nix { + inherit glibc; + glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc; + }; glm = callPackage ../development/libraries/glm { }; From 10981178a966f0d8bfc77a680921d85e5497e453 Mon Sep 17 00:00:00 2001 From: Boris Sukholitko Date: Sat, 12 Jul 2014 18:17:50 +0300 Subject: [PATCH 0010/2163] Add emscripten: LLVM to JavaScript compiler --- .../compilers/emscripten-fastcomp/default.nix | 42 +++++++++++++++++++ .../compilers/emscripten/default.nix | 40 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 3 files changed, 86 insertions(+) create mode 100644 pkgs/development/compilers/emscripten-fastcomp/default.nix create mode 100644 pkgs/development/compilers/emscripten/default.nix diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix new file mode 100644 index 00000000000..3eb9aef528c --- /dev/null +++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchgit, python }: + +let + tag = "1.21.0"; +in + +stdenv.mkDerivation rec { + name = "emscripten-fastcomp-${tag}"; + + srcFC = fetchgit { + url = git://github.com/kripken/emscripten-fastcomp; + rev = "refs/tags/${tag}"; + sha256 = "0mcxzg2cfg0s1vfm3bh1ar4xsddb6xkv1dsdbgnpx38lbj1mvfs1"; + }; + + srcFL = fetchgit { + url = git://github.com/kripken/emscripten-fastcomp-clang; + rev = "refs/tags/${tag}"; + sha256 = "0s2jcn36d236cfpryjpgaazjp3cg83d0h78g6kk1j6vdppv3vgnp"; + }; + + buildInputs = [ python ]; + buildCommand = '' + cp -as ${srcFC} $TMPDIR/src + chmod +w $TMPDIR/src/tools + cp -as ${srcFL} $TMPDIR/src/tools/clang + + chmod +w $TMPDIR/src + mkdir $TMPDIR/src/build + cd $TMPDIR/src/build + + ../configure --enable-optimized --disable-assertions --enable-targets=host,js + make + cp -a Release/bin $out + ''; + meta = with stdenv.lib; { + homepage = https://github.com/kripken/emscripten-fastcomp; + description = "emscripten llvm"; + maintainers = with maintainers; [ bosu ]; + license = "University of Illinois/NCSA Open Source License"; + }; +} diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix new file mode 100644 index 00000000000..dc81b90b4b9 --- /dev/null +++ b/pkgs/development/compilers/emscripten/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchgit, emscriptenfastcomp, python, nodejs, closurecompiler, jre }: + +let + tag = "1.21.0"; +in + +stdenv.mkDerivation rec { + name = "emscripten-${tag}"; + + src = fetchgit { + url = git://github.com/kripken/emscripten; + rev = "refs/tags/${tag}"; + sha256 = "0y17ab4nhd3521b50sv2i2667w0rlcnmlkpkgw5j3fsh8awxgf32"; + }; + + buildCommand = '' + mkdir $out + cp -a $src $out/bin + chmod -R +w $out/bin + grep -rl '^#!/usr.*python' $out/bin | xargs sed -i -s 's@^#!/usr.*python.*@#!${python}/bin/python@' + sed -i -e "s,EM_CONFIG = '~/.emscripten',EM_CONFIG = '$out/config'," $out/bin/tools/shared.py + sed -i -e 's,^.*did not see a source tree above the LLVM.*$, return True,' $out/bin/tools/shared.py + sed -i -e 's,def check_sanity(force=False):,def check_sanity(force=False):\n return,' $out/bin/tools/shared.py + + echo "EMSCRIPTEN_ROOT = '$out/bin'" > $out/config + echo "LLVM_ROOT = '${emscriptenfastcomp}'" >> $out/config + echo "PYTHON = '${python}/bin/python'" >> $out/config + echo "NODE_JS = '${nodejs}/bin/node'" >> $out/config + echo "JS_ENGINES = [NODE_JS]" >> $out/config + echo "COMPILER_ENGINE = NODE_JS" >> $out/config + echo "CLOSURE_COMPILER = '${closurecompiler}/bin/closure-compiler'" >> $out/config + echo "JAVA = '${jre}/bin/java'" >> $out/config + ''; + meta = with stdenv.lib; { + homepage = https://github.com/kripken/emscripten; + description = "An LLVM-to-JavaScript Compiler"; + maintainers = with maintainers; [ bosu ]; + license = "MIT and University of Illinois/NCSA Open Source License"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 450b28bd85e..a8cf3722008 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -957,6 +957,10 @@ let edk2 = callPackage ../development/compilers/edk2 { }; + emscripten = callPackage ../development/compilers/emscripten { }; + + emscriptenfastcomp = callPackage ../development/compilers/emscripten-fastcomp { }; + efibootmgr = callPackage ../tools/system/efibootmgr { }; elasticsearch = callPackage ../servers/search/elasticsearch { }; From 87b3e7a93cc9f26d362789e520053e9469d4fec1 Mon Sep 17 00:00:00 2001 From: Mathnerd314 Date: Mon, 14 Jul 2014 02:35:09 +0200 Subject: [PATCH 0011/2163] Remove non-cpufreq_* modules since they are loaded by udev. --- nixos/modules/tasks/cpu-freq.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nixos/modules/tasks/cpu-freq.nix b/nixos/modules/tasks/cpu-freq.nix index a8c63c13428..70bbee8474e 100644 --- a/nixos/modules/tasks/cpu-freq.nix +++ b/nixos/modules/tasks/cpu-freq.nix @@ -30,9 +30,7 @@ in config = mkIf (!config.boot.isContainer && config.powerManagement.cpuFreqGovernor != null) { - boot.kernelModules = [ "acpi-cpufreq" "speedstep-lib" "pcc-cpufreq" - "cpufreq_${cfg.cpuFreqGovernor}" - ]; + boot.kernelModules = [ "cpufreq_${cfg.cpuFreqGovernor}" ]; environment.systemPackages = [ cpupower ]; From a0c91d66f1d63192a8145e5d0314eaa701542604 Mon Sep 17 00:00:00 2001 From: taku0 Date: Sun, 13 Jul 2014 15:46:34 +0900 Subject: [PATCH 0012/2163] uim, gtk-exe-env, qt-plugin-env: Add input method modules for GTK+ and Qt --- nixos/modules/config/gtk-exe-env.nix | 41 ++++ nixos/modules/config/qt-plugin-env.nix | 37 +++ nixos/modules/module-list.nix | 3 + nixos/modules/programs/environment.nix | 2 +- nixos/modules/programs/uim.nix | 29 +++ pkgs/development/libraries/gtk+/2.x.nix | 7 + pkgs/development/libraries/gtk+/3.x.nix | 7 + pkgs/tools/inputmethods/uim/default.nix | 44 ++++ .../inputmethods/uim/immodules_cache.patch | 231 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 + 10 files changed, 404 insertions(+), 1 deletion(-) create mode 100644 nixos/modules/config/gtk-exe-env.nix create mode 100644 nixos/modules/config/qt-plugin-env.nix create mode 100644 nixos/modules/programs/uim.nix create mode 100644 pkgs/tools/inputmethods/uim/default.nix create mode 100644 pkgs/tools/inputmethods/uim/immodules_cache.patch diff --git a/nixos/modules/config/gtk-exe-env.nix b/nixos/modules/config/gtk-exe-env.nix new file mode 100644 index 00000000000..b565072e3a7 --- /dev/null +++ b/nixos/modules/config/gtk-exe-env.nix @@ -0,0 +1,41 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ + ]; + + options = { + gtkPlugins = lib.mkOption { + type = lib.types.listOf lib.types.path; + default = []; + description = '' + Plugin packages for GTK+ such as input methods. + ''; + }; + }; + + config = { + environment.variables = if builtins.length config.gtkPlugins > 0 + then + let + paths = [ pkgs.gtk2 pkgs.gtk3 ] ++ config.gtkPlugins; + env = pkgs.buildEnv { + name = "gtk-exe-env"; + + inherit paths; + + postBuild = lib.concatStringsSep "\n" + (map (d: d.gtkExeEnvPostBuild or "") paths); + + ignoreCollisions = true; + }; + in { + GTK_EXE_PREFIX = builtins.toString env; + GTK_PATH = [ + "${env}/lib/gtk-2.0" + "${env}/lib/gtk-3.0" + ]; + } + else {}; + }; +} diff --git a/nixos/modules/config/qt-plugin-env.nix b/nixos/modules/config/qt-plugin-env.nix new file mode 100644 index 00000000000..c5986560416 --- /dev/null +++ b/nixos/modules/config/qt-plugin-env.nix @@ -0,0 +1,37 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ + ]; + + options = { + qtPlugins = lib.mkOption { + type = lib.types.listOf lib.types.path; + default = []; + description = '' + Plugin packages for Qt such as input methods. + ''; + }; + }; + + config = { + environment.variables = if builtins.length config.qtPlugins > 0 + then + let + paths = [ pkgs.qt48 ] ++ config.qtPlugins; + env = pkgs.buildEnv { + name = "qt-plugin-env"; + + inherit paths; + + postBuild = lib.concatStringsSep "\n" + (map (d: d.qtPluginEnvPostBuild or "") paths); + + ignoreCollisions = true; + }; + in { + QT_PLUGIN_PATH = [ (builtins.toString env) ]; + } + else {}; + }; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a9039eea71d..74f4eebd619 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -5,6 +5,7 @@ ./config/fonts/fonts.nix ./config/fonts/ghostscript.nix ./config/gnu.nix + ./config/gtk-exe-env.nix ./config/i18n.nix ./config/krb5.nix ./config/ldap.nix @@ -13,6 +14,7 @@ ./config/nsswitch.nix ./config/power-management.nix ./config/pulseaudio.nix + ./config/qt-plugin-env.nix ./config/shells-environment.nix ./config/system-environment.nix ./config/swap.nix @@ -56,6 +58,7 @@ ./programs/shell.nix ./programs/ssh.nix ./programs/ssmtp.nix + ./programs/uim.nix ./programs/venus.nix ./programs/wvdial.nix ./programs/zsh/zsh.nix diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index 80c3e83fe81..4a510805b01 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -52,7 +52,7 @@ in STRIGI_PLUGIN_PATH = [ "${i}/lib/strigi/" ]; QT_PLUGIN_PATH = [ "${i}/lib/qt4/plugins" "${i}/lib/kde4/plugins" ]; QTWEBKIT_PLUGIN_PATH = [ "${i}/lib/mozilla/plugins/" ]; - GTK_PATH = [ "${i}/lib/gtk-2.0" ]; + GTK_PATH = [ "${i}/lib/gtk-2.0" "${i}/lib/gtk-3.0" ]; XDG_CONFIG_DIRS = [ "${i}/etc/xdg" ]; XDG_DATA_DIRS = [ "${i}/share" ]; MOZ_PLUGIN_PATH = [ "${i}/lib/mozilla/plugins" ]; diff --git a/nixos/modules/programs/uim.nix b/nixos/modules/programs/uim.nix new file mode 100644 index 00000000000..237da3415dc --- /dev/null +++ b/nixos/modules/programs/uim.nix @@ -0,0 +1,29 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + cfg = config.uim; +in +{ + options = { + uim = { + enable = mkOption { + type = types.bool; + default = false; + example = true; + description = "enable UIM input method"; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.uim ]; + gtkPlugins = [ pkgs.uim ]; + qtPlugins = [ pkgs.uim ]; + environment.variables.GTK_IM_MODULE = "uim"; + environment.variables.QT_IM_MODULE = "uim"; + environment.variables.XMODIFIERS = "@im=uim"; + services.xserver.displayManager.sessionCommands = "uim-xim &"; + }; +} diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix index c57179364a7..5abba3102ff 100644 --- a/pkgs/development/libraries/gtk+/2.x.nix +++ b/pkgs/development/libraries/gtk+/2.x.nix @@ -37,6 +37,13 @@ stdenv.mkDerivation rec { postInstall = "rm -rf $out/share/gtk-doc"; + passthru = { + gtkExeEnvPostBuild = '' + rm $out/lib/gtk-2.0/2.10.0/immodules.cache + $out/bin/gtk-query-immodules-2.0 $out/lib/gtk-2.0/2.10.0/immodules/*.so > $out/lib/gtk-2.0/2.10.0/immodules.cache + ''; # workaround for bug of nix-mode for Emacs */ ''; + }; + meta = with stdenv.lib; { description = "A multi-platform toolkit for creating graphical user interfaces"; homepage = http://www.gtk.org/; diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index ef8f3e39883..acd15b8269c 100644 --- a/pkgs/development/libraries/gtk+/3.x.nix +++ b/pkgs/development/libraries/gtk+/3.x.nix @@ -38,6 +38,13 @@ stdenv.mkDerivation rec { postInstall = "rm -rf $out/share/gtk-doc"; + passthru = { + gtkExeEnvPostBuild = '' + rm $out/lib/gtk-3.0/3.0.0/immodules.cache + $out/bin/gtk-query-immodules-3.0 $out/lib/gtk-3.0/3.0.0/immodules/*.so > $out/lib/gtk-3.0/3.0.0/immodules.cache + ''; # workaround for bug of nix-mode for Emacs */ ''; + }; + meta = { description = "A multi-platform toolkit for creating graphical user interfaces"; diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix new file mode 100644 index 00000000000..b8ee95fae92 --- /dev/null +++ b/pkgs/tools/inputmethods/uim/default.nix @@ -0,0 +1,44 @@ +{stdenv, fetchurl, intltool, pkgconfig, qt4, gtk2, gtk3, kdelibs, cmake, ... }: + +stdenv.mkDerivation rec { + version = "1.8.6"; + name = "uim-${version}"; + + buildInputs = [ + intltool + pkgconfig + qt4 + gtk2 + gtk3 + kdelibs + cmake + ]; + + patches = [ ./immodules_cache.patch ]; + + configureFlags = [ + "--with-gtk2" + "--with-gtk3" + "--enable-kde4-applet" + "--enable-notify=knotify4" + "--enable-pref" + "--with-qt4" + "--with-qt4-immodule" + "--with-skk" + "--with-x" + ]; + + dontUseCmakeConfigure = true; + + src = fetchurl { + url = "http://uim.googlecode.com/files/uim-${version}.tar.bz2"; + sha1 = "43b9dbdead6797880e6cfc9c032ecb2d37d42777"; + }; + + meta = { + homepage = "http://code.google.com/p/uim/"; + description = "A multilingual input method framework"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/inputmethods/uim/immodules_cache.patch b/pkgs/tools/inputmethods/uim/immodules_cache.patch new file mode 100644 index 00000000000..c2d08b661e3 --- /dev/null +++ b/pkgs/tools/inputmethods/uim/immodules_cache.patch @@ -0,0 +1,231 @@ +diff -ru -x '*~' uim-1.8.6.orig/gtk2/immodule/Makefile.am uim-1.8.6/gtk2/immodule/Makefile.am +--- uim-1.8.6.orig/gtk2/immodule/Makefile.am 2013-06-30 13:26:09.000000000 +0900 ++++ uim-1.8.6/gtk2/immodule/Makefile.am 2014-07-13 21:51:26.538400004 +0900 +@@ -1,5 +1,5 @@ + uim_gtk_im_module_path = $(libdir)/gtk-2.0 +-uim_gtk_im_module_file = $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules ++uim_gtk_im_module_file = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules.cache + + moduledir = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules + +@@ -38,48 +38,12 @@ + + install-data-hook: gtk-rc-get-immodule-file + if test -z $(DESTDIR); then \ +- if test $(libdir) = $(GTK_LIBDIR); then \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ +- echo "*** \"`$(GTK_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ +- else \ +- echo "********************** Warning ***********************"; \ +- echo " $(QUERY_COMMAND) not found"; \ +- echo " Please make sure to update"; \ +- echo " \"`$(GTK_RC_GET_IMMODULE_FILE)`\""; \ +- echo " manually."; \ +- echo "******************************************************"; \ +- fi \ +- else \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- $(mkinstalldirs) $(sysconfdir)/gtk-2.0; \ +- GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ +- echo "******************************************************"; \ +- echo " You need to set"; \ +- echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ +- echo " environment variable to use this module."; \ +- echo "******************************************************"; \ +- else \ +- echo "********************** Warning ***********************"; \ +- echo " $(QUERY_COMMAND) not found"; \ +- echo " Please make sure to update"; \ +- echo " \"$(uim_gtk_im_module_file)\""; \ +- echo " manually, and set"; \ +- echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ +- echo " environment variable to use this module."; \ +- echo "******************************************************"; \ +- fi \ +- fi \ ++ $(mkinstalldirs) $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@; \ ++ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ + fi + uninstall-hook: + if test -z $(DESTDIR); then \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- if test $(libdir) = $(GTK_LIBDIR); then \ +- $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ +- else \ +- GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ +- fi \ +- fi \ ++ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ + fi + else + install-data-hook: +diff -ru -x '*~' uim-1.8.6.orig/gtk2/immodule/Makefile.in uim-1.8.6/gtk2/immodule/Makefile.in +--- uim-1.8.6.orig/gtk2/immodule/Makefile.in 2013-06-30 13:27:08.000000000 +0900 ++++ uim-1.8.6/gtk2/immodule/Makefile.in 2014-07-13 22:12:27.947595507 +0900 +@@ -434,7 +434,7 @@ + top_srcdir = @top_srcdir@ + uim_pixmapsdir = @uim_pixmapsdir@ + uim_gtk_im_module_path = $(libdir)/gtk-2.0 +-uim_gtk_im_module_file = $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules ++uim_gtk_im_module_file = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules.cache + moduledir = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules + @GTK2_TRUE@im_uim_la = im-uim.la + @GTK2_TRUE@im_uim_la_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) +@@ -875,48 +875,12 @@ + + @GTK2_TRUE@install-data-hook: gtk-rc-get-immodule-file + @GTK2_TRUE@ if test -z $(DESTDIR); then \ +-@GTK2_TRUE@ if test $(libdir) = $(GTK_LIBDIR); then \ +-@GTK2_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK2_TRUE@ $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ +-@GTK2_TRUE@ echo "*** \"`$(GTK_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ +-@GTK2_TRUE@ else \ +-@GTK2_TRUE@ echo "********************** Warning ***********************"; \ +-@GTK2_TRUE@ echo " $(QUERY_COMMAND) not found"; \ +-@GTK2_TRUE@ echo " Please make sure to update"; \ +-@GTK2_TRUE@ echo " \"`$(GTK_RC_GET_IMMODULE_FILE)`\""; \ +-@GTK2_TRUE@ echo " manually."; \ +-@GTK2_TRUE@ echo "******************************************************"; \ +-@GTK2_TRUE@ fi \ +-@GTK2_TRUE@ else \ +-@GTK2_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK2_TRUE@ $(mkinstalldirs) $(sysconfdir)/gtk-2.0; \ +-@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ +-@GTK2_TRUE@ echo "******************************************************"; \ +-@GTK2_TRUE@ echo " You need to set"; \ +-@GTK2_TRUE@ echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ +-@GTK2_TRUE@ echo " environment variable to use this module."; \ +-@GTK2_TRUE@ echo "******************************************************"; \ +-@GTK2_TRUE@ else \ +-@GTK2_TRUE@ echo "********************** Warning ***********************"; \ +-@GTK2_TRUE@ echo " $(QUERY_COMMAND) not found"; \ +-@GTK2_TRUE@ echo " Please make sure to update"; \ +-@GTK2_TRUE@ echo " \"$(uim_gtk_im_module_file)\""; \ +-@GTK2_TRUE@ echo " manually, and set"; \ +-@GTK2_TRUE@ echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ +-@GTK2_TRUE@ echo " environment variable to use this module."; \ +-@GTK2_TRUE@ echo "******************************************************"; \ +-@GTK2_TRUE@ fi \ +-@GTK2_TRUE@ fi \ ++@GTK2_TRUE@ $(mkinstalldirs) $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@; \ ++@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ + @GTK2_TRUE@ fi + @GTK2_TRUE@uninstall-hook: + @GTK2_TRUE@ if test -z $(DESTDIR); then \ +-@GTK2_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK2_TRUE@ if test $(libdir) = $(GTK_LIBDIR); then \ +-@GTK2_TRUE@ $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ +-@GTK2_TRUE@ else \ +-@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ +-@GTK2_TRUE@ fi \ +-@GTK2_TRUE@ fi \ ++@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ + @GTK2_TRUE@ fi + @GTK2_FALSE@install-data-hook: + +diff -ru -x '*~' uim-1.8.6.orig/gtk3/immodule/Makefile.am uim-1.8.6/gtk3/immodule/Makefile.am +--- uim-1.8.6.orig/gtk3/immodule/Makefile.am 2013-06-30 13:26:20.000000000 +0900 ++++ uim-1.8.6/gtk3/immodule/Makefile.am 2014-07-13 21:55:38.114246503 +0900 +@@ -45,42 +45,11 @@ + + install-data-hook: gtk3-rc-get-immodule-file + if test -z $(DESTDIR); then \ +- if test $(libdir) = $(GTK3_LIBDIR); then \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- $(QUERY_COMMAND) --update-cache; \ +- echo "*** \"`$(GTK3_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ +- else \ +- echo "********************** Warning ***********************"; \ +- echo " $(QUERY_COMMAND) not found"; \ +- echo " Please make sure to update"; \ +- echo " \"`$(GTK3_RC_GET_IMMODULE_FILE)`\""; \ +- echo " manually."; \ +- echo "******************************************************"; \ +- fi \ +- else \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ +- else \ +- echo "********************** Warning ***********************"; \ +- echo " $(QUERY_COMMAND) not found"; \ +- echo " Please make sure to update"; \ +- echo " immodules.cache"; \ +- echo " manually, and set"; \ +- echo " GTK_IM_MODULE_FILE=PATH_TO/immodule.cache"; \ +- echo " environment variable to use this module."; \ +- echo "******************************************************"; \ +- fi \ +- fi \ ++ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ + fi + uninstall-hook: + if test -z $(DESTDIR); then \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- if test $(libdir) = $(GTK3_LIBDIR); then \ +- $(QUERY_COMMAND) --update-cache; \ +- else \ +- GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ +- fi \ +- fi \ ++ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ + fi + else + install-data-hook: +diff -ru -x '*~' uim-1.8.6.orig/gtk3/immodule/Makefile.in uim-1.8.6/gtk3/immodule/Makefile.in +--- uim-1.8.6.orig/gtk3/immodule/Makefile.in 2013-06-30 13:27:08.000000000 +0900 ++++ uim-1.8.6/gtk3/immodule/Makefile.in 2014-07-13 21:56:11.531225832 +0900 +@@ -893,42 +893,11 @@ + + @GTK3_TRUE@install-data-hook: gtk3-rc-get-immodule-file + @GTK3_TRUE@ if test -z $(DESTDIR); then \ +-@GTK3_TRUE@ if test $(libdir) = $(GTK3_LIBDIR); then \ +-@GTK3_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK3_TRUE@ $(QUERY_COMMAND) --update-cache; \ +-@GTK3_TRUE@ echo "*** \"`$(GTK3_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ +-@GTK3_TRUE@ else \ +-@GTK3_TRUE@ echo "********************** Warning ***********************"; \ +-@GTK3_TRUE@ echo " $(QUERY_COMMAND) not found"; \ +-@GTK3_TRUE@ echo " Please make sure to update"; \ +-@GTK3_TRUE@ echo " \"`$(GTK3_RC_GET_IMMODULE_FILE)`\""; \ +-@GTK3_TRUE@ echo " manually."; \ +-@GTK3_TRUE@ echo "******************************************************"; \ +-@GTK3_TRUE@ fi \ +-@GTK3_TRUE@ else \ +-@GTK3_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ +-@GTK3_TRUE@ else \ +-@GTK3_TRUE@ echo "********************** Warning ***********************"; \ +-@GTK3_TRUE@ echo " $(QUERY_COMMAND) not found"; \ +-@GTK3_TRUE@ echo " Please make sure to update"; \ +-@GTK3_TRUE@ echo " immodules.cache"; \ +-@GTK3_TRUE@ echo " manually, and set"; \ +-@GTK3_TRUE@ echo " GTK_IM_MODULE_FILE=PATH_TO/immodule.cache"; \ +-@GTK3_TRUE@ echo " environment variable to use this module."; \ +-@GTK3_TRUE@ echo "******************************************************"; \ +-@GTK3_TRUE@ fi \ +-@GTK3_TRUE@ fi \ ++@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ + @GTK3_TRUE@ fi + @GTK3_TRUE@uninstall-hook: + @GTK3_TRUE@ if test -z $(DESTDIR); then \ +-@GTK3_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK3_TRUE@ if test $(libdir) = $(GTK3_LIBDIR); then \ +-@GTK3_TRUE@ $(QUERY_COMMAND) --update-cache; \ +-@GTK3_TRUE@ else \ +-@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ +-@GTK3_TRUE@ fi \ +-@GTK3_TRUE@ fi \ ++@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ + @GTK3_TRUE@ fi + @GTK3_FALSE@install-data-hook: + +diff -ru -x '*~' uim-1.8.6.orig/qt4/immodule/quiminputcontextplugin.pro.in uim-1.8.6/qt4/immodule/quiminputcontextplugin.pro.in +--- uim-1.8.6.orig/qt4/immodule/quiminputcontextplugin.pro.in 2013-06-30 13:26:20.000000000 +0900 ++++ uim-1.8.6/qt4/immodule/quiminputcontextplugin.pro.in 2014-03-09 11:31:19.388085048 +0900 +@@ -35,4 +35,4 @@ + + TARGET = uiminputcontextplugin + +-target.path += @DESTDIR@$$[QT_INSTALL_PLUGINS]/inputmethods ++target.path += @DESTDIR@@exec_prefix@/lib/qt4/plugins/inputmethods diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5edd597f29b..424a9165161 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2325,6 +2325,10 @@ let ttmkfdir = callPackage ../tools/misc/ttmkfdir { }; + uim = callPackage ../tools/inputmethods/uim { + inherit (pkgs.kde4) kdelibs; + }; + unclutter = callPackage ../tools/misc/unclutter { }; unbound = callPackage ../tools/networking/unbound { }; From 8346343aa5e2f92fb75a71217cdd68a53efdf227 Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Tue, 1 Jul 2014 15:55:12 +0200 Subject: [PATCH 0013/2163] hdf5: Add mpi support Optionally, build the parallel version of hdf5. --- pkgs/tools/misc/hdf5/default.nix | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index a7d03d1335f..43b3a3240e6 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -3,6 +3,7 @@ , fetchurl , zlib ? null , szip ? null +, mpi ? null }: stdenv.mkDerivation rec { version = "1.8.13"; @@ -12,11 +13,22 @@ stdenv.mkDerivation rec { sha256 = "1h9qdl321gzm3ihdhlijbl9sh9qcdrw94j7izg64yfqhxj7b7xl2"; }; + passthru = { + mpiSupport = (mpi != null); + inherit mpi; + }; + buildInputs = [] ++ stdenv.lib.optional (zlib != null) zlib ++ stdenv.lib.optional (szip != null) szip; - configureFlags = if szip != null then "--with-szlib=${szip}" else ""; + propagatedBuildInputs = [] + ++ stdenv.lib.optional (mpi != null) mpi; + + configureFlags = " + ${if szip != null then "--with-szlib=${szip}" else ""} + ${if mpi != null then "--enable-parallel" else ""} + "; patches = [./bin-mv.patch]; From 2728b27f75dd51317cd60053a0c4be6bed70e8ae Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Tue, 1 Jul 2014 15:55:29 +0200 Subject: [PATCH 0014/2163] hdf5: Offer openmpi version of the package --- pkgs/top-level/all-packages.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f0e504ff014..dcba004aab2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1251,6 +1251,12 @@ let hdf5 = callPackage ../tools/misc/hdf5 { szip = null; + mpi = null; + }; + + hdf5-mpi = hdf5.override { + szip = null; + mpi = pkgs.openmpi; }; heimdall = callPackage ../tools/misc/heimdall { }; From 37b064fcc713ddd88e5c3dd297fabf12b7725c1f Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Wed, 2 Jul 2014 15:10:02 +0200 Subject: [PATCH 0015/2163] hdf5: Optional enableShared flag Required by h5py in mpi mode. --- pkgs/tools/misc/hdf5/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index 43b3a3240e6..5cdc468c2a5 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -4,6 +4,7 @@ , zlib ? null , szip ? null , mpi ? null +, enableShared ? true }: stdenv.mkDerivation rec { version = "1.8.13"; @@ -28,6 +29,7 @@ stdenv.mkDerivation rec { configureFlags = " ${if szip != null then "--with-szlib=${szip}" else ""} ${if mpi != null then "--enable-parallel" else ""} + ${if enableShared then "--enable-shared" else ""} "; patches = [./bin-mv.patch]; From 63c062947eb765e4a02bc892e1891da7057fdfec Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Tue, 1 Jul 2014 16:46:15 +0200 Subject: [PATCH 0016/2163] mpi4py: New package, version 1.3.1 Python wrapper for the message passing interface standard. Currently building without mpe, or vampir-trace support. --- .../python-modules/mpi4py/default.nix | 45 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 6 +++ 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/mpi4py/default.nix diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix new file mode 100644 index 00000000000..74d46def907 --- /dev/null +++ b/pkgs/development/python-modules/mpi4py/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, python, buildPythonPackage, mpi, openssh }: + +buildPythonPackage rec { + name = "mpi4py-1.3.1"; + + src = fetchurl { + url = "https://bitbucket.org/mpi4py/mpi4py/downloads/${name}.tar.gz"; + sha256 = "e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507"; + }; + + passthru = { + inherit mpi; + }; + + configurePhase = ""; + + installPhase = '' + mkdir -p "$out/lib/${python.libPrefix}/site-packages" + export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + + ${python}/bin/${python.executable} setup.py install \ + --install-lib=$out/lib/${python.libPrefix}/site-packages \ + --prefix="$out" + + # --install-lib: + # sometimes packages specify where files should be installed outside the usual + # python lib prefix, we override that back so all infrastructure (setup hooks) + # work as expected + ''; + + setupPyBuildFlags = ["--mpicc=${mpi}/bin/mpicc"]; + + buildInputs = [ mpi ]; + # Requires openssh for tests. Tests of dependent packages will also fail, + # if openssh is not present. E.g. h5py with mpi support. + propagatedBuildInputs = [ openssh ]; + + meta = { + description = " + Provides Python bindings for the Message Passing Interface standard. + "; + homepage = "http://code.google.com/p/mpi4py/"; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fccad5c81de..59f00576dad 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -105,6 +105,12 @@ rec { pylabQtSupport = false; }); + mpi4py = callPackage ../development/python-modules/mpi4py { + inherit (pkgs) stdenv fetchurl openssh; + inherit python buildPythonPackage; + mpi = pkgs.openmpi; + }; + nixpart = callPackage ../tools/filesystems/nixpart { }; # This is used for NixOps to make sure we won't break it with the next major From 3c6afb34967a241e2c2e106cb02bad55b5389b94 Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Tue, 1 Jul 2014 16:20:56 +0200 Subject: [PATCH 0017/2163] h5py: New package, version 2.3.1 A pythonic interface to the hdf5 library. It also supports parallel hdf5. --- .../python-modules/h5py/default.nix | 43 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 13 ++++++ 2 files changed, 56 insertions(+) create mode 100644 pkgs/development/python-modules/h5py/default.nix diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix new file mode 100644 index 00000000000..9ab68ac4cd2 --- /dev/null +++ b/pkgs/development/python-modules/h5py/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, python, buildPythonPackage +, numpy, hdf5, cython +, mpiSupport ? false, mpi4py ? null, mpi ? null }: + +assert mpiSupport == hdf5.mpiSupport; +assert mpiSupport -> mpi != null + && mpi4py != null + && mpi == mpi4py.mpi + && mpi == hdf5.mpi + ; + +with stdenv.lib; + +buildPythonPackage rec { + name = "h5py-2.3.1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/h/h5py/${name}.tar.gz"; + md5 = "8f32f96d653e904d20f9f910c6d9dd91"; + }; + + setupPyBuildFlags = [ "--hdf5=${hdf5}" ] + ++ optional mpiSupport "--mpi" + ; + setupPyInstallFlags = setupPyBuildFlags; + + preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else ""; + + buildInputs = [ hdf5 cython ] + ++ optional mpiSupport mpi + ; + propagatedBuildInputs = [ numpy ] + ++ optional mpiSupport mpi4py + ; + + meta = { + description = " + The h5py package is a Pythonic interface to the HDF5 binary data format. + "; + homepage = "http://www.h5py.org/"; + license = stdenv.lib.licenses.bsd2; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 59f00576dad..2e7189c3a5b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -89,6 +89,19 @@ rec { ''; }; + h5py = callPackage ../development/python-modules/h5py { + inherit (pkgs) stdenv fetchurl; + inherit python buildPythonPackage cython numpy; + hdf5 = pkgs.hdf5.override { mpi = null; }; + }; + + h5py-mpi = h5py.override { + mpiSupport = true; + mpi = pkgs.openmpi; + hdf5 = pkgs.hdf5.override { mpi = pkgs.openmpi; enableShared = true; }; + inherit mpi4py; + }; + ipython = import ../shells/ipython { inherit (pkgs) stdenv fetchurl sip pyqt4; inherit buildPythonPackage pythonPackages; From 1e0605738a94d834c97d6e7b9d1fc920f649facb Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Sun, 6 Jul 2014 23:13:04 +0200 Subject: [PATCH 0018/2163] openmpi: Optional configure flags * Activate support for the Sun Grid Engine * Pass PATH/LD_LIBRARY_PATH pointing to the current mpi installation to other processes by default. --- pkgs/development/libraries/openmpi/default.nix | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix index 678a439fe0a..15160d3afc4 100644 --- a/pkgs/development/libraries/openmpi/default.nix +++ b/pkgs/development/libraries/openmpi/default.nix @@ -1,4 +1,13 @@ -{stdenv, fetchurl, gfortran}: +{stdenv, fetchurl, gfortran + +# Enable the Sun Grid Engine bindings +, enableSGE ? false + +# Pass PATH/LD_LIBRARY_PATH to point to current mpirun by default +, enablePrefix ? false +}: + +with stdenv.lib; stdenv.mkDerivation { name = "openmpi-1.6.5"; @@ -7,6 +16,10 @@ stdenv.mkDerivation { sha256 = "11gws4d3z7934zna2r7m1f80iay2ha17kp42mkh39wjykfwbldzy"; }; buildInputs = [ gfortran ]; + configureFlags = [] + ++ optional enableSGE "--with-sge" + ++ optional enablePrefix "--enable-mpirun-prefix-by-default" + ; meta = { homePage = http://www.open-mpi.org/; description = "Open source MPI-2 implementation"; From 073369cdaa0bed835c15c645477ee8b1df4230cc Mon Sep 17 00:00:00 2001 From: Vladimir Kirillov Date: Mon, 16 Jun 2014 20:08:38 +0000 Subject: [PATCH 0019/2163] rsync: sha256 for the patch was updated --- pkgs/applications/networking/sync/rsync/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix index 6a5c574f638..00a00530df4 100644 --- a/pkgs/applications/networking/sync/rsync/default.nix +++ b/pkgs/applications/networking/sync/rsync/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc; patches = [(fetchurl { url = "https://git.samba.org/?p=rsync.git;a=commitdiff_plain;h=0dedfbce2c1b851684ba658861fe9d620636c56a"; - sha256 = "1jpwwdf07naqxc8fv1lspc95jgk50j5j3wvf037bjay2qzpwjmvf"; + sha256 = "0j1pqmwsqc5mh815x28izi4baki2y2r5q8k7ma1sgs4xsgjc4rk8"; name = "CVE-2014-2855.patch"; })] ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff"; From d105ed081f5e29ca0eab89f591b1d95653773e7f Mon Sep 17 00:00:00 2001 From: Joachim Schiele Date: Thu, 24 Jul 2014 10:12:47 +0200 Subject: [PATCH 0020/2163] liquidfun: added google liquidfun (a box2d fork) --- .../libraries/liquidfun/default.nix | 50 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 52 insertions(+) create mode 100644 pkgs/development/libraries/liquidfun/default.nix diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix new file mode 100644 index 00000000000..02604fb94cf --- /dev/null +++ b/pkgs/development/libraries/liquidfun/default.nix @@ -0,0 +1,50 @@ +{ stdenv, requireFile, cmake, mesa, libX11, libXi, ... }: + +let + sourceInfo = rec { + version="1.1.0"; + name="liquidfun-${version}"; + url="http://github.com/foo/${name}.tar.gz"; + hash="5011a000eacd6202a47317c489e44aa753a833fb562d970e7b8c0da9de01df86"; + }; + +in + +stdenv.mkDerivation rec { + src = requireFile { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + name = sourceInfo.name + ".tar.gz"; + }; + + inherit (sourceInfo) name version; + buildInputs = [ cmake mesa libX11 libXi ]; + + sourceRoot = "liquidfun/Box2D/"; + + preConfigurePhases = "preConfigure"; + + preConfigure = '' + sed -i Box2D/Common/b2Settings.h -e 's@b2_maxPolygonVertices .*@b2_maxPolygonVertices 15@' + substituteInPlace Box2D/CMakeLists.txt --replace "Common/b2GrowableStack.h" "Common/b2GrowableStack.h Common/b2GrowableBuffer.h" + ''; + + configurePhase = '' + mkdir Build + cd Build; + cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON -DCMAKE_INSTALL_PREFIX=$out .. + ''; + + meta = { + description = "2D physics engine based on Box2D"; + maintainers = with stdenv.lib.maintainers; + [ + qknight + ]; + platforms = with stdenv.lib.platforms; + linux; + license = "bsd"; + homepage = https://google.github.io/liquidfun/; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b3ba6a64df2..2128d237387 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5527,6 +5527,8 @@ let lirc = callPackage ../development/libraries/lirc { }; + liquidfun = callPackage ../development/libraries/liquidfun { }; + liquidwar = builderDefsPackage ../games/liquidwar { inherit (xlibs) xproto libX11 libXrender; inherit gmp mesa libjpeg From 87cdc61e784a9d96628127e84b972661c83f9fb6 Mon Sep 17 00:00:00 2001 From: Joachim Schiele Date: Sun, 27 Jul 2014 22:02:38 +0200 Subject: [PATCH 0021/2163] liquidfun: updated url and license --- pkgs/development/libraries/liquidfun/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix index 02604fb94cf..994c013c631 100644 --- a/pkgs/development/libraries/liquidfun/default.nix +++ b/pkgs/development/libraries/liquidfun/default.nix @@ -1,15 +1,13 @@ -{ stdenv, requireFile, cmake, mesa, libX11, libXi, ... }: +{ stdenv, requireFile, cmake, mesa, libX11, libXi }: let sourceInfo = rec { version="1.1.0"; name="liquidfun-${version}"; - url="http://github.com/foo/${name}.tar.gz"; + url="https://github.com/google/liquidfun/releases/download/v${version}/${name}"; hash="5011a000eacd6202a47317c489e44aa753a833fb562d970e7b8c0da9de01df86"; }; - in - stdenv.mkDerivation rec { src = requireFile { url = sourceInfo.url; @@ -43,7 +41,7 @@ stdenv.mkDerivation rec { ]; platforms = with stdenv.lib.platforms; linux; - license = "bsd"; + license = stdenv.lib.licenses.bsd2; homepage = https://google.github.io/liquidfun/; }; } From fea8454d3515dbb5bb45be8763b34ad33342e705 Mon Sep 17 00:00:00 2001 From: Paul Colomiets Date: Sat, 12 Jul 2014 22:51:28 +0300 Subject: [PATCH 0022/2163] my-env: Preserve http_proxy and ftp_proxy variables There are few build scripts which set them to `nodtd.invalid` to disable downloading files by buildscript. But for user environment we should restore original values --- pkgs/misc/my-env/loadenv.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/misc/my-env/loadenv.sh b/pkgs/misc/my-env/loadenv.sh index 1aab4ac0208..2a990e8685c 100644 --- a/pkgs/misc/my-env/loadenv.sh +++ b/pkgs/misc/my-env/loadenv.sh @@ -2,6 +2,8 @@ OLDPATH="$PATH" OLDTZ="$TZ" +OLD_http_proxy="$http_proxy" +OLD_ftp_proxy="$http_proxy" source @myenvpath@ PATH="$PATH:$OLDPATH" @@ -10,6 +12,8 @@ export NIX_MYENV_NAME="@name@" export buildInputs export NIX_STRIP_DEBUG=0 export TZ="$OLDTZ" +export http_proxy="$OLD_http_proxy" +export ftp_proxy="$OLD_ftp_proxy" if test $# -gt 0; then exec "$@" From fb948c4f28a8e42758467b5fe23a27bca182b481 Mon Sep 17 00:00:00 2001 From: Paul Colomiets Date: Thu, 26 Jun 2014 01:09:15 +0300 Subject: [PATCH 0023/2163] Upgrade shadow package --- nixos/modules/programs/shadow.nix | 4 +++- pkgs/os-specific/linux/shadow/default.nix | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index 658b08b3d87..5a467e112c2 100644 --- a/nixos/modules/programs/shadow.nix +++ b/nixos/modules/programs/shadow.nix @@ -100,7 +100,9 @@ in chgpasswd = { rootOK = true; }; }; - security.setuidPrograms = [ "passwd" "chfn" "su" "newgrp" ]; + security.setuidPrograms = [ "passwd" "chfn" "su" "newgrp" + "newuidmap" "newgidmap" # new in shadow 4.2.x + ]; }; diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index b52801cacff..f928dc8e657 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -15,11 +15,11 @@ let in stdenv.mkDerivation rec { - name = "shadow-4.1.5.1"; + name = "shadow-4.2.1"; src = fetchurl { - url = "http://pkg-shadow.alioth.debian.org/releases/${name}.tar.bz2"; - sha256 = "1yvqx57vzih0jdy3grir8vfbkxp0cl0myql37bnmi2yn90vk6cma"; + url = "http://pkg-shadow.alioth.debian.org/releases/${name}.tar.xz"; + sha256 = "0h9x1zdbq0pqmygmc1x459jraiqw4gqz8849v268crk78z8r621v"; }; buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam; From 08b214a8f2b6c9101636df43ded09c07ea9b8259 Mon Sep 17 00:00:00 2001 From: Paul Colomiets Date: Thu, 26 Jun 2014 03:11:28 +0300 Subject: [PATCH 0024/2163] First implementation of subuid/subgid manipulation module --- nixos/modules/config/users-groups.nix | 83 +++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 5de81a77342..1fd5735fb74 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -100,6 +100,36 @@ let description = "The path to the user's shell."; }; + subUidRanges = mkOption { + type = types.listOf types.optionSet; + default = []; + example = [ + { startUid = 1000; count = 1; } + { startUid = 100001; count = 65534; } + ]; + options = [ subordinateUidRange ]; + description = '' + Subordinate user ids that user is allowed to use. + They are set into /etc/subuid and are used + by newuidmap for user namespaces. + ''; + }; + + subGidRanges = mkOption { + type = types.listOf types.optionSet; + default = []; + example = [ + { startGid = 100; count = 1; } + { startGid = 1001; count = 999; } + ]; + options = [ subordinateGidRange ]; + description = '' + Subordinate group ids that user is allowed to use. + They are set into /etc/subgid and are used + by newgidmap for user namespaces. + ''; + }; + createHome = mkOption { type = types.bool; default = false; @@ -211,6 +241,36 @@ let }; + subordinateUidRange = { + startUid = mkOption { + type = types.int; + description = '' + Start of the range of subordinate user ids that user is + allowed to use. + ''; + }; + count = mkOption { + type = types.int; + default = 1; + description = ''Count of subordinate user ids''; + }; + }; + + subordinateGidRange = { + startGid = mkOption { + type = types.int; + description = '' + Start of the range of subordinate group ids that user is + allowed to use. + ''; + }; + count = mkOption { + type = types.int; + default = 1; + description = ''Count of subordinate group ids''; + }; + }; + getGroup = gname: let groups = mapAttrsToList (n: g: g) ( @@ -265,6 +325,20 @@ let )) ); + mkSubuidEntry = user: concatStrings ( + map (range: "${user.name}:${toString range.startUid}:${toString range.count}\n") + user.subUidRanges); + + subuidFile = concatStrings (map mkSubuidEntry ( + sortOn "uid" (attrValues cfg.extraUsers))); + + mkSubgidEntry = user: concatStrings ( + map (range: "${user.name}:${toString range.startGid}:${toString range.count}\n") + user.subGidRanges); + + subgidFile = concatStrings (map mkSubgidEntry ( + sortOn "uid" (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. @@ -504,6 +578,15 @@ in { # for backwards compatibility system.activationScripts.groups = stringAfter [ "users" ] ""; + environment.etc."subuid" = { + text = subuidFile; + mode = "0644"; + }; + environment.etc."subgid" = { + text = subgidFile; + mode = "0644"; + }; + assertions = [ { assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique); message = "uids and gids must be unique!"; From a232a2d2c5882bec7c50749a7eee8033cc2548ca Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Thu, 31 Jul 2014 16:04:29 -0700 Subject: [PATCH 0025/2163] prevent usage of binutils on darwin --- pkgs/development/tools/misc/binutils/default.nix | 2 ++ pkgs/top-level/all-packages.nix | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 8d8fc5d464e..9bcf2ccc14f 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -2,6 +2,8 @@ , cross ? null, gold ? true, bison ? null }: +assert !stdenv.isDarwin; + let basename = "binutils-2.23.1"; in with { inherit (stdenv.lib) optional optionals optionalString; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a46693b9235..714a06ea62e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3769,9 +3769,11 @@ let bam = callPackage ../development/tools/build-managers/bam {}; - binutils = callPackage ../development/tools/misc/binutils { - inherit noSysDirs; - }; + binutils = if stdenv.isDarwin + then stdenv.gcc.binutils + else callPackage ../development/tools/misc/binutils { + inherit noSysDirs; + }; binutils_nogold = lowPrio (callPackage ../development/tools/misc/binutils { inherit noSysDirs; From 669443f5c1b75a4c74b4ff19716a8b66af5db8e7 Mon Sep 17 00:00:00 2001 From: Jonathan Glines Date: Fri, 8 Aug 2014 11:16:03 -0600 Subject: [PATCH 0026/2163] Added gmock (Google Mock) package to complement gtest package. --- pkgs/development/libraries/gmock/default.nix | 38 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/libraries/gmock/default.nix diff --git a/pkgs/development/libraries/gmock/default.nix b/pkgs/development/libraries/gmock/default.nix new file mode 100644 index 00000000000..33c6e00ef65 --- /dev/null +++ b/pkgs/development/libraries/gmock/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, unzip, cmake}: + +stdenv.mkDerivation rec { + version = "1.7.0"; + name = "gmock-${version}"; + + src = fetchurl { + url = "https://googlemock.googlecode.com/files/${name}.zip"; + sha256="26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b"; + }; + + buildInputs = [ unzip cmake ]; + + configurePhase = '' + mkdir build + cd build + cmake ../ -DCMAKE_INSTALL_PREFIX=$out + ''; + + buildPhase = '' + # avoid building gtest + make gmock gmock_main + ''; + + installPhase = '' + mkdir -p $out/lib + cp -v libgmock.a libgmock_main.a $out/lib + cp -v -r ../include $out + cp -v -r ../src $out + ''; + + meta = { + description = "Google mock: Google's framework for writing C++ mock classes."; + homepage = https://code.google.com/p/googlemock/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.auntie ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8590aa74742..e894507b12a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1229,6 +1229,7 @@ let gt5 = callPackage ../tools/system/gt5 { }; gtest = callPackage ../development/libraries/gtest {}; + gmock = callPackage ../development/libraries/gmock {}; gtkdatabox = callPackage ../development/libraries/gtkdatabox {}; From 38567ddc80bdb2d0b23b3b0f3d6277c514b0a4bb Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Aug 2014 03:08:22 +0200 Subject: [PATCH 0027/2163] systemd: Apply backport fixes In particular, added a few patches that improve systemd-nspawn container behaviour. --- pkgs/os-specific/linux/systemd/fixes.patch | 2341 +++++++++++++++++++- 1 file changed, 2329 insertions(+), 12 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch index 7410c87e277..70ad195a032 100644 --- a/pkgs/os-specific/linux/systemd/fixes.patch +++ b/pkgs/os-specific/linux/systemd/fixes.patch @@ -1,7 +1,25 @@ diff --git a/Makefile.am b/Makefile.am -index 3d9e5c1..4d43cb4 100644 +index 3d9e5c1..46487f6 100644 --- a/Makefile.am +++ b/Makefile.am +@@ -1095,7 +1095,7 @@ BUILT_SOURCES += \ + + src/shared/errno-list.txt: + $(AM_V_at)$(MKDIR_P) $(dir $@) +- $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }' > $@ ++ $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }' > $@ + + src/shared/errno-from-name.gperf: src/shared/errno-list.txt + $(AM_V_at)$(MKDIR_P) $(dir $@) +@@ -1107,7 +1107,7 @@ src/shared/errno-from-name.h: src/shared/errno-from-name.gperf + + src/shared/errno-to-name.h: src/shared/errno-list.txt + $(AM_V_at)$(MKDIR_P) $(dir $@) +- $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ ++ $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ + + src/shared/af-list.txt: + $(AM_V_at)$(MKDIR_P) $(dir $@) @@ -1707,7 +1707,9 @@ dist_tmpfiles_DATA += \ endif @@ -13,8 +31,42 @@ index 3d9e5c1..4d43cb4 100644 systemd-tmpfiles-setup.service dist_zshcompletion_DATA += \ +@@ -1961,6 +1963,7 @@ systemd_cgls_SOURCES = \ + src/cgls/cgls.c + + systemd_cgls_LDADD = \ ++ libsystemd-internal.la \ + libsystemd-shared.la + + # ------------------------------------------------------------------------------ +diff --git a/TODO b/TODO +index e2ca1e6..d7efdd5 100644 +--- a/TODO ++++ b/TODO +@@ -1,4 +1,6 @@ + Bugfixes: ++* Should systemctl status \* work on all unit types, not just .service? ++ + * enabling an instance unit creates a pointless link, and + the unit will be started with getty@getty.service: + $ systemctl enable getty@.service +diff --git a/rules/42-usb-hid-pm.rules b/rules/42-usb-hid-pm.rules +index c675b5b..4c300da 100644 +--- a/rules/42-usb-hid-pm.rules ++++ b/rules/42-usb-hid-pm.rules +@@ -12,10 +12,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!= + ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" + ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto" + +-# Catch-all for Avocent HID devices. Keyed off interface in order to only +-# trigger on HID class devices. +-ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto" +- + # Dell DRAC 4 + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto" + diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in -index db72373..2fc12ca 100644 +index db72373..2875958 100644 --- a/rules/99-systemd.rules.in +++ b/rules/99-systemd.rules.in @@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd" @@ -28,11 +80,329 @@ index db72373..2fc12ca 100644 # Ignore raid devices that are not yet assembled and started SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0" SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" +@@ -43,7 +39,7 @@ SUBSYSTEM=="net", KERNEL!="lo", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsys + SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/bluetooth/devices/%k" + + SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_WANTS}+="bluetooth.target" +-ENV{ID_SMARTCARD_READER}=="*?", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target" ++ENV{ID_SMARTCARD_READER}=="?*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target" + SUBSYSTEM=="sound", KERNEL=="card*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sound.target" + + SUBSYSTEM=="printer", TAG+="systemd", ENV{SYSTEMD_WANTS}+="printer.target" +diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c +index b8e275d..1840594 100644 +--- a/src/cgls/cgls.c ++++ b/src/cgls/cgls.c +@@ -35,6 +35,10 @@ + #include "build.h" + #include "output-mode.h" + #include "fileio.h" ++#include "sd-bus.h" ++#include "bus-util.h" ++#include "bus-error.h" ++#include "unit-name.h" + + static bool arg_no_pager = false; + static bool arg_kernel_threads = false; +@@ -127,6 +131,7 @@ int main(int argc, char *argv[]) { + int r = 0, retval = EXIT_FAILURE; + int output_flags; + char _cleanup_free_ *root = NULL; ++ _cleanup_bus_unref_ sd_bus *bus = NULL; + + log_parse_environment(); + log_open(); +@@ -151,6 +156,12 @@ int main(int argc, char *argv[]) { + arg_all * OUTPUT_SHOW_ALL | + (arg_full > 0) * OUTPUT_FULL_WIDTH; + ++ r = bus_open_transport(BUS_TRANSPORT_LOCAL, NULL, false, &bus); ++ if (r < 0) { ++ log_error("Failed to create bus connection: %s", strerror(-r)); ++ goto finish; ++ } ++ + if (optind < argc) { + int i; + +@@ -189,8 +200,52 @@ int main(int argc, char *argv[]) { + } else { + if (arg_machine) { + char *m; ++ const char *cgroup; ++ _cleanup_free_ char *scope = NULL; ++ _cleanup_free_ char *path = NULL; ++ _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; ++ _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; ++ + m = strappenda("/run/systemd/machines/", arg_machine); +- r = parse_env_file(m, NEWLINE, "CGROUP", &root, NULL); ++ r = parse_env_file(m, NEWLINE, "SCOPE", &scope, NULL); ++ if (r < 0) { ++ log_error("Failed to get machine path: %s", strerror(-r)); ++ goto finish; ++ } ++ ++ path = unit_dbus_path_from_name(scope); ++ if (!path) { ++ r = log_oom(); ++ goto finish; ++ } ++ ++ r = sd_bus_get_property( ++ bus, ++ "org.freedesktop.systemd1", ++ path, ++ "org.freedesktop.systemd1.Scope", ++ "ControlGroup", ++ &error, ++ &reply, ++ "s"); ++ ++ if (r < 0) { ++ log_error("Failed to query ControlGroup: %s", bus_error_message(&error, -r)); ++ goto finish; ++ } ++ ++ r = sd_bus_message_read(reply, "s", &cgroup); ++ if (r < 0) { ++ bus_log_parse_error(r); ++ goto finish; ++ } ++ ++ root = strdup(cgroup); ++ if (!root) { ++ r = log_oom(); ++ goto finish; ++ } ++ + } else + r = cg_get_root_path(&root); + if (r < 0) { +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 3dd4c91..4201e1e 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -871,7 +871,7 @@ int manager_setup_cgroup(Manager *m) { + safe_close(m->pin_cgroupfs_fd); + + m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK); +- if (r < 0) { ++ if (m->pin_cgroupfs_fd < 0) { + log_error("Failed to open pin file: %m"); + return -errno; + } +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c +index 775825b..5b1c4e3 100644 +--- a/src/core/dbus-cgroup.c ++++ b/src/core/dbus-cgroup.c +@@ -173,6 +173,7 @@ int bus_cgroup_set_property( + + if (mode != UNIT_CHECK) { + c->cpu_accounting = b; ++ u->cgroup_realized_mask &= ~CGROUP_CPUACCT; + unit_write_drop_in_private(u, mode, name, b ? "CPUAccounting=yes" : "CPUAccounting=no"); + } + +@@ -192,6 +193,7 @@ int bus_cgroup_set_property( + + if (mode != UNIT_CHECK) { + c->cpu_shares = ul; ++ u->cgroup_realized_mask &= ~CGROUP_CPU; + unit_write_drop_in_private_format(u, mode, name, "CPUShares=%lu", ul); + } + +@@ -206,6 +208,7 @@ int bus_cgroup_set_property( + + if (mode != UNIT_CHECK) { + c->blockio_accounting = b; ++ u->cgroup_realized_mask &= ~CGROUP_BLKIO; + unit_write_drop_in_private(u, mode, name, b ? "BlockIOAccounting=yes" : "BlockIOAccounting=no"); + } + +@@ -225,6 +228,7 @@ int bus_cgroup_set_property( + + if (mode != UNIT_CHECK) { + c->blockio_weight = ul; ++ u->cgroup_realized_mask &= ~CGROUP_BLKIO; + unit_write_drop_in_private_format(u, mode, name, "BlockIOWeight=%lu", ul); + } + +@@ -294,6 +298,8 @@ int bus_cgroup_set_property( + cgroup_context_free_blockio_device_bandwidth(c, a); + } + ++ u->cgroup_realized_mask &= ~CGROUP_BLKIO; ++ + f = open_memstream(&buf, &size); + if (!f) + return -ENOMEM; +@@ -375,6 +381,8 @@ int bus_cgroup_set_property( + cgroup_context_free_blockio_device_weight(c, c->blockio_device_weights); + } + ++ u->cgroup_realized_mask &= ~CGROUP_BLKIO; ++ + f = open_memstream(&buf, &size); + if (!f) + return -ENOMEM; +@@ -398,6 +406,7 @@ int bus_cgroup_set_property( + + if (mode != UNIT_CHECK) { + c->memory_accounting = b; ++ u->cgroup_realized_mask &= ~CGROUP_MEMORY; + unit_write_drop_in_private(u, mode, name, b ? "MemoryAccounting=yes" : "MemoryAccounting=no"); + } + +@@ -412,6 +421,7 @@ int bus_cgroup_set_property( + + if (mode != UNIT_CHECK) { + c->memory_limit = limit; ++ u->cgroup_realized_mask &= ~CGROUP_MEMORY; + unit_write_drop_in_private_format(u, mode, name, "%s=%" PRIu64, name, limit); + } + +@@ -433,6 +443,7 @@ int bus_cgroup_set_property( + char *buf; + + c->device_policy = p; ++ u->cgroup_realized_mask &= ~CGROUP_DEVICE; + + buf = strappenda("DevicePolicy=", policy); + unit_write_drop_in_private(u, mode, name, buf); +@@ -511,6 +522,8 @@ int bus_cgroup_set_property( + cgroup_context_free_device_allow(c, c->device_allow); + } + ++ u->cgroup_realized_mask &= ~CGROUP_DEVICE; ++ + f = open_memstream(&buf, &size); + if (!f) + return -ENOMEM; +diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c +index 13b3d0d..37d4154 100644 +--- a/src/core/dbus-execute.c ++++ b/src/core/dbus-execute.c +@@ -842,7 +842,7 @@ int bus_exec_context_set_transient_property( + strv_free(c->environment); + c->environment = e; + +- joined = strv_join(c->environment, " "); ++ joined = strv_join_quoted(c->environment); + if (!joined) + return -ENOMEM; + +diff --git a/src/core/job.c b/src/core/job.c +index 35a9de6..dc4f441 100644 +--- a/src/core/job.c ++++ b/src/core/job.c +@@ -1060,6 +1060,9 @@ int job_coldplug(Job *j) { + if (r < 0) + return r; + ++ if (j->state == JOB_WAITING) ++ job_add_to_run_queue(j); ++ + if (j->begin_usec == 0 || j->unit->job_timeout == 0) + return 0; + +diff --git a/src/core/killall.c b/src/core/killall.c +index 57ed41c..eab48f7 100644 +--- a/src/core/killall.c ++++ b/src/core/killall.c +@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) { + continue; + + if (sig == SIGKILL) { +- _cleanup_free_ char *s; ++ _cleanup_free_ char *s = NULL; + + get_process_comm(pid, &s); + log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s)); +diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c +index d459afe..2a58e48 100644 +--- a/src/core/machine-id-setup.c ++++ b/src/core/machine-id-setup.c +@@ -93,32 +93,9 @@ static int generate(char id[34], const char *root) { + } + } + +- /* If that didn't work, see if we are running in qemu/kvm and a +- * machine ID was passed in via -uuid on the qemu/kvm command +- * line */ +- +- r = detect_vm(&vm_id); +- if (r > 0 && streq(vm_id, "kvm")) { +- char uuid[37]; +- +- fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW); +- if (fd >= 0) { +- k = loop_read(fd, uuid, 36, false); +- safe_close(fd); +- +- if (k >= 36) { +- r = shorten_uuid(id, uuid); +- if (r >= 0) { +- log_info("Initializing machine ID from KVM UUID."); +- return 0; +- } +- } +- } +- } +- +- /* If that didn't work either, see if we are running in a +- * container, and a machine ID was passed in via +- * $container_uuid the way libvirt/LXC does it */ ++ /* If that didn't work, see if we are running in a container, ++ * and a machine ID was passed in via $container_uuid the way ++ * libvirt/LXC does it */ + r = detect_container(NULL); + if (r > 0) { + _cleanup_free_ char *e = NULL; +@@ -133,6 +110,30 @@ static int generate(char id[34], const char *root) { + } + } + } ++ ++ } else { ++ /* If we are not running in a container, see if we are ++ * running in qemu/kvm and a machine ID was passed in ++ * via -uuid on the qemu/kvm command line */ ++ ++ r = detect_vm(&vm_id); ++ if (r > 0 && streq(vm_id, "kvm")) { ++ char uuid[37]; ++ ++ fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW); ++ if (fd >= 0) { ++ k = loop_read(fd, uuid, 36, false); ++ safe_close(fd); ++ ++ if (k >= 36) { ++ r = shorten_uuid(id, uuid); ++ if (r >= 0) { ++ log_info("Initializing machine ID from KVM UUID."); ++ return 0; ++ } ++ } ++ } ++ } + } + + /* If that didn't work, generate a random machine id */ diff --git a/src/core/main.c b/src/core/main.c -index 41605ee..8517369 100644 +index 41605ee..c65701d 100644 --- a/src/core/main.c +++ b/src/core/main.c -@@ -1883,7 +1883,7 @@ finish: +@@ -1840,6 +1840,7 @@ finish: + if (reexecute) { + const char **args; + unsigned i, args_size; ++ sigset_t ss; + + /* Close and disarm the watchdog, so that the new + * instance can reinitialize it, but doesn't get +@@ -1883,7 +1884,7 @@ finish: char_array_0(sfd); i = 0; @@ -41,6 +411,83 @@ index 41605ee..8517369 100644 if (switch_root_dir) args[i++] = "--switched-root"; args[i++] = arg_running_as == SYSTEMD_SYSTEM ? "--system" : "--user"; +@@ -1923,6 +1924,13 @@ finish: + args[i++] = NULL; + assert(i <= args_size); + ++ /* reenable any blocked signals, especially important ++ * if we switch from initial ramdisk to init=... */ ++ reset_all_signal_handlers(); ++ ++ assert_se(sigemptyset(&ss) == 0); ++ assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0); ++ + if (switch_root_init) { + args[0] = switch_root_init; + execv(args[0], (char* const*) args); +diff --git a/src/core/manager.c b/src/core/manager.c +index 224106c..7342095 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -422,7 +422,7 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) { + return -ENOMEM; + + #ifdef ENABLE_EFI +- if (detect_container(NULL) <= 0) ++ if (running_as == SYSTEMD_SYSTEM && detect_container(NULL) <= 0) + boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp); + #endif + +@@ -2129,9 +2129,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) { + if (u->id != t) + continue; + +- if (!unit_can_serialize(u)) +- continue; +- + /* Start marker */ + fputs(u->id, f); + fputc('\n', f); +diff --git a/src/core/namespace.c b/src/core/namespace.c +index 9f15211..e41cf5b 100644 +--- a/src/core/namespace.c ++++ b/src/core/namespace.c +@@ -42,6 +42,7 @@ + #include "mkdir.h" + #include "dev-setup.h" + #include "def.h" ++#include "label.h" + + typedef enum MountMode { + /* This is ordered by priority! */ +@@ -68,6 +69,7 @@ static int append_mounts(BindMount **p, char **strv, MountMode mode) { + STRV_FOREACH(i, strv) { + + (*p)->ignore = false; ++ (*p)->done = false; + + if ((mode == INACCESSIBLE || mode == READONLY || mode == READWRITE) && (*i)[0] == '-') { + (*p)->ignore = true; +@@ -217,7 +219,10 @@ static int mount_dev(BindMount *m) { + goto fail; + } + ++ label_context_set(d, st.st_mode); + r = mknod(dn, st.st_mode, st.st_rdev); ++ label_context_clear(); ++ + if (r < 0) { + r = -errno; + goto fail; +@@ -350,7 +355,7 @@ int setup_namespace( + private_dev; + + if (n > 0) { +- m = mounts = (BindMount *) alloca(n * sizeof(BindMount)); ++ m = mounts = (BindMount *) alloca0(n * sizeof(BindMount)); + r = append_mounts(&m, read_write_dirs, READWRITE); + if (r < 0) + return r; diff --git a/src/core/service.c b/src/core/service.c index ae3695a..6b3aa45 100644 --- a/src/core/service.c @@ -58,7 +505,7 @@ index ae3695a..6b3aa45 100644 log_error_unit(UNIT(s)->id, "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id); return -EINVAL; diff --git a/src/core/socket.c b/src/core/socket.c -index 7c18a2b..eba67d5 100644 +index 7c18a2b..1a560a6 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -663,16 +663,25 @@ static int instance_from_socket(int fd, unsigned nr, char **instance) { @@ -96,6 +543,115 @@ index 7c18a2b..eba67d5 100644 break; } +@@ -1242,6 +1251,8 @@ static int socket_spawn(Socket *s, ExecCommand *c, pid_t *_pid) { + NULL, + s->exec_runtime, + &pid); ++ if (r < 0) ++ goto fail; + + strv_free(argv); + if (r < 0) +@@ -1497,6 +1508,12 @@ static void socket_enter_running(Socket *s, int cfd) { + } + + if (!pending) { ++ if (!UNIT_ISSET(s->service)) { ++ log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id); ++ r = -ENOENT; ++ goto fail; ++ } ++ + r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL); + if (r < 0) + goto fail; +diff --git a/src/core/timer.c b/src/core/timer.c +index 6c85304..720b8af 100644 +--- a/src/core/timer.c ++++ b/src/core/timer.c +@@ -111,6 +111,23 @@ static int timer_add_default_dependencies(Timer *t) { + return unit_add_two_dependencies_by_name(UNIT(t), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true); + } + ++static void update_stampfile(Timer *t, usec_t timestamp) { ++ _cleanup_close_ int fd = -1; ++ ++ mkdir_parents_label(t->stamp_path, 0755); ++ ++ /* Update the file atime + mtime, if we can */ ++ fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644); ++ if (fd >= 0) { ++ struct timespec ts[2]; ++ ++ timespec_store(&ts[0], timestamp); ++ ts[1] = ts[0]; ++ ++ futimens(fd, ts); ++ } ++} ++ + static int timer_setup_persistent(Timer *t) { + int r; + +@@ -131,7 +148,7 @@ static int timer_setup_persistent(Timer *t) { + + e = getenv("XDG_DATA_HOME"); + if (e) +- t->stamp_path = strjoin(e, "/systemd/timers/", UNIT(t)->id, NULL); ++ t->stamp_path = strjoin(e, "/systemd/timers/stamp-", UNIT(t)->id, NULL); + else { + + _cleanup_free_ char *h = NULL; +@@ -496,22 +513,8 @@ static void timer_enter_running(Timer *t) { + + dual_timestamp_get(&t->last_trigger); + +- if (t->stamp_path) { +- _cleanup_close_ int fd = -1; +- +- mkdir_parents_label(t->stamp_path, 0755); +- +- /* Update the file atime + mtime, if we can */ +- fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644); +- if (fd >= 0) { +- struct timespec ts[2]; +- +- timespec_store(&ts[0], t->last_trigger.realtime); +- ts[1] = ts[0]; +- +- futimens(fd, ts); +- } +- } ++ if (t->stamp_path) ++ update_stampfile(t, t->last_trigger.realtime); + + timer_set_state(t, TIMER_RUNNING); + return; +@@ -539,6 +542,11 @@ static int timer_start(Unit *u) { + + if (stat(t->stamp_path, &st) >= 0) + t->last_trigger.realtime = timespec_load(&st.st_atim); ++ else if (errno == ENOENT) ++ /* The timer has never run before, ++ * make sure a stamp file exists. ++ */ ++ update_stampfile(t, now(CLOCK_REALTIME)); + } + + t->result = TIMER_SUCCESS; +diff --git a/src/core/transaction.c b/src/core/transaction.c +index d00f427..2befc32 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -378,7 +378,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + "Found dependency on %s/%s", + k->unit->id, job_type_to_string(k->type)); + +- if (!delete && ++ if (!delete && hashmap_get(tr->jobs, k->unit) && + !unit_matters_to_anchor(k->unit, k)) { + /* Ok, we can drop this one, so let's + * do so. */ diff --git a/src/core/umount.c b/src/core/umount.c index d1258f0..0311812 100644 --- a/src/core/umount.c @@ -109,6 +665,195 @@ index d1258f0..0311812 100644 #ifndef HAVE_SPLIT_USR || path_equal(m->path, "/usr") #endif +diff --git a/src/core/unit.c b/src/core/unit.c +index 153b79b..ed52694 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -2287,25 +2287,25 @@ bool unit_can_serialize(Unit *u) { + } + + int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs) { +- ExecRuntime *rt; + int r; + + assert(u); + assert(f); + assert(fds); + +- if (!unit_can_serialize(u)) +- return 0; +- +- r = UNIT_VTABLE(u)->serialize(u, f, fds); +- if (r < 0) +- return r; ++ if (unit_can_serialize(u)) { ++ ExecRuntime *rt; + +- rt = unit_get_exec_runtime(u); +- if (rt) { +- r = exec_runtime_serialize(rt, u, f, fds); ++ r = UNIT_VTABLE(u)->serialize(u, f, fds); + if (r < 0) + return r; ++ ++ rt = unit_get_exec_runtime(u); ++ if (rt) { ++ r = exec_runtime_serialize(rt, u, f, fds); ++ if (r < 0) ++ return r; ++ } + } + + dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp); +@@ -2367,17 +2367,14 @@ void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value) { + } + + int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { +- size_t offset; + ExecRuntime **rt = NULL; ++ size_t offset; + int r; + + assert(u); + assert(f); + assert(fds); + +- if (!unit_can_serialize(u)) +- return 0; +- + offset = UNIT_VTABLE(u)->exec_runtime_offset; + if (offset > 0) + rt = (ExecRuntime**) ((uint8_t*) u + offset); +@@ -2487,24 +2484,34 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) { + if (!s) + return -ENOMEM; + +- free(u->cgroup_path); +- u->cgroup_path = s; ++ if (u->cgroup_path) { ++ void *p; + ++ p = hashmap_remove(u->manager->cgroup_unit, u->cgroup_path); ++ log_info("Removing cgroup_path %s from hashmap (%p)", ++ u->cgroup_path, p); ++ free(u->cgroup_path); ++ } ++ ++ u->cgroup_path = s; + assert(hashmap_put(u->manager->cgroup_unit, s, u) == 1); ++ + continue; + } + +- if (rt) { +- r = exec_runtime_deserialize_item(rt, u, l, v, fds); ++ if (unit_can_serialize(u)) { ++ if (rt) { ++ r = exec_runtime_deserialize_item(rt, u, l, v, fds); ++ if (r < 0) ++ return r; ++ if (r > 0) ++ continue; ++ } ++ ++ r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds); + if (r < 0) + return r; +- if (r > 0) +- continue; + } +- +- r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds); +- if (r < 0) +- return r; + } + } + +diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c +index 75d56dd..be8fb2f 100644 +--- a/src/cryptsetup/cryptsetup-generator.c ++++ b/src/cryptsetup/cryptsetup-generator.c +@@ -29,6 +29,7 @@ + #include "mkdir.h" + #include "strv.h" + #include "fileio.h" ++#include "path-util.h" + + static const char *arg_dest = "/tmp"; + static bool arg_enabled = true; +@@ -144,16 +145,19 @@ static int create_disk( + if (!uu) + return log_oom(); + +- if (is_device_path(uu)) { +- _cleanup_free_ char *dd; ++ if (!path_equal(uu, "/dev/null")) { + +- dd = unit_name_from_path(uu, ".device"); +- if (!dd) +- return log_oom(); ++ if (is_device_path(uu)) { ++ _cleanup_free_ char *dd; + +- fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); +- } else +- fprintf(f, "RequiresMountsFor=%s\n", password); ++ dd = unit_name_from_path(uu, ".device"); ++ if (!dd) ++ return log_oom(); ++ ++ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); ++ } else ++ fprintf(f, "RequiresMountsFor=%s\n", password); ++ } + } + } + +@@ -287,7 +291,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) { + } else if (STR_IN_SET(key, "luks.key", "rd.luks.key") && value) { + + free(arg_keyfile); +- arg_keyfile = strdup(key); ++ arg_keyfile = strdup(value); + if (!arg_keyfile) + return log_oom(); + +diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c +index 9b9074c..ad6c76c 100644 +--- a/src/cryptsetup/cryptsetup.c ++++ b/src/cryptsetup/cryptsetup.c +@@ -88,6 +88,13 @@ static int parse_one_option(const char *option) { + return 0; + } + ++ if (arg_key_size % 8) { ++ log_error("size= not a multiple of 8, ignoring."); ++ return 0; ++ } ++ ++ arg_key_size /= 8; ++ + } else if (startswith(option, "key-slot=")) { + + arg_type = CRYPT_LUKS1; +@@ -404,7 +411,7 @@ static int attach_luks_or_plain(struct crypt_device *cd, + /* for CRYPT_PLAIN limit reads + * from keyfile to key length, and + * ignore keyfile-size */ +- arg_keyfile_size = arg_key_size / 8; ++ arg_keyfile_size = arg_key_size; + + /* In contrast to what the name + * crypt_setup() might suggest this +@@ -567,7 +574,7 @@ int main(int argc, char *argv[]) { + else + until = 0; + +- arg_key_size = (arg_key_size > 0 ? arg_key_size : 256); ++ arg_key_size = (arg_key_size > 0 ? arg_key_size : (256 / 8)); + + if (key_file) { + struct stat st; diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c index 18f2aca..2a2b1ea 100644 --- a/src/fsck/fsck.c @@ -131,11 +876,598 @@ index 18f2aca..2a2b1ea 100644 cmdline[i++] = "-a"; cmdline[i++] = "-T"; cmdline[i++] = "-l"; +diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c +index 6a4aa2c..700e90a 100644 +--- a/src/getty-generator/getty-generator.c ++++ b/src/getty-generator/getty-generator.c +@@ -72,7 +72,7 @@ static int add_serial_getty(const char *tty) { + + log_debug("Automatically adding serial getty for /dev/%s.", tty); + +- n = unit_name_replace_instance("serial-getty@.service", tty); ++ n = unit_name_from_path_instance("serial-getty", tty, ".service"); + if (!n) + return log_oom(); + +@@ -86,7 +86,7 @@ static int add_container_getty(const char *tty) { + + log_debug("Automatically adding container getty for /dev/pts/%s.", tty); + +- n = unit_name_replace_instance("container-getty@.service", tty); ++ n = unit_name_from_path_instance("container-getty", tty, ".service"); + if (!n) + return log_oom(); + +diff --git a/src/journal/catalog.c b/src/journal/catalog.c +index 3ed0b7e..02dedc4 100644 +--- a/src/journal/catalog.c ++++ b/src/journal/catalog.c +@@ -103,7 +103,7 @@ static int finish_item( + const char *payload) { + + ssize_t offset; +- CatalogItem *i; ++ _cleanup_free_ CatalogItem *i = NULL; + int r; + + assert(h); +@@ -126,13 +126,14 @@ static int finish_item( + i->offset = htole64((uint64_t) offset); + + r = hashmap_put(h, i, i); +- if (r == EEXIST) { ++ if (r == -EEXIST) { + log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.", + SD_ID128_FORMAT_VAL(id), language ? language : "C"); +- free(i); + return 0; +- } ++ } else if (r < 0) ++ return r; + ++ i = NULL; + return 0; + } + +@@ -383,8 +384,8 @@ error: + int catalog_update(const char* database, const char* root, const char* const* dirs) { + _cleanup_strv_free_ char **files = NULL; + char **f; +- Hashmap *h; + struct strbuf *sb = NULL; ++ _cleanup_hashmap_free_free_ Hashmap *h = NULL; + _cleanup_free_ CatalogItem *items = NULL; + CatalogItem *i; + Iterator j; +@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di + } + + STRV_FOREACH(f, files) { +- log_debug("reading file '%s'", *f); +- catalog_import_file(h, sb, *f); ++ log_debug("Reading file '%s'", *f); ++ r = catalog_import_file(h, sb, *f); ++ if (r < 0) { ++ log_error("Failed to import file '%s': %s.", ++ *f, strerror(-r)); ++ goto finish; ++ } + } + + if (hashmap_size(h) <= 0) { + log_info("No items in catalog."); +- r = 0; + goto finish; + } else + log_debug("Found %u items in catalog.", hashmap_size(h)); +@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di + log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.", + database, n, sb->len, r); + +- r = 0; +- + finish: +- if (h) +- hashmap_free_free(h); + if (sb) + strbuf_cleanup(sb); + +diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c +index f2f1f35..fd9d2a8 100644 +--- a/src/journal/journal-file.c ++++ b/src/journal/journal-file.c +@@ -274,12 +274,6 @@ static int journal_file_verify_header(JournalFile *f) { + !VALID64(le64toh(f->header->entry_array_offset))) + return -ENODATA; + +- if (le64toh(f->header->data_hash_table_offset) < le64toh(f->header->header_size) || +- le64toh(f->header->field_hash_table_offset) < le64toh(f->header->header_size) || +- le64toh(f->header->tail_object_offset) < le64toh(f->header->header_size) || +- le64toh(f->header->entry_array_offset) < le64toh(f->header->header_size)) +- return -ENODATA; +- + if (f->writable) { + uint8_t state; + sd_id128_t machine_id; +diff --git a/src/journal/journal-remote-parse.c b/src/journal/journal-remote-parse.c +index 142de0e..239ff38 100644 +--- a/src/journal/journal-remote-parse.c ++++ b/src/journal/journal-remote-parse.c +@@ -40,7 +40,7 @@ void source_free(RemoteSource *source) { + + static int get_line(RemoteSource *source, char **line, size_t *size) { + ssize_t n, remain; +- char *c; ++ char *c = NULL; + char *newbuf = NULL; + size_t newsize = 0; + +@@ -49,7 +49,9 @@ static int get_line(RemoteSource *source, char **line, size_t *size) { + assert(source->filled <= source->size); + assert(source->buf == NULL || source->size > 0); + +- c = memchr(source->buf, '\n', source->filled); ++ if (source->buf) ++ c = memchr(source->buf, '\n', source->filled); ++ + if (c != NULL) + goto docopy; + +diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c +index 35948ea..48725e4 100644 +--- a/src/journal/journald-kmsg.c ++++ b/src/journal/journald-kmsg.c +@@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { + /* Did we lose any? */ + if (serial > *s->kernel_seqnum) + server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages", +- serial - *s->kernel_seqnum - 1); ++ serial - *s->kernel_seqnum); + + /* Make sure we never read this one again. Note that + * we always store the next message serial we expect +diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c +index 6da81e7..b6f8e7e 100644 +--- a/src/journal/journald-server.c ++++ b/src/journal/journald-server.c +@@ -67,6 +67,7 @@ + #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE) + #define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC) + #define DEFAULT_RATE_LIMIT_BURST 1000 ++#define DEFAULT_MAX_FILE_USEC USEC_PER_MONTH + + #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC) + +@@ -1473,6 +1474,8 @@ int server_init(Server *s) { + s->forward_to_syslog = true; + s->forward_to_wall = true; + ++ s->max_file_usec = DEFAULT_MAX_FILE_USEC; ++ + s->max_level_store = LOG_DEBUG; + s->max_level_syslog = LOG_DEBUG; + s->max_level_kmsg = LOG_NOTICE; +diff --git a/src/journal/microhttpd-util.c b/src/journal/microhttpd-util.c +index f693e0f..9a8d5c6 100644 +--- a/src/journal/microhttpd-util.c ++++ b/src/journal/microhttpd-util.c +@@ -129,7 +129,7 @@ void log_func_gnutls(int level, const char *message) { + if (0 <= level && level < (int) ELEMENTSOF(log_level_map)) + ourlevel = log_level_map[level]; + else +- level = LOG_DEBUG; ++ ourlevel = LOG_DEBUG; + + log_meta(ourlevel, NULL, 0, NULL, "gnutls: %s", message); + } +diff --git a/src/journal/test-catalog.c b/src/journal/test-catalog.c +index b087a8b..967ab67 100644 +--- a/src/journal/test-catalog.c ++++ b/src/journal/test-catalog.c +@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) { + + setlocale(LC_ALL, "de_DE.UTF-8"); + +- log_set_max_level(LOG_DEBUG); ++ log_parse_environment(); ++ log_open(); + + test_catalog_file_lang(); + +diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c +index ba1b04d..85b1e40 100644 +--- a/src/libudev/libudev-monitor.c ++++ b/src/libudev/libudev-monitor.c +@@ -108,15 +108,13 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev) + + /* we consider udev running when /dev is on devtmpfs */ + static bool udev_has_devtmpfs(struct udev *udev) { +- struct file_handle *h; ++ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, }; + int mount_id; + _cleanup_fclose_ FILE *f = NULL; + char line[LINE_MAX], *e; + int r; + +- h = alloca(MAX_HANDLE_SZ); +- h->handle_bytes = MAX_HANDLE_SZ; +- r = name_to_handle_at(AT_FDCWD, "/dev", h, &mount_id, 0); ++ r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0); + if (r < 0) + return false; + +diff --git a/src/login/70-uaccess.rules b/src/login/70-uaccess.rules +index e1cf897..57f619d 100644 +--- a/src/login/70-uaccess.rules ++++ b/src/login/70-uaccess.rules +@@ -12,7 +12,7 @@ ENV{MAJOR}=="", GOTO="uaccess_end" + SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="uaccess" + + # Digicams with proprietary protocol +-ENV{ID_GPHOTO2}=="*?", TAG+="uaccess" ++ENV{ID_GPHOTO2}=="?*", TAG+="uaccess" + + # SCSI and USB scanners + ENV{libsane_matched}=="yes", TAG+="uaccess" +@@ -49,13 +49,13 @@ SUBSYSTEM=="drm", KERNEL=="card*|renderD*", TAG+="uaccess" + SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess" + + # smart-card readers +-ENV{ID_SMARTCARD_READER}=="*?", TAG+="uaccess" ++ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess" + + # (USB) authentication devices +-ENV{ID_SECURITY_TOKEN}=="*?", TAG+="uaccess" ++ENV{ID_SECURITY_TOKEN}=="?*", TAG+="uaccess" + + # PDA devices +-ENV{ID_PDA}=="*?", TAG+="uaccess" ++ENV{ID_PDA}=="?*", TAG+="uaccess" + + # Programmable remote control + ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess" +@@ -64,10 +64,10 @@ ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess" + SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="uaccess" + + # color measurement devices +-ENV{COLOR_MEASUREMENT_DEVICE}=="*?", TAG+="uaccess" ++ENV{COLOR_MEASUREMENT_DEVICE}=="?*", TAG+="uaccess" + + # DDC/CI device, usually high-end monitors such as the DreamColor +-ENV{DDC_DEVICE}=="*?", TAG+="uaccess" ++ENV{DDC_DEVICE}=="?*", TAG+="uaccess" + + # media player raw devices (for user-mode drivers, Android SDK, etc.) + SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess" +diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c +index dc86f0f..4bbeb64 100644 +--- a/src/login/logind-acl.c ++++ b/src/login/logind-acl.c +@@ -279,7 +279,9 @@ int devnode_acl_all(struct udev *udev, + + log_debug("Fixing up ACLs at %s for seat %s", n, seat); + k = devnode_acl(n, flush, del, old_uid, add, new_uid); +- if (k < 0) ++ if (k == -ENOENT) ++ log_debug("Device %s disappeared while setting ACLs", n); ++ else if (k < 0) + r = k; + } + +diff --git a/src/login/logind-action.c b/src/login/logind-action.c +index 1928f43..d69c7ad 100644 +--- a/src/login/logind-action.c ++++ b/src/login/logind-action.c +@@ -79,14 +79,12 @@ int manager_handle_action( + return 0; + } + +- /* If we have more than one or no displays connected, +- * don't react to lid closing. The no display case we +- * treat like this under the assumption that there is +- * no modern drm driver available. */ ++ /* If we have more than one display connected, ++ * don't react to lid closing. */ + n = manager_count_displays(m); + if (n < 0) + log_warning("Display counting failed: %s", strerror(-n)); +- else if (n != 1) { ++ else if (n > 1) { + log_debug("Ignoring lid switch request, %i displays connected.", n); + return 0; + } +diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c +index 3f5efdc..1ee6ced 100644 +--- a/src/login/logind-seat.c ++++ b/src/login/logind-seat.c +@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) { + if (!num) + return -EINVAL; + +- if (num >= s->position_count || !s->positions[num]) ++ if (num >= s->position_count || !s->positions[num]) { ++ /* allow switching to unused VTs to trigger auto-activate */ ++ if (seat_has_vts(s) && num < 64) ++ return chvt(num); ++ + return -EINVAL; ++ } + + return session_activate(s->positions[num]); + } +diff --git a/src/login/logind-session.c b/src/login/logind-session.c +index 4ca6b5d..02a780d 100644 +--- a/src/login/logind-session.c ++++ b/src/login/logind-session.c +@@ -213,7 +213,6 @@ int session_save(Session *s) { + + if (s->scope) + fprintf(f, "SCOPE=%s\n", s->scope); +- + if (s->scope_job) + fprintf(f, "SCOPE_JOB=%s\n", s->scope_job); + +@@ -229,17 +228,54 @@ int session_save(Session *s) { + if (s->display) + fprintf(f, "DISPLAY=%s\n", s->display); + +- if (s->remote_host) +- fprintf(f, "REMOTE_HOST=%s\n", s->remote_host); ++ if (s->remote_host) { ++ _cleanup_free_ char *escaped; ++ ++ escaped = cescape(s->remote_host); ++ if (!escaped) { ++ r = -ENOMEM; ++ goto finish; ++ } ++ ++ fprintf(f, "REMOTE_HOST=%s\n", escaped); ++ } ++ ++ if (s->remote_user) { ++ _cleanup_free_ char *escaped; ++ ++ escaped = cescape(s->remote_user); ++ if (!escaped) { ++ r = -ENOMEM; ++ goto finish; ++ } ++ ++ fprintf(f, "REMOTE_USER=%s\n", escaped); ++ } ++ ++ if (s->service) { ++ _cleanup_free_ char *escaped; + +- if (s->remote_user) +- fprintf(f, "REMOTE_USER=%s\n", s->remote_user); ++ escaped = cescape(s->service); ++ if (!escaped) { ++ r = -ENOMEM; ++ goto finish; ++ } ++ ++ fprintf(f, "SERVICE=%s\n", escaped); ++ } + +- if (s->service) +- fprintf(f, "SERVICE=%s\n", s->service); ++ if (s->desktop) { ++ _cleanup_free_ char *escaped; + +- if (s->desktop) +- fprintf(f, "DESKTOP=%s\n", s->desktop); ++ ++ escaped = cescape(s->desktop); ++ if (!escaped) { ++ r = -ENOMEM; ++ goto finish; ++ } ++ ++ fprintf(f, "DESKTOP=%s\n", escaped); ++ } + + if (s->seat && seat_has_vts(s->seat)) + fprintf(f, "VTNR=%u\n", s->vtnr); +@@ -972,6 +1008,10 @@ void session_mute_vt(Session *s) { + if (vt < 0) + return; + ++ r = fchown(vt, s->user->uid, -1); ++ if (r < 0) ++ goto error; ++ + r = ioctl(vt, KDSKBMODE, K_OFF); + if (r < 0) + goto error; +@@ -1026,6 +1066,8 @@ void session_restore_vt(Session *s) { + mode.mode = VT_AUTO; + ioctl(vt, VT_SETMODE, &mode); + ++ fchown(vt, 0, -1); ++ + s->vtfd = safe_close(s->vtfd); + } + +diff --git a/src/login/org.freedesktop.login1.policy.in b/src/login/org.freedesktop.login1.policy.in +index b96d32d..b8e90f1 100644 +--- a/src/login/org.freedesktop.login1.policy.in ++++ b/src/login/org.freedesktop.login1.policy.in +@@ -254,7 +254,7 @@ + + auth_admin_keep + auth_admin_keep +- auth_admin_keep ++ yes + + org.freedesktop.login1.hibernate + +diff --git a/src/login/pam-module.c b/src/login/pam-module.c +index 9873dd5..1259457 100644 +--- a/src/login/pam-module.c ++++ b/src/login/pam-module.c +@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( + } + + if (session_fd >= 0) { +- session_fd = dup(session_fd); ++ session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3); + if (session_fd < 0) { + pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m"); + return PAM_SESSION_ERR; +diff --git a/src/machine/machine.c b/src/machine/machine.c +index 9a5cc9a..de701ad 100644 +--- a/src/machine/machine.c ++++ b/src/machine/machine.c +@@ -123,17 +123,42 @@ int machine_save(Machine *m) { + "NAME=%s\n", + m->name); + +- if (m->unit) +- fprintf(f, "SCOPE=%s\n", m->unit); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */ ++ if (m->unit) { ++ _cleanup_free_ char *escaped; ++ ++ escaped = cescape(m->unit); ++ if (!escaped) { ++ r = -ENOMEM; ++ goto finish; ++ } ++ ++ fprintf(f, "SCOPE=%s\n", escaped); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */ ++ } + + if (m->scope_job) + fprintf(f, "SCOPE_JOB=%s\n", m->scope_job); + +- if (m->service) +- fprintf(f, "SERVICE=%s\n", m->service); ++ if (m->service) { ++ _cleanup_free_ char *escaped; + +- if (m->root_directory) +- fprintf(f, "ROOT=%s\n", m->root_directory); ++ escaped = cescape(m->service); ++ if (!escaped) { ++ r = -ENOMEM; ++ goto finish; ++ } ++ fprintf(f, "SERVICE=%s\n", escaped); ++ } ++ ++ if (m->root_directory) { ++ _cleanup_free_ char *escaped; ++ ++ escaped = cescape(m->root_directory); ++ if (!escaped) { ++ r = -ENOMEM; ++ goto finish; ++ } ++ fprintf(f, "ROOT=%s\n", escaped); ++ } + + if (!sd_id128_equal(m->id, SD_ID128_NULL)) + fprintf(f, "ID=" SD_ID128_FORMAT_STR "\n", SD_ID128_FORMAT_VAL(m->id)); +@@ -330,16 +355,18 @@ static int machine_stop_scope(Machine *m) { + if (!m->unit) + return 0; + +- r = manager_stop_unit(m->manager, m->unit, &error, &job); +- if (r < 0) { +- log_error("Failed to stop machine scope: %s", bus_error_message(&error, r)); +- return r; ++ if (!m->registered) { ++ r = manager_stop_unit(m->manager, m->unit, &error, &job); ++ if (r < 0) { ++ log_error("Failed to stop machine scope: %s", bus_error_message(&error, r)); ++ return r; ++ } + } + + free(m->scope_job); + m->scope_job = job; + +- return r; ++ return 0; + } + + int machine_stop(Machine *m) { +@@ -415,6 +442,8 @@ int machine_kill(Machine *m, KillWho who, int signo) { + + if (kill(m->leader, signo) < 0) + return -errno; ++ ++ return 0; + } + + /* Otherwise make PID 1 do it for us, for the entire cgroup */ +diff --git a/src/machine/machine.h b/src/machine/machine.h +index f4aefc5..de3536d 100644 +--- a/src/machine/machine.h ++++ b/src/machine/machine.h +@@ -72,6 +72,7 @@ struct Machine { + + bool in_gc_queue:1; + bool started:1; ++ bool registered:1; + + sd_bus_message *create_message; + +diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c +index 9473105..154a335 100644 +--- a/src/machine/machined-dbus.c ++++ b/src/machine/machined-dbus.c +@@ -241,6 +241,7 @@ static int method_create_or_register_machine(Manager *manager, sd_bus_message *m + m->leader = leader; + m->class = c; + m->id = id; ++ m->registered = true; + + if (!isempty(service)) { + m->service = strdup(service); diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index 9a9ed9d..9e46e18 100644 +index 9a9ed9d..4efa5b7 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -2667,6 +2667,7 @@ int main(int argc, char *argv[]) { +@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) { + return 0; + } + ++static char* id128_format_as_uuid(sd_id128_t id, char s[37]) { ++ ++ snprintf(s, 37, ++ "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", ++ SD_ID128_FORMAT_VAL(id)); ++ ++ return s; ++} ++ + static int setup_boot_id(const char *dest) { + _cleanup_free_ char *from = NULL, *to = NULL; + sd_id128_t rnd = {}; +@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) { + return r; + } + +- snprintf(as_uuid, sizeof(as_uuid), +- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", +- SD_ID128_FORMAT_VAL(rnd)); +- char_array_0(as_uuid); ++ id128_format_as_uuid(rnd, as_uuid); + + r = write_string_file(from, as_uuid); + if (r < 0) { +@@ -2378,7 +2384,7 @@ static int change_uid_gid(char **_home) { + _cleanup_fclose_ FILE *f = NULL; + _cleanup_close_ int fd = -1; + unsigned n_uids = 0; +- size_t sz, l; ++ size_t sz = 0, l; + uid_t uid; + gid_t gid; + pid_t pid; +@@ -2667,6 +2673,7 @@ int main(int argc, char *argv[]) { goto finish; } } else { @@ -143,7 +1475,7 @@ index 9a9ed9d..9e46e18 100644 const char *p; p = strappenda(arg_directory, -@@ -2676,6 +2677,7 @@ int main(int argc, char *argv[]) { +@@ -2676,6 +2683,7 @@ int main(int argc, char *argv[]) { goto finish; } @@ -151,6 +1483,28 @@ index 9a9ed9d..9e46e18 100644 } } else { char template[] = "/tmp/nspawn-root-XXXXXX"; +@@ -2966,7 +2974,9 @@ int main(int argc, char *argv[]) { + } + + if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) { +- if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) { ++ char as_uuid[37]; ++ ++ if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) { + log_oom(); + goto child_fail; + } +@@ -3136,6 +3146,10 @@ int main(int argc, char *argv[]) { + + if (!arg_quiet) + log_info("Container %s is being rebooted.", arg_machine); ++ if (getenv("EXIT_ON_REBOOT") != 0) { ++ r = 10; ++ break; ++ } + continue; + } else if (status.si_code == CLD_KILLED || + status.si_code == CLD_DUMPED) { diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c index d61ecdf..228a3a4 100644 --- a/src/nss-myhostname/netlink.c @@ -166,6 +1520,88 @@ index d61ecdf..228a3a4 100644 if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED) continue; +diff --git a/src/python-systemd/_reader.c b/src/python-systemd/_reader.c +index 059b904..9a19a10 100644 +--- a/src/python-systemd/_reader.c ++++ b/src/python-systemd/_reader.c +@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) { + sd_id128_t id; + _cleanup_free_ char *msg = NULL; + +- assert(!self); + assert(args); + + if (!PyArg_ParseTuple(args, "z:get_catalog", &id_)) +diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py +index 9c7e004..dd1f229 100644 +--- a/src/python-systemd/journal.py ++++ b/src/python-systemd/journal.py +@@ -293,7 +293,7 @@ class Reader(_Reader): + monotonic = monotonic.totalseconds() + monotonic = int(monotonic * 1000000) + if isinstance(bootid, _uuid.UUID): +- bootid = bootid.get_hex() ++ bootid = bootid.hex + return super(Reader, self).seek_monotonic(monotonic, bootid) + + def log_level(self, level): +@@ -314,7 +314,7 @@ class Reader(_Reader): + Equivalent to add_match(MESSAGE_ID=`messageid`). + """ + if isinstance(messageid, _uuid.UUID): +- messageid = messageid.get_hex() ++ messageid = messageid.hex + self.add_match(MESSAGE_ID=messageid) + + def this_boot(self, bootid=None): +@@ -346,7 +346,7 @@ class Reader(_Reader): + + def get_catalog(mid): + if isinstance(mid, _uuid.UUID): +- mid = mid.get_hex() ++ mid = mid.hex + return _get_catalog(mid) + + def _make_line(field, value): +diff --git a/src/readahead/readahead-common.c b/src/readahead/readahead-common.c +index 5ffa88b..49679fc 100644 +--- a/src/readahead/readahead-common.c ++++ b/src/readahead/readahead-common.c +@@ -75,7 +75,7 @@ int fs_on_ssd(const char *p) { + if (major(st.st_dev) == 0) { + _cleanup_fclose_ FILE *f = NULL; + int mount_id; +- struct file_handle *h; ++ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, }; + + /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd. + * +@@ -83,9 +83,7 @@ int fs_on_ssd(const char *p) { + * and then lookup the mount ID in mountinfo to find + * the mount options. */ + +- h = alloca(MAX_HANDLE_SZ); +- h->handle_bytes = MAX_HANDLE_SZ; +- r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW); ++ r = name_to_handle_at(AT_FDCWD, p, &h.handle, &mount_id, AT_SYMLINK_FOLLOW); + if (r < 0) + return false; + +diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c +index d27b1b7..905a2e1 100644 +--- a/src/shared/conf-parser.c ++++ b/src/shared/conf-parser.c +@@ -336,8 +336,8 @@ int config_parse(const char *unit, + if (!f) { + f = ours = fopen(filename, "re"); + if (!f) { +- log_error("Failed to open configuration file '%s': %m", filename); +- return -errno; ++ log_full(errno == ENOENT ? LOG_DEBUG : LOG_ERR, "Failed to open configuration file '%s': %m", filename); ++ return errno == ENOENT ? 0 : -errno; + } + } + diff --git a/src/shared/generator.c b/src/shared/generator.c index 6110303..e679cb1 100644 --- a/src/shared/generator.c @@ -179,10 +1615,359 @@ index 6110303..e679cb1 100644 r = access(checker, X_OK); if (r < 0) { log_warning("Checking was requested for %s, but %s cannot be used: %m", what, checker); +diff --git a/src/shared/install.c b/src/shared/install.c +index 7409046..4517c9c 100644 +--- a/src/shared/install.c ++++ b/src/shared/install.c +@@ -560,7 +560,7 @@ int unit_file_mask( + unsigned *n_changes) { + + char **i; +- _cleanup_free_ char *prefix; ++ _cleanup_free_ char *prefix = NULL; + int r; + + assert(scope >= 0); +diff --git a/src/shared/log.c b/src/shared/log.c +index a4b3b68..890a9fa 100644 +--- a/src/shared/log.c ++++ b/src/shared/log.c +@@ -878,6 +878,9 @@ void log_parse_environment(void) { + if (l == 5 && startswith(w, "debug")) { + log_set_max_level(LOG_DEBUG); + break; ++ } else if (l == 5 && startswith(w, "quiet")) { ++ log_set_max_level(LOG_WARNING); ++ break; + } + } + } +diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c +index 9d14933..b0b66f6 100644 +--- a/src/shared/logs-show.c ++++ b/src/shared/logs-show.c +@@ -547,7 +547,9 @@ static int output_export( + startswith(data, "_BOOT_ID=")) + continue; + +- if (!utf8_is_printable(data, length)) { ++ if (utf8_is_printable_newline(data, length, false)) ++ fwrite(data, length, 1, f); ++ else { + const char *c; + uint64_t le64; + +@@ -562,8 +564,7 @@ static int output_export( + le64 = htole64(length - (c - (const char*) data) - 1); + fwrite(&le64, sizeof(le64), 1, f); + fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f); +- } else +- fwrite(data, length, 1, f); ++ } + + fputc('\n', f); + } +diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c +index 6c167b4..d0e71f2 100644 +--- a/src/shared/unit-name.c ++++ b/src/shared/unit-name.c +@@ -332,7 +332,7 @@ char *unit_name_path_unescape(const char *f) { + } + + bool unit_name_is_template(const char *n) { +- const char *p; ++ const char *p, *e; + + assert(n); + +@@ -340,11 +340,15 @@ bool unit_name_is_template(const char *n) { + if (!p) + return false; + +- return p[1] == '.'; ++ e = strrchr(p+1, '.'); ++ if (!e) ++ return false; ++ ++ return e == p + 1; + } + + bool unit_name_is_instance(const char *n) { +- const char *p; ++ const char *p, *e; + + assert(n); + +@@ -352,7 +356,11 @@ bool unit_name_is_instance(const char *n) { + if (!p) + return false; + +- return p[1] != '.'; ++ e = strrchr(p+1, '.'); ++ if (!e) ++ return false; ++ ++ return e > p + 1; + } + + char *unit_name_replace_instance(const char *f, const char *i) { +diff --git a/src/shared/utf8.c b/src/shared/utf8.c +index 0b524d8..c559c13 100644 +--- a/src/shared/utf8.c ++++ b/src/shared/utf8.c +@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) { + return unichar; + } + +-bool utf8_is_printable(const char* str, size_t length) { ++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) { + const uint8_t *p; + + assert(str); +@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) { + int encoded_len = utf8_encoded_valid_unichar((const char *)p); + int val = utf8_encoded_to_unichar((const char*)p); + +- if (encoded_len < 0 || val < 0 || is_unicode_control(val)) ++ if (encoded_len < 0 || val < 0 || is_unicode_control(val) || ++ (!newline && val == '\n')) + return false; + + length -= encoded_len; +diff --git a/src/shared/utf8.h b/src/shared/utf8.h +index c0eb73a..c087995 100644 +--- a/src/shared/utf8.h ++++ b/src/shared/utf8.h +@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_; + char *ascii_is_valid(const char *s) _pure_; + char *utf8_escape_invalid(const char *s); + +-bool utf8_is_printable(const char* str, size_t length) _pure_; ++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_; ++_pure_ static inline bool utf8_is_printable(const char* str, size_t length) { ++ return utf8_is_printable_newline(str, length, true); ++} + + char *utf16_to_utf8(const void *s, size_t length); + +diff --git a/src/shared/util.c b/src/shared/util.c +index ffe6624..2a2b2b2 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -166,19 +166,19 @@ int close_nointr(int fd) { + + assert(fd >= 0); + r = close(fd); +- +- /* Just ignore EINTR; a retry loop is the wrong +- * thing to do on Linux. +- * +- * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html +- * https://bugzilla.gnome.org/show_bug.cgi?id=682819 +- * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR +- * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain +- */ +- if (_unlikely_(r < 0 && errno == EINTR)) +- return 0; +- else if (r >= 0) ++ if (r >= 0) + return r; ++ else if (errno == EINTR) ++ /* ++ * Just ignore EINTR; a retry loop is the wrong ++ * thing to do on Linux. ++ * ++ * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html ++ * https://bugzilla.gnome.org/show_bug.cgi?id=682819 ++ * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR ++ * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain ++ */ ++ return 0; + else + return -errno; + } +@@ -195,7 +195,13 @@ int safe_close(int fd) { + + if (fd >= 0) { + PROTECT_ERRNO; +- assert_se(close_nointr(fd) == 0); ++ ++ /* The kernel might return pretty much any error code ++ * via close(), but the fd will be closed anyway. The ++ * only condition we want to check for here is whether ++ * the fd was invalid at all... */ ++ ++ assert_se(close_nointr(fd) != -EBADF); + } + + return -1; +@@ -1365,7 +1371,7 @@ bool ignore_file(const char *filename) { + assert(filename); + + if (endswith(filename, "~")) +- return false; ++ return true; + + return ignore_file_allow_backup(filename); + } +@@ -1495,6 +1501,7 @@ bool fstype_is_network(const char *fstype) { + static const char table[] = + "cifs\0" + "smbfs\0" ++ "sshfs\0" + "ncpfs\0" + "ncp\0" + "nfs\0" +@@ -1581,8 +1588,9 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) { + if (fd_wait_for_event(fileno(f), POLLIN, t) <= 0) + return -ETIMEDOUT; + ++ errno = 0; + if (!fgets(line, sizeof(line), f)) +- return -EIO; ++ return errno ? -errno : -EIO; + + truncate_nl(line); + +@@ -5327,6 +5335,9 @@ bool string_is_safe(const char *p) { + if (*t > 0 && *t < ' ') + return false; + ++ if (*t == 127) ++ return false; ++ + if (strchr("\\\"\'", *t)) + return false; + } +@@ -5343,10 +5354,14 @@ bool string_has_cc(const char *p) { + + assert(p); + +- for (t = p; *t; t++) ++ for (t = p; *t; t++) { + if (*t > 0 && *t < ' ' && *t != '\t') + return true; + ++ if (*t == 127) ++ return true; ++ } ++ + return false; + } + +@@ -6391,3 +6406,19 @@ void hexdump(FILE *f, const void *p, size_t s) { + s -= 16; + } + } ++ ++int update_reboot_param_file(const char *param) ++{ ++ int r = 0; ++ ++ if (param) { ++ ++ r = write_string_file(REBOOT_PARAM_FILE, param); ++ if (r < 0) ++ log_error("Failed to write reboot param to " ++ REBOOT_PARAM_FILE": %s", strerror(-r)); ++ } else ++ unlink(REBOOT_PARAM_FILE); ++ ++ return r; ++} +diff --git a/src/shared/util.h b/src/shared/util.h +index 90464c9..122ac91 100644 +--- a/src/shared/util.h ++++ b/src/shared/util.h +@@ -22,6 +22,7 @@ + ***/ + + #include ++#include + #include + #include + #include +@@ -922,3 +923,10 @@ uint64_t physical_memory(void); + char* mount_test_option(const char *haystack, const char *needle); + + void hexdump(FILE *f, const void *p, size_t s); ++ ++union file_handle_union { ++ struct file_handle handle; ++ char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ]; ++}; ++ ++int update_reboot_param_file(const char *param); +diff --git a/src/shared/virt.c b/src/shared/virt.c +index ec2ddcf..f03e790 100644 +--- a/src/shared/virt.c ++++ b/src/shared/virt.c +@@ -149,7 +149,7 @@ static int detect_vm_dmi(const char **_id) { + + /* Returns a short identifier for the various VM implementations */ + int detect_vm(const char **id) { +- _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL; ++ _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL; + static thread_local int cached_found = -1; + static thread_local const char *cached_id = NULL; + const char *_id = NULL; +@@ -163,17 +163,37 @@ int detect_vm(const char **id) { + return cached_found; + } + +- /* Try high-level hypervisor sysfs file first: ++ /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file: + * +- * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */ +- r = read_one_line_file("/sys/hypervisor/type", &hvtype); ++ * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */ ++ r = read_one_line_file("/proc/xen/capabilities", &domcap); + if (r >= 0) { +- if (streq(hvtype, "xen")) { ++ char *cap, *i = domcap; ++ ++ while ((cap = strsep(&i, ","))) ++ if (streq(cap, "control_d")) ++ break; ++ ++ if (!i) { + _id = "xen"; + r = 1; +- goto finish; + } +- } else if (r != -ENOENT) ++ ++ goto finish; ++ ++ } else if (r == -ENOENT) { ++ _cleanup_free_ char *hvtype = NULL; ++ ++ r = read_one_line_file("/sys/hypervisor/type", &hvtype); ++ if (r >= 0) { ++ if (streq(hvtype, "xen")) { ++ _id = "xen"; ++ r = 1; ++ goto finish; ++ } ++ } else if (r != -ENOENT) ++ return r; ++ } else + return r; + + /* this will set _id to "other" and return 0 for unknown hypervisors */ diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index 0887bc3..6b502ce 100644 +index 0887bc3..d02ee2b 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c +@@ -461,7 +461,7 @@ static int output_units_list(const UnitInfo *unit_infos, unsigned c) { + } + + if (circle_len > 0) +- printf("%s%s%s", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : " ", off_circle); ++ printf("%s%s%s ", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : " ", off_circle); + + printf("%s%-*s%s %s%-*s%s %s%-*s %-*s%s %-*s", + on_active, id_len, id, off_active, @@ -2561,7 +2561,7 @@ static int start_unit_one( log_debug("Adding %s to the set", p); @@ -192,6 +1977,523 @@ index 0887bc3..6b502ce 100644 return log_oom(); } +@@ -4240,7 +4240,7 @@ static int show_all( + _cleanup_free_ UnitInfo *unit_infos = NULL; + const UnitInfo *u; + unsigned c; +- int r; ++ int r, ret = 0; + + r = get_unit_list(bus, NULL, NULL, &unit_infos, 0, &reply); + if (r < 0) +@@ -4262,9 +4262,11 @@ static int show_all( + r = show_one(verb, bus, p, show_properties, new_line, ellipsized); + if (r < 0) + return r; ++ else if (r > 0 && ret == 0) ++ ret = r; + } + +- return 0; ++ return ret; + } + + static int show_system_status(sd_bus *bus) { +@@ -4386,7 +4388,12 @@ static int show(sd_bus *bus, char **args) { + } + } + +- show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized); ++ r = show_one(args[0], bus, unit, show_properties, ++ &new_line, &ellipsized); ++ if (r < 0) ++ return r; ++ else if (r > 0 && ret == 0) ++ ret = r; + } + + if (!strv_isempty(patterns)) { +@@ -4403,7 +4410,12 @@ static int show(sd_bus *bus, char **args) { + if (!unit) + return log_oom(); + +- show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized); ++ r = show_one(args[0], bus, unit, show_properties, ++ &new_line, &ellipsized); ++ if (r < 0) ++ return r; ++ else if (r > 0 && ret == 0) ++ ret = r; + } + } + } +@@ -5403,15 +5415,15 @@ static int systemctl_help(void) { + " otherwise restart if active\n" + " isolate NAME Start one unit and stop all others\n" + " kill NAME... Send signal to processes of a unit\n" +- " is-active NAME... Check whether units are active\n" +- " is-failed NAME... Check whether units are failed\n" +- " status [NAME...|PID...] Show runtime status of one or more units\n" +- " show [NAME...|JOB...] Show properties of one or more\n" ++ " is-active PATTERN... Check whether units are active\n" ++ " is-failed PATTERN... Check whether units are failed\n" ++ " status [PATTERN...|PID...] Show runtime status of one or more units\n" ++ " show [PATTERN...|JOB...] Show properties of one or more\n" + " units/jobs or the manager\n" +- " cat NAME... Show files and drop-ins of one or more units\n" ++ " cat PATTERN... Show files and drop-ins of one or more units\n" + " set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n" +- " help NAME...|PID... Show manual for one or more units\n" +- " reset-failed [NAME...] Reset failed state for all, one, or more\n" ++ " help PATTERN...|PID... Show manual for one or more units\n" ++ " reset-failed [PATTERN...] Reset failed state for all, one, or more\n" + " units\n" + " list-dependencies [NAME] Recursively show units which are required\n" + " or wanted by this unit or by which this\n" +@@ -5973,13 +5985,10 @@ static int halt_parse_argv(int argc, char *argv[]) { + } + } + +- if (arg_action == ACTION_REBOOT && argc == optind + 1) { +- r = write_string_file(REBOOT_PARAM_FILE, argv[optind]); +- if (r < 0) { +- log_error("Failed to write reboot param to " +- REBOOT_PARAM_FILE": %s", strerror(-r)); ++ if (arg_action == ACTION_REBOOT && (argc == optind || argc == optind + 1)) { ++ r = update_reboot_param_file(argc == optind + 1 ? argv[optind] : NULL); ++ if (r < 0) + return r; +- } + } else if (optind < argc) { + log_error("Too many arguments."); + return -EINVAL; +diff --git a/src/test/test-udev.c b/src/test/test-udev.c +index b064744..b057cc8 100644 +--- a/src/test/test-udev.c ++++ b/src/test/test-udev.c +@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) { + } + } + +- err = udev_event_execute_rules(event, rules, &sigmask_orig); +- if (err == 0) +- udev_event_execute_run(event, NULL); ++ udev_event_execute_rules(event, rules, &sigmask_orig); ++ udev_event_execute_run(event, NULL); + out: + if (event != NULL && event->fd_signal >= 0) + close(event->fd_signal); +diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c +index 33e7cbc..04b472d 100644 +--- a/src/tmpfiles/tmpfiles.c ++++ b/src/tmpfiles/tmpfiles.c +@@ -217,19 +217,16 @@ static bool unix_socket_alive(const char *fn) { + } + + static int dir_is_mount_point(DIR *d, const char *subdir) { +- struct file_handle *h; ++ union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ }; + int mount_id_parent, mount_id; + int r_p, r; + +- h = alloca(MAX_HANDLE_SZ); +- +- h->handle_bytes = MAX_HANDLE_SZ; +- r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0); ++ r_p = name_to_handle_at(dirfd(d), ".", &h.handle, &mount_id_parent, 0); + if (r_p < 0) + r_p = -errno; + +- h->handle_bytes = MAX_HANDLE_SZ; +- r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0); ++ h.handle.handle_bytes = MAX_HANDLE_SZ; ++ r = name_to_handle_at(dirfd(d), subdir, &h.handle, &mount_id, 0); + if (r < 0) + r = -errno; + +diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c +index 1d067af..3203474 100644 +--- a/src/tty-ask-password-agent/tty-ask-password-agent.c ++++ b/src/tty-ask-password-agent/tty-ask-password-agent.c +@@ -432,7 +432,7 @@ static int wall_tty_block(void) { + + r = get_ctty_devnr(0, &devnr); + if (r < 0) +- return -r; ++ return r; + + if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0) + return -ENOMEM; +diff --git a/src/udev/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c +index 925d38d..32adf27 100644 +--- a/src/udev/accelerometer/accelerometer.c ++++ b/src/udev/accelerometer/accelerometer.c +@@ -180,7 +180,7 @@ get_prev_orientation(struct udev_device *dev) + return string_to_orientation(value); + } + +-#define SET_AXIS(axis, code_) if (ev[i].code == code_) { if (got_##axis == 0) { axis = ev[i].value; got_##axis = true; } } ++#define READ_AXIS(axis, var) { memzero(&abs_info, sizeof(abs_info)); r = ioctl(fd, EVIOCGABS(axis), &abs_info); if (r < 0) return; var = abs_info.value; } + + /* accelerometers */ + static void test_orientation(struct udev *udev, +@@ -189,10 +189,9 @@ static void test_orientation(struct udev *udev, + { + OrientationUp old, new; + _cleanup_close_ int fd = -1; +- struct input_event ev[64]; +- bool got_syn = false; +- bool got_x = false, got_y = false, got_z = false; ++ struct input_absinfo abs_info; + int x = 0, y = 0, z = 0; ++ int r; + char text[64]; + + old = get_prev_orientation(dev); +@@ -201,30 +200,10 @@ static void test_orientation(struct udev *udev, + if (fd < 0) + return; + +- while (1) { +- int i, r; +- +- r = read(fd, ev, sizeof(struct input_event) * 64); +- +- if (r < (int) sizeof(struct input_event)) +- return; +- +- for (i = 0; i < r / (int) sizeof(struct input_event); i++) { +- if (got_syn) { +- if (ev[i].type == EV_ABS) { +- SET_AXIS(x, ABS_X); +- SET_AXIS(y, ABS_Y); +- SET_AXIS(z, ABS_Z); +- } +- } +- if (ev[i].type == EV_SYN && ev[i].code == SYN_REPORT) +- got_syn = true; +- if (got_x && got_y && got_z) +- goto read_dev; +- } +- } ++ READ_AXIS(ABS_X, x); ++ READ_AXIS(ABS_Y, y); ++ READ_AXIS(ABS_Z, z); + +-read_dev: + new = orientation_calc(old, x, y, z); + snprintf(text, sizeof(text), + "ID_INPUT_ACCELEROMETER_ORIENTATION=%s", orientation_to_string(new)); +diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c +index 5bb6b02..b31ad80 100644 +--- a/src/udev/net/link-config.c ++++ b/src/udev/net/link-config.c +@@ -184,7 +184,7 @@ failure: + } + + static bool enable_name_policy(void) { +- _cleanup_free_ char *line; ++ _cleanup_free_ char *line = NULL; + char *w, *state; + int r; + size_t l; +@@ -391,7 +391,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev + case MACPOLICY_PERSISTENT: + if (!mac_is_permanent(device)) { + r = get_mac(device, false, &generated_mac); +- if (r < 0) ++ if (r == -ENOENT) ++ break; ++ else if (r < 0) + return r; + mac = &generated_mac; + } +@@ -399,7 +401,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev + case MACPOLICY_RANDOM: + if (!mac_is_random(device)) { + r = get_mac(device, true, &generated_mac); +- if (r < 0) ++ if (r == -ENOENT) ++ break; ++ else if (r < 0) + return r; + mac = &generated_mac; + } +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c +index 5998be2..5213a4a 100644 +--- a/src/udev/udev-event.c ++++ b/src/udev/udev-event.c +@@ -771,18 +771,17 @@ static int rename_netif(struct udev_event *event) + log_error("error changing net interface name %s to %s: %s", + oldname, name, strerror(-r)); + else +- print_kmsg("renamed network interface %s to %s", oldname, name); ++ print_kmsg("renamed network interface %s to %s\n", oldname, name); + + return r; + } + +-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) ++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask) + { + struct udev_device *dev = event->dev; +- int err = 0; + + if (udev_device_get_subsystem(dev) == NULL) +- return -1; ++ return; + + if (streq(udev_device_get_action(dev), "remove")) { + udev_device_read_db(dev, NULL); +@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, + event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) { + char syspath[UTIL_PATH_SIZE]; + char *pos; ++ int r; + +- err = rename_netif(event); +- if (err == 0) { ++ r = rename_netif(event); ++ if (r >= 0) { + log_debug("renamed netif to '%s'", event->name); + + /* remember old name */ +@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, + udev_device_unref(event->dev_db); + event->dev_db = NULL; + } +- return err; + } + + void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask) +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c +index 2630264..17f47f2 100644 +--- a/src/udev/udev-rules.c ++++ b/src/udev/udev-rules.c +@@ -2555,10 +2555,15 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules) + struct stat stats; + + /* we assure, that the permissions tokens are sorted before the static token */ ++ + if (mode == 0 && uid == 0 && gid == 0 && tags == NULL) + goto next; + + strscpyl(device_node, sizeof(device_node), "/dev/", rules_str(rules, cur->key.value_off), NULL); ++ if (stat(device_node, &stats) != 0) ++ break; ++ if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode)) ++ break; + + /* export the tags to a directory as symlinks, allowing otherwise dead nodes to be tagged */ + if (tags) { +@@ -2588,11 +2593,6 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules) + if (mode == 0 && uid == 0 && gid == 0) + break; + +- if (stat(device_node, &stats) != 0) +- break; +- if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode)) +- break; +- + if (mode == 0) { + if (gid > 0) + mode = 0660; +diff --git a/src/udev/udev.h b/src/udev/udev.h +index 936adfb..62538bc 100644 +--- a/src/udev/udev.h ++++ b/src/udev/udev.h +@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string, + int udev_event_spawn(struct udev_event *event, + const char *cmd, char **envp, const sigset_t *sigmask, + char *result, size_t ressize); +-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); ++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset); + void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset); + int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]); + +diff --git a/src/udev/udevadm-test.c b/src/udev/udevadm-test.c +index 6cd311b..6a2f548 100644 +--- a/src/udev/udevadm-test.c ++++ b/src/udev/udevadm-test.c +@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) + _cleanup_udev_device_unref_ struct udev_device *dev = NULL; + _cleanup_udev_event_unref_ struct udev_event *event = NULL; + sigset_t mask, sigmask_orig; +- int err; + int rc = 0, c; + + static const struct option options[] = { +@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) + goto out; + } + +- err = udev_event_execute_rules(event, rules, &sigmask_orig); ++ udev_event_execute_rules(event, rules, &sigmask_orig); + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) + printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); + +- if (err == 0) { +- udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { +- char program[UTIL_PATH_SIZE]; ++ udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) { ++ char program[UTIL_PATH_SIZE]; + +- udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); +- printf("run: '%s'\n", program); +- } ++ udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program)); ++ printf("run: '%s'\n", program); + } + out: + if (event != NULL && event->fd_signal >= 0) +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index f21c227..93afca1 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -288,10 +288,9 @@ static void worker_new(struct event *event) + udev_event->exec_delay = exec_delay; + + /* apply rules, create node, symlinks */ +- err = udev_event_execute_rules(udev_event, rules, &sigmask_orig); ++ udev_event_execute_rules(udev_event, rules, &sigmask_orig); + +- if (err == 0) +- udev_event_execute_run(udev_event, &sigmask_orig); ++ udev_event_execute_run(udev_event, &sigmask_orig); + + /* apply/restore inotify watch */ + if (err == 0 && udev_event->inotify_watch) { +diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c +index 0f2b706..645b1e6 100644 +--- a/src/vconsole/vconsole-setup.c ++++ b/src/vconsole/vconsole-setup.c +@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch + */ + static void font_copy_to_all_vcs(int fd) { + struct vt_stat vcs = {}; ++ unsigned char map8[E_TABSZ]; ++ unsigned short map16[E_TABSZ]; ++ struct unimapdesc unimapd; ++ struct unipair unipairs[USHRT_MAX]; + int i, r; + + /* get active, and 16 bit mask of used VT numbers */ +@@ -209,17 +213,35 @@ static void font_copy_to_all_vcs(int fd) { + cfo.op = KD_FONT_OP_COPY; + cfo.height = vcs.v_active-1; /* tty1 == index 0 */ + ioctl(vcfd, KDFONTOP, &cfo); ++ ++ /* copy map of 8bit chars */ ++ if (ioctl(fd, GIO_SCRNMAP, map8) >= 0) ++ ioctl(vcfd, PIO_SCRNMAP, map8); ++ ++ /* copy map of 8bit chars -> 16bit Unicode values */ ++ if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0) ++ ioctl(vcfd, PIO_UNISCRNMAP, map16); ++ ++ /* copy unicode translation table */ ++ /* unimapd is a ushort count and a pointer to an ++ array of struct unipair { ushort, ushort } */ ++ unimapd.entries = unipairs; ++ unimapd.entry_ct = USHRT_MAX; ++ if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) { ++ struct unimapinit adv = { 0, 0, 0 }; ++ ++ ioctl(vcfd, PIO_UNIMAPCLR, &adv); ++ ioctl(vcfd, PIO_UNIMAP, &unimapd); ++ } + } + } + + int main(int argc, char **argv) { + const char *vc; +- char *vc_keymap = NULL; +- char *vc_keymap_toggle = NULL; +- char *vc_font = NULL; +- char *vc_font_map = NULL; +- char *vc_font_unimap = NULL; +- int fd = -1; ++ _cleanup_free_ char ++ *vc_keymap = NULL, *vc_keymap_toggle = NULL, ++ *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL; ++ _cleanup_close_ int fd = -1; + bool utf8; + pid_t font_pid = 0, keymap_pid = 0; + bool font_copy = false; +@@ -241,12 +263,12 @@ int main(int argc, char **argv) { + fd = open_terminal(vc, O_RDWR|O_CLOEXEC); + if (fd < 0) { + log_error("Failed to open %s: %m", vc); +- goto finish; ++ return EXIT_FAILURE; + } + + if (!is_vconsole(fd)) { + log_error("Device %s is not a virtual console.", vc); +- goto finish; ++ return EXIT_FAILURE; + } + + utf8 = is_locale_utf8(); +@@ -281,27 +303,27 @@ int main(int argc, char **argv) { + else + disable_utf8(fd); + +- r = EXIT_FAILURE; +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 && +- font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) +- r = EXIT_SUCCESS; +- +-finish: +- if (keymap_pid > 0) +- wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r)); ++ return EXIT_FAILURE; ++ } + +- if (font_pid > 0) { ++ if (font_pid > 0) + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); +- if (font_copy) +- font_copy_to_all_vcs(fd); ++ ++ r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid); ++ if (r < 0) { ++ log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r)); ++ return EXIT_FAILURE; + } + +- free(vc_keymap); +- free(vc_font); +- free(vc_font_map); +- free(vc_font_unimap); ++ if (keymap_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); + +- safe_close(fd); ++ /* Only copy the font when we started setfont successfully */ ++ if (font_copy && font_pid > 0) ++ font_copy_to_all_vcs(fd); + +- return r; ++ return EXIT_SUCCESS; + } +diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf +index 7c6d6b9..c470045 100644 +--- a/tmpfiles.d/systemd.conf ++++ b/tmpfiles.d/systemd.conf +@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root - + d /run/systemd/shutdown 0755 root root - + + m /var/log/journal 2755 root systemd-journal - - +-m /var/log/journal/%m 2755 root systemd-journal - - ++Z /var/log/journal/%m 2755 root systemd-journal - - + m /run/log/journal 2755 root systemd-journal - - +-m /run/log/journal/%m 2755 root systemd-journal - - ++Z /run/log/journal/%m 2755 root systemd-journal - - diff --git a/units/console-getty.service.m4.in b/units/console-getty.service.m4.in index 8ac51a4..cae9fb5 100644 --- a/units/console-getty.service.m4.in @@ -294,17 +2596,20 @@ index 552ef89..af3915f 100644 ExecStart=-/sbin/sulogin ExecStopPost=-@SYSTEMCTL@ --fail --no-block default diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 -index 4ac51e7..86a3b59 100644 +index 4ac51e7..96daa5c 100644 --- a/units/serial-getty@.service.m4 +++ b/units/serial-getty@.service.m4 -@@ -22,7 +22,6 @@ Before=getty.target +@@ -22,10 +22,8 @@ Before=getty.target IgnoreOnIsolate=yes [Service] -ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM Type=idle Restart=always - RestartSec=0 +-RestartSec=0 + UtmpIdentifier=%I + TTYPath=/dev/%I + TTYReset=yes diff --git a/units/sysinit.target b/units/sysinit.target index 8f4fb8f..e0f0147 100644 --- a/units/sysinit.target @@ -354,6 +2659,18 @@ index de93879..c9a49f3 100644 +# journald to stop logging (see +# https://bugs.freedesktop.org/show_bug.cgi?id=56043). +X-RestartIfChanged=no +diff --git a/units/systemd-nspawn@.service.in b/units/systemd-nspawn@.service.in +index ff36e90..e373628 100644 +--- a/units/systemd-nspawn@.service.in ++++ b/units/systemd-nspawn@.service.in +@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1) + + [Service] + ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i ++KillMode=mixed + Type=notify + + [Install] diff --git a/units/systemd-random-seed.service.in b/units/systemd-random-seed.service.in index 1879b2f..9b895b9 100644 --- a/units/systemd-random-seed.service.in From 04ec038e892139ba9df3e5a435e8a7b0db2ca805 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Aug 2014 02:33:30 +0200 Subject: [PATCH 0028/2163] Containers: Fix reboot and poweroff Previously "machinectl reboot/poweroff" brutally killed the container, as did "systemctl stop/restart". And reboot didn't actually work. Now everything is fine. --- nixos/modules/virtualisation/containers.nix | 39 +++++++++++++++------ 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index d0d04d9a1e5..9d1817b82f5 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -168,6 +168,9 @@ in preStart = '' + # Clean up existing machined registration. + machinectl terminate "$INSTANCE" 2> /dev/null || true + mkdir -p -m 0755 $root/var/lib # Create a named pipe to get a signal when the container @@ -203,6 +206,7 @@ in fi ''} + EXIT_ON_REBOOT=1 \ exec ${config.systemd.package}/bin/systemd-nspawn \ --keep-unit \ -M "$INSTANCE" -D "$root" $extraFlags \ @@ -240,23 +244,38 @@ in preStop = '' - machinectl poweroff "$INSTANCE" + machinectl poweroff "$INSTANCE" || true ''; restartIfChanged = false; #reloadIfChanged = true; # FIXME - serviceConfig.ExecReload = pkgs.writeScript "reload-container" - '' - #! ${pkgs.stdenv.shell} -e - SYSTEM_PATH=/nix/var/nix/profiles/system - echo $SYSTEM_PATH/bin/switch-to-configuration test | \ - ${pkgs.socat}/bin/socat unix:$root/var/lib/run-command.socket - - ''; + serviceConfig = { + ExecReload = pkgs.writeScript "reload-container" + '' + #! ${pkgs.stdenv.shell} -e + SYSTEM_PATH=/nix/var/nix/profiles/system + echo $SYSTEM_PATH/bin/switch-to-configuration test | \ + ${pkgs.socat}/bin/socat unix:$root/var/lib/run-command.socket - + ''; - serviceConfig.SyslogIdentifier = "container %i"; + SyslogIdentifier = "container %i"; - serviceConfig.EnvironmentFile = "-/etc/containers/%i.conf"; + EnvironmentFile = "-/etc/containers/%i.conf"; + + # Note that on reboot, systemd-nspawn returns 10, so this + # unit will be restarted. On poweroff, it returns 0, so the + # unit won't be restarted. + Restart = "on-failure"; + + # Hack: we don't want to kill systemd-nspawn, since we call + # "machinectl poweroff" in preStop to shut down the + # container cleanly. But systemd requires sending a signal + # (at least if we want remaining processes to be killed + # after the timeout). So send an ignored signal. + KillMode = "mixed"; + KillSignal = "WINCH"; + }; }; # Generate a configuration file in /etc/containers for each From b99af5579ef3c132acade1f2f4e420ca3bb51abd Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Aug 2014 02:51:20 +0200 Subject: [PATCH 0029/2163] Containers: Don't remount / --- nixos/modules/system/boot/stage-2-init.sh | 4 +++- nixos/modules/virtualisation/container-config.nix | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh index fcefdfa88a3..6fff776f858 100644 --- a/nixos/modules/system/boot/stage-2-init.sh +++ b/nixos/modules/system/boot/stage-2-init.sh @@ -29,7 +29,9 @@ setPath "@path@" # Normally, stage 1 mounts the root filesystem read/writable. # However, in some environments, stage 2 is executed directly, and the # root is read-only. So make it writable here. -mount -n -o remount,rw none / +if [ "$container" != systemd-nspawn ]; then + mount -n -o remount,rw none / +fi # Likewise, stage 1 mounts /proc, /dev and /sys, so if we don't have a diff --git a/nixos/modules/virtualisation/container-config.nix b/nixos/modules/virtualisation/container-config.nix index b81f97f2b4e..84e3aa28352 100644 --- a/nixos/modules/virtualisation/container-config.nix +++ b/nixos/modules/virtualisation/container-config.nix @@ -89,6 +89,8 @@ with lib; restartIfChanged = false; }; + systemd.services.systemd-remount-fs.enable = false; + }; } From 878b738333fe76cf942f0d3a07068b7387f91d7d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Aug 2014 03:05:27 +0200 Subject: [PATCH 0030/2163] Containers: Clean up veth interfaces --- nixos/modules/virtualisation/containers.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 9d1817b82f5..a7256148f08 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -168,9 +168,13 @@ in preStart = '' - # Clean up existing machined registration. + # Clean up existing machined registration and interfaces. machinectl terminate "$INSTANCE" 2> /dev/null || true + if [ "$PRIVATE_NETWORK" = 1 ]; then + ip link del dev "ve-$INSTANCE" 2> /dev/null || true + fi + mkdir -p -m 0755 $root/var/lib # Create a named pipe to get a signal when the container From ab402dc1a49579785c690238ed4fce72dd707b30 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 13 Aug 2014 00:47:24 +0200 Subject: [PATCH 0031/2163] systemd: Apply a patch that improves systemd-nspawn startup notification Systemd-nspawn now sends startup notification *after* it has forked the container init process and performed initialisation (such as creating veth network interfaces). --- pkgs/os-specific/linux/systemd/fixes.patch | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch index 70ad195a032..566d80bfba9 100644 --- a/pkgs/os-specific/linux/systemd/fixes.patch +++ b/pkgs/os-specific/linux/systemd/fixes.patch @@ -1427,7 +1427,7 @@ index 9473105..154a335 100644 if (!isempty(service)) { m->service = strdup(service); diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index 9a9ed9d..4efa5b7 100644 +index 9a9ed9d..c3e6d23 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) { @@ -1483,7 +1483,16 @@ index 9a9ed9d..4efa5b7 100644 } } else { char template[] = "/tmp/nspawn-root-XXXXXX"; -@@ -2966,7 +2974,9 @@ int main(int argc, char *argv[]) { +@@ -2748,8 +2756,6 @@ int main(int argc, char *argv[]) { + goto finish; + } + +- sd_notify(0, "READY=1"); +- + assert_se(sigemptyset(&mask) == 0); + sigset_add_many(&mask, SIGCHLD, SIGWINCH, SIGTERM, SIGINT, -1); + assert_se(sigprocmask(SIG_BLOCK, &mask, NULL) == 0); +@@ -2966,7 +2972,9 @@ int main(int argc, char *argv[]) { } if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) { @@ -1494,6 +1503,15 @@ index 9a9ed9d..4efa5b7 100644 log_oom(); goto child_fail; } +@@ -3086,6 +3094,8 @@ int main(int argc, char *argv[]) { + if (r < 0) + goto finish; + ++ sd_notify(0, "READY=1"); ++ + /* Notify the child that the parent is ready with all + * its setup, and thtat the child can now hand over + * control to the code to run inside the container. */ @@ -3136,6 +3146,10 @@ int main(int argc, char *argv[]) { if (!arg_quiet) From 330fadb7060074bd5c38e5dcefc394abaf8d6a09 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 13 Aug 2014 00:45:36 +0200 Subject: [PATCH 0032/2163] Containers: Use systemd-nspawn startup notification This prevents the container unit startup from hanging until timeout if systemd-nspawn fails. --- nixos/modules/virtualisation/containers.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index a7256148f08..6933fbaa9ee 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -228,12 +228,6 @@ in postStart = '' - # This blocks until the container-startup-done service - # writes something to this pipe. FIXME: it also hangs - # until the start timeout expires if systemd-nspawn exits. - read x < $root/var/lib/startup-done - rm -f $root/var/lib/startup-done - if [ "$PRIVATE_NETWORK" = 1 ]; then ifaceHost=ve-$INSTANCE ip link set dev $ifaceHost up @@ -244,6 +238,12 @@ in ip route add $LOCAL_ADDRESS dev $ifaceHost fi fi + + # This blocks until the container-startup-done service + # writes something to this pipe. FIXME: it also hangs + # until the start timeout expires if systemd-nspawn exits. + read x < $root/var/lib/startup-done + rm -f $root/var/lib/startup-done ''; preStop = @@ -267,6 +267,8 @@ in EnvironmentFile = "-/etc/containers/%i.conf"; + Type = "notify"; + # Note that on reboot, systemd-nspawn returns 10, so this # unit will be restarted. On poweroff, it returns 0, so the # unit won't be restarted. From 6aa3888d97e26727066182d8a9bd7eb278eaa657 Mon Sep 17 00:00:00 2001 From: Jascha Geerds Date: Wed, 13 Aug 2014 12:10:52 +0200 Subject: [PATCH 0033/2163] trackpoint: Add emulateWheel option --- nixos/modules/tasks/trackpoint.nix | 44 +++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/nixos/modules/tasks/trackpoint.nix b/nixos/modules/tasks/trackpoint.nix index d1c6f8ac156..5d1bb631b54 100644 --- a/nixos/modules/tasks/trackpoint.nix +++ b/nixos/modules/tasks/trackpoint.nix @@ -36,6 +36,14 @@ with lib; configures 97. ''; }; + + emulateWheel = mkOption { + default = false; + type = types.bool; + description = '' + Enable scrolling while holding the middle mouse button. + ''; + }; }; @@ -44,17 +52,33 @@ with lib; ###### implementation - config = mkIf config.hardware.trackpoint.enable { - - services.udev.extraRules = - '' - ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/speed}="${toString config.hardware.trackpoint.speed}", ATTR{device/sensitivity}="${toString config.hardware.trackpoint.sensitivity}" - ''; - - system.activationScripts.trackpoint = + config = mkMerge [ + (mkIf config.hardware.trackpoint.enable { + services.udev.extraRules = '' - ${config.systemd.package}/bin/udevadm trigger --attr-match=name="TPPS/2 IBM TrackPoint" + ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/speed}="${toString config.hardware.trackpoint.speed}", ATTR{device/sensitivity}="${toString config.hardware.trackpoint.sensitivity}" ''; - }; + system.activationScripts.trackpoint = + '' + ${config.systemd.package}/bin/udevadm trigger --attr-match=name="TPPS/2 IBM TrackPoint" + ''; + }) + + (mkIf config.hardware.trackpoint.emulateWheel { + services.xserver.config = + '' + Section "InputClass" + Identifier "Trackpoint Wheel Emulation" + MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint" + MatchDevicePath "/dev/input/event*" + Option "EmulateWheel" "true" + Option "EmulateWheelButton" "2" + Option "Emulate3Buttons" "false" + Option "XAxisMapping" "6 7" + Option "YAxisMapping" "4 5" + EndSection + ''; + }) + ]; } From f199e115d2d9acf2bee330c325a0fe19cf9d8235 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Wed, 13 Aug 2014 21:50:18 +0200 Subject: [PATCH 0034/2163] Enable parallel building for GCC. Even if using profiledbootstrap. This was unsafe before 4.8, and then the documentation was not fixed on time. The documentation got fixed here: https://github.com/gcc-mirror/gcc/commit/c763997f340ec1fab37ad538b57afdad4f4bf747 But the actual code was already fixed here: https://github.com/gcc-mirror/gcc/commit/5d2fca09d543d4b42b99fe20f412efb78cc50ec3 So this is safe both for GCC 4.8 and GCC 4.9. --- pkgs/development/compilers/gcc/4.8/default.nix | 5 +---- pkgs/development/compilers/gcc/4.9/default.nix | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 2fb8f9d73b5..7b73559ba9c 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -59,10 +59,7 @@ let version = "4.8.3"; # Whether building a cross-compiler for GNU/Hurd. crossGNU = cross != null && cross.config == "i586-pc-gnu"; - /* gccinstall.info says that "parallel make is currently not supported since - collisions in profile collecting may occur". - */ - enableParallelBuilding = !profiledCompiler; + enableParallelBuilding = true; patches = [] ++ optional enableParallelBuilding ./parallel-bconfig.patch diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 8b185d00bcc..f61e6b4445a 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -57,10 +57,7 @@ let version = "4.9.1"; # Whether building a cross-compiler for GNU/Hurd. crossGNU = cross != null && cross.config == "i586-pc-gnu"; - /* gccinstall.info says that "parallel make is currently not supported since - collisions in profile collecting may occur". - */ - enableParallelBuilding = !profiledCompiler; + enableParallelBuilding = true; patches = [ ] ++ optional enableParallelBuilding ./parallel-bconfig.patch From 59291fdbf4e26a2b09a1d39a0582a874d78d6797 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Thu, 14 Aug 2014 00:20:15 +0200 Subject: [PATCH 0035/2163] Get rid of bootstrap-tools dependency from xz (and therefore stdenv) 0769fc5b77eb76c6a794187f173c48f912fc837c broke this by setting CONFIG_SHELL. --- pkgs/tools/compression/xz/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index b644f46dff8..e1d7c26fa43 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -10,6 +10,9 @@ stdenv.mkDerivation rec { doCheck = true; + # In stdenv-linux, prevent a dependency on bootstrap-tools. + preHook = "unset CONFIG_SHELL"; + meta = { homepage = http://tukaani.org/xz/; description = "XZ, general-purpose data compression software, successor of LZMA"; From 320a82dd7f821e3383fe63b21c7c99927913631d Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jul 2014 15:11:16 -0500 Subject: [PATCH 0036/2163] nixos/dhcpcd: Add an explicit interfaces option --- nixos/modules/services/networking/dhcpcd.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 5a353fc0942..c541d4fa604 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -6,6 +6,8 @@ let dhcpcd = if !config.boot.isContainer then pkgs.dhcpcd else pkgs.dhcpcd.override { udev = null; }; + cfg = config.networking.dhcpcd; + # Don't start dhcpcd on explicitly configured interfaces or on # interfaces that are part of a bridge. ignoredInterfaces = @@ -37,7 +39,10 @@ let # (Xen) and virbr* and vnet* (libvirt). denyinterfaces ${toString ignoredInterfaces} lo peth* vif* tap* tun* virbr* vnet* vboxnet* - ${config.networking.dhcpcd.extraConfig} + # Use the list of allowed interfaces if specified + ${optionalString (cfg.allowInterfaces != [ ]) "allowinterfaces ${toString cfg.allowInterfaces}"} + + ${cfg.extraConfig} ''; # Hook for emitting ip-up/ip-down events. @@ -80,6 +85,17 @@ in ''; }; + networking.dhcpcd.allowInterfaces = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Enable the DHCP client for any interface whose name matches + any of the shell glob patterns in this list. Any interface not + explicitly matched by this pattern will be denied. This pattern only + applies when the list is non-empty. + ''; + }; + networking.dhcpcd.extraConfig = mkOption { type = types.lines; default = ""; From a269acf48026b439bce217bd5376bca01298fa07 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 12 Jul 2014 16:53:25 -0500 Subject: [PATCH 0037/2163] nixos/dhcpcd: Use null instead of empty list to disable allowInterfaces --- nixos/modules/services/networking/dhcpcd.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index c541d4fa604..198c8cb08b2 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -40,7 +40,7 @@ let denyinterfaces ${toString ignoredInterfaces} lo peth* vif* tap* tun* virbr* vnet* vboxnet* # Use the list of allowed interfaces if specified - ${optionalString (cfg.allowInterfaces != [ ]) "allowinterfaces ${toString cfg.allowInterfaces}"} + ${optionalString (cfg.allowInterfaces != null) "allowinterfaces ${toString cfg.allowInterfaces}"} ${cfg.extraConfig} ''; @@ -86,13 +86,13 @@ in }; networking.dhcpcd.allowInterfaces = mkOption { - type = types.listOf types.str; - default = []; + type = types.nullOr (types.listOf types.str); + default = null; description = '' Enable the DHCP client for any interface whose name matches any of the shell glob patterns in this list. Any interface not explicitly matched by this pattern will be denied. This pattern only - applies when the list is non-empty. + applies when non-null. ''; }; From 36bef2b26731a9580260fd24d18c90dbecd5eb22 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 14 Aug 2014 22:59:24 +0200 Subject: [PATCH 0038/2163] gobject-introspection: refer to shlibs with absolute paths in typelibs After this, LD_LIBRARY_PATH should not be required anymore. The patch has been applied only for .la files, so there may be some other cases missing. --- .../newsreaders/liferea/default.nix | 1 - .../virtualization/virt-manager/default.nix | 1 - .../gnome-3/3.10/apps/gedit/default.nix | 1 - .../3.10/apps/gnome-documents/default.nix | 8 +----- .../gnome-3/3.10/apps/gnome-music/default.nix | 10 +------- .../gnome-3/3.12/core/gnome-shell/default.nix | 1 - .../3.12/misc/gnome-tweak-tool/default.nix | 1 - .../gnome-3/3.12/misc/gpaste/default.nix | 3 +-- .../absolute_shlib_path.patch | 25 +++++++++++++++++++ .../gobject-introspection/default.nix | 2 ++ .../development/tools/misc/d-feet/default.nix | 1 - 11 files changed, 30 insertions(+), 24 deletions(-) create mode 100644 pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix index e38d5188dc2..a5216b2902a 100644 --- a/pkgs/applications/networking/newsreaders/liferea/default.nix +++ b/pkgs/applications/networking/newsreaders/liferea/default.nix @@ -33,7 +33,6 @@ stdenv.mkDerivation rec { for f in "$out"/bin/*; do wrapProgram "$f" \ --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ - --prefix LD_LIBRARY_PATH : "${gnome3.libgnome_keyring}/lib" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index 9df6967704a..08d53d83eed 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -51,7 +51,6 @@ buildPythonPackage rec { --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \ --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \ --prefix GSETTINGS_SCHEMA_DIR : $out/share/glib-2.0/schemas \ - --prefix LD_LIBRARY_PATH : ${gtk3}/lib/:${libvirt-glib}/lib/:${vte}/lib:${gtkvnc}/lib${optionalString spiceSupport ":${spice_gtk}/lib"} \ --prefix XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS" done diff --git a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix index 84a77e5a024..6b9a69c738d 100644 --- a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix +++ b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix @@ -25,7 +25,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gedit" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \ --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix index b393bb43931..a8c84d6a769 100644 --- a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix +++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix @@ -28,17 +28,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - preFixup = - let - libPath = stdenv.lib.makeLibraryPath - [ evince gtk3 gnome3.tracker gnome3.gnome_online_accounts ]; - in - '' + preFixup = '' substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication" wrapProgram "$out/bin/gnome-documents" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH ":" "${libPath}" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi" rm $out/share/icons/hicolor/icon-theme.cache diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix index b8d2bbc79ef..31d521e8c30 100644 --- a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix +++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix @@ -24,19 +24,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - preFixup = - let - libPath = stdenv.lib.makeLibraryPath - [ glib gtk3 libnotify tracker gnome3.grilo cairo - gst_all_1.gstreamer gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ]; - in - '' + preFixup = '' wrapProgram "$out/bin/gnome-music" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH : "${libPath}" \ --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ --prefix PYTHONPATH : "$PYTHONPATH" diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix index dbb19f77d21..6f6816efa5b 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix @@ -35,7 +35,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gnome-shell" \ --prefix PATH : "${unzip}/bin" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix index 2eccb9a32cf..1a48d6529a2 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix @@ -30,7 +30,6 @@ stdenv.mkDerivation rec { --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \ --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)" ''; diff --git a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix index 56a5f18544f..c303ccdf51e 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix @@ -30,8 +30,7 @@ stdenv.mkDerivation rec { for i in $out/libexec/gpaste/*; do wrapProgram $i \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH : "${libPath}" + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" done ''; diff --git a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch new file mode 100644 index 00000000000..04bcc42a032 --- /dev/null +++ b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch @@ -0,0 +1,25 @@ +--- ./giscanner/utils.py.orig 2014-08-14 22:05:05.055334080 +0200 ++++ ./giscanner/utils.py 2014-08-14 22:05:24.687497334 +0200 +@@ -110,17 +110,11 @@ + if dlname is None: + return None + +- # Darwin uses absolute paths where possible; since the libtool files never +- # contain absolute paths, use the libdir field +- if platform.system() == 'Darwin': +- dlbasename = os.path.basename(dlname) +- libdir = _extract_libdir_field(la_file) +- if libdir is None: +- return dlbasename +- return libdir + '/' + dlbasename +- # From the comments in extract_libtool(), older libtools had +- # a path rather than the raw dlname +- return os.path.basename(dlname) ++ dlbasename = os.path.basename(dlname) ++ libdir = _extract_libdir_field(la_file) ++ if libdir is None: ++ return dlbasename ++ return libdir + '/' + dlbasename + + + def extract_libtool(la_file): diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index 7686fb30838..4b7ec1f4116 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -29,6 +29,8 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; + patches = [ ./absolute_shlib_path.patch ]; + meta = with stdenv.lib; { description = "A middleware layer between C libraries and language bindings"; homepage = http://live.gnome.org/GObjectIntrospection; diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix index 852c1b74219..df5fdbfab5a 100644 --- a/pkgs/development/tools/misc/d-feet/default.nix +++ b/pkgs/development/tools/misc/d-feet/default.nix @@ -26,7 +26,6 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/d-feet \ --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH : "${gtk3}/lib:${atk}/lib:${libwnck3}/lib" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share" rm $out/share/icons/hicolor/icon-theme.cache From 1a75958be52f5c2f062ace0935c1a2d43c8f7f55 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 15 Aug 2014 01:33:20 +0200 Subject: [PATCH 0039/2163] Unify mutableUsers = { true, false } MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With mutableUsers = true, we now ensure that all users and groups that were created declaratively, are updated or removed appropriately. Thus, adding a user to users.extraUsers and then removing it now causes the acoount to be removed from /etc/passwd. Thus user/group management is fully congruent except that users and groups that were created imperatively (via useradd/groupadd) are not touched. We distinguish between declarative and imperative users/groups by tracking the former in /var/lib/nixos/declarative-{groups,users}. With mutableUsers = false, you are now no longer required to specify UIDs/GIDs for all users. The handling of mutableUsers = true/false is the same code path; the only difference is that the "false" mode ignores the existing contents of /etc/{passwd,group}. The attribute ‘createUser’ is gone. It doesn't really make sense to specify users that shouldn't be created. --- nixos/doc/manual/configuration.xml | 5 - nixos/modules/config/update-users-groups.pl | 239 ++++++++++++++++++++ nixos/modules/config/users-groups.nix | 196 +++------------- 3 files changed, 266 insertions(+), 174 deletions(-) create mode 100644 nixos/modules/config/update-users-groups.pl diff --git a/nixos/doc/manual/configuration.xml b/nixos/doc/manual/configuration.xml index 051f0fb8c1e..ce7ccf6cc5e 100644 --- a/nixos/doc/manual/configuration.xml +++ b/nixos/doc/manual/configuration.xml @@ -1072,11 +1072,6 @@ users.extraGroups.students.gid = 1000; As with users, the group ID (gid) is optional and will be assigned automatically if it’s missing. -Currently declarative user management is not perfect: -nixos-rebuild does not know how to realise certain -configuration changes. This includes removing a user or group, and -removing group membership from a user. - In the imperative style, users and groups are managed by commands such as useradd, groupmod and so on. For instance, to create a user diff --git a/nixos/modules/config/update-users-groups.pl b/nixos/modules/config/update-users-groups.pl new file mode 100644 index 00000000000..2b9bfb764a8 --- /dev/null +++ b/nixos/modules/config/update-users-groups.pl @@ -0,0 +1,239 @@ +use strict; +use File::Path qw(make_path); +use File::Slurp; +use JSON; + +make_path("/var/lib/nixos", { mode => 0755 }); + + +# Functions for allocating free GIDs/UIDs. FIXME: respect ID ranges in +# /etc/login.defs. +sub allocId { + my ($used, $idMin, $idMax, $up, $getid) = @_; + my $id = $up ? $idMin : $idMax; + while ($id >= $idMin && $id <= $idMax) { + if (!$used->{$id} && !defined &$getid($id)) { + $used->{$id} = 1; + return $id; + } + $used->{$id} = 1; + if ($up) { $id++; } else { $id--; } + } + die "$0: out of free UIDs or GIDs\n"; +} + +my (%gidsUsed, %uidsUsed); + +sub allocGid { + return allocId(\%gidsUsed, 400, 499, 0, sub { my ($gid) = @_; getgrgid($gid) }); +} + +sub allocUid { + my ($isSystemUser) = @_; + my ($min, $max, $up) = $isSystemUser ? (400, 499, 0) : (1000, 29999, 1); + return allocId(\%uidsUsed, $min, $max, $up, sub { my ($uid) = @_; getpwuid($uid) }); +} + + +# Read the declared users/groups. +my $spec = decode_json(read_file($ARGV[0])); + +# Don't allocate UIDs/GIDs that are already in use. +foreach my $g (@{$spec->{groups}}) { + $gidsUsed{$g->{gid}} = 1 if defined $g->{gid}; +} + +foreach my $u (@{$spec->{groups}}) { + $uidsUsed{$u->{u}} = 1 if defined $u->{uid}; +} + +# Read the current /etc/group. +sub parseGroup { + chomp; + my @f = split(':', $_, -4); + my $gid = $f[2] eq "" ? undef : int($f[2]); + $gidsUsed{$gid} = 1 if defined $gid; + return ($f[0], { name => $f[0], password => $f[1], gid => $gid, members => $f[3] }); +} + +my %groupsCur = -f "/etc/group" ? map { parseGroup } read_file("/etc/group") : (); + +# Read the current /etc/passwd. +sub parseUser { + chomp; + my @f = split(':', $_, -7); + my $uid = $f[2] eq "" ? undef : int($f[2]); + $uidsUsed{$uid} = 1 if defined $uid; + return ($f[0], { name => $f[0], fakePassword => $f[1], uid => $uid, + gid => $f[3], description => $f[4], home => $f[5], shell => $f[6] }); +} + +my %usersCur = -f "/etc/passwd" ? map { parseUser } read_file("/etc/passwd") : (); + +# Read the groups that were created declaratively (i.e. not by groups) +# in the past. These must be removed if they are no longer in the +# current spec. +my $declGroupsFile = "/var/lib/nixos/declarative-groups"; +my %declGroups; +$declGroups{$_} = 1 foreach split / /, -e $declGroupsFile ? read_file($declGroupsFile) : ""; + +# Idem for the users. +my $declUsersFile = "/var/lib/nixos/declarative-users"; +my %declUsers; +$declUsers{$_} = 1 foreach split / /, -e $declUsersFile ? read_file($declUsersFile) : ""; + + +# Generate a new /etc/group containing the declared groups. +my %groupsOut; +foreach my $g (@{$spec->{groups}}) { + my $name = $g->{name}; + my $existing = $groupsCur{$name}; + + my %members = map { ($_, 1) } @{$g->{members}}; + + if (defined $existing) { + $g->{gid} = $existing->{gid} if !defined $g->{gid}; + if ($g->{gid} != $existing->{gid}) { + warn "warning: not applying GID change of group ‘$name’\n"; + $g->{gid} = $existing->{gid}; + } + $g->{password} = $existing->{password}; # do we want this? + if ($spec->{mutableUsers}) { + # Merge in non-declarative group members. + foreach my $uname (split /,/, $existing->{members} // "") { + $members{$uname} = 1 if !defined $declUsers{$uname}; + } + } + } else { + $g->{gid} = allocGid if !defined $g->{gid}; + $g->{password} = "x"; + } + + $g->{members} = join ",", sort(keys(%members)); + $groupsOut{$name} = $g; +} + +# Update the persistent list of declarative groups. +write_file($declGroupsFile, join(" ", sort(keys %groupsOut))); + +# Merge in the existing /etc/group. +foreach my $name (keys %groupsCur) { + my $g = $groupsCur{$name}; + next if defined $groupsOut{$name}; + if (!$spec->{mutableUsers} || defined $declGroups{$name}) { + print STDERR "removing group ‘$name’\n"; + } else { + $groupsOut{$name} = $g; + } +} + + +# Rewrite /etc/group. FIXME: acquire lock. +my @lines = map { join(":", $_->{name}, $_->{password}, $_->{gid}, $_->{members}) . "\n" } + (sort { $a->{gid} <=> $b->{gid} } values(%groupsOut)); +write_file("/etc/group.tmp", @lines); +rename("/etc/group.tmp", "/etc/group") or die; +system("nscd --invalidate group"); + +# Generate a new /etc/passwd containing the declared users. +my %usersOut; +foreach my $u (@{$spec->{users}}) { + my $name = $u->{name}; + + # Resolve the gid of the user. + if ($u->{group} =~ /^[0-9]$/) { + $u->{gid} = $u->{group}; + } elsif (defined $groupsOut{$u->{group}}) { + $u->{gid} = $groupsOut{$u->{group}}->{gid} // die; + } else { + warn "warning: user ‘$name’ has unknown group ‘$u->{group}’\n"; + $u->{gid} = 65534; + } + + my $existing = $usersCur{$name}; + if (defined $existing) { + $u->{uid} = $existing->{uid} if !defined $u->{uid}; + if ($u->{uid} != $existing->{uid}) { + warn "warning: not applying UID change of user ‘$name’\n"; + $u->{uid} = $existing->{uid}; + } + } else { + $u->{uid} = allocUid($u->{isSystemUser}) if !defined $u->{uid}; + + # Create a home directory. + if ($u->{createHome}) { + make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home}; + chown $u->{uid}, $u->{gid}, $u->{home}; + } + } + + if (defined $u->{passwordFile}) { + if (-e $u->{passwordFile}) { + $u->{hashedPassword} = read_file($u->{passwordFile}); + chomp $u->{hashedPassword}; + } else { + warn "warning: password file ‘$u->{passwordFile}’ does not exist\n"; + } + } + + $u->{fakePassword} = $existing->{fakePassword} // "x"; + $usersOut{$name} = $u; +} + +# Update the persistent list of declarative users. +write_file($declUsersFile, join(" ", sort(keys %usersOut))); + +# Merge in the existing /etc/passwd. +foreach my $name (keys %usersCur) { + my $u = $usersCur{$name}; + next if defined $usersOut{$name}; + if (!$spec->{mutableUsers} || defined $declUsers{$name}) { + print STDERR "removing user ‘$name’\n"; + } else { + $usersOut{$name} = $u; + } +} + +# Rewrite /etc/passwd. FIXME: acquire lock. +@lines = map { join(":", $_->{name}, $_->{fakePassword}, $_->{uid}, $_->{gid}, $_->{description}, $_->{home}, $_->{shell}) . "\n" } + (sort { $a->{uid} <=> $b->{uid} } (values %usersOut)); +write_file("/etc/passwd.tmp", @lines); +rename("/etc/passwd.tmp", "/etc/passwd") or die; +system("nscd --invalidate passwd"); + + +# Rewrite /etc/shadow to add new accounts or remove dead ones. +my @shadowNew; +my %shadowSeen; + +foreach my $line (-f "/etc/shadow" ? read_file("/etc/shadow") : ()) { + chomp $line; + my ($name, $password, @rest) = split(':', $line, -9); + my $u = $usersOut{$name};; + next if !defined $u; + $password = $u->{hashedPassword} if $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME + push @shadowNew, join(":", $name, $password, @rest) . "\n"; + $shadowSeen{$name} = 1; +} + +foreach my $u (values %usersOut) { + next if defined $shadowSeen{$u->{name}}; + my $password = "!"; + $password = $u->{hashedPassword} if $u->{hashedPassword}; + # FIXME: set correct value for sp_lstchg. + push @shadowNew, join(":", $u->{name}, $password, "1::::::") . "\n"; +} + +write_file("/etc/shadow.tmp", { perms => 0600 }, @shadowNew); +rename("/etc/shadow.tmp", "/etc/shadow") or die; + + +# Call chpasswd to apply password. FIXME: generate the hashes directly +# and merge into the /etc/shadow updating above. +foreach my $u (@{$spec->{users}}) { + if (defined $u->{password}) { + my $pid = open(PW, "| chpasswd") or die; + print PW "$u->{name}:$u->{password}\n"; + close PW or die "unable to change password of user ‘$u->{name}’: $?\n"; + } +} diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 5de81a77342..75d1b6f7ff4 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -7,9 +7,6 @@ let ids = config.ids; cfg = config.users; - nonUidUsers = filterAttrs (n: u: u.createUser && u.uid == null) cfg.extraUsers; - nonGidGroups = filterAttrs (n: g: g.gid == null) cfg.extraGroups; - passwordDescription = '' The options hashedPassword, password and passwordFile @@ -55,10 +52,8 @@ let type = with types; nullOr int; default = null; description = '' - The account UID. If the option - is false, the UID cannot be null. Otherwise, the UID might be - null, in which case a free UID is picked on activation (by the - useradd command). + The account UID. If the UID is null, a free UID is picked on + activation. ''; }; @@ -67,8 +62,7 @@ let default = false; description = '' Indicates if the user is a system user or not. This option - only has an effect if is - true and is + only has an effect if is , in which case it determines whether the user's UID is allocated in the range for system users (below 500) or in the range for normal users (starting at @@ -152,16 +146,6 @@ let ${passwordDescription} ''; }; - - createUser = mkOption { - type = types.bool; - default = true; - description = '' - Indicates if the user should be created automatically as a local user. - Set this to false if the user for instance is an LDAP user. NixOS will - then not modify any of the basic properties for the user account. - ''; - }; }; config = { @@ -187,10 +171,8 @@ let type = with types; nullOr int; default = null; description = '' - The group GID. If the mutableUsers option - is false, the GID cannot be null. Otherwise, the GID might be - null, in which case a free GID is picked on activation (by the - groupadd command). + The group GID. If the GID is null, a free GID is picked on + activation. ''; }; @@ -211,84 +193,6 @@ let }; - getGroup = gname: - let - 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) ( - let f = g: g.gid != null; in - sortOn "gid" (filter f (attrValues cfg.extraGroups)) - )) - ); - - passwdFile = pkgs.writeText "passwd" ( - concatStringsSep "\n" (map (u: mkPasswdEntry u.name) ( - let f = u: u.createUser && (u.uid != null); in - sortOn "uid" (filter f (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 - ''; - idsAreUnique = set: idAttr: !(fold (name: args@{ dup, acc }: let id = builtins.toString (builtins.getAttr idAttr (builtins.getAttr name set)); @@ -302,6 +206,21 @@ let uidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) cfg.extraUsers) "uid"; gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.extraGroups) "gid"; + spec = builtins.toFile "users-groups.json" (builtins.toJSON { + inherit (cfg) mutableUsers; + users = mapAttrsToList (n: u: + { inherit (u) + name uid group description home shell createHome isSystemUser + password passwordFile hashedPassword; + }) cfg.extraUsers; + groups = mapAttrsToList (n: g: + { inherit (g) name gid; + members = mapAttrsToList (n: u: u.name) ( + filterAttrs (n: u: elem g.name u.extraGroups) cfg.extraUsers + ); + }) cfg.extraGroups; + }); + in { ###### interface @@ -438,67 +357,12 @@ in { grsecurity.gid = ids.gids.grsecurity; }; - system.activationScripts.users = - let - mkhomeUsers = filterAttrs (n: u: u.createHome) cfg.extraUsers; - setpwUsers = filterAttrs (n: u: u.createUser) cfg.extraUsers; - pwFile = u: if !(isNull u.hashedPassword) - then pkgs.writeTextFile { name = "password-file"; text = u.hashedPassword; } - else if !(isNull u.password) - then pkgs.runCommand "password-file" { pw = u.password; } '' - echo -n "$pw" | ${pkgs.mkpasswd}/bin/mkpasswd -s > $out - '' else u.passwordFile; - setpw = n: u: '' - setpw=yes - ${optionalString cfg.mutableUsers '' - test "$(getent shadow '${u.name}' | cut -d: -f2)" != "x" && setpw=no - ''} - if [ "$setpw" == "yes" ]; then - ${if !(isNull (pwFile u)) - then '' - echo -n "${u.name}:" | cat - "${pwFile u}" | \ - ${pkgs.shadow}/sbin/chpasswd -e - '' - else "passwd -l '${u.name}' &>/dev/null" - } - fi - ''; - mkhome = n: u: '' - uid="$(id -u ${u.name})" - gid="$(id -g ${u.name})" - h="${u.home}" - 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 - ''; - groupadd = n: g: '' - if [ -z "$(getent group "${g.name}")" ]; then - ${pkgs.shadow}/sbin/groupadd "${g.name}" - fi - ''; - useradd = n: u: '' - if ! id "${u.name}" &>/dev/null; then - ${pkgs.shadow}/sbin/useradd \ - -g "${u.group}" \ - -G "${concatStringsSep "," u.extraGroups}" \ - -s "${u.shell}" \ - -d "${u.home}" \ - ${optionalString u.isSystemUser "--system"} \ - "${u.name}" - echo "${u.name}:x" | ${pkgs.shadow}/sbin/chpasswd -e - fi - ''; - 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 groupadd nonGidGroups)} - ${concatStrings (mapAttrsToList useradd nonUidUsers)} - ${concatStrings (mapAttrsToList mkhome mkhomeUsers)} - ${concatStrings (mapAttrsToList setpw setpwUsers)} + system.activationScripts.users = stringAfter [ "etc" ] + '' + ${pkgs.perl}/bin/perl -w \ + -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl \ + -I${pkgs.perlPackages.JSON}/lib/perl5/site_perl \ + ${./update-users-groups.pl} ${spec} ''; # for backwards compatibility @@ -506,13 +370,7 @@ in { assertions = [ { assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique); - message = "uids and gids must be unique!"; - } - { assertion = cfg.mutableUsers || (nonUidUsers == {}); - message = "When mutableUsers is false, no uid can be null: ${toString (attrNames nonUidUsers)}"; - } - { assertion = cfg.mutableUsers || (nonGidGroups == {}); - message = "When mutableUsers is false, no gid can be null"; + message = "UIDs and GIDs must be unique!"; } ]; From a323d146b7be3bc066b4ec74db72888ea32792fb Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 15 Aug 2014 02:07:43 +0200 Subject: [PATCH 0040/2163] Add user attribute isNormalUser This is shorthand for setting group, createHome, home, useDefaultShell and isSystemUser. --- nixos/doc/manual/configuration.xml | 4 +-- nixos/modules/config/users-groups.nix | 31 ++++++++++++++++--- .../installer/tools/nixos-generate-config.pl | 6 +--- nixos/modules/profiles/demo.nix | 7 ++--- nixos/tests/common/user-account.nix | 6 ++-- 5 files changed, 33 insertions(+), 21 deletions(-) diff --git a/nixos/doc/manual/configuration.xml b/nixos/doc/manual/configuration.xml index ce7ccf6cc5e..110d1a00eeb 100644 --- a/nixos/doc/manual/configuration.xml +++ b/nixos/doc/manual/configuration.xml @@ -1033,11 +1033,9 @@ states that a user account named alice shall exist: users.extraUsers.alice = - { createHome = true; - home = "/home/alice"; + { isNormalUser = true; description = "Alice Foobar"; extraGroups = [ "wheel" "networkmanager" ]; - useDefaultShell = true; openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ]; }; diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 75d1b6f7ff4..f32138a814d 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -70,6 +70,21 @@ let ''; }; + isNormalUser = mkOption { + type = types.bool; + default = false; + description = '' + Indicates whether this is an account for a “real” user. This + automatically sets to + users, to + true, to + /home/username, + to true, + and to + false. + ''; + }; + group = mkOption { type = types.str; default = "nogroup"; @@ -148,10 +163,18 @@ let }; }; - config = { - name = mkDefault name; - shell = mkIf config.useDefaultShell (mkDefault cfg.defaultUserShell); - }; + config = mkMerge + [ { name = mkDefault name; + shell = mkIf config.useDefaultShell (mkDefault cfg.defaultUserShell); + } + (mkIf config.isNormalUser { + group = mkDefault "users"; + createHome = mkDefault true; + home = mkDefault "/home/${name}"; + useDefaultShell = mkDefault true; + isSystemUser = mkDefault false; + }) + ]; }; diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 66a8152a3a6..c507f7f979f 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -490,12 +490,8 @@ $bootLoaderConfig # Define a user account. Don't forget to set a password with ‘passwd’. # users.extraUsers.guest = { - # name = "guest"; - # group = "users"; + # isNormalUser = true; # uid = 1000; - # createHome = true; - # home = "/home/guest"; - # shell = "/run/current-system/sw/bin/bash"; # }; } diff --git a/nixos/modules/profiles/demo.nix b/nixos/modules/profiles/demo.nix index 605cc6aad1d..ef6fd77b5f8 100644 --- a/nixos/modules/profiles/demo.nix +++ b/nixos/modules/profiles/demo.nix @@ -4,12 +4,9 @@ imports = [ ./graphical.nix ]; users.extraUsers.demo = - { description = "Demo user account"; - group = "users"; + { isNormalUser = true; + description = "Demo user account"; extraGroups = [ "wheel" ]; - home = "/home/demo"; - createHome = true; - useDefaultShell = true; password = "demo"; uid = 1000; }; diff --git a/nixos/tests/common/user-account.nix b/nixos/tests/common/user-account.nix index 0239a3c4d08..aa3a0b82bcd 100644 --- a/nixos/tests/common/user-account.nix +++ b/nixos/tests/common/user-account.nix @@ -1,11 +1,9 @@ { pkgs, ... }: { users.extraUsers = pkgs.lib.singleton - { name = "alice"; + { isNormalUser = true; + name = "alice"; description = "Alice Foobar"; - home = "/home/alice"; - createHome = true; - useDefaultShell = true; password = "foobar"; uid = 1000; }; From 97d6afafaaf5e8db7182cf65cae982c50be2c2e9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 15 Aug 2014 04:07:45 +0200 Subject: [PATCH 0041/2163] systemd: Fix uninitialised memory issue in veth setup This caused containers to randomly fail, in particular if the machine name was 8 characters. --- pkgs/os-specific/linux/systemd/fixes.patch | 117 +++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch index 566d80bfba9..72cf0e92bb8 100644 --- a/pkgs/os-specific/linux/systemd/fixes.patch +++ b/pkgs/os-specific/linux/systemd/fixes.patch @@ -1074,6 +1074,123 @@ index b087a8b..967ab67 100644 test_catalog_file_lang(); +diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c +index 84a8ffa..e79b318 100644 +--- a/src/libsystemd/sd-rtnl/rtnl-message.c ++++ b/src/libsystemd/sd-rtnl/rtnl-message.c +@@ -335,24 +335,28 @@ int sd_rtnl_message_link_get_flags(sd_rtnl_message *m, unsigned *flags) { + /* If successful the updated message will be correctly aligned, if + unsuccessful the old message is untouched. */ + static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, size_t data_length) { +- uint32_t rta_length, message_length; ++ uint32_t rta_length; ++ size_t message_length, padding_length; + struct nlmsghdr *new_hdr; + struct rtattr *rta; + char *padding; + unsigned i; ++ int offset; + + assert(m); + assert(m->hdr); + assert(!m->sealed); + assert(NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len); +- assert(!data || data_length > 0); +- assert(data || m->n_containers < RTNL_CONTAINER_DEPTH); ++ assert(!data || data_length); ++ ++ /* get offset of the new attribute */ ++ offset = m->hdr->nlmsg_len; + + /* get the size of the new rta attribute (with padding at the end) */ + rta_length = RTA_LENGTH(data_length); + + /* get the new message size (with padding at the end) */ +- message_length = m->hdr->nlmsg_len + RTA_ALIGN(rta_length); ++ message_length = offset + RTA_ALIGN(rta_length); + + /* realloc to fit the new attribute */ + new_hdr = realloc(m->hdr, message_length); +@@ -361,32 +365,35 @@ static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, + m->hdr = new_hdr; + + /* get pointer to the attribute we are about to add */ +- rta = (struct rtattr *) ((uint8_t *) m->hdr + m->hdr->nlmsg_len); ++ rta = (struct rtattr *) ((uint8_t *) m->hdr + offset); + + /* if we are inside containers, extend them */ + for (i = 0; i < m->n_containers; i++) +- GET_CONTAINER(m, i)->rta_len += message_length - m->hdr->nlmsg_len; ++ GET_CONTAINER(m, i)->rta_len += message_length - offset; + + /* fill in the attribute */ + rta->rta_type = type; + rta->rta_len = rta_length; +- if (!data) { +- /* this is the start of a new container */ +- m->container_offsets[m->n_containers ++] = m->hdr->nlmsg_len; +- } else { ++ if (data) + /* we don't deal with the case where the user lies about the type + * and gives us too little data (so don't do that) +- */ ++ */ + padding = mempcpy(RTA_DATA(rta), data, data_length); +- /* make sure also the padding at the end of the message is initialized */ +- memzero(padding, +- (uint8_t *) m->hdr + message_length - (uint8_t *) padding); ++ else { ++ /* if no data was passed, make sure we still initialize the padding ++ note that we can have data_length > 0 (used by some containers) */ ++ padding = RTA_DATA(rta); ++ data_length = 0; + } + ++ /* make sure also the padding at the end of the message is initialized */ ++ padding_length = (uint8_t*)m->hdr + message_length - (uint8_t*)padding; ++ memzero(padding, padding_length); ++ + /* update message size */ + m->hdr->nlmsg_len = message_length; + +- return 0; ++ return offset; + } + + int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const char *data) { +@@ -761,22 +768,29 @@ int sd_rtnl_message_open_container(sd_rtnl_message *m, unsigned short type) { + + assert_return(m, -EINVAL); + assert_return(!m->sealed, -EPERM); ++ assert_return(m->n_containers < RTNL_CONTAINER_DEPTH, -ERANGE); + + sd_rtnl_message_get_type(m, &rtm_type); + ++ int r = -ENOTSUP; ++ + if (rtnl_message_type_is_link(rtm_type)) { + + if ((type == IFLA_LINKINFO && m->n_containers == 0) || + (type == IFLA_INFO_DATA && m->n_containers == 1 && + GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)) +- return add_rtattr(m, type, NULL, 0); ++ r = add_rtattr(m, type, NULL, 0); + else if (type == VETH_INFO_PEER && m->n_containers == 2 && + GET_CONTAINER(m, 1)->rta_type == IFLA_INFO_DATA && + GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO) +- return add_rtattr(m, type, NULL, sizeof(struct ifinfomsg)); ++ r= add_rtattr(m, type, NULL, sizeof(struct ifinfomsg)); + } + +- return -ENOTSUP; ++ if (r < 0) return r; ++ ++ m->container_offsets[m->n_containers ++] = r; ++ ++ return 0; + } + + int sd_rtnl_message_close_container(sd_rtnl_message *m) { diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c index ba1b04d..85b1e40 100644 --- a/src/libudev/libudev-monitor.c From 315e58762dbb763e3ff4620cc06e9d1701495ff6 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sun, 17 Aug 2014 16:04:47 +0200 Subject: [PATCH 0042/2163] perl: Disable tests It appears that these got re-enabled accidentally in d1ed0f44cd154926e761cedee1cee72e55345807. http://hydra.nixos.org/build/13369824 --- pkgs/development/interpreters/perl/5.16/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix index a01d7b2a86b..c1a5374c92e 100644 --- a/pkgs/development/interpreters/perl/5.16/default.nix +++ b/pkgs/development/interpreters/perl/5.16/default.nix @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { ${optionalString stdenv.isArm '' configureFlagsArray=(-Dldflags="-lm -lrt") ''} - + ${optionalString stdenv.isCygwin '' cp cygwin/cygwin.c{,.bak} echo "#define PERLIO_NOT_STDIO 0" > tmp @@ -70,6 +70,5 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; - doCheck = stdenv.isLinux; passthru.libPrefix = "lib/perl5/site_perl"; } From 773595540bd3a52476a7c84799e374d086d1c648 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sun, 17 Aug 2014 17:25:12 +0200 Subject: [PATCH 0043/2163] binutils: Enable sysroot support --- pkgs/development/tools/misc/binutils/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 8d8fc5d464e..246a8573fac 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -59,6 +59,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-shared" "--enable-deterministic-archives" ] + ++ optional noSysDirs "--with-sysroot=/var/empty" ++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop" ++ optional (cross != null) "--target=${cross.config}" ++ optionals gold [ "--enable-gold" "--enable-plugins" ] From 7a8cdc66a4cb132b26028ec0d1128c47572d9fac Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sun, 10 Aug 2014 21:14:41 -0300 Subject: [PATCH 0044/2163] MPV: update to 0.5.0 Many thanks matejc for the commit! --- pkgs/applications/video/mpv/default.nix | 18 ++++++++++-------- pkgs/top-level/all-packages.nix | 7 ++++--- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 4eec9afdbf3..db1ced49166 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, fetchgit, freetype, pkgconfig, freefont_ttf, ffmpeg, libass , lua, perl, libpthreadstubs , lua5_sockets -, python3, docutils, which +, python3, docutils, which, lib , x11Support ? true, libX11 ? null, libXext ? null, mesa ? null, libXxf86vm ? null , xineramaSupport ? true, libXinerama ? null , xvSupport ? true, libXv ? null @@ -20,8 +20,9 @@ # For screenshots , libpngSupport ? true, libpng ? null # for Youtube support -, quviSupport? false, libquvi ? null -, cacaSupport? false, libcaca ? null +, quviSupport ? false, libquvi ? null +, cacaSupport ? false, libcaca ? null +, vaapiSupport ? false, libva ? null }: assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null); @@ -57,11 +58,11 @@ in stdenv.mkDerivation rec { name = "mpv-${version}"; - version = "0.4.1"; + version = "0.5.0"; src = fetchurl { url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"; - sha256 = "0wqjyzw3kk854zj263k7jyykzfaz1g27z50aqrd26hylg8k135cn"; + sha256 = "17mmc6xm8yir2p379h00q3wy7rplz2s31h6sxswmzbh72xf10g96"; }; buildInputs = with stdenv.lib; @@ -84,6 +85,7 @@ stdenv.mkDerivation rec { ++ optional quviSupport libquvi ++ optional sdl2Support SDL2 ++ optional cacaSupport libcaca + ++ optional vaapiSupport libva ; nativeBuildInputs = [ python3 lua perl ]; @@ -97,7 +99,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; configurePhase = '' - python3 ${waf} configure --prefix=$out + python3 ${waf} configure --prefix=$out ${lib.optionalString vaapiSupport "--enable-vaapi"} patchShebangs TOOLS ''; @@ -124,9 +126,9 @@ stdenv.mkDerivation rec { }; } -# Heavily based on mplayer2 expression +# Many thanks @matejc for this update: 0.5.0 and vaapi (experimental) # TODO: Wayland support -# TODO: investigate libquvi support +# TODO: investigate libquvi problems (related to Youtube support) # TODO: investigate caca support # TODO: investigate lua5_sockets bug diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 312959fdb24..43301c91d54 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9273,9 +9273,10 @@ let mpv = callPackage ../applications/video/mpv { lua = lua5_1; - bs2bSupport = true; - quviSupport = true; - cacaSupport = true; + bs2bSupport = config.mpv.bs2bSupport or true; + quviSupport = config.mpv.quviSupport or false; + cacaSupport = config.mpv.cacaSupport or true; + vaapiSupport = config.mpv.vaapiSupport or false; }; mrxvt = callPackage ../applications/misc/mrxvt { }; From 6dc5db3850a2ef5d01e871ec36f1d31457fc64da Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 18 Aug 2014 16:32:00 +0200 Subject: [PATCH 0045/2163] Fix setting an empty password --- nixos/modules/config/update-users-groups.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/config/update-users-groups.pl b/nixos/modules/config/update-users-groups.pl index 2b9bfb764a8..197b65e27c4 100644 --- a/nixos/modules/config/update-users-groups.pl +++ b/nixos/modules/config/update-users-groups.pl @@ -211,7 +211,7 @@ foreach my $line (-f "/etc/shadow" ? read_file("/etc/shadow") : ()) { my ($name, $password, @rest) = split(':', $line, -9); my $u = $usersOut{$name};; next if !defined $u; - $password = $u->{hashedPassword} if $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME + $password = $u->{hashedPassword} if defined $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME push @shadowNew, join(":", $name, $password, @rest) . "\n"; $shadowSeen{$name} = 1; } @@ -219,7 +219,7 @@ foreach my $line (-f "/etc/shadow" ? read_file("/etc/shadow") : ()) { foreach my $u (values %usersOut) { next if defined $shadowSeen{$u->{name}}; my $password = "!"; - $password = $u->{hashedPassword} if $u->{hashedPassword}; + $password = $u->{hashedPassword} if defined $u->{hashedPassword}; # FIXME: set correct value for sp_lstchg. push @shadowNew, join(":", $u->{name}, $password, "1::::::") . "\n"; } From a0c60b76ec258ea158bebaea53d6d39055cdf857 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 18 Aug 2014 17:18:50 +0200 Subject: [PATCH 0046/2163] gcc: Revive the no-sys-dirs patch For now, we don't NATIVE_SYSTEM_HEADER_DIR because it breaks the build. However, it points to Glibc in the Nix store (not /usr/include) so it's kind of okay. --- pkgs/build-support/gcc-wrapper/gcc-wrapper.sh | 1 - pkgs/build-support/gcc-wrapper/ld-wrapper.sh | 3 -- .../development/compilers/gcc/4.8/default.nix | 1 + .../compilers/gcc/4.8/no-sys-dirs.patch | 28 +++++++++++++++++++ 4 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch diff --git a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh b/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh index c53fd44207d..2ad7783a442 100644 --- a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh +++ b/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh @@ -77,7 +77,6 @@ if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then n=$((n + 1)) done params=("${rest[@]}") - NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE --sysroot=/var/empty" fi diff --git a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh index 822c4a03a21..51803e12a4e 100644 --- a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh @@ -32,9 +32,6 @@ if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE" \ # We cannot skip this; barf. echo "impure path \`$p' used in link" >&2 exit 1 - elif test "${p:0:9}" = "--sysroot"; then - # Our ld is not built with sysroot support (Can we fix that?) - : else rest=("${rest[@]}" "$p") fi diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 7b73559ba9c..7985b445ae0 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -64,6 +64,7 @@ let version = "4.8.3"; patches = [] ++ optional enableParallelBuilding ./parallel-bconfig.patch ++ optional (cross != null) ./libstdc++-target.patch + ++ optional noSysDirs ./no-sys-dirs.patch # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its # target libraries and tools. ++ optional langAda ./gnat-cflags.patch diff --git a/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch new file mode 100644 index 00000000000..36df51904ac --- /dev/null +++ b/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch @@ -0,0 +1,28 @@ +diff -ru -x '*~' gcc-4.8.3-orig/gcc/cppdefault.c gcc-4.8.3/gcc/cppdefault.c +--- gcc-4.8.3-orig/gcc/cppdefault.c 2013-01-10 21:38:27.000000000 +0100 ++++ gcc-4.8.3/gcc/cppdefault.c 2014-08-18 16:20:32.893944536 +0200 +@@ -35,6 +35,8 @@ + # undef CROSS_INCLUDE_DIR + #endif + ++#undef LOCAL_INCLUDE_DIR ++ + const struct default_include cpp_include_defaults[] + #ifdef INCLUDE_DEFAULTS + = INCLUDE_DEFAULTS; +diff -ru -x '*~' gcc-4.8.3-orig/gcc/gcc.c gcc-4.8.3/gcc/gcc.c +--- gcc-4.8.3-orig/gcc/gcc.c 2014-03-23 12:30:57.000000000 +0100 ++++ gcc-4.8.3/gcc/gcc.c 2014-08-18 13:19:32.689201690 +0200 +@@ -1162,10 +1162,10 @@ + /* Default prefixes to attach to command names. */ + + #ifndef STANDARD_STARTFILE_PREFIX_1 +-#define STANDARD_STARTFILE_PREFIX_1 "/lib/" ++#define STANDARD_STARTFILE_PREFIX_1 "" + #endif + #ifndef STANDARD_STARTFILE_PREFIX_2 +-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" ++#define STANDARD_STARTFILE_PREFIX_2 "" + #endif + + #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ From 35945027bf2c788d31c5b59338b67ca39f47eb2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Tue, 19 Aug 2014 09:32:07 +0800 Subject: [PATCH 0047/2163] nixos/xfce: don't set a bloated GST_PLUGIN_PATH --- nixos/modules/services/x11/desktop-managers/xfce.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index a72eea76239..a31f66176cc 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -34,10 +34,6 @@ in # Set GTK_DATA_PREFIX so that GTK+ can find the Xfce themes. export GTK_DATA_PREFIX=${config.system.path} - # Necessary to get xfce4-mixer to find GST's ALSA plugin. - # Ugly. - export GST_PLUGIN_PATH=${config.system.path}/lib - exec ${pkgs.stdenv.shell} ${pkgs.xfce.xinitrc} ''; }; From 22541ebdaa616a8eabe04c919deee650aff617f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Tue, 19 Aug 2014 09:34:52 +0800 Subject: [PATCH 0048/2163] nixos/environment: do not set GST_PLUGIN_SYSTEM_PATH --- nixos/modules/programs/environment.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index 80c3e83fe81..e7bde81fb23 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -47,7 +47,6 @@ in TERMINFO_DIRS = [ "${i}/share/terminfo" ]; PERL5LIB = [ "${i}/lib/perl5/site_perl" ]; ALSA_PLUGIN_DIRS = [ "${i}/lib/alsa-lib" ]; - GST_PLUGIN_SYSTEM_PATH = [ "${i}/lib/gstreamer-0.10" ]; KDEDIRS = [ "${i}" ]; STRIGI_PLUGIN_PATH = [ "${i}/lib/strigi/" ]; QT_PLUGIN_PATH = [ "${i}/lib/qt4/plugins" "${i}/lib/kde4/plugins" ]; From 8f1623b38bd3569dba6d86cf7281deef0c7758c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Tue, 19 Aug 2014 09:57:30 +0800 Subject: [PATCH 0049/2163] xfce4-mixer: use wrapper to set GST_PLUGIN_SYSTEM_PATH --- pkgs/desktops/xfce/applications/xfce4-mixer.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/pkgs/desktops/xfce/applications/xfce4-mixer.nix index 2b0f729c0a3..f486373ee17 100644 --- a/pkgs/desktops/xfce/applications/xfce4-mixer.nix +++ b/pkgs/desktops/xfce/applications/xfce4-mixer.nix @@ -1,5 +1,7 @@ -{ stdenv, fetchurl, pkgconfig, intltool, glib, gstreamer, gst_plugins_base, gtk -, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique?null }: +{ stdenv, fetchurl, pkgconfig, intltool, makeWrapper +, glib, gstreamer, gst_plugins_base, gtk +, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique ? null +}: let # The usual Gstreamer plugins package has a zillion dependencies @@ -23,13 +25,13 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig intltool glib gstreamer gst_plugins_minimal gtk - libxfce4util libxfce4ui xfce4panel xfconf libunique + libxfce4util libxfce4ui xfce4panel xfconf libunique makeWrapper ]; postInstall = '' - mkdir -p $out/nix-support - echo ${gst_plugins_minimal} > $out/nix-support/propagated-user-env-packages + wrapProgram "$out/bin/xfce4-mixer" \ + --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" ''; meta = { From 559c7cc2dad4a971f0519c9f4861259fca55c3d1 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 19 Aug 2014 18:39:45 +0200 Subject: [PATCH 0050/2163] yojson: propagate build inputs (as in PR #3404) --- pkgs/development/ocaml-modules/yojson/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix index 9237db080d6..562d25550da 100644 --- a/pkgs/development/ocaml-modules/yojson/default.nix +++ b/pkgs/development/ocaml-modules/yojson/default.nix @@ -4,16 +4,18 @@ let version = "1.1.8"; webpage = "http://mjambon.com/${pname}.html"; in -stdenv.mkDerivation rec { +stdenv.mkDerivation { - name = "${pname}-${version}"; + name = "ocaml-${pname}-${version}"; src = fetchurl { - url = "http://mjambon.com/releases/${pname}/${name}.tar.gz"; + url = "http://mjambon.com/releases/${pname}/${pname}-${version}.tar.gz"; sha256 = "0ayx17dimnpavdfyq6dk9xv2x1fx69by85vc6vl3nqxjkcv5d2rv"; }; - buildInputs = [ ocaml findlib cppo easy-format biniou ]; + buildInputs = [ ocaml findlib ]; + + propagatedBuildInputs = [ cppo easy-format biniou ]; createFindlibDestdir = true; From e8d2f8f1092e71c951b95f5a6e1b2227e4d185a9 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 19 Aug 2014 18:42:13 +0200 Subject: [PATCH 0051/2163] merlin: update to 1.7 --- pkgs/development/tools/ocaml/merlin/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix index c0882439f5c..8efb90a9cef 100644 --- a/pkgs/development/tools/ocaml/merlin/default.nix +++ b/pkgs/development/tools/ocaml/merlin/default.nix @@ -1,14 +1,14 @@ -{stdenv, fetchurl, ocaml, findlib, easy-format, biniou, yojson, menhir}: +{stdenv, fetchurl, ocaml, findlib, yojson, menhir}: stdenv.mkDerivation { - name = "merlin-1.6"; + name = "merlin-1.7"; src = fetchurl { - url = "https://github.com/the-lambda-church/merlin/archive/v1.6.tar.gz"; - sha256 = "0wq75hgffaszazrhkl0nfjxgx8bvazi2sjannd8q64hvax8hxzcy"; + url = "https://github.com/the-lambda-church/merlin/archive/v1.7.tar.gz"; + sha256 = "0grprrykah02g8va63lidbcb6n8sd18l2k9spb5rwlcs3xhfw42b"; }; - buildInputs = [ ocaml findlib biniou yojson menhir easy-format ]; + buildInputs = [ ocaml findlib yojson menhir ]; prefixKey = "--prefix "; From 5c53f22492511d1d8de46ecd8f11fca20f1287fd Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 20 Aug 2014 10:39:03 +0200 Subject: [PATCH 0052/2163] Revert "binutils: Enable sysroot support" This reverts commit 773595540bd3a52476a7c84799e374d086d1c648. It breaks stuff and we don't need it anymore. http://hydra.nixos.org/build/13517591 --- pkgs/development/tools/misc/binutils/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 246a8573fac..8d8fc5d464e 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -59,7 +59,6 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-shared" "--enable-deterministic-archives" ] - ++ optional noSysDirs "--with-sysroot=/var/empty" ++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop" ++ optional (cross != null) "--target=${cross.config}" ++ optionals gold [ "--enable-gold" "--enable-plugins" ] From f28d8c2dc43fc14598f4ecbea2cba3974263a278 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Wed, 11 Jun 2014 21:52:53 +0200 Subject: [PATCH 0053/2163] CUPS system wide client configuration. --- nixos/modules/services/printing/cupsd.nix | 24 ++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index d229c610669..8a8085cad28 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -35,7 +35,7 @@ let bindir = pkgs.buildEnv { name = "cups-progs"; paths = cfg.drivers; - pathsToLink = [ "/lib/cups" "/share/cups" "/bin" ]; + pathsToLink = [ "/lib/cups" "/share/cups" "/bin" "/etc/cups" ]; postBuild = cfg.bindirCmds; }; @@ -89,6 +89,20 @@ in ''; }; + clientConf = mkOption { + type = types.lines; + default = ""; + example = + '' + ServerName server.example.com + Encryption Never + ''; + description = '' + The contents of the client configuration. + (client.conf) + ''; + }; + drivers = mkOption { type = types.listOf types.path; example = literalExample "[ pkgs.splix ]"; @@ -124,6 +138,14 @@ in environment.systemPackages = [ cups ]; + environment.variables.CUPS_SERVERROOT = "/etc/cups"; + + environment.etc = [ + { source = pkgs.writeText "client.conf" cfg.clientConf; + target = "cups/client.conf"; + } + ]; + services.dbus.packages = [ cups ]; # Cups uses libusb to talk to printers, and does not use the From de8a2e1433f42e5039b706b775d123e917c6e3d6 Mon Sep 17 00:00:00 2001 From: Andrew Morsillo Date: Wed, 20 Aug 2014 21:50:09 -0400 Subject: [PATCH 0054/2163] Bump version of Dwarf Fortress to 40_09. Build graphics library for dwarf fortress instead of using provided one for more reliability. --- pkgs/games/dwarf-fortress/df2014.nix | 50 ++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/pkgs/games/dwarf-fortress/df2014.nix b/pkgs/games/dwarf-fortress/df2014.nix index 6a0d30ea89f..e9affd7bbf0 100644 --- a/pkgs/games/dwarf-fortress/df2014.nix +++ b/pkgs/games/dwarf-fortress/df2014.nix @@ -1,17 +1,41 @@ -{ stdenv, fetchurl, SDL, SDL_image, SDL_ttf, gtk, glib, mesa, openal, glibc, libsndfile -, copyDataDirectory ? false }: +{ stdenv, fetchgit, fetchurl, cmake, glew, ncurses, SDL, SDL_image, SDL_ttf, gtk2, glib, mesa, openal, pango, atk, gdk_pixbuf, glibc, libsndfile + , copyDataDirectory ? true }: + +/* set copyDataDirectory as true by default since df 40 does not seem to run without it */ + +let + + srcs = { + df_unfuck = fetchgit { + url = "https://github.com/svenstaro/dwarf_fortress_unfuck"; + rev = "4681508dd799aaf20b47c2ac0e9da18fa4876993"; + sha256 = "16495214a19742cb97351109b124ad9d691ee52bbb1b86c9c1907978734b5ca0"; + }; + + df = fetchurl { + url = "http://www.bay12games.com/dwarves/df_40_09_linux.tar.bz2"; + sha256 = "1aka2vblhip4sjkcpkxfra1fa9z4hzlj0sdl6rh2qda0l7q7i0ki"; + }; + }; + +in assert stdenv.system == "i686-linux"; stdenv.mkDerivation rec { - name = "dwarf-fortress-0.40.05"; + name = "dwarf-fortress-0.40.09"; - src = fetchurl { - url = "http://www.bay12games.com/dwarves/df_40_05_linux.tar.bz2"; - sha256 = "1b9nd33yz5a945v9jyqii1k4s71i701m2d0h7fw6f5g9p6nvx43s"; - }; - phases = "unpackPhase patchPhase installPhase"; + buildInputs = [ SDL SDL_image SDL_ttf gtk2 glib glew mesa ncurses openal glibc libsndfile pango atk cmake gdk_pixbuf]; + src = "${srcs.df_unfuck} ${srcs.df}"; + phases = "unpackPhase patchPhase configurePhase buildPhase installPhase"; + + sourceRoot = "git-export"; + + cmakeFlags = [ + "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include" + "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include" + ]; /* :TODO: Game options should be configurable by patching the default configuration files */ @@ -21,11 +45,15 @@ stdenv.mkDerivation rec { set -x mkdir -p $out/bin mkdir -p $out/share/df_linux - cp -r * $out/share/df_linux + cd ../../ + cp -r ./df_linux/* $out/share/df_linux + rm $out/share/df_linux/libs/lib* + patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.glibc ]}:$out/share/df_linux/libs" $out/share/df_linux/libs/Dwarf_Fortress + cp -f ./git-export/build/libgraphics.so $out/share/df_linux/libs/libgraphics.so + cp $permission $out/share/df_linux/nix_permission patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 $out/share/df_linux/libs/Dwarf_Fortress - ln -s ${libsndfile}/lib/libsndfile.so $out/share/df_linux/libs/ cat > $out/bin/dwarf-fortress << EOF #!${stdenv.shell} @@ -66,7 +94,7 @@ stdenv.mkDerivation rec { ''} # now run Dwarf Fortress! - export LD_LIBRARY_PATH=\$DF_DIR/df_linux/libs/:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gtk}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/ + export LD_LIBRARY_PATH=\${stdenv.gcc}/lib:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gtk2}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/:${libsndfile}/lib:$DF_DIR/df_linux/libs/ \$DF_DIR/df "\$@" EOF From c54a8ed1d05091d12d8341dbee7843e348cc2576 Mon Sep 17 00:00:00 2001 From: sfultong Date: Wed, 20 Aug 2014 23:02:16 -0400 Subject: [PATCH 0055/2163] Merge pull request #1 from sfultongv/sfultong-14.04 updating tomcat to version 7 --- nixos/modules/services/web-servers/tomcat.nix | 2 +- pkgs/servers/http/tomcat/6.0.nix | 27 ++++--------------- pkgs/servers/http/tomcat/7.0.nix | 6 +++++ pkgs/servers/http/tomcat/recent.nix | 24 +++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 5 files changed, 38 insertions(+), 23 deletions(-) create mode 100644 pkgs/servers/http/tomcat/7.0.nix create mode 100644 pkgs/servers/http/tomcat/recent.nix diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index c2f464014ae..2af249a8e96 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.tomcat; - tomcat = pkgs.tomcat6; + tomcat = pkgs.tomcat7; in { diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix index ee0049ce08f..19f20cc8823 100644 --- a/pkgs/servers/http/tomcat/6.0.nix +++ b/pkgs/servers/http/tomcat/6.0.nix @@ -1,23 +1,6 @@ -{ stdenv, fetchurl }: - -let version = "6.0.39"; in - -stdenv.mkDerivation rec { - name = "apache-tomcat-${version}"; - - src = fetchurl { - url = "mirror://apache/tomcat/tomcat-6/v${version}/bin/${name}.tar.gz"; +import ./recent.nix + { + versionMajor = "6"; + versionMinor = "0.39"; sha256 = "19qix6affhc252n03smjf482drg3nxd27shni1gvhphgj3zfmgfy"; - }; - - installPhase = - '' - mkdir $out - mv * $out - ''; - - meta = { - homepage = http://tomcat.apache.org/; - description = "An implementation of the Java Servlet and JavaServer Pages technologies"; - }; -} + } diff --git a/pkgs/servers/http/tomcat/7.0.nix b/pkgs/servers/http/tomcat/7.0.nix new file mode 100644 index 00000000000..87bc57eb2b6 --- /dev/null +++ b/pkgs/servers/http/tomcat/7.0.nix @@ -0,0 +1,6 @@ +import ./recent.nix + { + versionMajor = "7"; + versionMinor = "0.55"; + sha256 = "c20934fda63bc7311e2d8e067d67f886890c8be72280425c5f6f8fdd7a376c15"; + } diff --git a/pkgs/servers/http/tomcat/recent.nix b/pkgs/servers/http/tomcat/recent.nix new file mode 100644 index 00000000000..0d11ba7a104 --- /dev/null +++ b/pkgs/servers/http/tomcat/recent.nix @@ -0,0 +1,24 @@ +{ versionMajor, versionMinor, sha256 }: +{ stdenv, fetchurl }: + +let version = "${versionMajor}.${versionMinor}"; in + +stdenv.mkDerivation rec { + name = "apache-tomcat-${version}"; + + src = fetchurl { + url = "mirror://apache/tomcat/tomcat-${versionMajor}/v${version}/bin/${name}.tar.gz"; + inherit sha256; + }; + + installPhase = + '' + mkdir $out + mv * $out + ''; + + meta = { + homepage = http://tomcat.apache.org/; + description = "An implementation of the Java Servlet and JavaServer Pages technologies"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2c8b83ada5..7aeaf7f7a3c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7022,6 +7022,8 @@ let tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { }; + tomcat7 = callPackage ../servers/http/tomcat/7.0.nix { }; + tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { }; axis2 = callPackage ../servers/http/tomcat/axis2 { }; From 219983d6ad1bec55ab174d064d41d086654f9a17 Mon Sep 17 00:00:00 2001 From: Sam Griffin Date: Wed, 20 Aug 2014 23:23:44 -0400 Subject: [PATCH 0056/2163] adding tomcat version 8 --- pkgs/servers/http/tomcat/8.0.nix | 6 ++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 8 insertions(+) create mode 100644 pkgs/servers/http/tomcat/8.0.nix diff --git a/pkgs/servers/http/tomcat/8.0.nix b/pkgs/servers/http/tomcat/8.0.nix new file mode 100644 index 00000000000..63b8d2bbc94 --- /dev/null +++ b/pkgs/servers/http/tomcat/8.0.nix @@ -0,0 +1,6 @@ +import ./recent.nix + { + versionMajor = "8"; + versionMinor = "0.9"; + sha256 = "5ea3c8260088ee4fd223a532a4b0c23a10e549c34705e2f190279a1a7f1f83d9"; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7aeaf7f7a3c..4ae428bd83e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7023,6 +7023,8 @@ let tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { }; tomcat7 = callPackage ../servers/http/tomcat/7.0.nix { }; + + tomcat8 = callPackage ../servers/http/tomcat/8.0.nix { }; tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { }; From 91db3f6b4518ca8ebea6cfe38766f72d142ce36b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 12:15:45 +0200 Subject: [PATCH 0057/2163] kde4: security patch for CVE-2014-5033 --- pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix index 396adf9ba75..1698abfd00f 100644 --- a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix +++ b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix @@ -4,7 +4,7 @@ , automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee , docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst , udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt -, pkgconfig +, pkgconfig, fetchpatch }: kde { @@ -28,7 +28,15 @@ kde { # There are a few hardcoded paths. # Split plugins from libs? - patches = [ ../files/polkit-install.patch ]; + patches = [ + ../files/polkit-install.patch + (fetchpatch { + name = "CVE-2014-5033.patch"; + url = "http://quickgit.kde.org/?p=kdelibs.git" + + "&a=commit&h=e4e7b53b71e2659adaf52691d4accc3594203b23"; + sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73"; + }) + ]; cmakeFlags = [ "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook" From 32f95153a182e010224a62136209b636fc6cbc9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 11:49:14 +0200 Subject: [PATCH 0058/2163] ffmpeg (_1 and default _2): minor update, incl. security CVE-2014-{5271,5272} --- pkgs/development/libraries/ffmpeg/1.x.nix | 4 ++-- pkgs/development/libraries/ffmpeg/2.x.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix index a0dcf52dcce..e2aa336d5d2 100644 --- a/pkgs/development/libraries/ffmpeg/1.x.nix +++ b/pkgs/development/libraries/ffmpeg/1.x.nix @@ -31,11 +31,11 @@ assert playSupport -> SDL != null; assert freetypeSupport -> freetype != null; stdenv.mkDerivation rec { - name = "ffmpeg-1.2.7"; + name = "ffmpeg-1.2.8"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "13nj5q5ad0kcrid8r5x6x8lqfhk8kms14pmncf6vbdbk6x45k6v6"; + sha256 = "0n9fklr8zqkd60dc5ai161l6k4dbiac5hqy0pi1w82yamc25k6s2"; }; # `--enable-gpl' (as well as the `postproc' and `swscale') mean that diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix index 19a4099a8b1..8a25c4812b2 100644 --- a/pkgs/development/libraries/ffmpeg/2.x.nix +++ b/pkgs/development/libraries/ffmpeg/2.x.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "ffmpeg-2.3.2"; + name = "ffmpeg-2.3.3"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "1lpzqjpklmcjzk327pz070m3qz3s1cwg8v90w6r1sdh8491kbqc4"; + sha256 = "0ik4c06anh49r5b0d3rq9if4zl6ysjsa341655kzw22fl880sk5v"; }; subtitleSupport = config.ffmpeg.subtitle or true; From 3775fa9ea22401b69219b9a46aa60f51b45a10db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 11:52:07 +0200 Subject: [PATCH 0059/2163] subversion+serf: security update to fix CVE-2014-3504 Thanks to nixpkgs monitor again. --- pkgs/applications/version-management/subversion/default.nix | 4 ++-- pkgs/development/libraries/serf/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 7526bb5f043..6e3d2f3d4d5 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null; stdenv.mkDerivation rec { - version = "1.8.9"; + version = "1.8.10"; name = "subversion-${version}"; src = fetchurl { url = "mirror://apache/subversion/${name}.tar.bz2"; - sha1 = "424ee12708f39a126efd905886666083dcc4eeaf"; + sha1 = "d6896d94bb53c1b4c6e9c5bb1a5c466477b19b2b"; }; buildInputs = [ zlib apr aprutil sqlite ] diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix index 409b5db0104..f0fedba5ac1 100644 --- a/pkgs/development/libraries/serf/default.nix +++ b/pkgs/development/libraries/serf/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig }: stdenv.mkDerivation rec { - name = "serf-1.3.6"; + name = "serf-1.3.7"; src = fetchurl { url = "http://serf.googlecode.com/svn/src_releases/${name}.tar.bz2"; - sha256 = "1wk3cplazs8jznjc9ylpd63rrk9k2y05xa7zqx7psycr0gmpnqya"; + sha1 = "db9ae339dba10a2b47f9bdacf30a58fd8e36683a"; }; buildInputs = [ apr scons openssl aprutil zlib krb5 pkgconfig ]; From 2b75fe851b7e20ed05912be9e28963b2fb2d12ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 10:50:52 +0200 Subject: [PATCH 0060/2163] readline-6.3: update, including security fixes Close #3706 CVE-2014-2524 (likely not affecting any our program anyway). --- .../libraries/readline/readline6.3.nix | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/readline/readline6.3.nix b/pkgs/development/libraries/readline/readline6.3.nix index 9f5c9f7b581..356c2c055bd 100644 --- a/pkgs/development/libraries/readline/readline6.3.nix +++ b/pkgs/development/libraries/readline/readline6.3.nix @@ -1,11 +1,13 @@ -{ fetchurl, stdenv, ncurses }: +{ fetchzip, stdenv, ncurses }: stdenv.mkDerivation (rec { - name = "readline-6.3"; + name = "readline-6.3p08"; - src = fetchurl { - url = "mirror://gnu/readline/${name}.tar.gz"; - sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn"; + src = fetchzip { + #url = "mirror://gnu/readline/${name}.tar.gz"; + url = "http://git.savannah.gnu.org/cgit/readline.git/snapshot/" + + "readline-a73b98f779b388a5d0624e02e8bb187246e3e396.tar.gz"; + sha256 = "19ji3wrv4fs79fd0nkacjy9q94pvy2cm66yb3aqysahg0cbrz5l1"; }; propagatedBuildInputs = [ncurses]; @@ -17,7 +19,7 @@ stdenv.mkDerivation (rec { ./no-arch_only-6.3.patch ]; - meta = { + meta = with stdenv.lib; { description = "GNU Readline, a library for interactive line editing"; longDescription = '' @@ -37,9 +39,11 @@ stdenv.mkDerivation (rec { homepage = http://savannah.gnu.org/projects/readline/; - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; - maintainers = [ stdenv.lib.maintainers.ludo ]; + maintainers = [ maintainers.ludo ]; + + platforms = platforms.unix; }; } From 50b65a7f8e097fffb6c561b806caaaa33473e939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 14:17:05 +0200 Subject: [PATCH 0061/2163] readline: use 6.3 by default I found no build regressions with the most common dependents. It's possible that older readline branches may be vulnerable, although the last one announced seemed not to affect regular packages. --- pkgs/top-level/all-packages.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2c8b83ada5..8a0a02d9c38 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2537,7 +2537,6 @@ let bashInteractive = appendToName "interactive" (callPackage ../shells/bash { interactive = true; - readline = readline63; # Includes many vi mode fixes }); bashCompletion = callPackage ../shells/bash-completion { }; @@ -3526,7 +3525,6 @@ let suitesparse = null; openjdk = null; gnuplot = null; - readline = readline63; }; octaveFull = (lowPrio (callPackage ../development/interpreters/octave { fltk = fltk13; @@ -4199,7 +4197,6 @@ let gdb = callPackage ../development/tools/misc/gdb { hurd = gnu.hurdCross; - readline = readline63; inherit (gnu) mig; }; @@ -6060,13 +6057,14 @@ let raul = callPackage ../development/libraries/audio/raul { }; - readline = readline6; # 6.2 works, 6.3 breaks python, parted + readline = readline6; + readline6 = readline63; readline4 = callPackage ../development/libraries/readline/readline4.nix { }; readline5 = callPackage ../development/libraries/readline/readline5.nix { }; - readline6 = callPackage ../development/libraries/readline/readline6.nix { }; + readline62 = callPackage ../development/libraries/readline/readline6.nix { }; readline63 = callPackage ../development/libraries/readline/readline6.3.nix { }; From 30fef8a3cffbc1586b448f227f8ebfa745bd1e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 14:28:33 +0200 Subject: [PATCH 0062/2163] readline: remove unused old versions 4 and 5 ...including an unused patch. --- pkgs/development/libraries/readline/readline4.nix | 10 ---------- pkgs/development/libraries/readline/readline5.nix | 14 -------------- .../libraries/readline/shobj-darwin.patch | 11 ----------- pkgs/top-level/all-packages.nix | 4 ---- 4 files changed, 39 deletions(-) delete mode 100644 pkgs/development/libraries/readline/readline4.nix delete mode 100644 pkgs/development/libraries/readline/readline5.nix delete mode 100644 pkgs/development/libraries/readline/shobj-darwin.patch diff --git a/pkgs/development/libraries/readline/readline4.nix b/pkgs/development/libraries/readline/readline4.nix deleted file mode 100644 index d9dcdc9f048..00000000000 --- a/pkgs/development/libraries/readline/readline4.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ stdenv, fetchurl, ncurses }: - -stdenv.mkDerivation { - name = "readline-4.3"; - src = fetchurl { - url = mirror://gnu/readline/readline-4.3.tar.gz; - md5 = "f86f7cb717ab321fe15f1bbcb058c11e"; - }; - propagatedBuildInputs = [ncurses]; -} diff --git a/pkgs/development/libraries/readline/readline5.nix b/pkgs/development/libraries/readline/readline5.nix deleted file mode 100644 index c208d5b9fe6..00000000000 --- a/pkgs/development/libraries/readline/readline5.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ stdenv, fetchurl, ncurses }: - -stdenv.mkDerivation { - name = "readline-5.2"; - - src = fetchurl { - url = mirror://gnu/readline/readline-5.2.tar.gz; - sha256 = "0icz4hqqq8mlkwrpczyaha94kns0am9z0mh3a2913kg2msb8vs0j"; - }; - - propagatedBuildInputs = [ncurses]; - - patches = stdenv.lib.optional stdenv.isDarwin ./shobj-darwin.patch; -} diff --git a/pkgs/development/libraries/readline/shobj-darwin.patch b/pkgs/development/libraries/readline/shobj-darwin.patch deleted file mode 100644 index a9199ca3e89..00000000000 --- a/pkgs/development/libraries/readline/shobj-darwin.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/support/shobj-conf.orig 2006-04-11 06:15:43.000000000 -0700 -+++ b/support/shobj-conf 2007-11-08 01:15:43.000000000 -0800 -@@ -171,7 +171,7 @@ - SHLIB_LIBSUFF='dylib' - - case "${host_os}" in -- darwin[78]*) SHOBJ_LDFLAGS='' -+ darwin[789]*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ;; - *) SHOBJ_LDFLAGS='-dynamic' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8a0a02d9c38..02f99c1f969 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6060,10 +6060,6 @@ let readline = readline6; readline6 = readline63; - readline4 = callPackage ../development/libraries/readline/readline4.nix { }; - - readline5 = callPackage ../development/libraries/readline/readline5.nix { }; - readline62 = callPackage ../development/libraries/readline/readline6.nix { }; readline63 = callPackage ../development/libraries/readline/readline6.3.nix { }; From ead8f2ba0abba57cc6def5a14fe52a6b191ed57d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 11:23:23 +0200 Subject: [PATCH 0063/2163] mesa: bugfix update --- pkgs/development/libraries/mesa/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index bbad10898bf..54fd8d3810e 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -24,7 +24,7 @@ else */ let - version = "10.2.5"; + version = "10.2.6"; # this is the default search path for DRI drivers driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32"; in @@ -35,7 +35,7 @@ stdenv.mkDerivation { src = fetchurl { url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2"; - sha256 = "039is15p8pkhf8m0yiyb72zybl63xb9ckqzcg3xwi8zlyw5ryidl"; + sha256 = "01n8ib190s12m8hiiyi4wfm9jhkbqjd769npjwvf965smp918cqr"; }; prePatch = "patchShebangs ."; From 315b8ec8f69384b2ef29f00aee9ef50613f368f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 14:10:22 +0200 Subject: [PATCH 0064/2163] orc: bugfix updates --- pkgs/development/compilers/orc/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix index 7dfbe218bb7..2ce3e89e897 100644 --- a/pkgs/development/compilers/orc/default.nix +++ b/pkgs/development/compilers/orc/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "orc-0.4.19"; + name = "orc-0.4.21"; src = fetchurl { - url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.gz"; - sha256 = "17mmgwll2waz44m908lcxc5fd6n44yysh7p4pdw33hr138r507z2"; + url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.xz"; + sha256 = "187wrnq0ficwjj4y3yqci5fxcdkiazfs6k5js26k5b26hipzmham"; }; doCheck = true; From c31c79f0dd82e9bf751dad16997388460a048dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 11:23:42 +0200 Subject: [PATCH 0065/2163] xorg.xcb (lib+proto): update (seems mainly bug fixes) --- pkgs/servers/x11/xorg/default.nix | 12 ++++++------ pkgs/servers/x11/xorg/extra.list | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 6945d6559fb..8d00e8e5a49 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -915,11 +915,11 @@ let }) // {inherit ;}; libxcb = (mkDerivation "libxcb" { - name = "libxcb-1.10"; + name = "libxcb-1.11"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/libxcb-1.10.tar.bz2; - sha256 = "1dfmyb1zjx6n0zhr4y40mc1crlmj3bfjjhmn0f30ip9nnq2spncq"; + url = http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2; + sha256 = "1xqgc81krx14f2c8yl5chzg5g2l26mhm2rwffy8dx7jv0iq5sqq3"; }; buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; }) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;}; @@ -1175,11 +1175,11 @@ let }) // {inherit ;}; xcbproto = (mkDerivation "xcbproto" { - name = "xcb-proto-1.10"; + name = "xcb-proto-1.11"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/xcb-proto-1.10.tar.bz2; - sha256 = "01dgp802i4ic9wkmpa7g1wm50pp547d3b96jjz2hnxavhpfhvx3y"; + url = http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2; + sha256 = "0bp3f53l9fy5x3mn1rkj1g81aiyzl90wacwvqdgy831aa3kfxb5l"; }; buildInputs = [pkgconfig python ]; }) // {inherit python ;}; diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list index 2d105241c2d..84795ed980b 100644 --- a/pkgs/servers/x11/xorg/extra.list +++ b/pkgs/servers/x11/xorg/extra.list @@ -1,6 +1,6 @@ http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2 -http://xcb.freedesktop.org/dist/libxcb-1.10.tar.bz2 -http://xcb.freedesktop.org/dist/xcb-proto-1.10.tar.bz2 +http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2 +http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-0.3.9.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-image-0.3.9.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.3.9.tar.bz2 From acf8919844a0bda2f8641028d17b6064557407c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 11:26:28 +0200 Subject: [PATCH 0066/2163] xorg.xrandr: minor bugfix update --- pkgs/servers/x11/xorg/default.nix | 6 +++--- pkgs/servers/x11/xorg/tarballs-7.7.list | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 8d00e8e5a49..d2978f59ec5 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -2025,11 +2025,11 @@ let }) // {inherit ;}; xrandr = (mkDerivation "xrandr" { - name = "xrandr-1.4.2"; + name = "xrandr-1.4.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xrandr-1.4.2.tar.bz2; - sha256 = "1g4hnj53wknsjwiqivyy3jl4qw7jwrpncz7d5p2z29zq5zlnxrxj"; + url = mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2; + sha256 = "06xy0kr6ih7ilrwl6b5g6ay75vm2j4lxnv1d5xlj6sdqhqsaqm3i"; }; buildInputs = [pkgconfig libX11 xproto libXrandr libXrender ]; }) // {inherit libX11 xproto libXrandr libXrender ;}; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 417d12ddadc..98386e3ff99 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -175,7 +175,7 @@ mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2 mirror://xorg/individual/app/xprop-1.2.2.tar.bz2 mirror://xorg/individual/proto/xproto-7.0.26.tar.bz2 -mirror://xorg/individual/app/xrandr-1.4.2.tar.bz2 +mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2 mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2 mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2 mirror://xorg/individual/app/xset-1.2.3.tar.bz2 From 59e3e060765f8c8e477bebbbca87969bf84618ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 11:46:25 +0200 Subject: [PATCH 0067/2163] xorg: update probably unused modules --- pkgs/servers/x11/xorg/default.nix | 12 ++++++------ pkgs/servers/x11/xorg/tarballs-7.7.list | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index d2978f59ec5..d64507ac3ba 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1405,11 +1405,11 @@ let }) // {inherit inputproto xorgserver xproto ;}; xf86inputmouse = (mkDerivation "xf86inputmouse" { - name = "xf86-input-mouse-1.9.0"; + name = "xf86-input-mouse-1.9.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.0.tar.bz2; - sha256 = "12344w0cxac1ld54qqwynxwazbmmpvqh1mzcskmfkmakmr5iwq2x"; + url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2; + sha256 = "1kn5kx3qyn9qqvd6s24a2l1wfgck2pgfvzl90xpl024wfxsx719l"; }; buildInputs = [pkgconfig inputproto xorgserver xproto ]; }) // {inherit inputproto xorgserver xproto ;}; @@ -1515,11 +1515,11 @@ let }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;}; xf86videogeode = (mkDerivation "xf86videogeode" { - name = "xf86-video-geode-2.11.15"; + name = "xf86-video-geode-2.11.16"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-geode-2.11.15.tar.bz2; - sha256 = "1w4ghr2a41kaw4g9na8ws5fjbmy8zkbxpxa21vmqc8mkjzb3pnq0"; + url = mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2; + sha256 = "19y13xl7yfrgyis92rmxi0ld95ajgr5il0n9j1dridwzw9aizz1q"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 98386e3ff99..d606f7daaa5 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -118,7 +118,7 @@ mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2 mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2 mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2 -mirror://xorg/individual/driver/xf86-input-mouse-1.9.0.tar.bz2 +mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2 mirror://xorg/individual/driver/xf86-input-synaptics-1.7.6.tar.bz2 mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2 mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2 @@ -130,7 +130,7 @@ mirror://xorg/individual/driver/xf86-video-nouveau-1.0.10.tar.bz2 mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2 mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2 mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2 -mirror://xorg/individual/driver/xf86-video-geode-2.11.15.tar.bz2 +mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2 mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2 mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2 mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2 From b8826951e40626d1ad10958c1428871b97999d3e Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 21 Aug 2014 15:24:43 +0200 Subject: [PATCH 0068/2163] Adds ocaml-sqlite3EZ and its dependency ocaml+twt ocaml+twt is an alternative syntax for OCaml that uses indentation to group multi-line expressions, like Python and Haskell. Homepage: http://people.csail.mit.edu/mikelin/ocaml+twt/ sqlite3EZ is a thin wrapper for sqlite3-ocaml with a simplified interface. Query results are processed with a functional map/fold, transactions are aborted by exceptions, resource management is handled by the garbage collector, etc. Homepage: https://github.com/mlin/ocaml-sqlite3EZ --- .../ocaml-modules/sqlite3EZ/default.nix | 23 +++++++++++++++ .../development/ocaml-modules/twt/default.nix | 29 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 3 files changed, 56 insertions(+) create mode 100644 pkgs/development/ocaml-modules/sqlite3EZ/default.nix create mode 100644 pkgs/development/ocaml-modules/twt/default.nix diff --git a/pkgs/development/ocaml-modules/sqlite3EZ/default.nix b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix new file mode 100644 index 00000000000..e8ec8e6f5da --- /dev/null +++ b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, ocaml, findlib, twt, ocaml_sqlite3 }: + +stdenv.mkDerivation { + name = "ocaml-sqlite3EZ-0.1.0"; + + src = fetchurl { + url = https://github.com/mlin/ocaml-sqlite3EZ/archive/v0.1.0.tar.gz; + sha256 = "8ed2c5d5914a65cbd95589ef11bfb8b38a020eb850cdd49b8adce7ee3a563748"; + }; + + buildInputs = [ ocaml findlib twt ]; + + propagatedBuildInputs = [ ocaml_sqlite3 ]; + + createFindlibDestdir = true; + + meta = { + homepage = http://github.com/mlin/ocaml-sqlite3EZ; + description = "A thin wrapper for sqlite3-ocaml with a simplified interface"; + license = stdenv.lib.licenses.mit; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/twt/default.nix b/pkgs/development/ocaml-modules/twt/default.nix new file mode 100644 index 00000000000..e2a627aa360 --- /dev/null +++ b/pkgs/development/ocaml-modules/twt/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchurl, ocaml, findlib }: + +stdenv.mkDerivation { + name = "ocaml-twt-0.93.2"; + + src = fetchurl { + url = https://github.com/mlin/twt/archive/v0.93.2.tar.gz; + sha256 = "aec091fbd1e6c4d252cf9664237418b4bc8c7d6b7a17475589be78365397e768"; + }; + + buildInputs = [ ocaml findlib ]; + + createFindlibDestdir = true; + + configurePhase = '' + mkdir $out/bin + ''; + + installPhase = '' + make install PREFIX=$out + ''; + + meta = { + homepage = http://people.csail.mit.edu/mikelin/ocaml+twt/; + description = "“The Whitespace Thing” for OCaml"; + license = stdenv.lib.licenses.mit; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22138aa60da..6fa8c4f91b9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3303,6 +3303,10 @@ let opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { }; opam = opam_1_1; + sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { }; + + twt = callPackage ../development/ocaml-modules/twt { }; + yojson = callPackage ../development/ocaml-modules/yojson { }; zarith = callPackage ../development/ocaml-modules/zarith { }; From 084626deecaffcaa017af07eaab00682eff5d6f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 21 Aug 2014 21:15:32 +0200 Subject: [PATCH 0069/2163] glew: update, and tweak meta --- pkgs/development/libraries/glew/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix index 9ec88799d0d..5127311e7c9 100644 --- a/pkgs/development/libraries/glew/default.nix +++ b/pkgs/development/libraries/glew/default.nix @@ -3,11 +3,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "glew-1.10.0"; + name = "glew-1.11.0"; src = fetchurl { url = "mirror://sourceforge/glew/${name}.tgz"; - sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r"; + sha256 = "1mhkllxz49l1x680dmzrv2i82qjrq017sykah3xc90f2d8qcxfv9"; }; nativeBuildInputs = [ x11 libXmu libXi ]; @@ -42,9 +42,11 @@ stdenv.mkDerivation rec { ] ++ optional (stdenv.cross.libc == "msvcrt") "SYSTEM=mingw" ++ optional (stdenv.cross.libc == "libSystem") "SYSTEM=darwin"; - meta = { + meta = with stdenv.lib; { description = "An OpenGL extension loading library for C(++)"; homepage = http://glew.sourceforge.net/; - license = ["BSD" "GLX" "SGI-B" "GPL2"]; # License description copied from gentoo-1.4.0 + license = licenses.free; # different files under different licenses + #["BSD" "GLX" "SGI-B" "GPL2"] + platforms = platforms.mesaPlatforms; }; } From e2db82874cf497c0dd156680d4c4a8f3b028125c Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 22 Aug 2014 14:56:33 +0200 Subject: [PATCH 0070/2163] Updates merlin to 1.7.1 --- pkgs/development/tools/ocaml/merlin/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix index 8efb90a9cef..970c07f3546 100644 --- a/pkgs/development/tools/ocaml/merlin/default.nix +++ b/pkgs/development/tools/ocaml/merlin/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, ocaml, findlib, yojson, menhir}: stdenv.mkDerivation { - name = "merlin-1.7"; + name = "merlin-1.7.1"; src = fetchurl { - url = "https://github.com/the-lambda-church/merlin/archive/v1.7.tar.gz"; - sha256 = "0grprrykah02g8va63lidbcb6n8sd18l2k9spb5rwlcs3xhfw42b"; + url = https://github.com/the-lambda-church/merlin/archive/v1.7.1.tar.gz; + sha256 = "c3b60c7b3fddaa2860e0d8ac0d4fed2ed60e319875734c7ac1a93df524c67aff"; }; buildInputs = [ ocaml findlib yojson menhir ]; From 5722f4950a68d86674b982c10fd4bd182fdb5e3a Mon Sep 17 00:00:00 2001 From: Jos van den Oever Date: Tue, 24 Jun 2014 17:03:58 +0200 Subject: [PATCH 0071/2163] Install runtime executables for k3b. --- pkgs/applications/misc/k3b/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix index 06565065ce5..b220c9127de 100644 --- a/pkgs/applications/misc/k3b/default.nix +++ b/pkgs/applications/misc/k3b/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, cmake, qt4, perl, shared_mime_info, libvorbis, taglib , flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext +, transcode, cdrdao, dvdplusrwtools, vcdimager , kdelibs, kdemultimedia, automoc4, phonon, libkcddb ? null }: @@ -20,6 +21,11 @@ stdenv.mkDerivation rec { ]; enableParallelBuilding = true; + + # at runtime, k3b needs the executables cdrdao, cdrecord, dvd+rw-format, + # eMovix, growisofs, mkisofs, normalize, readcd, transcode, vcdxbuild, + # vcdxminfo, and vcdxrip + propagatedUserEnvPkgs = [ transcode dvdplusrwtools cdrdao vcdimager ]; meta = with stdenv.lib; { description = "CD/DVD Burning Application for KDE"; From 7405af72e6c25b4cfb07b1d0f16bc10926590d41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sat, 23 Aug 2014 13:31:17 +0200 Subject: [PATCH 0072/2163] qt: make package names of "full" variants appear as such Currently there is no distinction in the package names of Qt packages whether they are "full" or not (i.e. coming from a qt5Full or qt5 attribute). Currently: $ nix-env -f. -qaP | grep "^qt[45]" qt48Full qt-4.8.6 qt5Full qt-5.2.1 qt5 qt-5.2.1 qt53 qt-5.3.1 qt53Full qt-5.3.1 [...] With this change: $ nix-env -f. -qaP | grep "^qt[45]" qt5 qt-5.2.1 qt53 qt-5.3.1 qt48Full qt-full-4.8.6 qt5Full qt-full-5.2.1 qt53Full qt-full-5.3.1 [...] --- pkgs/top-level/all-packages.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a4f275e3c6e..f307614260e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6024,24 +6024,24 @@ let else stdenv; }; - qt48Full = qt48.override { + qt48Full = appendToName "full" (qt48.override { docs = true; demos = true; examples = true; developerBuild = true; - }; + }); qt4SDK = qtcreator.override { sdkBuild = true; qtLib = qt48Full; }; - qt53Full = qt53.override { + qt53Full = appendToName "full" (qt53.override { buildDocs = true; buildExamples = true; buildTests = true; developerBuild = true; - }; + }); qt53 = callPackage ../development/libraries/qt-5/qt-5.3.nix { mesa = mesa_noglu; @@ -6059,12 +6059,12 @@ let bison = bison2; # error: too few arguments to function 'int yylex(... }; - qt5Full = qt5.override { + qt5Full = appendToName "full" (qt5.override { buildDocs = true; buildExamples = true; buildTests = true; developerBuild = true; - }; + }); qt5SDK = qtcreator.override { sdkBuild = true; From 0df6ccb4b61892954dc222f0c34a3b3b7f52bc24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 23 Aug 2014 11:41:41 +0200 Subject: [PATCH 0073/2163] orc: disable tests on i686 The failing test doesn't even work in the commit that introduced it. --- pkgs/development/compilers/orc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix index 2ce3e89e897..ca5eadc8a64 100644 --- a/pkgs/development/compilers/orc/default.nix +++ b/pkgs/development/compilers/orc/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "187wrnq0ficwjj4y3yqci5fxcdkiazfs6k5js26k5b26hipzmham"; }; - doCheck = true; + doCheck = stdenv.is64bit; # see https://bugzilla.gnome.org/show_bug.cgi?id=728129#c7 meta = { description = "The Oil Runtime Compiler"; From 72132d5ed0b39a832ce8e6719f9b6cc6dbca68b4 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sat, 19 Apr 2014 16:33:00 -0300 Subject: [PATCH 0074/2163] Xiphos - New Package (version 3.2.1) This is a new expression for Xiphos 3.2.1, followed by an update of Sword library to 1.7.3 (required) --- pkgs/applications/misc/xiphos/default.nix | 57 ++++++++++++++++++++ pkgs/development/libraries/sword/default.nix | 4 +- pkgs/top-level/all-packages.nix | 7 +++ 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/misc/xiphos/default.nix diff --git a/pkgs/applications/misc/xiphos/default.nix b/pkgs/applications/misc/xiphos/default.nix new file mode 100644 index 00000000000..b8cd2ff2584 --- /dev/null +++ b/pkgs/applications/misc/xiphos/default.nix @@ -0,0 +1,57 @@ +{stdenv, fetchurl, pkgconfig +, python +, intltool +, docbook2x, docbook_xml_dtd_412, libxslt +, sword, clucene_core +, gnome_doc_utils +, libgsf, gconf +, gtkhtml, libgtkhtml, libglade, scrollkeeper +, webkitgtk +, dbus_glib, enchant, isocodes, libuuid +}: + +stdenv.mkDerivation rec { + name = "xiphos-${version}"; + version = "3.2.1"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/project/gnomesword/Xiphos/${version}/${name}.tar.gz"; + sha256 = "0xff31f89as1p7fn3vq8ishjhbmx6qhc25msh5ypa0zg8hm5dxbb"; + }; + + buildInputs = [ pkgconfig python intltool docbook2x docbook_xml_dtd_412 libxslt sword clucene_core gnome_doc_utils libgsf gconf gtkhtml libgtkhtml libglade scrollkeeper webkitgtk dbus_glib enchant isocodes libuuid ]; + + prePatch = '' + patchShebangs .; + ''; + + preConfigure = '' + export CLUCENE_HOME=${clucene_core}; + export SWORD_HOME=${sword}; + ''; + + configurePhase = '' + python waf configure --prefix=$out + ''; + + buildPhase = '' + python waf build + ''; + + installPhase = '' + python waf install + ''; + + meta = { + description = "A GTK Bible study tool"; + longDescription = '' + Xiphos (formerly known as GnomeSword) is a Bible study tool written for Linux, UNIX, + and Windows using GTK, offering a rich and featureful environment for reading, study, + and research using modules from The SWORD Project and elsewhere. + ''; + homepage = http://www.xiphos.org/; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/sword/default.nix b/pkgs/development/libraries/sword/default.nix index 28afdf85dfb..5c276ead23a 100644 --- a/pkgs/development/libraries/sword/default.nix +++ b/pkgs/development/libraries/sword/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { - version = "1.7.2"; + version = "1.7.3"; name = "sword-${version}"; src = fetchurl { url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.7/${name}.tar.gz"; - sha256 = "ac7aace0ecb7a405d4b4b211ee1ae5b2250bb5c57c9197179747c9e830787871"; + sha256 = "1sm9ivypsx3mraqnziic7qkxjx1b7crvlln0zq6cnpjx2pzqfgas"; }; buildInputs = [ pkgconfig icu clucene_core curl ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 094e410fafe..312e9718afc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10097,6 +10097,13 @@ let inherit (gnome) libglade GConf; }; + xiphos = callPackage ../applications/misc/xiphos { + gconf = gnome2.GConf; + inherit (gnome2) gtkhtml libgtkhtml libglade scrollkeeper; + python = python27; + webkitgtk = webkitgtk2; + }; + xournal = callPackage ../applications/graphics/xournal { inherit (gnome) libgnomeprint libgnomeprintui libgnomecanvas; }; From 72df3f37e55aa1e14733b03482c602114bf56dcd Mon Sep 17 00:00:00 2001 From: Matthew Brown Date: Sun, 24 Aug 2014 11:17:31 +0100 Subject: [PATCH 0075/2163] Updated definition file as per comments from the collaborator --- pkgs/servers/search/sphinxsearch/default.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/search/sphinxsearch/default.nix b/pkgs/servers/search/sphinxsearch/default.nix index 9264ae99609..27bbb91fb18 100644 --- a/pkgs/servers/search/sphinxsearch/default.nix +++ b/pkgs/servers/search/sphinxsearch/default.nix @@ -1,12 +1,10 @@ -{ stdenv, fetchurl, pkgconfig, mysql }: - -let - version = "2.1.9"; +{ stdenv, fetchurl, pkgconfig, mysql, + version = "2.1.9", mainSrc = fetchurl { url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz"; sha256 = "00vwxf3zr0g1fq9mls1z2rd8nxw74b76pkl1j466lig1qc5am2b2"; - }; -in + } +}: stdenv.mkDerivation rec { name = "sphinxsearch-${version}"; @@ -22,7 +20,7 @@ stdenv.mkDerivation rec { ]; meta = { - description = "Sphinx is an open source full text search server."; + description = "An open source full text search server"; homepage = http://sphinxsearch.com; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.all; From 8a445f923710ff1a4885c268a16cb931e3b639f0 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Sat, 23 Aug 2014 20:34:01 +0200 Subject: [PATCH 0076/2163] Refactor fetchurl handling in stdenvLinux All the different stages of stdenv had the fetchurl inherited anyways, so make this generic in stdenvBootFun. This commit doesn't change the outhash (or drvhash) of the stdenv. --- pkgs/stdenv/linux/default.nix | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 23cccf223f4..71b23a396d9 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -46,7 +46,7 @@ rec { builder = bootstrapFiles.sh; args = - if system == "armv5tel-linux" || system == "armv6l-linux" + if system == "armv5tel-linux" || system == "armv6l-linux" || system == "armv7l-linux" then [ ./scripts/unpack-bootstrap-tools-arm.sh ] else [ ./scripts/unpack-bootstrap-tools.sh ]; @@ -69,9 +69,9 @@ rec { # This function builds the various standard environments used during # the bootstrap. stdenvBootFun = - {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? [], fetchurl}: + {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? []}: - import ../generic { + let thisStdenv = import ../generic { inherit system config; name = "stdenv-linux-boot"; preHook = @@ -83,27 +83,22 @@ rec { ''; shell = "${bootstrapTools}/bin/sh"; initialPath = [bootstrapTools] ++ extraPath; - fetchurlBoot = fetchurl; + fetchurlBoot = import ../../build-support/fetchurl { + stdenv = stdenvLinuxBoot0; + curl = bootstrapTools; + }; inherit gcc; # Having the proper 'platform' in all the stdenvs allows getting proper # linuxHeaders for example. extraAttrs = extraAttrs // { inherit platform; }; - overrides = pkgs: (overrides pkgs) // { - inherit fetchurl; - }; + overrides = pkgs: (overrides pkgs) // { fetchurl = thisStdenv.fetchurlBoot; }; }; + in thisStdenv; # Build a dummy stdenv with no GCC or working fetchurl. This is # because we need a stdenv to build the GCC wrapper and fetchurl. stdenvLinuxBoot0 = stdenvBootFun { gcc = "/no-such-path"; - fetchurl = null; - }; - - - fetchurl = import ../../build-support/fetchurl { - stdenv = stdenvLinuxBoot0; - curl = bootstrapTools; }; @@ -142,7 +137,6 @@ rec { binutils = bootstrapTools; coreutils = bootstrapTools; }; - inherit fetchurl; }; @@ -168,7 +162,6 @@ rec { overrides = pkgs: { inherit (stdenvLinuxBoot1Pkgs) perl; }; - inherit fetchurl; }; @@ -211,7 +204,6 @@ rec { glibc = stdenvLinuxGlibc; # Required by gcc47 build }; extraPath = [ stdenvLinuxBoot1Pkgs.paxctl ]; - inherit fetchurl; }; @@ -238,7 +230,6 @@ rec { inherit (stdenvLinuxBoot1Pkgs) perl; inherit (stdenvLinuxBoot3Pkgs) gettext gnum4 gmp; }; - inherit fetchurl; }; @@ -281,7 +272,7 @@ rec { shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; - fetchurlBoot = fetchurl; + fetchurlBoot = stdenvLinuxBoot0.fetchurlBoot; extraAttrs = { inherit (stdenvLinuxBoot3Pkgs) glibc; From 142970b9eb1925d67b4b9b41d060533fe249f2ec Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Sat, 23 Aug 2014 20:45:32 +0200 Subject: [PATCH 0077/2163] Refactor wrapGCC in stdenvLinux Don't use default parameter values, to make the callsites more readable and for easier debuggability/changability. Also reordered the callsites' parameter ordering for consistency. In the final stdenv don't repeat the name of the shell. This commit doesn't change the outhash (or drvhash) of the stdenv. --- pkgs/stdenv/linux/default.nix | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 71b23a396d9..d2c36b9dc0d 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -118,12 +118,12 @@ rec { # A helper function to call gcc-wrapper. wrapGCC = - { gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper" }: + { gcc, libc, binutils, coreutils, name }: lib.makeOverridable (import ../../build-support/gcc-wrapper) { nativeTools = false; nativeLibc = false; - inherit gcc binutils coreutils libc shell name; + inherit gcc binutils coreutils libc name; stdenv = stdenvLinuxBoot0; }; @@ -133,9 +133,11 @@ rec { # configure script happy. stdenvLinuxBoot1 = stdenvBootFun { gcc = wrapGCC { + gcc = bootstrapTools; libc = bootstrapGlibc; binutils = bootstrapTools; coreutils = bootstrapTools; + name = "bootstrap-gcc-wrapper"; }; }; @@ -155,9 +157,11 @@ rec { # 3) 2nd stdenv that we will use to build only Glibc. stdenvLinuxBoot2 = stdenvBootFun { gcc = wrapGCC { + gcc = bootstrapTools; libc = bootstrapGlibc; binutils = binutils1; coreutils = bootstrapTools; + name = "bootstrap-gcc-wrapper"; }; overrides = pkgs: { inherit (stdenvLinuxBoot1Pkgs) perl; @@ -183,9 +187,11 @@ rec { # binutils and rest of the bootstrap tools, including GCC. stdenvLinuxBoot3 = stdenvBootFun { gcc = wrapGCC { + gcc = bootstrapTools; + libc = stdenvLinuxGlibc; binutils = binutils1; coreutils = bootstrapTools; - libc = stdenvLinuxGlibc; + name = "bootstrap-gcc-wrapper"; }; overrides = pkgs: { glibc = stdenvLinuxGlibc; @@ -219,10 +225,10 @@ rec { # (e.g. coreutils) are still from the bootstrap tools. stdenvLinuxBoot4 = stdenvBootFun { gcc = wrapGCC rec { + gcc = stdenvLinuxBoot3Pkgs.gcc.gcc; + libc = stdenvLinuxGlibc; binutils = binutils1; coreutils = bootstrapTools; - libc = stdenvLinuxGlibc; - gcc = stdenvLinuxBoot3Pkgs.gcc.gcc; name = ""; }; extraPath = [ stdenvLinuxBoot3Pkgs.xz ]; @@ -262,16 +268,15 @@ rec { ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;}) ++ [stdenvLinuxBoot4Pkgs.patchelf stdenvLinuxBoot4Pkgs.paxctl ]; - gcc = wrapGCC rec { - inherit (stdenvLinuxBoot4Pkgs) binutils coreutils; - libc = stdenvLinuxGlibc; - gcc = stdenvLinuxBoot4.gcc.gcc; - shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; - name = ""; - }; - shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; + gcc = (wrapGCC rec { + gcc = stdenvLinuxBoot4.gcc.gcc; + libc = stdenvLinuxGlibc; + inherit (stdenvLinuxBoot4Pkgs) binutils coreutils; + name = ""; + }).override { inherit shell; }; + fetchurlBoot = stdenvLinuxBoot0.fetchurlBoot; extraAttrs = { From 350022247a0b59abf42228d1d3fbb4222974b130 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Sat, 23 Aug 2014 21:26:37 +0200 Subject: [PATCH 0078/2163] Refactor stage handling in stdenvLinux Make stages explicit and generalize the pattern of having an stdenv and a pkgs collection for all stages to a common stage generating function called stageFun. Rewrite all stage handling with this new function. This commit doesn't change the outhash (or drvhash) of the stdenv. --- pkgs/stdenv/linux/default.nix | 187 +++++++++++++++------------------- 1 file changed, 80 insertions(+), 107 deletions(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index d2c36b9dc0d..6c910c284a5 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -35,8 +35,8 @@ rec { # The bootstrap process proceeds in several steps. - # 1) Create a standard environment by downloading pre-built binaries - # of coreutils, GCC, etc. + # Create a standard environment by downloading pre-built binaries of + # coreutils, GCC, etc. # Download and unpack the bootstrap tools (coreutils, GCC, Glibc, ...). @@ -67,11 +67,13 @@ rec { # This function builds the various standard environments used during - # the bootstrap. - stdenvBootFun = + # the bootstrap. In all stages, we build an stdenv and the package + # set that can be built with that stdenv. + stageFun = {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? []}: - let thisStdenv = import ../generic { + let + thisStdenv = import ../generic { inherit system config; name = "stdenv-linux-boot"; preHook = @@ -84,7 +86,7 @@ rec { shell = "${bootstrapTools}/bin/sh"; initialPath = [bootstrapTools] ++ extraPath; fetchurlBoot = import ../../build-support/fetchurl { - stdenv = stdenvLinuxBoot0; + stdenv = stage0.stdenv; curl = bootstrapTools; }; inherit gcc; @@ -93,26 +95,32 @@ rec { extraAttrs = extraAttrs // { inherit platform; }; overrides = pkgs: (overrides pkgs) // { fetchurl = thisStdenv.fetchurlBoot; }; }; - in thisStdenv; + thisPkgs = allPackages { + inherit system platform; + bootStdenv = thisStdenv; + }; + in { stdenv = thisStdenv; pkgs = thisPkgs; }; # Build a dummy stdenv with no GCC or working fetchurl. This is # because we need a stdenv to build the GCC wrapper and fetchurl. - stdenvLinuxBoot0 = stdenvBootFun { + stage0 = stageFun { gcc = "/no-such-path"; - }; - - # The Glibc include directory cannot have the same prefix as the GCC - # include directory, since GCC gets confused otherwise (it will - # search the Glibc headers before the GCC headers). So create a - # dummy Glibc. - bootstrapGlibc = stdenvLinuxBoot0.mkDerivation { - name = "bootstrap-glibc"; - buildCommand = '' - mkdir -p $out - ln -s ${bootstrapTools}/lib $out/lib - ln -s ${bootstrapTools}/include-glibc $out/include - ''; + overrides = pkgs: { + # The Glibc include directory cannot have the same prefix as the + # GCC include directory, since GCC gets confused otherwise (it + # will search the Glibc headers before the GCC headers). So + # create a dummy Glibc here, which will be used in the stdenv of + # stage1. + glibc = stage0.stdenv.mkDerivation { + name = "bootstrap-glibc"; + buildCommand = '' + mkdir -p $out + ln -s ${bootstrapTools}/lib $out/lib + ln -s ${bootstrapTools}/include-glibc $out/include + ''; + }; + }; }; @@ -124,78 +132,58 @@ rec { nativeTools = false; nativeLibc = false; inherit gcc binutils coreutils libc name; - stdenv = stdenvLinuxBoot0; + stdenv = stage0.stdenv; }; # Create the first "real" standard environment. This one consists # of bootstrap tools only, and a minimal Glibc to keep the GCC # configure script happy. - stdenvLinuxBoot1 = stdenvBootFun { + stage1 = stageFun { gcc = wrapGCC { gcc = bootstrapTools; - libc = bootstrapGlibc; + libc = stage0.pkgs.glibc; binutils = bootstrapTools; coreutils = bootstrapTools; name = "bootstrap-gcc-wrapper"; }; + # Rebuild binutils to use from stage2 onwards. + overrides = pkgs: { + binutils = pkgs.binutils.override { gold = false; }; + }; }; - # 2) These are the packages that we can build with the first - # stdenv. We only need binutils, because recent Glibcs - # require recent Binutils, and those in bootstrap-tools may - # be too old. - stdenvLinuxBoot1Pkgs = allPackages { - inherit system platform; - bootStdenv = stdenvLinuxBoot1; - }; - - binutils1 = stdenvLinuxBoot1Pkgs.binutils.override { gold = false; }; - - - # 3) 2nd stdenv that we will use to build only Glibc. - stdenvLinuxBoot2 = stdenvBootFun { + # 2nd stdenv that contains our own rebuilt binutils and is used for + # compiling our own Glibc. + stage2 = stageFun { gcc = wrapGCC { gcc = bootstrapTools; - libc = bootstrapGlibc; - binutils = binutils1; + libc = stage0.pkgs.glibc; + binutils = stage1.pkgs.binutils; coreutils = bootstrapTools; name = "bootstrap-gcc-wrapper"; }; overrides = pkgs: { - inherit (stdenvLinuxBoot1Pkgs) perl; + inherit (stage1.pkgs) perl; + # This also contains the full, dynamically linked, final Glibc. }; }; - # 4) These are the packages that we can build with the 2nd - # stdenv. - stdenvLinuxBoot2Pkgs = allPackages { - inherit system platform; - bootStdenv = stdenvLinuxBoot2; - }; - - - # 5) Build Glibc with the bootstrap tools. The result is the full, - # dynamically linked, final Glibc. - stdenvLinuxGlibc = stdenvLinuxBoot2Pkgs.glibc; - - - # 6) Construct a third stdenv identical to the 2nd, except that this - # one uses the Glibc built in step 5. It still uses the recent - # binutils and rest of the bootstrap tools, including GCC. - stdenvLinuxBoot3 = stdenvBootFun { + # Construct a third stdenv identical to the 2nd, except that this + # one uses the rebuilt Glibc from stage2. It still uses the recent + # binutils and rest of the bootstrap tools, including GCC. + stage3 = stageFun { gcc = wrapGCC { gcc = bootstrapTools; - libc = stdenvLinuxGlibc; - binutils = binutils1; + libc = stage2.pkgs.glibc; + binutils = stage1.pkgs.binutils; coreutils = bootstrapTools; name = "bootstrap-gcc-wrapper"; }; overrides = pkgs: { - glibc = stdenvLinuxGlibc; - inherit (stdenvLinuxBoot1Pkgs) perl; + inherit (stage2.pkgs) glibc perl; # Link GCC statically against GMP etc. This makes sense because # these builds of the libraries are only used by GCC, so it # reduces the size of the stdenv closure. @@ -207,52 +195,37 @@ rec { ppl = pkgs.ppl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; }; extraAttrs = { - glibc = stdenvLinuxGlibc; # Required by gcc47 build + glibc = stage2.pkgs.glibc; # Required by gcc47 build }; - extraPath = [ stdenvLinuxBoot1Pkgs.paxctl ]; + extraPath = [ stage1.pkgs.paxctl ]; }; - # 7) The packages that can be built using the third stdenv. - stdenvLinuxBoot3Pkgs = allPackages { - inherit system platform; - bootStdenv = stdenvLinuxBoot3; - }; - - - # 8) Construct a fourth stdenv identical to the second, except that - # this one uses the new GCC from step 7. The other tools - # (e.g. coreutils) are still from the bootstrap tools. - stdenvLinuxBoot4 = stdenvBootFun { - gcc = wrapGCC rec { - gcc = stdenvLinuxBoot3Pkgs.gcc.gcc; - libc = stdenvLinuxGlibc; - binutils = binutils1; + # Construct a fourth stdenv that uses the new GCC. But coreutils is + # still from the bootstrap tools. + stage4 = stageFun { + gcc = wrapGCC { + gcc = stage3.pkgs.gcc.gcc; + libc = stage2.pkgs.glibc; + binutils = stage1.pkgs.binutils; coreutils = bootstrapTools; name = ""; }; - extraPath = [ stdenvLinuxBoot3Pkgs.xz ]; + extraPath = [ stage3.pkgs.xz ]; overrides = pkgs: { - inherit (stdenvLinuxBoot1Pkgs) perl; - inherit (stdenvLinuxBoot3Pkgs) gettext gnum4 gmp; + inherit (stage1.pkgs) perl; + inherit (stage3.pkgs) gettext gnum4 gmp glibc; }; }; - # 9) The packages that can be built using the fourth stdenv. - stdenvLinuxBoot4Pkgs = allPackages { - inherit system platform; - bootStdenv = stdenvLinuxBoot4; - }; - - - # 10) Construct the final stdenv. It uses the Glibc and GCC, and - # adds in a new binutils that doesn't depend on bootstrap-tools, - # as well as dynamically linked versions of all other tools. + # Construct the final stdenv. It uses the Glibc and GCC, and adds + # in a new binutils that doesn't depend on bootstrap-tools, as well + # as dynamically linked versions of all other tools. # - # When updating stdenvLinux, make sure that the result has no - # dependency (`nix-store -qR') on bootstrapTools or the - # first binutils built. + # When updating stdenvLinux, make sure that the result has no + # dependency (`nix-store -qR') on bootstrapTools or the first + # binutils built. stdenvLinux = import ../generic rec { inherit system config; @@ -265,31 +238,31 @@ rec { ''; initialPath = - ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;}) - ++ [stdenvLinuxBoot4Pkgs.patchelf stdenvLinuxBoot4Pkgs.paxctl ]; + ((import ../common-path.nix) {pkgs = stage4.pkgs;}) + ++ [stage4.pkgs.patchelf stage4.pkgs.paxctl ]; - shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; + shell = stage4.pkgs.bash + "/bin/bash"; gcc = (wrapGCC rec { - gcc = stdenvLinuxBoot4.gcc.gcc; - libc = stdenvLinuxGlibc; - inherit (stdenvLinuxBoot4Pkgs) binutils coreutils; + gcc = stage4.stdenv.gcc.gcc; + libc = stage4.pkgs.glibc; + inherit (stage4.pkgs) binutils coreutils; name = ""; }).override { inherit shell; }; - fetchurlBoot = stdenvLinuxBoot0.fetchurlBoot; + fetchurlBoot = stage4.stdenv.fetchurl; extraAttrs = { - inherit (stdenvLinuxBoot3Pkgs) glibc; + inherit (stage4.pkgs) glibc; inherit platform bootstrapTools; - shellPackage = stdenvLinuxBoot4Pkgs.bash; + shellPackage = stage4.pkgs.bash; }; overrides = pkgs: { inherit gcc; - inherit (stdenvLinuxBoot3Pkgs) glibc; - inherit (stdenvLinuxBoot4Pkgs) binutils; - inherit (stdenvLinuxBoot4Pkgs) + inherit (stage3.pkgs) glibc; + inherit (stage4.pkgs) binutils; + inherit (stage4.pkgs) gzip bzip2 xz bash coreutils diffutils findutils gawk gnumake gnused gnutar gnugrep gnupatch patchelf attr acl paxctl; From 49e5837780b9811f5cb9f36979a3a3b737b2d94f Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Sun, 24 Aug 2014 15:47:10 +0200 Subject: [PATCH 0079/2163] Move wrapGCC helper up This commit doesn't change the outhash (or drvhash) of the stdenv. --- pkgs/stdenv/linux/default.nix | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 6c910c284a5..2d96869f23e 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -66,6 +66,18 @@ rec { }; + # A helper function to call gcc-wrapper. + wrapGCC = + { gcc, libc, binutils, coreutils, name }: + + lib.makeOverridable (import ../../build-support/gcc-wrapper) { + nativeTools = false; + nativeLibc = false; + inherit gcc binutils coreutils libc name; + stdenv = stage0.stdenv; + }; + + # This function builds the various standard environments used during # the bootstrap. In all stages, we build an stdenv and the package # set that can be built with that stdenv. @@ -101,6 +113,7 @@ rec { }; in { stdenv = thisStdenv; pkgs = thisPkgs; }; + # Build a dummy stdenv with no GCC or working fetchurl. This is # because we need a stdenv to build the GCC wrapper and fetchurl. stage0 = stageFun { @@ -124,18 +137,6 @@ rec { }; - # A helper function to call gcc-wrapper. - wrapGCC = - { gcc, libc, binutils, coreutils, name }: - - lib.makeOverridable (import ../../build-support/gcc-wrapper) { - nativeTools = false; - nativeLibc = false; - inherit gcc binutils coreutils libc name; - stdenv = stage0.stdenv; - }; - - # Create the first "real" standard environment. This one consists # of bootstrap tools only, and a minimal Glibc to keep the GCC # configure script happy. From ea65229f70fe75ebc8440d69575a9b8f2e573da0 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Sun, 24 Aug 2014 15:55:14 +0200 Subject: [PATCH 0080/2163] Refactor stages to only ever refer to the previous stage This commit doesn't change the outhash (or drvhash) of the stdenv. --- pkgs/stdenv/linux/default.nix | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 2d96869f23e..6d54228978f 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -140,6 +140,13 @@ rec { # Create the first "real" standard environment. This one consists # of bootstrap tools only, and a minimal Glibc to keep the GCC # configure script happy. + # + # For clarity, we only use the previous stage when specifying these + # stages. So stageN should only ever have references for stage{N-1}. + # + # If we ever need to use a package from more than one stage back, we + # simply re-export those packages in the middle stage(s) using the + # overrides attribute and the inherit syntax. stage1 = stageFun { gcc = wrapGCC { gcc = bootstrapTools; @@ -151,6 +158,7 @@ rec { # Rebuild binutils to use from stage2 onwards. overrides = pkgs: { binutils = pkgs.binutils.override { gold = false; }; + inherit (stage0.pkgs) glibc; }; }; @@ -160,13 +168,13 @@ rec { stage2 = stageFun { gcc = wrapGCC { gcc = bootstrapTools; - libc = stage0.pkgs.glibc; + libc = stage1.pkgs.glibc; binutils = stage1.pkgs.binutils; coreutils = bootstrapTools; name = "bootstrap-gcc-wrapper"; }; overrides = pkgs: { - inherit (stage1.pkgs) perl; + inherit (stage1.pkgs) perl binutils paxctl; # This also contains the full, dynamically linked, final Glibc. }; }; @@ -179,12 +187,12 @@ rec { gcc = wrapGCC { gcc = bootstrapTools; libc = stage2.pkgs.glibc; - binutils = stage1.pkgs.binutils; + binutils = stage2.pkgs.binutils; coreutils = bootstrapTools; name = "bootstrap-gcc-wrapper"; }; overrides = pkgs: { - inherit (stage2.pkgs) glibc perl; + inherit (stage2.pkgs) binutils glibc perl; # Link GCC statically against GMP etc. This makes sense because # these builds of the libraries are only used by GCC, so it # reduces the size of the stdenv closure. @@ -198,7 +206,7 @@ rec { extraAttrs = { glibc = stage2.pkgs.glibc; # Required by gcc47 build }; - extraPath = [ stage1.pkgs.paxctl ]; + extraPath = [ stage2.pkgs.paxctl ]; }; @@ -207,15 +215,14 @@ rec { stage4 = stageFun { gcc = wrapGCC { gcc = stage3.pkgs.gcc.gcc; - libc = stage2.pkgs.glibc; - binutils = stage1.pkgs.binutils; + libc = stage3.pkgs.glibc; + binutils = stage3.pkgs.binutils; coreutils = bootstrapTools; name = ""; }; extraPath = [ stage3.pkgs.xz ]; overrides = pkgs: { - inherit (stage1.pkgs) perl; - inherit (stage3.pkgs) gettext gnum4 gmp glibc; + inherit (stage3.pkgs) gettext gnum4 gmp perl glibc; }; }; @@ -261,11 +268,9 @@ rec { overrides = pkgs: { inherit gcc; - inherit (stage3.pkgs) glibc; - inherit (stage4.pkgs) binutils; inherit (stage4.pkgs) - gzip bzip2 xz bash coreutils diffutils findutils gawk - gnumake gnused gnutar gnugrep gnupatch patchelf + gzip bzip2 xz bash binutils coreutils diffutils findutils gawk + glibc gnumake gnused gnutar gnugrep gnupatch patchelf attr acl paxctl; }; }; From 27d39849355d1a39f8538d09c52e04f8f87510ea Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sun, 24 Aug 2014 18:08:23 +0200 Subject: [PATCH 0081/2163] Indentation --- pkgs/stdenv/linux/default.nix | 53 ++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 6d54228978f..80bc982267b 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -85,32 +85,35 @@ rec { {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? []}: let - thisStdenv = import ../generic { - inherit system config; - name = "stdenv-linux-boot"; - preHook = - '' - # Don't patch #!/interpreter because it leads to retained - # dependencies on the bootstrapTools in the final stdenv. - dontPatchShebangs=1 - ${commonPreHook} - ''; - shell = "${bootstrapTools}/bin/sh"; - initialPath = [bootstrapTools] ++ extraPath; - fetchurlBoot = import ../../build-support/fetchurl { - stdenv = stage0.stdenv; - curl = bootstrapTools; + + thisStdenv = import ../generic { + inherit system config; + name = "stdenv-linux-boot"; + preHook = + '' + # Don't patch #!/interpreter because it leads to retained + # dependencies on the bootstrapTools in the final stdenv. + dontPatchShebangs=1 + ${commonPreHook} + ''; + shell = "${bootstrapTools}/bin/sh"; + initialPath = [bootstrapTools] ++ extraPath; + fetchurlBoot = import ../../build-support/fetchurl { + stdenv = stage0.stdenv; + curl = bootstrapTools; + }; + inherit gcc; + # Having the proper 'platform' in all the stdenvs allows getting proper + # linuxHeaders for example. + extraAttrs = extraAttrs // { inherit platform; }; + overrides = pkgs: (overrides pkgs) // { fetchurl = thisStdenv.fetchurlBoot; }; }; - inherit gcc; - # Having the proper 'platform' in all the stdenvs allows getting proper - # linuxHeaders for example. - extraAttrs = extraAttrs // { inherit platform; }; - overrides = pkgs: (overrides pkgs) // { fetchurl = thisStdenv.fetchurlBoot; }; - }; - thisPkgs = allPackages { - inherit system platform; - bootStdenv = thisStdenv; - }; + + thisPkgs = allPackages { + inherit system platform; + bootStdenv = thisStdenv; + }; + in { stdenv = thisStdenv; pkgs = thisPkgs; }; From 873ab39401476802192d46f96678d5e2c410b6df Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Mon, 25 Aug 2014 00:46:23 +0200 Subject: [PATCH 0082/2163] NixOS: Add meta.maintainer option to modules. --- nixos/modules/misc/meta.nix | 63 +++++++++++++++++++++++++++++++++++ nixos/modules/module-list.nix | 1 + 2 files changed, 64 insertions(+) create mode 100644 nixos/modules/misc/meta.nix diff --git a/nixos/modules/misc/meta.nix b/nixos/modules/misc/meta.nix new file mode 100644 index 00000000000..22622706f2c --- /dev/null +++ b/nixos/modules/misc/meta.nix @@ -0,0 +1,63 @@ +{ config, lib, ... }: + +with lib; + +let + maintainer = mkOptionType { + name = "maintainer"; + check = email: elem email (attrValues lib.maintainers); + merge = loc: defs: listToAttrs (singleton (nameValuePair (last defs).file (last defs).value)); + }; + + listOfMaintainers = types.listOf maintainer // { + # Returns list of + # { "module-file" = [ + # "maintainer1 " + # "maintainer2 " ]; + # } + merge = loc: defs: + zipAttrs + (flatten (imap (n: def: imap (m: def': + maintainer.merge (loc ++ ["[${toString n}-${toString m}]"]) + [{ inherit (def) file; value = def'; }]) def.value) defs)); + }; + + docFile = types.path // { + # Returns tuples of + # { file = "module location"; value = ; } + merge = loc: defs: defs; + }; +in + +{ + options = { + meta = { + + maintainers = mkOption { + type = listOfMaintainers; + internal = true; + default = []; + example = [ lib.maintainers.all ]; + description = '' + List of maintainers of each module. This option should be defined at + most once per module. + ''; + }; + + doc = mkOption { + type = docFile; + internal = true; + example = "./meta.xml"; + description = '' + Documentation prologe for the set of options of each module. This + option should be defined at most once per module. + ''; + }; + + }; + }; + + config = { + meta.maintainers = singleton lib.maintainers.pierron; + }; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 453899175e0..095dbf42480 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -43,6 +43,7 @@ ./misc/ids.nix ./misc/lib.nix ./misc/locate.nix + ./misc/meta.nix ./misc/nixpkgs.nix ./misc/passthru.nix ./misc/version.nix From a4ac9eb22e5559e7def4f58ea96837023aeae8bd Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Mon, 25 Aug 2014 02:45:11 +0200 Subject: [PATCH 0083/2163] nixos: add systemd service for getty on /dev/console --- nixos/modules/services/ttys/agetty.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix index df21ebbd974..3878b02b1a8 100644 --- a/nixos/modules/services/ttys/agetty.nix +++ b/nixos/modules/services/ttys/agetty.nix @@ -66,6 +66,12 @@ with lib; restartIfChanged = false; }; + systemd.services."console-getty" = + { serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login --keep-baud console 115200,38400,9600 $TERM"; + serviceConfig.Restart = "always"; + restartIfChanged = false; + }; + environment.etc = singleton { # Friendly greeting on the virtual consoles. source = pkgs.writeText "issue" '' From d77150df30c46b5cdf70aae79893bfb2fbc621a8 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Mon, 25 Aug 2014 02:45:33 +0200 Subject: [PATCH 0084/2163] nixos: make-system-tarball, add option for extra arguments for tar Sometimes extra arguments when making tarball are required, for example if making a container owner of files has to be changed to root. --- nixos/lib/make-system-tarball.nix | 5 ++++- nixos/lib/make-system-tarball.sh | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/nixos/lib/make-system-tarball.nix b/nixos/lib/make-system-tarball.nix index 8fed9a34882..3bd891fdbc2 100644 --- a/nixos/lib/make-system-tarball.nix +++ b/nixos/lib/make-system-tarball.nix @@ -15,6 +15,9 @@ # store path whose closure will be copied, and `symlink' is a # symlink to `object' that will be added to the tarball. storeContents ? [] + + # Extra tar arguments +, extraArgs ? "" }: stdenv.mkDerivation { @@ -22,7 +25,7 @@ stdenv.mkDerivation { builder = ./make-system-tarball.sh; buildInputs = [perl xz]; - inherit fileName pathsFromGraph; + inherit fileName pathsFromGraph extraArgs; # !!! should use XML. sources = map (x: x.source) contents; diff --git a/nixos/lib/make-system-tarball.sh b/nixos/lib/make-system-tarball.sh index 096d96ac1c8..2eb668115a6 100644 --- a/nixos/lib/make-system-tarball.sh +++ b/nixos/lib/make-system-tarball.sh @@ -50,7 +50,7 @@ done mkdir -p $out/tarball -tar cvJf $out/tarball/$fileName.tar.xz * +tar cvJf $out/tarball/$fileName.tar.xz * $extraArgs mkdir -p $out/nix-support echo $system > $out/nix-support/system From f5d648e27d1b31c91740d536a88e7d2c251aaf79 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 25 Aug 2014 09:35:06 +0200 Subject: [PATCH 0085/2163] Fix evaluation --- pkgs/stdenv/linux/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 80bc982267b..1daebd9dd36 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -261,7 +261,7 @@ rec { name = ""; }).override { inherit shell; }; - fetchurlBoot = stage4.stdenv.fetchurl; + inherit (stage4.stdenv) fetchurlBoot; extraAttrs = { inherit (stage4.pkgs) glibc; From 296888b1bcb0b3eb641167973c87686a9103b0dd Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Mon, 25 Aug 2014 02:48:02 +0200 Subject: [PATCH 0086/2163] nixos: virtualisation, add basic docker nixos image --- nixos/modules/virtualisation/docker-image.nix | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 nixos/modules/virtualisation/docker-image.nix diff --git a/nixos/modules/virtualisation/docker-image.nix b/nixos/modules/virtualisation/docker-image.nix new file mode 100644 index 00000000000..13b861dc988 --- /dev/null +++ b/nixos/modules/virtualisation/docker-image.nix @@ -0,0 +1,67 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + pkgs2storeContents = l : map (x: { object = x; symlink = "none"; }) l; + +in { + # Create the tarball + system.build.dockerImage = import ../../lib/make-system-tarball.nix { + inherit (pkgs) stdenv perl xz pathsFromGraph; + + contents = []; + extraArgs = "--owner=0"; + storeContents = [ + { object = config.system.build.toplevel + "/init"; + symlink = "/bin/init"; + } + ] ++ (pkgs2storeContents [ pkgs.stdenv ]); + }; + + boot.postBootCommands = + '' + # After booting, register the contents of the Nix store in the Nix + # database. + if [ -f /nix-path-registration ]; then + ${config.nix.package}/bin/nix-store --load-db < /nix-path-registration && + rm /nix-path-registration + fi + + # nixos-rebuild also requires a "system" profile and an + # /etc/NIXOS tag. + touch /etc/NIXOS + ${config.nix.package}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system + + # Set virtualisation to docker + echo "docker" > /run/systemd/container + ''; + + + # docker image config + require = [ + ../installer/cd-dvd/channel.nix + ../profiles/minimal.nix + ../profiles/clone-config.nix + ]; + + boot.isContainer = true; + + # Iptables do not work in docker + networking.firewall.enable = false; + + services.openssh.enable = true; + + # Socket activated ssh presents problem in docker + services.openssh.startWhenNeeded = false; + + # Allow the user to login as root without password + security.initialRootPassword = ""; + + # Some more help text. + services.mingetty.helpLine = + '' + + Log in as "root" with an empty password. + ''; +} From 93697e85cabbf54a6e040521d8dc55f757b2a468 Mon Sep 17 00:00:00 2001 From: Dmitry Belyaev Date: Fri, 15 Aug 2014 11:14:54 +1000 Subject: [PATCH 0087/2163] Support odbc in erlang R16 and R17 --- pkgs/development/interpreters/erlang/R16.nix | 9 ++++++--- pkgs/development/interpreters/erlang/R17.nix | 9 ++++++--- pkgs/top-level/all-packages.nix | 3 +++ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix index 5945cdd8299..23243803e8d 100644 --- a/pkgs/development/interpreters/erlang/R16.nix +++ b/pkgs/development/interpreters/erlang/R16.nix @@ -1,13 +1,15 @@ { stdenv, fetchurl, perl, gnum4, ncurses, openssl , gnused, gawk, makeWrapper +, odbcSupport ? false, unixODBC ? null , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }: assert wxSupport -> mesa != null && wxGTK != null && xlibs != null; +assert odbcSupport -> unixODBC != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "erlang-" + version; + name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}"; version = "16B03-1"; src = fetchurl { @@ -17,7 +19,8 @@ stdenv.mkDerivation rec { buildInputs = [ perl gnum4 ncurses openssl makeWrapper - ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]; + ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ] + ++ optional odbcSupport [ unixODBC ]; patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; @@ -26,7 +29,7 @@ stdenv.mkDerivation rec { sed -e s@/bin/pwd@pwd@g -i otp_build ''; - configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"; + configureFlags= "--with-ssl=${openssl} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"; postInstall = let manpages = fetchurl { diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix index 2aba55d3679..83ea79d67f3 100644 --- a/pkgs/development/interpreters/erlang/R17.nix +++ b/pkgs/development/interpreters/erlang/R17.nix @@ -1,13 +1,15 @@ { stdenv, fetchurl, perl, gnum4, ncurses, openssl , gnused, gawk, makeWrapper +, odbcSupport ? false, unixODBC ? null , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }: assert wxSupport -> mesa != null && wxGTK != null && xlibs != null; +assert odbcSupport -> unixODBC != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "erlang-" + version; + name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}"; version = "17.1"; src = fetchurl { @@ -17,7 +19,8 @@ stdenv.mkDerivation rec { buildInputs = [ perl gnum4 ncurses openssl makeWrapper - ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]; + ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ] + ++ optional odbcSupport [ unixODBC ]; patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; @@ -26,7 +29,7 @@ stdenv.mkDerivation rec { sed -e s@/bin/pwd@pwd@g -i otp_build ''; - configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"; + configureFlags= "--with-ssl=${openssl} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"; postInstall = let manpages = fetchurl { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ebfd4715d4b..201120baecf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3482,8 +3482,11 @@ let erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { }; erlangR15 = callPackage ../development/interpreters/erlang/R15.nix { }; erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { }; + erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix { odbcSupport = true; }; erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { }; + erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix { odbcSupport = true; }; erlang = erlangR17; + erlang_odbc = erlangR17_odbc; rebar = callPackage ../development/tools/build-managers/rebar { }; From 7f78c366f179fdf2c7ff262e91431286d5163b38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 26 Aug 2014 16:38:15 +0200 Subject: [PATCH 0088/2163] pythonPackages.ipaddr: 2.1.10 -> 2.1.11 --- pkgs/top-level/python-packages.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 112f655f5fa..9382867a07e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4021,11 +4021,13 @@ rec { }; - ipaddr = buildPythonPackage { - name = "ipaddr-2.1.10"; + ipaddr = buildPythonPackage rec { + name = "ipaddr-2.1.11"; + disabled = isPy3k; + src = fetchurl { - url = "http://ipaddr-py.googlecode.com/files/ipaddr-2.1.10.tar.gz"; - sha256 = "18ycwkfk3ypb1yd09wg20r7j7zq2a73d7j6j10qpgra7a7abzhyj"; + url = "http://pypi.python.org/packages/source/i/ipaddr/${name}.tar.gz"; + sha256 = "1dwq3ngsapjc93fw61rp17fvzggmab5x1drjzvd4y4q0i255nm8v"; }; meta = { From d9772ecc666a0d28a30b41007ba2e90f5c227b7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 26 Aug 2014 16:46:48 +0200 Subject: [PATCH 0089/2163] python3Packages: disable/upgrade bunch of packages --- pkgs/top-level/python-packages.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9382867a07e..9b958cbd7d2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3364,6 +3364,7 @@ rec { flexget = buildPythonPackage rec { name = "FlexGet-1.2.161"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/F/FlexGet/${name}.tar.gz"; @@ -4467,6 +4468,7 @@ rec { mechanize = buildPythonPackage (rec { name = "mechanize-0.1.11"; + disabled = isPy3k; src = fetchurl { url = "http://wwwsearch.sourceforge.net/mechanize/src/${name}.tar.gz"; @@ -5429,6 +5431,7 @@ rec { paste = buildPythonPackage rec { name = "paste-1.7.5.1"; + disabled = isPy3k; src = fetchurl { url = http://pypi.python.org/packages/source/P/Paste/Paste-1.7.5.1.tar.gz; @@ -5447,12 +5450,12 @@ rec { paste_deploy = buildPythonPackage rec { - version = "1.5.0"; + version = "1.5.2"; name = "paste-deploy-${version}"; src = fetchurl { url = "http://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-${version}.tar.gz"; - md5 = "f1a068a0b680493b6eaff3dd7690690f"; + md5 = "352b7205c78c8de4987578d19431af3b"; }; buildInputs = [ nose ]; @@ -5588,6 +5591,7 @@ rec { pika = buildPythonPackage { name = "pika-0.9.12"; + diabled = isPy3k; src = fetchurl { url = https://pypi.python.org/packages/source/p/pika/pika-0.9.12.tar.gz; md5 = "7174fc7cc5570314fa3cfaa729106482"; @@ -6446,6 +6450,7 @@ rec { ldap = buildPythonPackage rec { name = "ldap-2.4.15"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/p/python-ldap/python-${name}.tar.gz"; @@ -6845,11 +6850,11 @@ rec { reportlab = let freetype = overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; }); in buildPythonPackage rec { - name = "reportlab-2.5"; + name = "reportlab-3.1.8"; src = fetchurl { url = "http://pypi.python.org/packages/source/r/reportlab/${name}.tar.gz"; - md5 = "cdf8b87a6cf1501de1b0a8d341a217d3"; + md5 = "820a9fda647078503597b85cdba7ed7f"; }; buildInputs = [freetype]; From 6b404aa265ec6c522e73074c9eb91b692ec68528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 26 Aug 2014 16:52:28 +0200 Subject: [PATCH 0090/2163] python34Packages.ColanderAlchemy: fix build --- pkgs/top-level/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9b958cbd7d2..acd81c84d8d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1312,7 +1312,7 @@ rec { }; buildInputs = [ unittest2 ]; - propagatedBuildInputs = [ colander sqlalchemy8 ]; + propagatedBuildInputs = [ colander sqlalchemy9 ]; # string: argument name cannot be overridden via info kwarg. doCheck = false; From a024d92193ad508e0ee9692761f10d6bffce51c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 26 Aug 2014 17:02:00 +0200 Subject: [PATCH 0091/2163] fix eval job --- pkgs/top-level/python-packages.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index acd81c84d8d..41dbf14a816 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -139,8 +139,8 @@ rec { pygtk = import ../development/python-modules/pygtk { inherit (pkgs) fetchurl stdenv pkgconfig gtk; - inherit python buildPythonPackage pygobject pycairo; - }; + inherit python buildPythonPackage pygobject pycairo isPy3k; + }; # XXX: how can we get an override here? #pyGtkGlade = pygtk.override { @@ -149,7 +149,7 @@ rec { pyGtkGlade = import ../development/python-modules/pygtk { inherit (pkgs) fetchurl stdenv pkgconfig gtk; inherit (pkgs.gnome) libglade; - inherit python buildPythonPackage pygobject pycairo; + inherit python buildPythonPackage pygobject pycairo isPy3k; }; pyqt4 = import ../development/python-modules/pyqt/4.x.nix { @@ -5225,6 +5225,7 @@ rec { oauth2 = buildPythonPackage (rec { name = "oauth2-1.5.211"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/o/oauth2/oauth2-1.5.211.tar.gz"; @@ -9607,6 +9608,7 @@ rec { libarchive = buildPythonPackage rec { version = "3.1.2-1"; name = "libarchive-${version}"; + disabled = isPy3k; src = fetchurl { url = "http://python-libarchive.googlecode.com/files/python-libarchive-${version}.tar.gz"; From 1f2b636ff62ed6df735c6ee187f495c6371d9283 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Mon, 25 Aug 2014 21:16:38 +0200 Subject: [PATCH 0092/2163] Fix zlib handling in stdenvLinux Previously stdenv depended on two different zlibs and there was a third one in the top-level package set for other purposes. This commit merges all this zlibs to one. --- pkgs/stdenv/linux/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 1daebd9dd36..6f8b42c2266 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -225,7 +225,11 @@ rec { }; extraPath = [ stage3.pkgs.xz ]; overrides = pkgs: { - inherit (stage3.pkgs) gettext gnum4 gmp perl glibc; + # Zlib has to be inherited and not rebuilt in this stage, + # because gcc (since JAR support) already depends on zlib, and + # then if we already have a zlib we want to use that for the + # other purposes (binutils and top-level pkgs) too. + inherit (stage3.pkgs) gettext gnum4 gmp perl glibc zlib; }; }; @@ -274,7 +278,7 @@ rec { inherit (stage4.pkgs) gzip bzip2 xz bash binutils coreutils diffutils findutils gawk glibc gnumake gnused gnutar gnugrep gnupatch patchelf - attr acl paxctl; + attr acl paxctl zlib; }; }; From 981d0607f9c8de1502f57526dc7ecbabab54fe8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 26 Aug 2014 17:50:47 +0200 Subject: [PATCH 0093/2163] Revert "pythonPackages.gtimelog: 0.8.1 -> 0.9.1, use gi stack" This reverts commit 4fbeca8823949c388ab2d7c66927374be602b632. PEBKAC. --- pkgs/top-level/python-packages.nix | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 41dbf14a816..eb4f4959a4b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2190,19 +2190,34 @@ rec { gtimelog = buildPythonPackage rec { name = "gtimelog-${version}"; - version = "0.8.1"; + version = "0.9.1"; + + disabled = isPy26; src = fetchurl { url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz"; - sha256 = "0nwpfv284b26q97mfpagqkqb4n2ilw46cx777qsyi3plnywk1xa0"; + sha256 = "0qk8fv8cszzqpdi3wl9vvkym1jil502ycn6sic4jrxckw5s9jsfj"; }; + + preBuild = '' + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + export LC_ALL="en_US.UTF-8" + ''; - propagatedBuildInputs = [ pygtk ]; + # TODO: AppIndicator + propagatedBuildInputs = [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ]; checkPhase = '' - patchShebangs ./runtests + substituteInPlace runtests --replace "/usr/bin/env python" "${python}/bin/${python.executable}" ./runtests ''; + + preFixup = '' + wrapProgram $out/bin/gtimelog \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3}/lib" \ + + ''; meta = with stdenv.lib; { description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible"; From e81f830114cdeec718a34ab88cceed976043283e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 26 Aug 2014 17:59:35 +0200 Subject: [PATCH 0094/2163] pythonPackages.gcutil: fix build --- pkgs/top-level/python-packages.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eb4f4959a4b..07173068810 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3944,11 +3944,11 @@ rec { }; httplib2 = buildPythonPackage rec { - name = "httplib2-0.9"; + name = "httplib2-0.8"; src = fetchurl { url = "https://pypi.python.org/packages/source/h/httplib2/${name}.tar.gz"; - sha256 = "1asi5wpncnc6ki3bz33mhb9xh2lrkb24y4qng8bmqnczdmm8rsir"; + sha256 = "174w6rz4na1sdlfz37h95l0pkfm9igf9nqmhbd8aqh3sm7d9zrff"; }; meta = { @@ -4038,12 +4038,12 @@ rec { ipaddr = buildPythonPackage rec { - name = "ipaddr-2.1.11"; + name = "ipaddr-2.1.10"; disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/i/ipaddr/${name}.tar.gz"; - sha256 = "1dwq3ngsapjc93fw61rp17fvzggmab5x1drjzvd4y4q0i255nm8v"; + sha256 = "18ycwkfk3ypb1yd09wg20r7j7zq2a73d7j6j10qpgra7a7abzhyj"; }; meta = { From 8707a070baca84d881a7e03e04a44374d8cc05e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 26 Aug 2014 18:11:26 +0200 Subject: [PATCH 0095/2163] python-packages-generated: fix WebTest --- pkgs/top-level/python-packages-generated.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/python-packages-generated.nix b/pkgs/top-level/python-packages-generated.nix index 2cf742156a3..247d18680d9 100644 --- a/pkgs/top-level/python-packages-generated.nix +++ b/pkgs/top-level/python-packages-generated.nix @@ -5242,6 +5242,7 @@ in doCheck = true; buildInputs = [ self."nose-1.3.3" self."unittest2-0.5.1" self."pyquery-1.2.8" self."WSGIProxy2-0.4.1" self."PasteDeploy-1.5.2" self."mock-1.0.1" self."coverage-3.7.1" pkgs.unzip ]; propagatedBuildInputs = [ self."beautifulsoup4-4.3.2" self."six-1.6.1" self."waitress-0.8.9" self."WebOb-1.4" ]; + preConfigure = ''substituteInPlace setup.py --replace "nose<1.3.0" "nose"''; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' From a099ca45054940b63b1615920de158ebafb25ea8 Mon Sep 17 00:00:00 2001 From: Mikey Ariel Date: Sun, 24 Aug 2014 19:18:18 +0200 Subject: [PATCH 0096/2163] Chunk NixOS manual [Squashed commits to make git blame etc. more likely to work. -ED] --- .../manual/administration/boot-problems.xml | 65 + .../manual/administration/cleaning-store.xml | 62 + .../administration/container-networking.xml | 50 + .../doc/manual/administration/containers.xml | 34 + .../manual/administration/control-groups.xml | 75 + .../administration/declarative-containers.xml | 52 + .../administration/imperative-containers.xml | 124 ++ nixos/doc/manual/administration/logging.xml | 52 + .../administration/maintenance-mode.xml | 18 + .../administration/network-problems.xml | 33 + nixos/doc/manual/administration/rebooting.xml | 44 + nixos/doc/manual/administration/rollback.xml | 48 + nixos/doc/manual/administration/running.xml | 24 + .../manual/administration/service-mgmt.xml | 83 + .../administration/store-corruption.xml | 37 + .../manual/administration/troubleshooting.xml | 18 + .../manual/administration/user-sessions.xml | 53 + nixos/doc/manual/configuration.xml | 1563 ----------------- .../configuration/LUKS-file-systems.xml | 42 + .../doc/manual/configuration/abstractions.xml | 166 ++ .../configuration/ad-hoc-network-config.xml | 24 + .../manual/configuration/ad-hoc-packages.xml | 63 + .../configuration/adding-custom-packages.xml | 84 + .../doc/manual/configuration/config-file.xml | 213 +++ .../manual/configuration/config-syntax.xml | 27 + .../manual/configuration/configuration.xml | 29 + .../configuration/customizing-packages.xml | 92 + .../configuration/declarative-packages.xml | 43 + .../doc/manual/configuration/file-systems.xml | 40 + nixos/doc/manual/configuration/firewall.xml | 38 + .../doc/manual/configuration/ipv4-config.xml | 47 + .../doc/manual/configuration/ipv6-config.xml | 19 + .../doc/manual/configuration/linux-kernel.xml | 69 + nixos/doc/manual/configuration/modularity.xml | 143 ++ .../manual/configuration/network-manager.xml | 27 + nixos/doc/manual/configuration/networking.xml | 22 + .../doc/manual/configuration/package-mgmt.xml | 34 + nixos/doc/manual/configuration/ssh.xml | 32 + nixos/doc/manual/configuration/summary.xml | 191 ++ nixos/doc/manual/configuration/user-mgmt.xml | 95 + nixos/doc/manual/configuration/wireless.xml | 41 + nixos/doc/manual/configuration/x-windows.xml | 94 + nixos/doc/manual/containers.xml | 242 --- nixos/doc/manual/development.xml | 1119 ------------ .../doc/manual/development/building-nixos.xml | 32 + .../doc/manual/development/building-parts.xml | 113 ++ nixos/doc/manual/development/development.xml | 20 + nixos/doc/manual/development/nixos-tests.xml | 19 + .../development/option-declarations.xml | 141 ++ nixos/doc/manual/development/option-def.xml | 112 ++ .../development/running-nixos-tests.xml | 77 + nixos/doc/manual/development/sources.xml | 95 + .../manual/development/testing-installer.xml | 27 + .../manual/development/writing-modules.xml | 175 ++ .../development/writing-nixos-tests.xml | 251 +++ nixos/doc/manual/installation.xml | 570 ------ .../manual/installation/changing-config.xml | 90 + .../doc/manual/installation/installation.xml | 21 + .../manual/installation/installing-UEFI.xml | 51 + .../manual/installation/installing-USB.xml | 30 + nixos/doc/manual/installation/installing.xml | 264 +++ nixos/doc/manual/installation/obtaining.xml | 44 + nixos/doc/manual/installation/upgrading.xml | 90 + nixos/doc/manual/manual.xml | 24 +- .../manual/release-notes/release-notes.xml | 17 + nixos/doc/manual/release-notes/rl-1310.xml | 11 + .../rl-1404.xml} | 50 +- nixos/doc/manual/release-notes/rl-1410.xml | 22 + nixos/doc/manual/running.xml | 369 ---- nixos/doc/manual/troubleshooting.xml | 199 --- 70 files changed, 4264 insertions(+), 4121 deletions(-) create mode 100644 nixos/doc/manual/administration/boot-problems.xml create mode 100644 nixos/doc/manual/administration/cleaning-store.xml create mode 100644 nixos/doc/manual/administration/container-networking.xml create mode 100644 nixos/doc/manual/administration/containers.xml create mode 100644 nixos/doc/manual/administration/control-groups.xml create mode 100644 nixos/doc/manual/administration/declarative-containers.xml create mode 100644 nixos/doc/manual/administration/imperative-containers.xml create mode 100644 nixos/doc/manual/administration/logging.xml create mode 100644 nixos/doc/manual/administration/maintenance-mode.xml create mode 100644 nixos/doc/manual/administration/network-problems.xml create mode 100644 nixos/doc/manual/administration/rebooting.xml create mode 100644 nixos/doc/manual/administration/rollback.xml create mode 100644 nixos/doc/manual/administration/running.xml create mode 100644 nixos/doc/manual/administration/service-mgmt.xml create mode 100644 nixos/doc/manual/administration/store-corruption.xml create mode 100644 nixos/doc/manual/administration/troubleshooting.xml create mode 100644 nixos/doc/manual/administration/user-sessions.xml delete mode 100644 nixos/doc/manual/configuration.xml create mode 100644 nixos/doc/manual/configuration/LUKS-file-systems.xml create mode 100644 nixos/doc/manual/configuration/abstractions.xml create mode 100644 nixos/doc/manual/configuration/ad-hoc-network-config.xml create mode 100644 nixos/doc/manual/configuration/ad-hoc-packages.xml create mode 100644 nixos/doc/manual/configuration/adding-custom-packages.xml create mode 100644 nixos/doc/manual/configuration/config-file.xml create mode 100644 nixos/doc/manual/configuration/config-syntax.xml create mode 100644 nixos/doc/manual/configuration/configuration.xml create mode 100644 nixos/doc/manual/configuration/customizing-packages.xml create mode 100644 nixos/doc/manual/configuration/declarative-packages.xml create mode 100644 nixos/doc/manual/configuration/file-systems.xml create mode 100644 nixos/doc/manual/configuration/firewall.xml create mode 100644 nixos/doc/manual/configuration/ipv4-config.xml create mode 100644 nixos/doc/manual/configuration/ipv6-config.xml create mode 100644 nixos/doc/manual/configuration/linux-kernel.xml create mode 100644 nixos/doc/manual/configuration/modularity.xml create mode 100644 nixos/doc/manual/configuration/network-manager.xml create mode 100644 nixos/doc/manual/configuration/networking.xml create mode 100644 nixos/doc/manual/configuration/package-mgmt.xml create mode 100644 nixos/doc/manual/configuration/ssh.xml create mode 100644 nixos/doc/manual/configuration/summary.xml create mode 100644 nixos/doc/manual/configuration/user-mgmt.xml create mode 100644 nixos/doc/manual/configuration/wireless.xml create mode 100644 nixos/doc/manual/configuration/x-windows.xml delete mode 100644 nixos/doc/manual/containers.xml delete mode 100644 nixos/doc/manual/development.xml create mode 100644 nixos/doc/manual/development/building-nixos.xml create mode 100644 nixos/doc/manual/development/building-parts.xml create mode 100644 nixos/doc/manual/development/development.xml create mode 100644 nixos/doc/manual/development/nixos-tests.xml create mode 100644 nixos/doc/manual/development/option-declarations.xml create mode 100644 nixos/doc/manual/development/option-def.xml create mode 100644 nixos/doc/manual/development/running-nixos-tests.xml create mode 100644 nixos/doc/manual/development/sources.xml create mode 100644 nixos/doc/manual/development/testing-installer.xml create mode 100644 nixos/doc/manual/development/writing-modules.xml create mode 100644 nixos/doc/manual/development/writing-nixos-tests.xml delete mode 100644 nixos/doc/manual/installation.xml create mode 100644 nixos/doc/manual/installation/changing-config.xml create mode 100644 nixos/doc/manual/installation/installation.xml create mode 100644 nixos/doc/manual/installation/installing-UEFI.xml create mode 100644 nixos/doc/manual/installation/installing-USB.xml create mode 100644 nixos/doc/manual/installation/installing.xml create mode 100644 nixos/doc/manual/installation/obtaining.xml create mode 100644 nixos/doc/manual/installation/upgrading.xml create mode 100644 nixos/doc/manual/release-notes/release-notes.xml create mode 100644 nixos/doc/manual/release-notes/rl-1310.xml rename nixos/doc/manual/{release-notes.xml => release-notes/rl-1404.xml} (83%) create mode 100644 nixos/doc/manual/release-notes/rl-1410.xml delete mode 100644 nixos/doc/manual/running.xml delete mode 100644 nixos/doc/manual/troubleshooting.xml diff --git a/nixos/doc/manual/administration/boot-problems.xml b/nixos/doc/manual/administration/boot-problems.xml new file mode 100644 index 00000000000..be6ff3aac0f --- /dev/null +++ b/nixos/doc/manual/administration/boot-problems.xml @@ -0,0 +1,65 @@ +
+ +Boot Problems + +If NixOS fails to boot, there are a number of kernel command +line parameters that may help you to identify or fix the issue. You +can add these parameters in the GRUB boot menu by pressing “e” to +modify the selected boot entry and editing the line starting with +linux. The following are some useful kernel command +line parameters that are recognised by the NixOS boot scripts or by +systemd: + + + + boot.shell_on_fail + Start a root shell if something goes wrong in + stage 1 of the boot process (the initial ramdisk). This is + disabled by default because there is no authentication for the + root shell. + + + boot.debug1 + Start an interactive shell in stage 1 before + anything useful has been done. That is, no modules have been + loaded and no file systems have been mounted, except for + /proc and + /sys. + + + boot.trace + Print every shell command executed by the stage 1 + and 2 boot scripts. + + + single + Boot into rescue mode (a.k.a. single user mode). + This will cause systemd to start nothing but the unit + rescue.target, which runs + sulogin to prompt for the root password and + start a root login shell. Exiting the shell causes the system to + continue with the normal boot process. + + + systemd.log_level=debug systemd.log_target=console + Make systemd very verbose and send log messages to + the console instead of the journal. + + + + +For more parameters recognised by systemd, see +systemd1. + +If no login prompts or X11 login screens appear (e.g. due to +hanging dependencies), you can press Alt+ArrowUp. If you’re lucky, +this will start rescue mode (described above). (Also note that since +most units have a 90-second timeout before systemd gives up on them, +the agetty login prompts should appear eventually +unless something is very wrong.) + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/cleaning-store.xml b/nixos/doc/manual/administration/cleaning-store.xml new file mode 100644 index 00000000000..41dc65795b6 --- /dev/null +++ b/nixos/doc/manual/administration/cleaning-store.xml @@ -0,0 +1,62 @@ + + +Cleaning the Nix Store + +Nix has a purely functional model, meaning that packages are +never upgraded in place. Instead new versions of packages end up in a +different location in the Nix store (/nix/store). +You should periodically run Nix’s garbage +collector to remove old, unreferenced packages. This is +easy: + + +$ nix-collect-garbage + + +Alternatively, you can use a systemd unit that does the same in the +background: + + +$ systemctl start nix-gc.service + + +You can tell NixOS in configuration.nix to run +this unit automatically at certain points in time, for instance, every +night at 03:15: + + +nix.gc.automatic = true; +nix.gc.dates = "03:15"; + + + + +The commands above do not remove garbage collector roots, such +as old system configurations. Thus they do not remove the ability to +roll back to previous configurations. The following command deletes +old roots, removing the ability to roll back to them: + +$ nix-collect-garbage -d + +You can also do this for specific profiles, e.g. + +$ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations old + +Note that NixOS system configurations are stored in the profile +/nix/var/nix/profiles/system. + +Another way to reclaim disk space (often as much as 40% of the +size of the Nix store) is to run Nix’s store optimiser, which seeks +out identical files in the store and replaces them with hard links to +a single copy. + +$ nix-store --optimise + +Since this command needs to read the entire Nix store, it can take +quite a while to finish. + + \ No newline at end of file diff --git a/nixos/doc/manual/administration/container-networking.xml b/nixos/doc/manual/administration/container-networking.xml new file mode 100644 index 00000000000..adea3e69840 --- /dev/null +++ b/nixos/doc/manual/administration/container-networking.xml @@ -0,0 +1,50 @@ +
+ + +Container Networking + +When you create a container using nixos-container +create, it gets it own private IPv4 address in the range +10.233.0.0/16. You can get the container’s IPv4 +address as follows: + + +$ nixos-container show-ip foo +10.233.4.2 + +$ ping -c1 10.233.4.2 +64 bytes from 10.233.4.2: icmp_seq=1 ttl=64 time=0.106 ms + + + + +Networking is implemented using a pair of virtual Ethernet +devices. The network interface in the container is called +eth0, while the matching interface in the host is +called ve-container-name +(e.g., ve-foo). The container has its own network +namespace and the CAP_NET_ADMIN capability, so it +can perform arbitrary network configuration such as setting up +firewall rules, without affecting or having access to the host’s +network. + +By default, containers cannot talk to the outside network. If +you want that, you should set up Network Address Translation (NAT) +rules on the host to rewrite container traffic to use your external +IP address. This can be accomplished using the following configuration +on the host: + + +networking.nat.enable = true; +networking.nat.internalInterfaces = ["ve-+"]; +networking.nat.externalInterface = "eth0"; + +where eth0 should be replaced with the desired +external interface. Note that ve-+ is a wildcard +that matches all container interfaces. + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/containers.xml b/nixos/doc/manual/administration/containers.xml new file mode 100644 index 00000000000..4cd2c8ae556 --- /dev/null +++ b/nixos/doc/manual/administration/containers.xml @@ -0,0 +1,34 @@ + + +Container Management + +NixOS allows you to easily run other NixOS instances as +containers. Containers are a light-weight +approach to virtualisation that runs software in the container at the +same speed as in the host system. NixOS containers share the Nix store +of the host, making container creation very efficient. + +Currently, NixOS containers are not perfectly isolated +from the host system. This means that a user with root access to the +container can do things that affect the host. So you should not give +container root access to untrusted users. + +NixOS containers can be created in two ways: imperatively, using +the command nixos-container, and declaratively, by +specifying them in your configuration.nix. The +declarative approach implies that containers get upgraded along with +your host system when you run nixos-rebuild, which +is often not what you want. By contrast, in the imperative approach, +containers are configured and updated independently from the host +system. + + + + + + + diff --git a/nixos/doc/manual/administration/control-groups.xml b/nixos/doc/manual/administration/control-groups.xml new file mode 100644 index 00000000000..86c684cdfe5 --- /dev/null +++ b/nixos/doc/manual/administration/control-groups.xml @@ -0,0 +1,75 @@ + + +Control Groups + +To keep track of the processes in a running system, systemd uses +control groups (cgroups). A control group is a +set of processes used to allocate resources such as CPU, memory or I/O +bandwidth. There can be multiple control group hierarchies, allowing +each kind of resource to be managed independently. + +The command systemd-cgls lists all control +groups in the systemd hierarchy, which is what +systemd uses to keep track of the processes belonging to each service +or user session: + + +$ systemd-cgls +├─user +│ └─eelco +│ └─c1 +│ ├─ 2567 -:0 +│ ├─ 2682 kdeinit4: kdeinit4 Running... +│ ├─ ... +│ └─10851 sh -c less -R +└─system + ├─httpd.service + │ ├─2444 httpd -f /nix/store/3pyacby5cpr55a03qwbnndizpciwq161-httpd.conf -DNO_DETACH + │ └─... + ├─dhcpcd.service + │ └─2376 dhcpcd --config /nix/store/f8dif8dsi2yaa70n03xir8r653776ka6-dhcpcd.conf + └─ ... + + +Similarly, systemd-cgls cpu shows the cgroups in +the CPU hierarchy, which allows per-cgroup CPU scheduling priorities. +By default, every systemd service gets its own CPU cgroup, while all +user sessions are in the top-level CPU cgroup. This ensures, for +instance, that a thousand run-away processes in the +httpd.service cgroup cannot starve the CPU for one +process in the postgresql.service cgroup. (By +contrast, it they were in the same cgroup, then the PostgreSQL process +would get 1/1001 of the cgroup’s CPU time.) You can limit a service’s +CPU share in configuration.nix: + + +systemd.services.httpd.serviceConfig.CPUShares = 512; + + +By default, every cgroup has 1024 CPU shares, so this will halve the +CPU allocation of the httpd.service cgroup. + +There also is a memory hierarchy that +controls memory allocation limits; by default, all processes are in +the top-level cgroup, so any service or session can exhaust all +available memory. Per-cgroup memory limits can be specified in +configuration.nix; for instance, to limit +httpd.service to 512 MiB of RAM (excluding swap) +and 640 MiB of RAM (including swap): + + +systemd.services.httpd.serviceConfig.MemoryLimit = "512M"; +systemd.services.httpd.serviceConfig.ControlGroupAttribute = [ "memory.memsw.limit_in_bytes 640M" ]; + + + + +The command systemd-cgtop shows a +continuously updated list of all cgroups with their CPU and memory +usage. + + \ No newline at end of file diff --git a/nixos/doc/manual/administration/declarative-containers.xml b/nixos/doc/manual/administration/declarative-containers.xml new file mode 100644 index 00000000000..177ebdd8db1 --- /dev/null +++ b/nixos/doc/manual/administration/declarative-containers.xml @@ -0,0 +1,52 @@ +
+ +Declarative Container Specification + +You can also specify containers and their configuration in the +host’s configuration.nix. For example, the +following specifies that there shall be a container named +database running PostgreSQL: + + +containers.database = + { config = + { config, pkgs, ... }: + { services.postgresql.enable = true; + services.postgresql.package = pkgs.postgresql92; + }; + }; + + +If you run nixos-rebuild switch, the container will +be built and started. If the container was already running, it will be +updated in place, without rebooting. + +By default, declarative containers share the network namespace +of the host, meaning that they can listen on (privileged) +ports. However, they cannot change the network configuration. You can +give a container its own network as follows: + + +containers.database = + { privateNetwork = true; + hostAddress = "192.168.100.10"; + localAddress = "192.168.100.11"; + }; + + +This gives the container a private virtual Ethernet interface with IP +address 192.168.100.11, which is hooked up to a +virtual Ethernet interface on the host with IP address +192.168.100.10. (See the next section for details +on container networking.) + +To disable the container, just remove it from +configuration.nix and run nixos-rebuild +switch. Note that this will not delete the root directory of +the container in /var/lib/containers. + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/imperative-containers.xml b/nixos/doc/manual/administration/imperative-containers.xml new file mode 100644 index 00000000000..6131d4e04ea --- /dev/null +++ b/nixos/doc/manual/administration/imperative-containers.xml @@ -0,0 +1,124 @@ +
+ +Imperative Container Management + +We’ll cover imperative container management using +nixos-container first. You create a container with +identifier foo as follows: + + +$ nixos-container create foo + + +This creates the container’s root directory in +/var/lib/containers/foo and a small configuration +file in /etc/containers/foo.conf. It also builds +the container’s initial system configuration and stores it in +/nix/var/nix/profiles/per-container/foo/system. You +can modify the initial configuration of the container on the command +line. For instance, to create a container that has +sshd running, with the given public key for +root: + + +$ nixos-container create foo --config 'services.openssh.enable = true; \ + users.extraUsers.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];' + + + + +Creating a container does not start it. To start the container, +run: + + +$ nixos-container start foo + + +This command will return as soon as the container has booted and has +reached multi-user.target. On the host, the +container runs within a systemd unit called +container@container-name.service. +Thus, if something went wrong, you can get status info using +systemctl: + + +$ systemctl status container@foo + + + + +If the container has started succesfully, you can log in as +root using the root-login operation: + + +$ nixos-container root-login foo +[root@foo:~]# + + +Note that only root on the host can do this (since there is no +authentication). You can also get a regular login prompt using the +login operation, which is available to all users on +the host: + + +$ nixos-container login foo +foo login: alice +Password: *** + + +With nixos-container run, you can execute arbitrary +commands in the container: + + +$ nixos-container run foo -- uname -a +Linux foo 3.4.82 #1-NixOS SMP Thu Mar 20 14:44:05 UTC 2014 x86_64 GNU/Linux + + + + +There are several ways to change the configuration of the +container. First, on the host, you can edit +/var/lib/container/name/etc/nixos/configuration.nix, +and run + + +$ nixos-container update foo + + +This will build and activate the new configuration. You can also +specify a new configuration on the command line: + + +$ nixos-container update foo --config 'services.httpd.enable = true; \ + services.httpd.adminAddr = "foo@example.org";' + +$ curl http://$(nixos-container show-ip foo)/ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">… + + +However, note that this will overwrite the container’s +/etc/nixos/configuration.nix. + +Alternatively, you can change the configuration from within the +container itself by running nixos-rebuild switch +inside the container. Note that the container by default does not have +a copy of the NixOS channel, so you should run nix-channel +--update first. + +Containers can be stopped and started using +nixos-container stop and nixos-container +start, respectively, or by using +systemctl on the container’s service unit. To +destroy a container, including its file system, do + + +$ nixos-container destroy foo + + + + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/logging.xml b/nixos/doc/manual/administration/logging.xml new file mode 100644 index 00000000000..1d5df7770e2 --- /dev/null +++ b/nixos/doc/manual/administration/logging.xml @@ -0,0 +1,52 @@ + + +Logging + +System-wide logging is provided by systemd’s +journal, which subsumes traditional logging +daemons such as syslogd and klogd. Log entries are kept in binary +files in /var/log/journal/. The command +journalctl allows you to see the contents of the +journal. For example, + + +$ journalctl -b + + +shows all journal entries since the last reboot. (The output of +journalctl is piped into less by +default.) You can use various options and match operators to restrict +output to messages of interest. For instance, to get all messages +from PostgreSQL: + + +$ journalctl -u postgresql.service +-- Logs begin at Mon, 2013-01-07 13:28:01 CET, end at Tue, 2013-01-08 01:09:57 CET. -- +... +Jan 07 15:44:14 hagbard postgres[2681]: [2-1] LOG: database system is shut down +-- Reboot -- +Jan 07 15:45:10 hagbard postgres[2532]: [1-1] LOG: database system was shut down at 2013-01-07 15:44:14 CET +Jan 07 15:45:13 hagbard postgres[2500]: [1-1] LOG: database system is ready to accept connections + + +Or to get all messages since the last reboot that have at least a +“critical” severity level: + + +$ journalctl -b -p crit +Dec 17 21:08:06 mandark sudo[3673]: pam_unix(sudo:auth): auth could not identify password for [alice] +Dec 29 01:30:22 mandark kernel[6131]: [1053513.909444] CPU6: Core temperature above threshold, cpu clock throttled (total events = 1) + + + + +The system journal is readable by root and by users in the +wheel and systemd-journal +groups. All users have a private journal that can be read using +journalctl. + + \ No newline at end of file diff --git a/nixos/doc/manual/administration/maintenance-mode.xml b/nixos/doc/manual/administration/maintenance-mode.xml new file mode 100644 index 00000000000..15c1f902da7 --- /dev/null +++ b/nixos/doc/manual/administration/maintenance-mode.xml @@ -0,0 +1,18 @@ +
+ +Maintenance Mode + +You can enter rescue mode by running: + + +$ systemctl rescue + +This will eventually give you a single-user root shell. Systemd will +stop (almost) all system services. To get out of maintenance mode, +just exit from the rescue shell. + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/network-problems.xml b/nixos/doc/manual/administration/network-problems.xml new file mode 100644 index 00000000000..5ba1bfd5ac9 --- /dev/null +++ b/nixos/doc/manual/administration/network-problems.xml @@ -0,0 +1,33 @@ +
+ +Network Problems + +Nix uses a so-called binary cache to +optimise building a package from source into downloading it as a +pre-built binary. That is, whenever a command like +nixos-rebuild needs a path in the Nix store, Nix +will try to download that path from the Internet rather than build it +from source. The default binary cache is +http://cache.nixos.org/. If this cache is unreachable, Nix +operations may take a long time due to HTTP connection timeouts. You +can disable the use of the binary cache by adding , e.g. + + +$ nixos-rebuild switch --option use-binary-caches false + + +If you have an alternative binary cache at your disposal, you can use +it instead: + + +$ nixos-rebuild switch --option binary-caches http://my-cache.example.org/ + + + + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/rebooting.xml b/nixos/doc/manual/administration/rebooting.xml new file mode 100644 index 00000000000..d1db7b141cf --- /dev/null +++ b/nixos/doc/manual/administration/rebooting.xml @@ -0,0 +1,44 @@ + + +Rebooting and Shutting Down + +The system can be shut down (and automatically powered off) by +doing: + + +$ shutdown + + +This is equivalent to running systemctl +poweroff. + +To reboot the system, run + + +$ reboot + + +which is equivalent to systemctl reboot. +Alternatively, you can quickly reboot the system using +kexec, which bypasses the BIOS by directly loading +the new kernel into memory: + + +$ systemctl kexec + + + + +The machine can be suspended to RAM (if supported) using +systemctl suspend, and suspended to disk using +systemctl hibernate. + +These commands can be run by any user who is logged in locally, +i.e. on a virtual console or in X11; otherwise, the user is asked for +authentication. + + \ No newline at end of file diff --git a/nixos/doc/manual/administration/rollback.xml b/nixos/doc/manual/administration/rollback.xml new file mode 100644 index 00000000000..23a3ece7c07 --- /dev/null +++ b/nixos/doc/manual/administration/rollback.xml @@ -0,0 +1,48 @@ +
+ +Rolling Back Configuration Changes + +After running nixos-rebuild to switch to a +new configuration, you may find that the new configuration doesn’t +work very well. In that case, there are several ways to return to a +previous configuration. + +First, the GRUB boot manager allows you to boot into any +previous configuration that hasn’t been garbage-collected. These +configurations can be found under the GRUB submenu “NixOS - All +configurations”. This is especially useful if the new configuration +fails to boot. After the system has booted, you can make the selected +configuration the default for subsequent boots: + + +$ /run/current-system/bin/switch-to-configuration boot + + + +Second, you can switch to the previous configuration in a running +system: + + +$ nixos-rebuild switch --rollback + +This is equivalent to running: + + +$ /nix/var/nix/profiles/system-N-link/bin/switch-to-configuration switch + +where N is the number of the NixOS system +configuration. To get a list of the available configurations, do: + + +$ ls -l /nix/var/nix/profiles/system-*-link +... +lrwxrwxrwx 1 root root 78 Aug 12 13:54 /nix/var/nix/profiles/system-268-link -> /nix/store/202b...-nixos-13.07pre4932_5a676e4-4be1055 + + + + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/running.xml b/nixos/doc/manual/administration/running.xml new file mode 100644 index 00000000000..9091511ed52 --- /dev/null +++ b/nixos/doc/manual/administration/running.xml @@ -0,0 +1,24 @@ + + +Administration + + +This chapter describes various aspects of managing a running +NixOS system, such as how to use the systemd +service manager. + + + + + + + + + + + + diff --git a/nixos/doc/manual/administration/service-mgmt.xml b/nixos/doc/manual/administration/service-mgmt.xml new file mode 100644 index 00000000000..c0940a42f30 --- /dev/null +++ b/nixos/doc/manual/administration/service-mgmt.xml @@ -0,0 +1,83 @@ + + +Service Management + +In NixOS, all system services are started and monitored using +the systemd program. Systemd is the “init” process of the system +(i.e. PID 1), the parent of all other processes. It manages a set of +so-called “units”, which can be things like system services +(programs), but also mount points, swap files, devices, targets +(groups of units) and more. Units can have complex dependencies; for +instance, one unit can require that another unit must be successfully +started before the first unit can be started. When the system boots, +it starts a unit named default.target; the +dependencies of this unit cause all system services to be started, +file systems to be mounted, swap files to be activated, and so +on. + +The command systemctl is the main way to +interact with systemd. Without any arguments, it +shows the status of active units: + + +$ systemctl +-.mount loaded active mounted / +swapfile.swap loaded active active /swapfile +sshd.service loaded active running SSH Daemon +graphical.target loaded active active Graphical Interface +... + + + + +You can ask for detailed status information about a unit, for +instance, the PostgreSQL database service: + + +$ systemctl status postgresql.service +postgresql.service - PostgreSQL Server + Loaded: loaded (/nix/store/pn3q73mvh75gsrl8w7fdlfk3fq5qm5mw-unit/postgresql.service) + Active: active (running) since Mon, 2013-01-07 15:55:57 CET; 9h ago + Main PID: 2390 (postgres) + CGroup: name=systemd:/system/postgresql.service + ├─2390 postgres + ├─2418 postgres: writer process + ├─2419 postgres: wal writer process + ├─2420 postgres: autovacuum launcher process + ├─2421 postgres: stats collector process + └─2498 postgres: zabbix zabbix [local] idle + +Jan 07 15:55:55 hagbard postgres[2394]: [1-1] LOG: database system was shut down at 2013-01-07 15:55:05 CET +Jan 07 15:55:57 hagbard postgres[2390]: [1-1] LOG: database system is ready to accept connections +Jan 07 15:55:57 hagbard postgres[2420]: [1-1] LOG: autovacuum launcher started +Jan 07 15:55:57 hagbard systemd[1]: Started PostgreSQL Server. + + +Note that this shows the status of the unit (active and running), all +the processes belonging to the service, as well as the most recent log +messages from the service. + + + +Units can be stopped, started or restarted: + + +$ systemctl stop postgresql.service +$ systemctl start postgresql.service +$ systemctl restart postgresql.service + + +These operations are synchronous: they wait until the service has +finished starting or stopping (or has failed). Starting a unit will +cause the dependencies of that unit to be started as well (if +necessary). + + + + diff --git a/nixos/doc/manual/administration/store-corruption.xml b/nixos/doc/manual/administration/store-corruption.xml new file mode 100644 index 00000000000..0160cb45358 --- /dev/null +++ b/nixos/doc/manual/administration/store-corruption.xml @@ -0,0 +1,37 @@ +
+ +Nix Store Corruption + +After a system crash, it’s possible for files in the Nix store +to become corrupted. (For instance, the Ext4 file system has the +tendency to replace un-synced files with zero bytes.) NixOS tries +hard to prevent this from happening: it performs a +sync before switching to a new configuration, and +Nix’s database is fully transactional. If corruption still occurs, +you may be able to fix it automatically. + +If the corruption is in a path in the closure of the NixOS +system configuration, you can fix it by doing + + +$ nixos-rebuild switch --repair + + +This will cause Nix to check every path in the closure, and if its +cryptographic hash differs from the hash recorded in Nix’s database, +the path is rebuilt or redownloaded. + +You can also scan the entire Nix store for corrupt paths: + + +$ nix-store --verify --check-contents --repair + + +Any corrupt paths will be redownloaded if they’re available in a +binary cache; otherwise, they cannot be repaired. + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/troubleshooting.xml b/nixos/doc/manual/administration/troubleshooting.xml new file mode 100644 index 00000000000..351fb188331 --- /dev/null +++ b/nixos/doc/manual/administration/troubleshooting.xml @@ -0,0 +1,18 @@ + + +Troubleshooting + +This chapter describes solutions to common problems you might +encounter when you manage your NixOS system. + + + + + + + + diff --git a/nixos/doc/manual/administration/user-sessions.xml b/nixos/doc/manual/administration/user-sessions.xml new file mode 100644 index 00000000000..05e2c1a9b29 --- /dev/null +++ b/nixos/doc/manual/administration/user-sessions.xml @@ -0,0 +1,53 @@ + + +User Sessions + +Systemd keeps track of all users who are logged into the system +(e.g. on a virtual console or remotely via SSH). The command +loginctl allows querying and manipulating user +sessions. For instance, to list all user sessions: + + +$ loginctl + SESSION UID USER SEAT + c1 500 eelco seat0 + c3 0 root seat0 + c4 500 alice + + +This shows that two users are logged in locally, while another is +logged in remotely. (“Seats” are essentially the combinations of +displays and input devices attached to the system; usually, there is +only one seat.) To get information about a session: + + +$ loginctl session-status c3 +c3 - root (0) + Since: Tue, 2013-01-08 01:17:56 CET; 4min 42s ago + Leader: 2536 (login) + Seat: seat0; vc3 + TTY: /dev/tty3 + Service: login; type tty; class user + State: online + CGroup: name=systemd:/user/root/c3 + ├─ 2536 /nix/store/10mn4xip9n7y9bxqwnsx7xwx2v2g34xn-shadow-4.1.5.1/bin/login -- + ├─10339 -bash + └─10355 w3m nixos.org + + +This shows that the user is logged in on virtual console 3. It also +lists the processes belonging to this session. Since systemd keeps +track of this, you can terminate a session in a way that ensures that +all the session’s processes are gone: + + +$ loginctl terminate-session c3 + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/configuration.xml b/nixos/doc/manual/configuration.xml deleted file mode 100644 index 64372f3bbf1..00000000000 --- a/nixos/doc/manual/configuration.xml +++ /dev/null @@ -1,1563 +0,0 @@ - - -Configuring NixOS - -This chapter describes how to configure various aspects of a -NixOS machine through the configuration file -/etc/nixos/configuration.nix. As described in -, changes to this file only take -effect after you run nixos-rebuild. - - - - -
Configuration syntax - -
The basics - -The NixOS configuration file -/etc/nixos/configuration.nix is actually a -Nix expression, which is the Nix package -manager’s purely functional language for describing how to build -packages and configurations. This means you have all the expressive -power of that language at your disposal, including the ability to -abstract over common patterns, which is very useful when managing -complex systems. The syntax and semantics of the Nix language are -fully described in the Nix -manual, but here we give a short overview of the most important -constructs useful in NixOS configuration files. - -The NixOS configuration file generally looks like this: - - -{ config, pkgs, ... }: - -{ option definitions -} - - -The first line ({ config, pkgs, ... }:) denotes -that this is actually a function that takes at least the two arguments - config and pkgs. (These are -explained later.) The function returns a set of -option definitions ({ ... }). These definitions have the -form name = -value, where -name is the name of an option and -value is its value. For example, - - -{ config, pkgs, ... }: - -{ services.httpd.enable = true; - services.httpd.adminAddr = "alice@example.org"; - services.httpd.documentRoot = "/webroot"; -} - - -defines a configuration with three option definitions that together -enable the Apache HTTP Server with /webroot as -the document root. - -Sets can be nested, and in fact dots in option names are -shorthand for defining a set containing another set. For instance, - defines a set named -services that contains a set named -httpd, which in turn contains an option definition -named enable with value true. -This means that the example above can also be written as: - - -{ config, pkgs, ... }: - -{ services = { - httpd = { - enable = true; - adminAddr = "alice@example.org"; - documentRoot = "/webroot"; - }; - }; -} - - -which may be more convenient if you have lots of option definitions -that share the same prefix (such as -services.httpd). - -NixOS checks your option definitions for correctness. For -instance, if you try to define an option that doesn’t exist (that is, -doesn’t have a corresponding option declaration), -nixos-rebuild will give an error like: - -The option `services.httpd.enabl' defined in `/etc/nixos/configuration.nix' does not exist. - -Likewise, values in option definitions must have a correct type. For -instance, must be a Boolean -(true or false). Trying to give -it a value of another type, such as a string, will cause an error: - -The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is not a boolean. - - - - -Options have various types of values. The most important are: - - - - Strings - - Strings are enclosed in double quotes, e.g. - - -networking.hostName = "dexter"; - - - Special characters can be escaped by prefixing them with a - backslash (e.g. \"). - - Multi-line strings can be enclosed in double - single quotes, e.g. - - -networking.extraHosts = - '' - 127.0.0.2 other-localhost - 10.0.0.1 server - ''; - - - The main difference is that preceding whitespace is - automatically stripped from each line, and that characters like - " and \ are not special - (making it more convenient for including things like shell - code). - - - - - Booleans - - These can be true or - false, e.g. - - -networking.firewall.enable = true; -networking.firewall.allowPing = false; - - - - - - - Integers - - For example, - - -boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 60; - - - (Note that here the attribute name - net.ipv4.tcp_keepalive_time is enclosed in - quotes to prevent it from being interpreted as a set named - net containing a set named - ipv4, and so on. This is because it’s not a - NixOS option but the literal name of a Linux kernel - setting.) - - - - - Sets - - Sets were introduced above. They are name/value pairs - enclosed in braces, as in the option definition - - -fileSystems."/boot" = - { device = "/dev/sda1"; - fsType = "ext4"; - options = "rw,data=ordered,relatime"; - }; - - - - - - - Lists - - The important thing to note about lists is that list - elements are separated by whitespace, like this: - - -boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ]; - - - List elements can be any other type, e.g. sets: - - -swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; - - - - - - - Packages - - Usually, the packages you need are already part of the Nix - Packages collection, which is a set that can be accessed through - the function argument pkgs. Typical uses: - - -environment.systemPackages = - [ pkgs.thunderbird - pkgs.emacs - ]; - -postgresql.package = pkgs.postgresql90; - - - The latter option definition changes the default PostgreSQL - package used by NixOS’s PostgreSQL service to 9.0. For more - information on packages, including how to add new ones, see - . - - - - - - - -
- - -
Abstractions - -If you find yourself repeating yourself over and over, it’s time -to abstract. Take, for instance, this Apache HTTP Server configuration: - - -{ - services.httpd.virtualHosts = - [ { hostName = "example.org"; - documentRoot = "/webroot"; - adminAddr = "alice@example.org"; - enableUserDir = true; - } - { hostName = "example.org"; - documentRoot = "/webroot"; - adminAddr = "alice@example.org"; - enableUserDir = true; - enableSSL = true; - sslServerCert = "/root/ssl-example-org.crt"; - sslServerKey = "/root/ssl-example-org.key"; - } - ]; -} - - -It defines two virtual hosts with nearly identical configuration; the -only difference is that the second one has SSL enabled. To prevent -this duplication, we can use a let: - - -let - exampleOrgCommon = - { hostName = "example.org"; - documentRoot = "/webroot"; - adminAddr = "alice@example.org"; - enableUserDir = true; - }; -in -{ - services.httpd.virtualHosts = - [ exampleOrgCommon - (exampleOrgCommon // { - enableSSL = true; - sslServerCert = "/root/ssl-example-org.crt"; - sslServerKey = "/root/ssl-example-org.key"; - }) - ]; -} - - -The let exampleOrgCommon = -... defines a variable named -exampleOrgCommon. The // -operator merges two attribute sets, so the configuration of the second -virtual host is the set exampleOrgCommon extended -with the SSL options. - -You can write a let wherever an expression is -allowed. Thus, you also could have written: - - -{ - services.httpd.virtualHosts = - let exampleOrgCommon = ...; in - [ exampleOrgCommon - (exampleOrgCommon // { ... }) - ]; -} - - -but not { let exampleOrgCommon = -...; in ...; -} since attributes (as opposed to attribute values) are not -expressions. - -Functions provide another method of -abstraction. For instance, suppose that we want to generate lots of -different virtual hosts, all with identical configuration except for -the host name. This can be done as follows: - - -{ - services.httpd.virtualHosts = - let - makeVirtualHost = name: - { hostName = name; - documentRoot = "/webroot"; - adminAddr = "alice@example.org"; - }; - in - [ (makeVirtualHost "example.org") - (makeVirtualHost "example.com") - (makeVirtualHost "example.gov") - (makeVirtualHost "example.nl") - ]; -} - - -Here, makeVirtualHost is a function that takes a -single argument name and returns the configuration -for a virtual host. That function is then called for several names to -produce the list of virtual host configurations. - -We can further improve on this by using the function -map, which applies another function to every -element in a list: - - -{ - services.httpd.virtualHosts = - let - makeVirtualHost = ...; - in map makeVirtualHost - [ "example.org" "example.com" "example.gov" "example.nl" ]; -} - - -(The function map is called a -higher-order function because it takes another -function as an argument.) - -What if you need more than one argument, for instance, if we -want to use a different documentRoot for each -virtual host? Then we can make makeVirtualHost a -function that takes a set as its argument, like this: - - -{ - services.httpd.virtualHosts = - let - makeVirtualHost = { name, root }: - { hostName = name; - documentRoot = root; - adminAddr = "alice@example.org"; - }; - in map makeVirtualHost - [ { name = "example.org"; root = "/sites/example.org"; } - { name = "example.com"; root = "/sites/example.com"; } - { name = "example.gov"; root = "/sites/example.gov"; } - { name = "example.nl"; root = "/sites/example.nl"; } - ]; -} - - -But in this case (where every root is a subdirectory of -/sites named after the virtual host), it would -have been shorter to define makeVirtualHost as - -makeVirtualHost = name: - { hostName = name; - documentRoot = "/sites/${name}"; - adminAddr = "alice@example.org"; - }; - - -Here, the construct -${...} allows the result -of an expression to be spliced into a string. - -
- - -
Modularity - -The NixOS configuration mechanism is modular. If your -configuration.nix becomes too big, you can split -it into multiple files. Likewise, if you have multiple NixOS -configurations (e.g. for different computers) with some commonality, -you can move the common configuration into a shared file. - -Modules have exactly the same syntax as -configuration.nix. In fact, -configuration.nix is itself a module. You can -use other modules by including them from -configuration.nix, e.g.: - - -{ config, pkgs, ... }: - -{ imports = [ ./vpn.nix ./kde.nix ]; - services.httpd.enable = true; - environment.systemPackages = [ pkgs.emacs ]; - ... -} - - -Here, we include two modules from the same directory, -vpn.nix and kde.nix. The -latter might look like this: - - -{ config, pkgs, ... }: - -{ services.xserver.enable = true; - services.xserver.displayManager.kdm.enable = true; - services.xserver.desktopManager.kde4.enable = true; - environment.systemPackages = [ pkgs.kde4.kscreensaver ]; -} - - -Note that both configuration.nix and -kde.nix define the option -. When multiple modules -define an option, NixOS will try to merge the -definitions. In the case of -, that’s easy: the lists of -packages can simply be concatenated. The value in -configuration.nix is merged last, so for -list-type options, it will appear at the end of the merged list. If -you want it to appear first, you can use mkBefore: - - -boot.kernelModules = mkBefore [ "kvm-intel" ]; - - -This causes the kvm-intel kernel module to be -loaded before any other kernel modules. - -For other types of options, a merge may not be possible. For -instance, if two modules define -, -nixos-rebuild will give an error: - - -The unique option `services.httpd.adminAddr' is defined multiple times, in `/etc/nixos/httpd.nix' and `/etc/nixos/configuration.nix'. - - -When that happens, it’s possible to force one definition take -precedence over the others: - - -services.httpd.adminAddr = pkgs.lib.mkForce "bob@example.org"; - - - - -When using multiple modules, you may need to access -configuration values defined in other modules. This is what the -config function argument is for: it contains the -complete, merged system configuration. That is, -config is the result of combining the -configurations returned by every moduleIf you’re -wondering how it’s possible that the (indirect) -result of a function is passed as an -input to that same function: that’s because Nix -is a “lazy” language — it only computes values when they are needed. -This works as long as no individual configuration value depends on -itself.. For example, here is a module that adds -some packages to only if - is set to -true somewhere else: - - -{ config, pkgs, ... }: - -{ environment.systemPackages = - if config.services.xserver.enable then - [ pkgs.firefox - pkgs.thunderbird - ] - else - [ ]; -} - - - - -With multiple modules, it may not be obvious what the final -value of a configuration option is. The command - allows you to find out: - - -$ nixos-option services.xserver.enable -true - -$ nixos-option boot.kernelModules -[ "tun" "ipv6" "loop" ... ] - - -Interactive exploration of the configuration is possible using -nix-repl, -a read-eval-print loop for Nix expressions. It’s not installed by -default; run nix-env -i nix-repl to get it. A -typical use: - - -$ nix-repl '<nixos>' - -nix-repl> config.networking.hostName -"mandark" - -nix-repl> map (x: x.hostName) config.services.httpd.virtualHosts -[ "example.org" "example.gov" ] - - - - -
- - -
Syntax summary - -Below is a summary of the most important syntactic constructs in -the Nix expression language. It’s not complete. In particular, there -are many other built-in functions. See the Nix -manual for the rest. - - - - - - - - Example - Description - - - - - - Basic values - - - "Hello world" - A string - - - "${pkgs.bash}/bin/sh" - A string containing an expression (expands to "/nix/store/hash-bash-version/bin/sh") - - - true, false - Booleans - - - 123 - An integer - - - ./foo.png - A path (relative to the containing Nix expression) - - - - Compound values - - - { x = 1; y = 2; } - An set with attributes names x and y - - - { foo.bar = 1; } - A nested set, equivalent to { foo = { bar = 1; }; } - - - rec { x = "bla"; y = x + "bar"; } - A recursive set, equivalent to { x = "foo"; y = "foobar"; } - - - [ "foo" "bar" ] - A list with two elements - - - - Operators - - - "foo" + "bar" - String concatenation - - - 1 + 2 - Integer addition - - - "foo" == "f" + "oo" - Equality test (evaluates to true) - - - "foo" != "bar" - Inequality test (evaluates to true) - - - !true - Boolean negation - - - { x = 1; y = 2; }.x - Attribute selection (evaluates to 1) - - - { x = 1; y = 2; }.z or 3 - Attribute selection with default (evaluates to 3) - - - { x = 1; y = 2; } // { z = 3; } - Merge two sets (attributes in the right-hand set taking precedence) - - - - Control structures - - - if 1 + 1 == 2 then "yes!" else "no!" - Conditional expression - - - assert 1 + 1 == 2; "yes!" - Assertion check (evaluates to "yes!") - - - let x = "foo"; y = "bar"; in x + y - Variable definition - - - with pkgs.lib; head [ 1 2 3 ] - Add all attributes from the given set to the scope - (evaluates to 1) - - - - Functions (lambdas) - - - x: x + 1 - A function that expects an integer and returns it increased by 1 - - - (x: x + 1) 100 - A function call (evaluates to 101) - - - let inc = x: x + 1; in inc (inc (inc 100)) - A function bound to a variable and subsequently called by name (evaluates to 103) - - - { x, y }: x + y - A function that expects a set with required attributes - x and y and concatenates - them - - - { x, y ? "bar" }: x + y - A function that expects a set with required attribute - x and optional y, using - "bar" as default value for - y - - - { x, y, ... }: x + y - A function that expects a set with required attributes - x and y and ignores any - other attributes - - - { x, y } @ args: x + y - A function that expects a set with required attributes - x and y, and binds the - whole set to args - - - - Built-in functions - - - import ./foo.nix - Load and return Nix expression in given file - - - map (x: x + x) [ 1 2 3 ] - Apply a function to every element of a list (evaluates to [ 2 4 6 ]) - - - - - - - -
- - -
- - - - -
Package management - -This section describes how to add additional packages to your -system. NixOS has two distinct styles of package management: - - - - Declarative, where you declare - what packages you want in your - configuration.nix. Every time you run - nixos-rebuild, NixOS will ensure that you get a - consistent set of binaries corresponding to your - specification. - - Ad hoc, where you install, - upgrade and uninstall packages via the nix-env - command. This style allows mixing packages from different Nixpkgs - versions. It’s the only choice for non-root - users. - - - - - -The next two sections describe these two styles. - - -
Declarative package management - -With declarative package management, you specify which packages -you want on your system by setting the option -. For instance, adding the -following line to configuration.nix enables the -Mozilla Thunderbird email application: - - -environment.systemPackages = [ pkgs.thunderbird ]; - - -The effect of this specification is that the Thunderbird package from -Nixpkgs will be built or downloaded as part of the system when you run -nixos-rebuild switch. - -You can get a list of the available packages as follows: - -$ nix-env -qaP '*' --description -nixos.pkgs.firefox firefox-23.0 Mozilla Firefox - the browser, reloaded -... - - -The first column in the output is the attribute -name, such as -nixos.pkgs.thunderbird. (The -nixos prefix allows distinguishing between -different channels that you might have.) - -To “uninstall” a package, simply remove it from - and run -nixos-rebuild switch. - - -
Customising packages - -Some packages in Nixpkgs have options to enable or disable -optional functionality or change other aspects of the package. For -instance, the Firefox wrapper package (which provides Firefox with a -set of plugins such as the Adobe Flash player) has an option to enable -the Google Talk plugin. It can be set in -configuration.nix as follows: - - -nixpkgs.config.firefox.enableGoogleTalkPlugin = true; - - - -Unfortunately, Nixpkgs currently lacks a way to query -available configuration options. - -Apart from high-level options, it’s possible to tweak a package -in almost arbitrary ways, such as changing or disabling dependencies -of a package. For instance, the Emacs package in Nixpkgs by default -has a dependency on GTK+ 2. If you want to build it against GTK+ 3, -you can specify that as follows: - - -environment.systemPackages = [ (pkgs.emacs.override { gtk = pkgs.gtk3; }) ]; - - -The function override performs the call to the Nix -function that produces Emacs, with the original arguments amended by -the set of arguments specified by you. So here the function argument -gtk gets the value pkgs.gtk3, -causing Emacs to depend on GTK+ 3. (The parentheses are necessary -because in Nix, function application binds more weakly than list -construction, so without them, -environment.systemPackages would be a list with two -elements.) - -Even greater customisation is possible using the function -overrideDerivation. While the -override mechanism above overrides the arguments of -a package function, overrideDerivation allows -changing the result of the function. This -permits changing any aspect of the package, such as the source code. -For instance, if you want to override the source code of Emacs, you -can say: - - -environment.systemPackages = - [ (pkgs.lib.overrideDerivation pkgs.emacs (attrs: { - name = "emacs-25.0-pre"; - src = /path/to/my/emacs/tree; - })) - ]; - - -Here, overrideDerivation takes the Nix derivation -specified by pkgs.emacs and produces a new -derivation in which the original’s name and -src attribute have been replaced by the given -values. The original attributes are accessible via -attrs. - -The overrides shown above are not global. They do not affect -the original package; other packages in Nixpkgs continue to depend on -the original rather than the customised package. This means that if -another package in your system depends on the original package, you -end up with two instances of the package. If you want to have -everything depend on your customised instance, you can apply a -global override as follows: - - -nixpkgs.config.packageOverrides = pkgs: - { emacs = pkgs.emacs.override { gtk = pkgs.gtk3; }; - }; - - -The effect of this definition is essentially equivalent to modifying -the emacs attribute in the Nixpkgs source tree. -Any package in Nixpkgs that depends on emacs will -be passed your customised instance. (However, the value -pkgs.emacs in -nixpkgs.config.packageOverrides refers to the -original rather than overridden instance, to prevent an infinite -recursion.) - -
- -
Adding custom packages - -It’s possible that a package you need is not available in NixOS. -In that case, you can do two things. First, you can clone the Nixpkgs -repository, add the package to your clone, and (optionally) submit a -patch or pull request to have it accepted into the main Nixpkgs -repository. This is described in detail in the Nixpkgs manual. -In short, you clone Nixpkgs: - - -$ git clone git://github.com/NixOS/nixpkgs.git -$ cd nixpkgs - - -Then you write and test the package as described in the Nixpkgs -manual. Finally, you add it to -environment.systemPackages, e.g. - - -environment.systemPackages = [ pkgs.my-package ]; - - -and you run nixos-rebuild, specifying your own -Nixpkgs tree: - - -$ nixos-rebuild switch -I nixpkgs=/path/to/my/nixpkgs - - - -The second possibility is to add the package outside of the -Nixpkgs tree. For instance, here is how you specify a build of the -GNU Hello -package directly in configuration.nix: - - -environment.systemPackages = - let - my-hello = with pkgs; stdenv.mkDerivation rec { - name = "hello-2.8"; - src = fetchurl { - url = "mirror://gnu/hello/${name}.tar.gz"; - sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"; - }; - }; - in - [ my-hello ]; - - -Of course, you can also move the definition of -my-hello into a separate Nix expression, e.g. - -environment.systemPackages = [ (import ./my-hello.nix) ]; - -where my-hello.nix contains: - -with import <nixpkgs> {}; # bring all of Nixpkgs into scope - -stdenv.mkDerivation rec { - name = "hello-2.8"; - src = fetchurl { - url = "mirror://gnu/hello/${name}.tar.gz"; - sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"; - }; -} - - -This allows testing the package easily: - -$ nix-build my-hello.nix -$ ./result/bin/hello -Hello, world! - - - - -
- -
- - -
Ad hoc package management - -With the command nix-env, you can install and -uninstall packages from the command line. For instance, to install -Mozilla Thunderbird: - - -$ nix-env -iA nixos.pkgs.thunderbird - -If you invoke this as root, the package is installed in the Nix -profile /nix/var/nix/profiles/default and visible -to all users of the system; otherwise, the package ends up in -/nix/var/nix/profiles/per-user/username/profile -and is not visible to other users. The flag -specifies the package by its attribute name; without it, the package -is installed by matching against its package name -(e.g. thunderbird). The latter is slower because -it requires matching against all available Nix packages, and is -ambiguous if there are multiple matching packages. - -Packages come from the NixOS channel. You typically upgrade a -package by updating to the latest version of the NixOS channel: - -$ nix-channel --update nixos - -and then running nix-env -i again. Other packages -in the profile are not affected; this is the -crucial difference with the declarative style of package management, -where running nixos-rebuild switch causes all -packages to be updated to their current versions in the NixOS channel. -You can however upgrade all packages for which there is a newer -version by doing: - -$ nix-env -u '*' - - - -A package can be uninstalled using the -flag: - -$ nix-env -e thunderbird - - - -Finally, you can roll back an undesirable -nix-env action: - -$ nix-env --rollback - - - -nix-env has many more flags. For details, -see the -nix-env1 -manpage or the Nix manual. - -
- - -
- - - - -
User management - -NixOS supports both declarative and imperative styles of user -management. In the declarative style, users are specified in -configuration.nix. For instance, the following -states that a user account named alice shall exist: - - -users.extraUsers.alice = - { createHome = true; - home = "/home/alice"; - description = "Alice Foobar"; - extraGroups = [ "wheel" "networkmanager" ]; - useDefaultShell = true; - openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ]; - }; - - -Note that alice is a member of the -wheel and networkmanager groups, -which allows her to use sudo to execute commands as -root and to configure the network, respectively. -Also note the SSH public key that allows remote logins with the -corresponding private key. Users created in this way do not have a -password by default, so they cannot log in via mechanisms that require -a password. However, you can use the passwd program -to set a password, which is retained across invocations of -nixos-rebuild. - -If you set users.mutableUsers to false, then the contents of /etc/passwd -and /etc/group will be congruent to your NixOS configuration. For instance, -if you remove a user from users.extraUsers and run nixos-rebuild, the user -account will cease to exist. Also, imperative commands for managing users -and groups, such as useradd, are no longer available. - -A user ID (uid) is assigned automatically. You can also specify -a uid manually by adding - - - uid = 1000; - - -to the user specification. - -Groups can be specified similarly. The following states that a -group named students shall exist: - - -users.extraGroups.students.gid = 1000; - - -As with users, the group ID (gid) is optional and will be assigned -automatically if it’s missing. - -Currently declarative user management is not perfect: -nixos-rebuild does not know how to realise certain -configuration changes. This includes removing a user or group, and -removing group membership from a user. - -In the imperative style, users and groups are managed by -commands such as useradd, -groupmod and so on. For instance, to create a user -account named alice: - - -$ useradd -m alice - -The flag causes the creation of a home directory -for the new user, which is generally what you want. The user does not -have an initial password and therefore cannot log in. A password can -be set using the passwd utility: - - -$ passwd alice -Enter new UNIX password: *** -Retype new UNIX password: *** - - -A user can be deleted using userdel: - - -$ userdel -r alice - -The flag deletes the user’s home directory. -Accounts can be modified using usermod. Unix -groups can be managed using groupadd, -groupmod and groupdel. - -
- - - - -
File systems - -You can define file systems using the - configuration option. For instance, the -following definition causes NixOS to mount the Ext4 file system on -device /dev/disk/by-label/data onto the mount -point /data: - - -fileSystems."/data" = - { device = "/dev/disk/by-label/data"; - fsType = "ext4"; - }; - - -Mount points are created automatically if they don’t already exist. -For , it’s best to use the topology-independent -device aliases in /dev/disk/by-label and -/dev/disk/by-uuid, as these don’t change if the -topology changes (e.g. if a disk is moved to another IDE -controller). - -You can usually omit the file system type -(), since mount can usually -detect the type and load the necessary kernel module automatically. -However, if the file system is needed at early boot (in the initial -ramdisk) and is not ext2, ext3 -or ext4, then it’s best to specify - to ensure that the kernel module is -available. - -
LUKS-encrypted file systems - -NixOS supports file systems that are encrypted using -LUKS (Linux Unified Key Setup). For example, -here is how you create an encrypted Ext4 file system on the device -/dev/sda2: - - -$ cryptsetup luksFormat /dev/sda2 - -WARNING! -======== -This will overwrite data on /dev/sda2 irrevocably. - -Are you sure? (Type uppercase yes): YES -Enter LUKS passphrase: *** -Verify passphrase: *** - -$ cryptsetup luksOpen /dev/sda2 crypted -Enter passphrase for /dev/sda2: *** - -$ mkfs.ext4 /dev/mapper/crypted - - -To ensure that this file system is automatically mounted at boot time -as /, add the following to -configuration.nix: - - -boot.initrd.luks.devices = [ { device = "/dev/sda2"; name = "crypted"; } ]; -fileSystems."/".device = "/dev/mapper/crypted"; - - - - -
- -
- - - - -
X Window System - -The X Window System (X11) provides the basis of NixOS’ graphical -user interface. It can be enabled as follows: - -services.xserver.enable = true; - -The X server will automatically detect and use the appropriate video -driver from a set of X.org drivers (such as vesa -and intel). You can also specify a driver -manually, e.g. - -services.xserver.videoDrivers = [ "r128" ]; - -to enable X.org’s xf86-video-r128 driver. - -You also need to enable at least one desktop or window manager. -Otherwise, you can only log into a plain undecorated -xterm window. Thus you should pick one or more of -the following lines: - -services.xserver.desktopManager.kde4.enable = true; -services.xserver.desktopManager.xfce.enable = true; -services.xserver.windowManager.xmonad.enable = true; -services.xserver.windowManager.twm.enable = true; -services.xserver.windowManager.icewm.enable = true; - - - -NixOS’s default display manager (the -program that provides a graphical login prompt and manages the X -server) is SLiM. You can select KDE’s kdm instead: - -services.xserver.displayManager.kdm.enable = true; - - - -The X server is started automatically at boot time. If you -don’t want this to happen, you can set: - -services.xserver.autorun = false; - -The X server can then be started manually: - -$ systemctl start display-manager.service - - - - -
NVIDIA graphics cards - -NVIDIA provides a proprietary driver for its graphics cards that -has better 3D performance than the X.org drivers. It is not enabled -by default because it’s not free software. You can enable it as follows: - -services.xserver.videoDrivers = [ "nvidia" ]; - -You may need to reboot after enabling this driver to prevent a clash -with other kernel modules. - -On 64-bit systems, if you want full acceleration for 32-bit -programs such as Wine, you should also set the following: - -services.xserver.driSupport32Bit = true; - - - -
- - -
Touchpads - -Support for Synaptics touchpads (found in many laptops such as -the Dell Latitude series) can be enabled as follows: - -services.xserver.synaptics.enable = true; - -The driver has many options (see ). For -instance, the following enables two-finger scrolling: - -services.xserver.synaptics.twoFingerScroll = true; - - - -
- - -
- - - - -
Networking - -
NetworkManager - -To facilitate network configuration, some desktop environments -use NetworkManager. You can enable NetworkManager by setting: - - -services.networkmanager.enable = true; - - -Some desktop managers (e.g., GNOME) enable NetworkManager -automatically for you. - -All users that should have permission to change network settings -must belong to the networkmanager group. - -services.networkmanager and -services.wireless can not be enabled at the same time: -you can still connect to the wireless networks using -NetworkManager. - -
- -
Secure shell access - -Secure shell (SSH) access to your machine can be enabled by -setting: - - -services.openssh.enable = true; - - -By default, root logins using a password are disallowed. They can be -disabled entirely by setting -services.openssh.permitRootLogin to -"no". - -You can declaratively specify authorised RSA/DSA public keys for -a user as follows: - - - -users.extraUsers.alice.openssh.authorizedKeys.keys = - [ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ]; - - - - -
- - -
IPv4 configuration - -By default, NixOS uses DHCP (specifically, -dhcpcd) to automatically configure network -interfaces. However, you can configure an interface manually as -follows: - - -networking.interfaces.eth0 = { ipAddress = "192.168.1.2"; prefixLength = 24; }; - - -(The network prefix can also be specified using the option -subnetMask, -e.g. "255.255.255.0", but this is deprecated.) -Typically you’ll also want to set a default gateway and set of name -servers: - - -networking.defaultGateway = "192.168.1.1"; -networking.nameservers = [ "8.8.8.8" ]; - - - - -Statically configured interfaces are set up by the systemd -service -interface-name-cfg.service. -The default gateway and name server configuration is performed by -network-setup.service. - -The host name is set using : - - -networking.hostName = "cartman"; - - -The default host name is nixos. Set it to the -empty string ("") to allow the DHCP server to -provide the host name. - -
- - -
IPv6 configuration - -IPv6 is enabled by default. Stateless address autoconfiguration -is used to automatically assign IPv6 addresses to all interfaces. You -can disable IPv6 support globally by setting: - - -networking.enableIPv6 = false; - - - - -
- - -
Firewall - -NixOS has a simple stateful firewall that blocks incoming -connections and other unexpected packets. The firewall applies to -both IPv4 and IPv6 traffic. It is enabled by default. It can be -disabled as follows: - - -networking.firewall.enable = false; - - -If the firewall is enabled, you can open specific TCP ports to the -outside world: - - -networking.firewall.allowedTCPPorts = [ 80 443 ]; - - -Note that TCP port 22 (ssh) is opened automatically if the SSH daemon -is enabled (). UDP -ports can be opened through -. Also of -interest is - - -networking.firewall.allowPing = true; - - -to allow the machine to respond to ping requests. (ICMPv6 pings are -always allowed.) - -
- - -
Wireless networks - -For a desktop installation using NetworkManager (e.g., GNOME), -you just have to make sure the user is in the -networkmanager group and you can skip the rest of this -section on wireless networks. - - -NixOS will start wpa_supplicant for you if you enable this setting: - - -networking.wireless.enable = true; - - -NixOS currently does not generate wpa_supplicant's -configuration file, /etc/wpa_supplicant.conf. You should edit this file -yourself to define wireless networks, WPA keys and so on (see -wpa_supplicant.conf(5)). - - - -If you are using WPA2 the wpa_passphrase tool might be useful -to generate the wpa_supplicant.conf. - - -$ wpa_passphrase ESSID PSK > /etc/wpa_supplicant.conf - -After you have edited the wpa_supplicant.conf, -you need to restart the wpa_supplicant service. - - -$ systemctl restart wpa_supplicant.service - - - -
- - -
Ad-hoc configuration - -You can use to specify -shell commands to be run at the end of -network-setup.service. This is useful for doing -network configuration not covered by the existing NixOS modules. For -instance, to statically configure an IPv6 address: - - -networking.localCommands = - '' - ip -6 addr add 2001:610:685:1::1/64 dev eth0 - ''; - - - - -
- - - - - -
- - - - -
Linux kernel - -You can override the Linux kernel and associated packages using -the option . For instance, this -selects the Linux 3.10 kernel: - -boot.kernelPackages = pkgs.linuxPackages_3_10; - -Note that this not only replaces the kernel, but also packages that -are specific to the kernel version, such as the NVIDIA video drivers. -This ensures that driver packages are consistent with the -kernel. - -The default Linux kernel configuration should be fine for most users. You can see the configuration of your current kernel with the following command: - -cat /proc/config.gz | gunzip - -If you want to change the kernel configuration, you can use the - feature (see ). For instance, to enable -support for the kernel debugger KGDB: - - -nixpkgs.config.packageOverrides = pkgs: - { linux_3_4 = pkgs.linux_3_4.override { - extraConfig = - '' - KGDB y - ''; - }; - }; - - -extraConfig takes a list of Linux kernel -configuration options, one per line. The name of the option should -not include the prefix CONFIG_. The option value -is typically y, n or -m (to build something as a kernel module). - -Kernel modules for hardware devices are generally loaded -automatically by udev. You can force a module to -be loaded via , e.g. - -boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ]; - -If the module is required early during the boot (e.g. to mount the -root file system), you can use -: - -boot.initrd.extraKernelModules = [ "cifs" ]; - -This causes the specified modules and their dependencies to be added -to the initial ramdark. - -Kernel runtime parameters can be set through -, e.g. - -boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 120; - -sets the kernel’s TCP keepalive time to 120 seconds. To see the -available parameters, run sysctl -a. - -
- - - - - -
diff --git a/nixos/doc/manual/configuration/LUKS-file-systems.xml b/nixos/doc/manual/configuration/LUKS-file-systems.xml new file mode 100644 index 00000000000..45475dbcd44 --- /dev/null +++ b/nixos/doc/manual/configuration/LUKS-file-systems.xml @@ -0,0 +1,42 @@ +
+ +LUKS-Encrypted File Systems + +NixOS supports file systems that are encrypted using +LUKS (Linux Unified Key Setup). For example, +here is how you create an encrypted Ext4 file system on the device +/dev/sda2: + + +$ cryptsetup luksFormat /dev/sda2 + +WARNING! +======== +This will overwrite data on /dev/sda2 irrevocably. + +Are you sure? (Type uppercase yes): YES +Enter LUKS passphrase: *** +Verify passphrase: *** + +$ cryptsetup luksOpen /dev/sda2 crypted +Enter passphrase for /dev/sda2: *** + +$ mkfs.ext4 /dev/mapper/crypted + + +To ensure that this file system is automatically mounted at boot time +as /, add the following to +configuration.nix: + + +boot.initrd.luks.devices = [ { device = "/dev/sda2"; name = "crypted"; } ]; +fileSystems."/".device = "/dev/mapper/crypted"; + + + + +
diff --git a/nixos/doc/manual/configuration/abstractions.xml b/nixos/doc/manual/configuration/abstractions.xml new file mode 100644 index 00000000000..cbd54bca62f --- /dev/null +++ b/nixos/doc/manual/configuration/abstractions.xml @@ -0,0 +1,166 @@ +
+ +Abstractions + +If you find yourself repeating yourself over and over, it’s time +to abstract. Take, for instance, this Apache HTTP Server configuration: + + +{ + services.httpd.virtualHosts = + [ { hostName = "example.org"; + documentRoot = "/webroot"; + adminAddr = "alice@example.org"; + enableUserDir = true; + } + { hostName = "example.org"; + documentRoot = "/webroot"; + adminAddr = "alice@example.org"; + enableUserDir = true; + enableSSL = true; + sslServerCert = "/root/ssl-example-org.crt"; + sslServerKey = "/root/ssl-example-org.key"; + } + ]; +} + + +It defines two virtual hosts with nearly identical configuration; the +only difference is that the second one has SSL enabled. To prevent +this duplication, we can use a let: + + +let + exampleOrgCommon = + { hostName = "example.org"; + documentRoot = "/webroot"; + adminAddr = "alice@example.org"; + enableUserDir = true; + }; +in +{ + services.httpd.virtualHosts = + [ exampleOrgCommon + (exampleOrgCommon // { + enableSSL = true; + sslServerCert = "/root/ssl-example-org.crt"; + sslServerKey = "/root/ssl-example-org.key"; + }) + ]; +} + + +The let exampleOrgCommon = +... defines a variable named +exampleOrgCommon. The // +operator merges two attribute sets, so the configuration of the second +virtual host is the set exampleOrgCommon extended +with the SSL options. + +You can write a let wherever an expression is +allowed. Thus, you also could have written: + + +{ + services.httpd.virtualHosts = + let exampleOrgCommon = ...; in + [ exampleOrgCommon + (exampleOrgCommon // { ... }) + ]; +} + + +but not { let exampleOrgCommon = +...; in ...; +} since attributes (as opposed to attribute values) are not +expressions. + +Functions provide another method of +abstraction. For instance, suppose that we want to generate lots of +different virtual hosts, all with identical configuration except for +the host name. This can be done as follows: + + +{ + services.httpd.virtualHosts = + let + makeVirtualHost = name: + { hostName = name; + documentRoot = "/webroot"; + adminAddr = "alice@example.org"; + }; + in + [ (makeVirtualHost "example.org") + (makeVirtualHost "example.com") + (makeVirtualHost "example.gov") + (makeVirtualHost "example.nl") + ]; +} + + +Here, makeVirtualHost is a function that takes a +single argument name and returns the configuration +for a virtual host. That function is then called for several names to +produce the list of virtual host configurations. + +We can further improve on this by using the function +map, which applies another function to every +element in a list: + + +{ + services.httpd.virtualHosts = + let + makeVirtualHost = ...; + in map makeVirtualHost + [ "example.org" "example.com" "example.gov" "example.nl" ]; +} + + +(The function map is called a +higher-order function because it takes another +function as an argument.) + +What if you need more than one argument, for instance, if we +want to use a different documentRoot for each +virtual host? Then we can make makeVirtualHost a +function that takes a set as its argument, like this: + + +{ + services.httpd.virtualHosts = + let + makeVirtualHost = { name, root }: + { hostName = name; + documentRoot = root; + adminAddr = "alice@example.org"; + }; + in map makeVirtualHost + [ { name = "example.org"; root = "/sites/example.org"; } + { name = "example.com"; root = "/sites/example.com"; } + { name = "example.gov"; root = "/sites/example.gov"; } + { name = "example.nl"; root = "/sites/example.nl"; } + ]; +} + + +But in this case (where every root is a subdirectory of +/sites named after the virtual host), it would +have been shorter to define makeVirtualHost as + +makeVirtualHost = name: + { hostName = name; + documentRoot = "/sites/${name}"; + adminAddr = "alice@example.org"; + }; + + +Here, the construct +${...} allows the result +of an expression to be spliced into a string. + +
diff --git a/nixos/doc/manual/configuration/ad-hoc-network-config.xml b/nixos/doc/manual/configuration/ad-hoc-network-config.xml new file mode 100644 index 00000000000..26a572ba1fb --- /dev/null +++ b/nixos/doc/manual/configuration/ad-hoc-network-config.xml @@ -0,0 +1,24 @@ +
+ +Ad-Hoc Configuration + +You can use to specify +shell commands to be run at the end of +network-setup.service. This is useful for doing +network configuration not covered by the existing NixOS modules. For +instance, to statically configure an IPv6 address: + + +networking.localCommands = + '' + ip -6 addr add 2001:610:685:1::1/64 dev eth0 + ''; + + + + +
diff --git a/nixos/doc/manual/configuration/ad-hoc-packages.xml b/nixos/doc/manual/configuration/ad-hoc-packages.xml new file mode 100644 index 00000000000..e237e20c4ff --- /dev/null +++ b/nixos/doc/manual/configuration/ad-hoc-packages.xml @@ -0,0 +1,63 @@ +
+ +Ad-Hoc Package Management + +With the command nix-env, you can install and +uninstall packages from the command line. For instance, to install +Mozilla Thunderbird: + + +$ nix-env -iA nixos.pkgs.thunderbird + +If you invoke this as root, the package is installed in the Nix +profile /nix/var/nix/profiles/default and visible +to all users of the system; otherwise, the package ends up in +/nix/var/nix/profiles/per-user/username/profile +and is not visible to other users. The flag +specifies the package by its attribute name; without it, the package +is installed by matching against its package name +(e.g. thunderbird). The latter is slower because +it requires matching against all available Nix packages, and is +ambiguous if there are multiple matching packages. + +Packages come from the NixOS channel. You typically upgrade a +package by updating to the latest version of the NixOS channel: + +$ nix-channel --update nixos + +and then running nix-env -i again. Other packages +in the profile are not affected; this is the +crucial difference with the declarative style of package management, +where running nixos-rebuild switch causes all +packages to be updated to their current versions in the NixOS channel. +You can however upgrade all packages for which there is a newer +version by doing: + +$ nix-env -u '*' + + + +A package can be uninstalled using the +flag: + +$ nix-env -e thunderbird + + + +Finally, you can roll back an undesirable +nix-env action: + +$ nix-env --rollback + + + +nix-env has many more flags. For details, +see the +nix-env1 +manpage or the Nix manual. + +
diff --git a/nixos/doc/manual/configuration/adding-custom-packages.xml b/nixos/doc/manual/configuration/adding-custom-packages.xml new file mode 100644 index 00000000000..c1789fcbc04 --- /dev/null +++ b/nixos/doc/manual/configuration/adding-custom-packages.xml @@ -0,0 +1,84 @@ +
+ +Adding Custom Packages + +It’s possible that a package you need is not available in NixOS. +In that case, you can do two things. First, you can clone the Nixpkgs +repository, add the package to your clone, and (optionally) submit a +patch or pull request to have it accepted into the main Nixpkgs +repository. This is described in detail in the Nixpkgs manual. +In short, you clone Nixpkgs: + + +$ git clone git://github.com/NixOS/nixpkgs.git +$ cd nixpkgs + + +Then you write and test the package as described in the Nixpkgs +manual. Finally, you add it to +environment.systemPackages, e.g. + + +environment.systemPackages = [ pkgs.my-package ]; + + +and you run nixos-rebuild, specifying your own +Nixpkgs tree: + + +$ nixos-rebuild switch -I nixpkgs=/path/to/my/nixpkgs + + + +The second possibility is to add the package outside of the +Nixpkgs tree. For instance, here is how you specify a build of the +GNU Hello +package directly in configuration.nix: + + +environment.systemPackages = + let + my-hello = with pkgs; stdenv.mkDerivation rec { + name = "hello-2.8"; + src = fetchurl { + url = "mirror://gnu/hello/${name}.tar.gz"; + sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"; + }; + }; + in + [ my-hello ]; + + +Of course, you can also move the definition of +my-hello into a separate Nix expression, e.g. + +environment.systemPackages = [ (import ./my-hello.nix) ]; + +where my-hello.nix contains: + +with import <nixpkgs> {}; # bring all of Nixpkgs into scope + +stdenv.mkDerivation rec { + name = "hello-2.8"; + src = fetchurl { + url = "mirror://gnu/hello/${name}.tar.gz"; + sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"; + }; +} + + +This allows testing the package easily: + +$ nix-build my-hello.nix +$ ./result/bin/hello +Hello, world! + + + + +
diff --git a/nixos/doc/manual/configuration/config-file.xml b/nixos/doc/manual/configuration/config-file.xml new file mode 100644 index 00000000000..2a58ff25941 --- /dev/null +++ b/nixos/doc/manual/configuration/config-file.xml @@ -0,0 +1,213 @@ +
+ +NixOS Configuration File + +The NixOS configuration file generally looks like this: + + +{ config, pkgs, ... }: + +{ option definitions +} + + +The first line ({ config, pkgs, ... }:) denotes +that this is actually a function that takes at least the two arguments + config and pkgs. (These are +explained later.) The function returns a set of +option definitions ({ ... }). These definitions have the +form name = +value, where +name is the name of an option and +value is its value. For example, + + +{ config, pkgs, ... }: + +{ services.httpd.enable = true; + services.httpd.adminAddr = "alice@example.org"; + services.httpd.documentRoot = "/webroot"; +} + + +defines a configuration with three option definitions that together +enable the Apache HTTP Server with /webroot as +the document root. + +Sets can be nested, and in fact dots in option names are +shorthand for defining a set containing another set. For instance, + defines a set named +services that contains a set named +httpd, which in turn contains an option definition +named enable with value true. +This means that the example above can also be written as: + + +{ config, pkgs, ... }: + +{ services = { + httpd = { + enable = true; + adminAddr = "alice@example.org"; + documentRoot = "/webroot"; + }; + }; +} + + +which may be more convenient if you have lots of option definitions +that share the same prefix (such as +services.httpd). + +NixOS checks your option definitions for correctness. For +instance, if you try to define an option that doesn’t exist (that is, +doesn’t have a corresponding option declaration), +nixos-rebuild will give an error like: + +The option `services.httpd.enabl' defined in `/etc/nixos/configuration.nix' does not exist. + +Likewise, values in option definitions must have a correct type. For +instance, must be a Boolean +(true or false). Trying to give +it a value of another type, such as a string, will cause an error: + +The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is not a boolean. + + + + +Options have various types of values. The most important are: + + + + Strings + + Strings are enclosed in double quotes, e.g. + + +networking.hostName = "dexter"; + + + Special characters can be escaped by prefixing them with a + backslash (e.g. \"). + + Multi-line strings can be enclosed in double + single quotes, e.g. + + +networking.extraHosts = + '' + 127.0.0.2 other-localhost + 10.0.0.1 server + ''; + + + The main difference is that preceding whitespace is + automatically stripped from each line, and that characters like + " and \ are not special + (making it more convenient for including things like shell + code). + + + + + Booleans + + These can be true or + false, e.g. + + +networking.firewall.enable = true; +networking.firewall.allowPing = false; + + + + + + + Integers + + For example, + + +boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 60; + + + (Note that here the attribute name + net.ipv4.tcp_keepalive_time is enclosed in + quotes to prevent it from being interpreted as a set named + net containing a set named + ipv4, and so on. This is because it’s not a + NixOS option but the literal name of a Linux kernel + setting.) + + + + + Sets + + Sets were introduced above. They are name/value pairs + enclosed in braces, as in the option definition + + +fileSystems."/boot" = + { device = "/dev/sda1"; + fsType = "ext4"; + options = "rw,data=ordered,relatime"; + }; + + + + + + + Lists + + The important thing to note about lists is that list + elements are separated by whitespace, like this: + + +boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ]; + + + List elements can be any other type, e.g. sets: + + +swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; + + + + + + + Packages + + Usually, the packages you need are already part of the Nix + Packages collection, which is a set that can be accessed through + the function argument pkgs. Typical uses: + + +environment.systemPackages = + [ pkgs.thunderbird + pkgs.emacs + ]; + +postgresql.package = pkgs.postgresql90; + + + The latter option definition changes the default PostgreSQL + package used by NixOS’s PostgreSQL service to 9.0. For more + information on packages, including how to add new ones, see + . + + + + + + + +
diff --git a/nixos/doc/manual/configuration/config-syntax.xml b/nixos/doc/manual/configuration/config-syntax.xml new file mode 100644 index 00000000000..87847f8451e --- /dev/null +++ b/nixos/doc/manual/configuration/config-syntax.xml @@ -0,0 +1,27 @@ + + +Configuration Syntax + +The NixOS configuration file +/etc/nixos/configuration.nix is actually a +Nix expression, which is the Nix package +manager’s purely functional language for describing how to build +packages and configurations. This means you have all the expressive +power of that language at your disposal, including the ability to +abstract over common patterns, which is very useful when managing +complex systems. The syntax and semantics of the Nix language are +fully described in the Nix +manual, but here we give a short overview of the most important +constructs useful in NixOS configuration files. + + + + + + + diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml new file mode 100644 index 00000000000..e15c700017c --- /dev/null +++ b/nixos/doc/manual/configuration/configuration.xml @@ -0,0 +1,29 @@ + + +Configuration + + + +This chapter describes how to configure various aspects of a +NixOS machine through the configuration file +/etc/nixos/configuration.nix. As described in +, changes to this file only take +effect after you run nixos-rebuild. + + + + + + + + + + + + + + diff --git a/nixos/doc/manual/configuration/customizing-packages.xml b/nixos/doc/manual/configuration/customizing-packages.xml new file mode 100644 index 00000000000..6ee7a95dc6f --- /dev/null +++ b/nixos/doc/manual/configuration/customizing-packages.xml @@ -0,0 +1,92 @@ +
+ +Customising Packages + +Some packages in Nixpkgs have options to enable or disable +optional functionality or change other aspects of the package. For +instance, the Firefox wrapper package (which provides Firefox with a +set of plugins such as the Adobe Flash player) has an option to enable +the Google Talk plugin. It can be set in +configuration.nix as follows: + + +nixpkgs.config.firefox.enableGoogleTalkPlugin = true; + + + +Unfortunately, Nixpkgs currently lacks a way to query +available configuration options. + +Apart from high-level options, it’s possible to tweak a package +in almost arbitrary ways, such as changing or disabling dependencies +of a package. For instance, the Emacs package in Nixpkgs by default +has a dependency on GTK+ 2. If you want to build it against GTK+ 3, +you can specify that as follows: + + +environment.systemPackages = [ (pkgs.emacs.override { gtk = pkgs.gtk3; }) ]; + + +The function override performs the call to the Nix +function that produces Emacs, with the original arguments amended by +the set of arguments specified by you. So here the function argument +gtk gets the value pkgs.gtk3, +causing Emacs to depend on GTK+ 3. (The parentheses are necessary +because in Nix, function application binds more weakly than list +construction, so without them, +environment.systemPackages would be a list with two +elements.) + +Even greater customisation is possible using the function +overrideDerivation. While the +override mechanism above overrides the arguments of +a package function, overrideDerivation allows +changing the result of the function. This +permits changing any aspect of the package, such as the source code. +For instance, if you want to override the source code of Emacs, you +can say: + + +environment.systemPackages = + [ (pkgs.lib.overrideDerivation pkgs.emacs (attrs: { + name = "emacs-25.0-pre"; + src = /path/to/my/emacs/tree; + })) + ]; + + +Here, overrideDerivation takes the Nix derivation +specified by pkgs.emacs and produces a new +derivation in which the original’s name and +src attribute have been replaced by the given +values. The original attributes are accessible via +attrs. + +The overrides shown above are not global. They do not affect +the original package; other packages in Nixpkgs continue to depend on +the original rather than the customised package. This means that if +another package in your system depends on the original package, you +end up with two instances of the package. If you want to have +everything depend on your customised instance, you can apply a +global override as follows: + + +nixpkgs.config.packageOverrides = pkgs: + { emacs = pkgs.emacs.override { gtk = pkgs.gtk3; }; + }; + + +The effect of this definition is essentially equivalent to modifying +the emacs attribute in the Nixpkgs source tree. +Any package in Nixpkgs that depends on emacs will +be passed your customised instance. (However, the value +pkgs.emacs in +nixpkgs.config.packageOverrides refers to the +original rather than overridden instance, to prevent an infinite +recursion.) + +
diff --git a/nixos/doc/manual/configuration/declarative-packages.xml b/nixos/doc/manual/configuration/declarative-packages.xml new file mode 100644 index 00000000000..6de38b452e2 --- /dev/null +++ b/nixos/doc/manual/configuration/declarative-packages.xml @@ -0,0 +1,43 @@ +
+ +Declarative Package Management + +With declarative package management, you specify which packages +you want on your system by setting the option +. For instance, adding the +following line to configuration.nix enables the +Mozilla Thunderbird email application: + + +environment.systemPackages = [ pkgs.thunderbird ]; + + +The effect of this specification is that the Thunderbird package from +Nixpkgs will be built or downloaded as part of the system when you run +nixos-rebuild switch. + +You can get a list of the available packages as follows: + +$ nix-env -qaP '*' --description +nixos.pkgs.firefox firefox-23.0 Mozilla Firefox - the browser, reloaded +... + + +The first column in the output is the attribute +name, such as +nixos.pkgs.thunderbird. (The +nixos prefix allows distinguishing between +different channels that you might have.) + +To “uninstall” a package, simply remove it from + and run +nixos-rebuild switch. + + + + +
diff --git a/nixos/doc/manual/configuration/file-systems.xml b/nixos/doc/manual/configuration/file-systems.xml new file mode 100644 index 00000000000..52ad6d62f13 --- /dev/null +++ b/nixos/doc/manual/configuration/file-systems.xml @@ -0,0 +1,40 @@ + + +File Systems + +You can define file systems using the + configuration option. For instance, the +following definition causes NixOS to mount the Ext4 file system on +device /dev/disk/by-label/data onto the mount +point /data: + + +fileSystems."/data" = + { device = "/dev/disk/by-label/data"; + fsType = "ext4"; + }; + + +Mount points are created automatically if they don’t already exist. +For , it’s best to use the topology-independent +device aliases in /dev/disk/by-label and +/dev/disk/by-uuid, as these don’t change if the +topology changes (e.g. if a disk is moved to another IDE +controller). + +You can usually omit the file system type +(), since mount can usually +detect the type and load the necessary kernel module automatically. +However, if the file system is needed at early boot (in the initial +ramdisk) and is not ext2, ext3 +or ext4, then it’s best to specify + to ensure that the kernel module is +available. + + + + diff --git a/nixos/doc/manual/configuration/firewall.xml b/nixos/doc/manual/configuration/firewall.xml new file mode 100644 index 00000000000..87406c28c2f --- /dev/null +++ b/nixos/doc/manual/configuration/firewall.xml @@ -0,0 +1,38 @@ +
+ +Firewall + +NixOS has a simple stateful firewall that blocks incoming +connections and other unexpected packets. The firewall applies to +both IPv4 and IPv6 traffic. It is enabled by default. It can be +disabled as follows: + + +networking.firewall.enable = false; + + +If the firewall is enabled, you can open specific TCP ports to the +outside world: + + +networking.firewall.allowedTCPPorts = [ 80 443 ]; + + +Note that TCP port 22 (ssh) is opened automatically if the SSH daemon +is enabled (). UDP +ports can be opened through +. Also of +interest is + + +networking.firewall.allowPing = true; + + +to allow the machine to respond to ping requests. (ICMPv6 pings are +always allowed.) + +
diff --git a/nixos/doc/manual/configuration/ipv4-config.xml b/nixos/doc/manual/configuration/ipv4-config.xml new file mode 100644 index 00000000000..e2c51518349 --- /dev/null +++ b/nixos/doc/manual/configuration/ipv4-config.xml @@ -0,0 +1,47 @@ +
+ +IPv4 Configuration + +By default, NixOS uses DHCP (specifically, +dhcpcd) to automatically configure network +interfaces. However, you can configure an interface manually as +follows: + + +networking.interfaces.eth0 = { ipAddress = "192.168.1.2"; prefixLength = 24; }; + + +(The network prefix can also be specified using the option +subnetMask, +e.g. "255.255.255.0", but this is deprecated.) +Typically you’ll also want to set a default gateway and set of name +servers: + + +networking.defaultGateway = "192.168.1.1"; +networking.nameservers = [ "8.8.8.8" ]; + + + + +Statically configured interfaces are set up by the systemd +service +interface-name-cfg.service. +The default gateway and name server configuration is performed by +network-setup.service. + +The host name is set using : + + +networking.hostName = "cartman"; + + +The default host name is nixos. Set it to the +empty string ("") to allow the DHCP server to +provide the host name. + +
diff --git a/nixos/doc/manual/configuration/ipv6-config.xml b/nixos/doc/manual/configuration/ipv6-config.xml new file mode 100644 index 00000000000..592bf20e545 --- /dev/null +++ b/nixos/doc/manual/configuration/ipv6-config.xml @@ -0,0 +1,19 @@ +
+ +IPv6 Configuration + +IPv6 is enabled by default. Stateless address autoconfiguration +is used to automatically assign IPv6 addresses to all interfaces. You +can disable IPv6 support globally by setting: + + +networking.enableIPv6 = false; + + + + +
diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml new file mode 100644 index 00000000000..8fe2f5255df --- /dev/null +++ b/nixos/doc/manual/configuration/linux-kernel.xml @@ -0,0 +1,69 @@ + + +Linux Kernel + +You can override the Linux kernel and associated packages using +the option . For instance, this +selects the Linux 3.10 kernel: + +boot.kernelPackages = pkgs.linuxPackages_3_10; + +Note that this not only replaces the kernel, but also packages that +are specific to the kernel version, such as the NVIDIA video drivers. +This ensures that driver packages are consistent with the +kernel. + +The default Linux kernel configuration should be fine for most users. You can see the configuration of your current kernel with the following command: + +cat /proc/config.gz | gunzip + +If you want to change the kernel configuration, you can use the + feature (see ). For instance, to enable +support for the kernel debugger KGDB: + + +nixpkgs.config.packageOverrides = pkgs: + { linux_3_4 = pkgs.linux_3_4.override { + extraConfig = + '' + KGDB y + ''; + }; + }; + + +extraConfig takes a list of Linux kernel +configuration options, one per line. The name of the option should +not include the prefix CONFIG_. The option value +is typically y, n or +m (to build something as a kernel module). + +Kernel modules for hardware devices are generally loaded +automatically by udev. You can force a module to +be loaded via , e.g. + +boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ]; + +If the module is required early during the boot (e.g. to mount the +root file system), you can use +: + +boot.initrd.extraKernelModules = [ "cifs" ]; + +This causes the specified modules and their dependencies to be added +to the initial ramdark. + +Kernel runtime parameters can be set through +, e.g. + +boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 120; + +sets the kernel’s TCP keepalive time to 120 seconds. To see the +available parameters, run sysctl -a. + + diff --git a/nixos/doc/manual/configuration/modularity.xml b/nixos/doc/manual/configuration/modularity.xml new file mode 100644 index 00000000000..d95091bd162 --- /dev/null +++ b/nixos/doc/manual/configuration/modularity.xml @@ -0,0 +1,143 @@ +
+ +Modularity + +The NixOS configuration mechanism is modular. If your +configuration.nix becomes too big, you can split +it into multiple files. Likewise, if you have multiple NixOS +configurations (e.g. for different computers) with some commonality, +you can move the common configuration into a shared file. + +Modules have exactly the same syntax as +configuration.nix. In fact, +configuration.nix is itself a module. You can +use other modules by including them from +configuration.nix, e.g.: + + +{ config, pkgs, ... }: + +{ imports = [ ./vpn.nix ./kde.nix ]; + services.httpd.enable = true; + environment.systemPackages = [ pkgs.emacs ]; + ... +} + + +Here, we include two modules from the same directory, +vpn.nix and kde.nix. The +latter might look like this: + + +{ config, pkgs, ... }: + +{ services.xserver.enable = true; + services.xserver.displayManager.kdm.enable = true; + services.xserver.desktopManager.kde4.enable = true; + environment.systemPackages = [ pkgs.kde4.kscreensaver ]; +} + + +Note that both configuration.nix and +kde.nix define the option +. When multiple modules +define an option, NixOS will try to merge the +definitions. In the case of +, that’s easy: the lists of +packages can simply be concatenated. The value in +configuration.nix is merged last, so for +list-type options, it will appear at the end of the merged list. If +you want it to appear first, you can use mkBefore: + + +boot.kernelModules = mkBefore [ "kvm-intel" ]; + + +This causes the kvm-intel kernel module to be +loaded before any other kernel modules. + +For other types of options, a merge may not be possible. For +instance, if two modules define +, +nixos-rebuild will give an error: + + +The unique option `services.httpd.adminAddr' is defined multiple times, in `/etc/nixos/httpd.nix' and `/etc/nixos/configuration.nix'. + + +When that happens, it’s possible to force one definition take +precedence over the others: + + +services.httpd.adminAddr = pkgs.lib.mkForce "bob@example.org"; + + + + +When using multiple modules, you may need to access +configuration values defined in other modules. This is what the +config function argument is for: it contains the +complete, merged system configuration. That is, +config is the result of combining the +configurations returned by every moduleIf you’re +wondering how it’s possible that the (indirect) +result of a function is passed as an +input to that same function: that’s because Nix +is a “lazy” language — it only computes values when they are needed. +This works as long as no individual configuration value depends on +itself.. For example, here is a module that adds +some packages to only if + is set to +true somewhere else: + + +{ config, pkgs, ... }: + +{ environment.systemPackages = + if config.services.xserver.enable then + [ pkgs.firefox + pkgs.thunderbird + ] + else + [ ]; +} + + + + +With multiple modules, it may not be obvious what the final +value of a configuration option is. The command + allows you to find out: + + +$ nixos-option services.xserver.enable +true + +$ nixos-option boot.kernelModules +[ "tun" "ipv6" "loop" ... ] + + +Interactive exploration of the configuration is possible using +nix-repl, +a read-eval-print loop for Nix expressions. It’s not installed by +default; run nix-env -i nix-repl to get it. A +typical use: + + +$ nix-repl '<nixos>' + +nix-repl> config.networking.hostName +"mandark" + +nix-repl> map (x: x.hostName) config.services.httpd.virtualHosts +[ "example.org" "example.gov" ] + + + + +
diff --git a/nixos/doc/manual/configuration/network-manager.xml b/nixos/doc/manual/configuration/network-manager.xml new file mode 100644 index 00000000000..e65060021b4 --- /dev/null +++ b/nixos/doc/manual/configuration/network-manager.xml @@ -0,0 +1,27 @@ +
+ +NetworkManager + +To facilitate network configuration, some desktop environments +use NetworkManager. You can enable NetworkManager by setting: + + +services.networkmanager.enable = true; + + +Some desktop managers (e.g., GNOME) enable NetworkManager +automatically for you. + +All users that should have permission to change network settings +must belong to the networkmanager group. + +services.networkmanager and +services.wireless can not be enabled at the same time: +you can still connect to the wireless networks using +NetworkManager. + +
diff --git a/nixos/doc/manual/configuration/networking.xml b/nixos/doc/manual/configuration/networking.xml new file mode 100644 index 00000000000..5f08bc1f127 --- /dev/null +++ b/nixos/doc/manual/configuration/networking.xml @@ -0,0 +1,22 @@ + + +Networking + +This section describes how to configure networking components on +your NixOS machine. + + + + + + + + + + + + diff --git a/nixos/doc/manual/configuration/package-mgmt.xml b/nixos/doc/manual/configuration/package-mgmt.xml new file mode 100644 index 00000000000..73c1722da02 --- /dev/null +++ b/nixos/doc/manual/configuration/package-mgmt.xml @@ -0,0 +1,34 @@ + + +Package Management + +This section describes how to add additional packages to your +system. NixOS has two distinct styles of package management: + + + + Declarative, where you declare + what packages you want in your + configuration.nix. Every time you run + nixos-rebuild, NixOS will ensure that you get a + consistent set of binaries corresponding to your + specification. + + Ad hoc, where you install, + upgrade and uninstall packages via the nix-env + command. This style allows mixing packages from different Nixpkgs + versions. It’s the only choice for non-root + users. + + + + + + + + + diff --git a/nixos/doc/manual/configuration/ssh.xml b/nixos/doc/manual/configuration/ssh.xml new file mode 100644 index 00000000000..7c928baaf89 --- /dev/null +++ b/nixos/doc/manual/configuration/ssh.xml @@ -0,0 +1,32 @@ +
+ +Secure Shell Access + +Secure shell (SSH) access to your machine can be enabled by +setting: + + +services.openssh.enable = true; + + +By default, root logins using a password are disallowed. They can be +disabled entirely by setting +services.openssh.permitRootLogin to +"no". + +You can declaratively specify authorised RSA/DSA public keys for +a user as follows: + + + +users.extraUsers.alice.openssh.authorizedKeys.keys = + [ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ]; + + + + +
diff --git a/nixos/doc/manual/configuration/summary.xml b/nixos/doc/manual/configuration/summary.xml new file mode 100644 index 00000000000..9bb5e35e16b --- /dev/null +++ b/nixos/doc/manual/configuration/summary.xml @@ -0,0 +1,191 @@ +
+ +Syntax Summary + +Below is a summary of the most important syntactic constructs in +the Nix expression language. It’s not complete. In particular, there +are many other built-in functions. See the Nix +manual for the rest. + + + + + + + + Example + Description + + + + + + Basic values + + + "Hello world" + A string + + + "${pkgs.bash}/bin/sh" + A string containing an expression (expands to "/nix/store/hash-bash-version/bin/sh") + + + true, false + Booleans + + + 123 + An integer + + + ./foo.png + A path (relative to the containing Nix expression) + + + + Compound values + + + { x = 1; y = 2; } + An set with attributes names x and y + + + { foo.bar = 1; } + A nested set, equivalent to { foo = { bar = 1; }; } + + + rec { x = "bla"; y = x + "bar"; } + A recursive set, equivalent to { x = "foo"; y = "foobar"; } + + + [ "foo" "bar" ] + A list with two elements + + + + Operators + + + "foo" + "bar" + String concatenation + + + 1 + 2 + Integer addition + + + "foo" == "f" + "oo" + Equality test (evaluates to true) + + + "foo" != "bar" + Inequality test (evaluates to true) + + + !true + Boolean negation + + + { x = 1; y = 2; }.x + Attribute selection (evaluates to 1) + + + { x = 1; y = 2; }.z or 3 + Attribute selection with default (evaluates to 3) + + + { x = 1; y = 2; } // { z = 3; } + Merge two sets (attributes in the right-hand set taking precedence) + + + + Control structures + + + if 1 + 1 == 2 then "yes!" else "no!" + Conditional expression + + + assert 1 + 1 == 2; "yes!" + Assertion check (evaluates to "yes!") + + + let x = "foo"; y = "bar"; in x + y + Variable definition + + + with pkgs.lib; head [ 1 2 3 ] + Add all attributes from the given set to the scope + (evaluates to 1) + + + + Functions (lambdas) + + + x: x + 1 + A function that expects an integer and returns it increased by 1 + + + (x: x + 1) 100 + A function call (evaluates to 101) + + + let inc = x: x + 1; in inc (inc (inc 100)) + A function bound to a variable and subsequently called by name (evaluates to 103) + + + { x, y }: x + y + A function that expects a set with required attributes + x and y and concatenates + them + + + { x, y ? "bar" }: x + y + A function that expects a set with required attribute + x and optional y, using + "bar" as default value for + y + + + { x, y, ... }: x + y + A function that expects a set with required attributes + x and y and ignores any + other attributes + + + { x, y } @ args: x + y + A function that expects a set with required attributes + x and y, and binds the + whole set to args + + + + Built-in functions + + + import ./foo.nix + Load and return Nix expression in given file + + + map (x: x + x) [ 1 2 3 ] + Apply a function to every element of a list (evaluates to [ 2 4 6 ]) + + + + + + + +
diff --git a/nixos/doc/manual/configuration/user-mgmt.xml b/nixos/doc/manual/configuration/user-mgmt.xml new file mode 100644 index 00000000000..40dc687d03b --- /dev/null +++ b/nixos/doc/manual/configuration/user-mgmt.xml @@ -0,0 +1,95 @@ + + +User Management + +NixOS supports both declarative and imperative styles of user +management. In the declarative style, users are specified in +configuration.nix. For instance, the following +states that a user account named alice shall exist: + + +users.extraUsers.alice = + { createHome = true; + home = "/home/alice"; + description = "Alice Foobar"; + extraGroups = [ "wheel" "networkmanager" ]; + useDefaultShell = true; + openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ]; + }; + + +Note that alice is a member of the +wheel and networkmanager groups, +which allows her to use sudo to execute commands as +root and to configure the network, respectively. +Also note the SSH public key that allows remote logins with the +corresponding private key. Users created in this way do not have a +password by default, so they cannot log in via mechanisms that require +a password. However, you can use the passwd program +to set a password, which is retained across invocations of +nixos-rebuild. + +If you set users.mutableUsers to false, then the contents of /etc/passwd +and /etc/group will be congruent to your NixOS configuration. For instance, +if you remove a user from users.extraUsers and run nixos-rebuild, the user +account will cease to exist. Also, imperative commands for managing users +and groups, such as useradd, are no longer available. + +A user ID (uid) is assigned automatically. You can also specify +a uid manually by adding + + + uid = 1000; + + +to the user specification. + +Groups can be specified similarly. The following states that a +group named students shall exist: + + +users.extraGroups.students.gid = 1000; + + +As with users, the group ID (gid) is optional and will be assigned +automatically if it’s missing. + +Currently declarative user management is not perfect: +nixos-rebuild does not know how to realise certain +configuration changes. This includes removing a user or group, and +removing group membership from a user. + +In the imperative style, users and groups are managed by +commands such as useradd, +groupmod and so on. For instance, to create a user +account named alice: + + +$ useradd -m alice + +The flag causes the creation of a home directory +for the new user, which is generally what you want. The user does not +have an initial password and therefore cannot log in. A password can +be set using the passwd utility: + + +$ passwd alice +Enter new UNIX password: *** +Retype new UNIX password: *** + + +A user can be deleted using userdel: + + +$ userdel -r alice + +The flag deletes the user’s home directory. +Accounts can be modified using usermod. Unix +groups can be managed using groupadd, +groupmod and groupdel. + + diff --git a/nixos/doc/manual/configuration/wireless.xml b/nixos/doc/manual/configuration/wireless.xml new file mode 100644 index 00000000000..373a9168cc8 --- /dev/null +++ b/nixos/doc/manual/configuration/wireless.xml @@ -0,0 +1,41 @@ +
+ +Wireless Networks + +For a desktop installation using NetworkManager (e.g., GNOME), +you just have to make sure the user is in the +networkmanager group and you can skip the rest of this +section on wireless networks. + + +NixOS will start wpa_supplicant for you if you enable this setting: + + +networking.wireless.enable = true; + + +NixOS currently does not generate wpa_supplicant's +configuration file, /etc/wpa_supplicant.conf. You should edit this file +yourself to define wireless networks, WPA keys and so on (see +wpa_supplicant.conf(5)). + + + +If you are using WPA2 the wpa_passphrase tool might be useful +to generate the wpa_supplicant.conf. + + +$ wpa_passphrase ESSID PSK > /etc/wpa_supplicant.conf + +After you have edited the wpa_supplicant.conf, +you need to restart the wpa_supplicant service. + + +$ systemctl restart wpa_supplicant.service + + +
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml new file mode 100644 index 00000000000..bc58bb1f066 --- /dev/null +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -0,0 +1,94 @@ + + +X Window System + +The X Window System (X11) provides the basis of NixOS’ graphical +user interface. It can be enabled as follows: + +services.xserver.enable = true; + +The X server will automatically detect and use the appropriate video +driver from a set of X.org drivers (such as vesa +and intel). You can also specify a driver +manually, e.g. + +services.xserver.videoDrivers = [ "r128" ]; + +to enable X.org’s xf86-video-r128 driver. + +You also need to enable at least one desktop or window manager. +Otherwise, you can only log into a plain undecorated +xterm window. Thus you should pick one or more of +the following lines: + +services.xserver.desktopManager.kde4.enable = true; +services.xserver.desktopManager.xfce.enable = true; +services.xserver.windowManager.xmonad.enable = true; +services.xserver.windowManager.twm.enable = true; +services.xserver.windowManager.icewm.enable = true; + + + +NixOS’s default display manager (the +program that provides a graphical login prompt and manages the X +server) is SLiM. You can select KDE’s kdm instead: + +services.xserver.displayManager.kdm.enable = true; + + + +The X server is started automatically at boot time. If you +don’t want this to happen, you can set: + +services.xserver.autorun = false; + +The X server can then be started manually: + +$ systemctl start display-manager.service + + + + +NVIDIA Graphics Cards + +NVIDIA provides a proprietary driver for its graphics cards that +has better 3D performance than the X.org drivers. It is not enabled +by default because it’s not free software. You can enable it as follows: + +services.xserver.videoDrivers = [ "nvidia" ]; + +You may need to reboot after enabling this driver to prevent a clash +with other kernel modules. + +On 64-bit systems, if you want full acceleration for 32-bit +programs such as Wine, you should also set the following: + +services.xserver.driSupport32Bit = true; + + + + + + +Touchpads + +Support for Synaptics touchpads (found in many laptops such as +the Dell Latitude series) can be enabled as follows: + +services.xserver.synaptics.enable = true; + +The driver has many options (see ). For +instance, the following enables two-finger scrolling: + +services.xserver.synaptics.twoFingerScroll = true; + + + + + + + diff --git a/nixos/doc/manual/containers.xml b/nixos/doc/manual/containers.xml deleted file mode 100644 index 2530d519521..00000000000 --- a/nixos/doc/manual/containers.xml +++ /dev/null @@ -1,242 +0,0 @@ - - -Containers - -NixOS allows you to easily run other NixOS instances as -containers. Containers are a light-weight -approach to virtualisation that runs software in the container at the -same speed as in the host system. NixOS containers share the Nix store -of the host, making container creation very efficient. - -Currently, NixOS containers are not perfectly isolated -from the host system. This means that a user with root access to the -container can do things that affect the host. So you should not give -container root access to untrusted users. - -NixOS containers can be created in two ways: imperatively, using -the command nixos-container, and declaratively, by -specifying them in your configuration.nix. The -declarative approach implies that containers get upgraded along with -your host system when you run nixos-rebuild, which -is often not what you want. By contrast, in the imperative approach, -containers are configured and updated independently from the host -system. - - -
Imperative container management - -We’ll cover imperative container management using -nixos-container first. You create a container with -identifier foo as follows: - - -$ nixos-container create foo - - -This creates the container’s root directory in -/var/lib/containers/foo and a small configuration -file in /etc/containers/foo.conf. It also builds -the container’s initial system configuration and stores it in -/nix/var/nix/profiles/per-container/foo/system. You -can modify the initial configuration of the container on the command -line. For instance, to create a container that has -sshd running, with the given public key for -root: - - -$ nixos-container create foo --config 'services.openssh.enable = true; \ - users.extraUsers.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];' - - - - -Creating a container does not start it. To start the container, -run: - - -$ nixos-container start foo - - -This command will return as soon as the container has booted and has -reached multi-user.target. On the host, the -container runs within a systemd unit called -container@container-name.service. -Thus, if something went wrong, you can get status info using -systemctl: - - -$ systemctl status container@foo - - - - -If the container has started succesfully, you can log in as -root using the root-login operation: - - -$ nixos-container root-login foo -[root@foo:~]# - - -Note that only root on the host can do this (since there is no -authentication). You can also get a regular login prompt using the -login operation, which is available to all users on -the host: - - -$ nixos-container login foo -foo login: alice -Password: *** - - -With nixos-container run, you can execute arbitrary -commands in the container: - - -$ nixos-container run foo -- uname -a -Linux foo 3.4.82 #1-NixOS SMP Thu Mar 20 14:44:05 UTC 2014 x86_64 GNU/Linux - - - - -There are several ways to change the configuration of the -container. First, on the host, you can edit -/var/lib/container/name/etc/nixos/configuration.nix, -and run - - -$ nixos-container update foo - - -This will build and activate the new configuration. You can also -specify a new configuration on the command line: - - -$ nixos-container update foo --config 'services.httpd.enable = true; \ - services.httpd.adminAddr = "foo@example.org";' - -$ curl http://$(nixos-container show-ip foo)/ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">… - - -However, note that this will overwrite the container’s -/etc/nixos/configuration.nix. - -Alternatively, you can change the configuration from within the -container itself by running nixos-rebuild switch -inside the container. Note that the container by default does not have -a copy of the NixOS channel, so you should run nix-channel ---update first. - -Containers can be stopped and started using -nixos-container stop and nixos-container -start, respectively, or by using -systemctl on the container’s service unit. To -destroy a container, including its file system, do - - -$ nixos-container destroy foo - - - - -
- - -
Declarative container specification - -You can also specify containers and their configuration in the -host’s configuration.nix. For example, the -following specifies that there shall be a container named -database running PostgreSQL: - - -containers.database = - { config = - { config, pkgs, ... }: - { services.postgresql.enable = true; - services.postgresql.package = pkgs.postgresql92; - }; - }; - - -If you run nixos-rebuild switch, the container will -be built and started. If the container was already running, it will be -updated in place, without rebooting. - -By default, declarative containers share the network namespace -of the host, meaning that they can listen on (privileged) -ports. However, they cannot change the network configuration. You can -give a container its own network as follows: - - -containers.database = - { privateNetwork = true; - hostAddress = "192.168.100.10"; - localAddress = "192.168.100.11"; - }; - - -This gives the container a private virtual Ethernet interface with IP -address 192.168.100.11, which is hooked up to a -virtual Ethernet interface on the host with IP address -192.168.100.10. (See the next section for details -on container networking.) - -To disable the container, just remove it from -configuration.nix and run nixos-rebuild -switch. Note that this will not delete the root directory of -the container in /var/lib/containers. - -
- - -
Networking - -When you create a container using nixos-container -create, it gets it own private IPv4 address in the range -10.233.0.0/16. You can get the container’s IPv4 -address as follows: - - -$ nixos-container show-ip foo -10.233.4.2 - -$ ping -c1 10.233.4.2 -64 bytes from 10.233.4.2: icmp_seq=1 ttl=64 time=0.106 ms - - - - -Networking is implemented using a pair of virtual Ethernet -devices. The network interface in the container is called -eth0, while the matching interface in the host is -called ve-container-name -(e.g., ve-foo). The container has its own network -namespace and the CAP_NET_ADMIN capability, so it -can perform arbitrary network configuration such as setting up -firewall rules, without affecting or having access to the host’s -network. - -By default, containers cannot talk to the outside network. If -you want that, you should set up Network Address Translation (NAT) -rules on the host to rewrite container traffic to use your external -IP address. This can be accomplished using the following configuration -on the host: - - -networking.nat.enable = true; -networking.nat.internalInterfaces = ["ve-+"]; -networking.nat.externalInterface = "eth0"; - -where eth0 should be replaced with the desired -external interface. Note that ve-+ is a wildcard -that matches all container interfaces. - -
- - -
- diff --git a/nixos/doc/manual/development.xml b/nixos/doc/manual/development.xml deleted file mode 100644 index 2f0c2a7aa8d..00000000000 --- a/nixos/doc/manual/development.xml +++ /dev/null @@ -1,1119 +0,0 @@ - - -Development - -This chapter describes how you can modify and extend -NixOS. - - - - -
- -Getting the sources - -By default, NixOS’s nixos-rebuild command -uses the NixOS and Nixpkgs sources provided by the -nixos-unstable channel (kept in -/nix/var/nix/profiles/per-user/root/channels/nixos). -To modify NixOS, however, you should check out the latest sources from -Git. This is done using the following command: - - -$ nixos-checkout /my/sources - - -or - - -$ mkdir -p /my/sources -$ cd /my/sources -$ nix-env -i git -$ git clone git://github.com/NixOS/nixpkgs.git - - -This will check out the latest NixOS sources to -/my/sources/nixpkgs/nixos -and the Nixpkgs sources to -/my/sources/nixpkgs. -(The NixOS source tree lives in a subdirectory of the Nixpkgs -repository.) - -It’s often inconvenient to develop directly on the master -branch, since if somebody has just committed (say) a change to GCC, -then the binary cache may not have caught up yet and you’ll have to -rebuild everything from source. So you may want to create a local -branch based on your current NixOS version: - - -$ nixos-version -14.04.273.ea1952b (Baboon) - -$ git checkout -b local ea1952b - - -Or, to base your local branch on the latest version available in the -NixOS channel: - - -$ curl -sI http://nixos.org/channels/nixos-unstable/ | grep Location -Location: http://releases.nixos.org/nixos/unstable/nixos-14.10pre43986.acaf4a6/ - -$ git checkout -b local acaf4a6 - - -You can then use git rebase to sync your local -branch with the upstream branch, and use git -cherry-pick to copy commits from your local branch to the -upstream branch. - -If you want to rebuild your system using your (modified) -sources, you need to tell nixos-rebuild about them -using the flag: - - -$ nixos-rebuild switch -I nixpkgs=/my/sources/nixpkgs - - - - -If you want nix-env to use the expressions in -/my/sources, use nix-env -f -/my/sources/nixpkgs, or change -the default by adding a symlink in -~/.nix-defexpr: - - -$ ln -s /my/sources/nixpkgs ~/.nix-defexpr/nixpkgs - - -You may want to delete the symlink -~/.nix-defexpr/channels_root to prevent root’s -NixOS channel from clashing with your own tree. - - - -
- - - - -
- -Writing NixOS modules - -NixOS has a modular system for declarative configuration. This -system combines multiple modules to produce the -full system configuration. One of the modules that constitute the -configuration is /etc/nixos/configuration.nix. -Most of the others live in the nixos/modules -subdirectory of the Nixpkgs tree. - -Each NixOS module is a file that handles one logical aspect of -the configuration, such as a specific kind of hardware, a service, or -network settings. A module configuration does not have to handle -everything from scratch; it can use the functionality provided by -other modules for its implementation. Thus a module can -declare options that can be used by other -modules, and conversely can define options -provided by other modules in its own implementation. For example, the -module pam.nix -declares the option that allows -other modules (e.g. sshd.nix) -to define PAM services; and it defines the option - (declared by etc.nix) -to cause files to be created in -/etc/pam.d. - -In , we saw the following structure -of NixOS modules: - - -{ config, pkgs, ... }: - -{ option definitions -} - - -This is actually an abbreviated form of module -that only defines options, but does not declare any. The structure of -full NixOS modules is shown in . - -Structure of NixOS modules - -{ config, pkgs, ... }: - -{ - imports = - [ paths of other modules - ]; - - options = { - option declarations - }; - - config = { - option definitions - }; -} - - -The meaning of each part is as follows. - - - - This line makes the current Nix expression a function. The - variable pkgs contains Nixpkgs, while - config contains the full system configuration. - This line can be omitted if there is no reference to - pkgs and config inside the - module. - - - - This list enumerates the paths to other NixOS modules that - should be included in the evaluation of the system configuration. - A default set of modules is defined in the file - modules/module-list.nix. These don't need to - be added in the import list. - - - - The attribute options is a nested set of - option declarations (described below). - - - - The attribute config is a nested set of - option definitions (also described - below). - - - - - - shows a module that handles -the regular update of the “locate” database, an index of all files in -the file system. This module declares two options that can be defined -by other modules (typically the user’s -configuration.nix): - (whether the database should -be updated) and (when the -update should be done). It implements its functionality by defining -two options declared by other modules: - (the set of all systemd services) -and (the list of -commands to be executed periodically by cron). - -NixOS module for the “locate” service - -{ config, lib, pkgs, ... }: - -with lib; - -let locatedb = "/var/cache/locatedb"; in - -{ - options = { - - services.locate = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - If enabled, NixOS will periodically update the database of - files used by the locate command. - ''; - }; - - period = mkOption { - type = types.str; - default = "15 02 * * *"; - description = '' - This option defines (in the format used by cron) when the - locate database is updated. The default is to update at - 02:15 at night every day. - ''; - }; - - }; - - }; - - config = { - - systemd.services.update-locatedb = - { description = "Update Locate Database"; - path = [ pkgs.su ]; - script = - '' - mkdir -m 0755 -p $(dirname ${locatedb}) - exec updatedb --localuser=nobody --output=${locatedb} --prunepaths='/tmp /var/tmp /media /run' - ''; - }; - - services.cron.systemCronJobs = optional config.services.locate.enable - "${config.services.locate.period} root ${config.systemd.package}/bin/systemctl start update-locatedb.service"; - - }; -} - - -
Option declarations - -An option declaration specifies the name, type and description -of a NixOS configuration option. It is illegal to define an option -that hasn’t been declared in any module. A option declaration -generally looks like this: - - -options = { - name = mkOption { - type = type specification; - default = default value; - example = example value; - description = "Description for use in the NixOS manual."; - }; -}; - - - - -The function mkOption accepts the following arguments. - - - - - type - - The type of the option (see below). It may be omitted, - but that’s not advisable since it may lead to errors that are - hard to diagnose. - - - - - default - - The default value used if no value is defined by any - module. A default is not required; in that case, if the option - value is ever used, an error will be thrown. - - - - - example - - An example value that will be shown in the NixOS manual. - - - - - description - - A textual description of the option, in DocBook format, - that will be included in the NixOS manual. - - - - - - - -Here is a non-exhaustive list of option types: - - - - - types.bool - - A Boolean. - - - - - types.int - - An integer. - - - - - types.str - - A string. - - - - - types.lines - - A string. If there are multiple definitions, they are - concatenated, with newline characters in between. - - - - - types.path - - A path, defined as anything that, when coerced to a - string, starts with a slash. This includes derivations. - - - - - types.listOf t - - A list of elements of type t - (e.g., types.listOf types.str is a list of - strings). Multiple definitions are concatenated together. - - - - - types.attrsOf t - - A set of elements of type t - (e.g., types.attrsOf types.int is a set of - name/value pairs, the values being integers). - - - - - types.nullOr t - - Either the value null or something of - type t. - - - - - -You can also create new types using the function -mkOptionType. See -lib/types.nix in Nixpkgs for details. - -
- - -
Option definitions - -Option definitions are generally straight-forward bindings of values to option names, like - - -config = { - services.httpd.enable = true; -}; - - -However, sometimes you need to wrap an option definition or set of -option definitions in a property to achieve -certain effects: - -Delaying conditionals - -If a set of option definitions is conditional on the value of -another option, you may need to use mkIf. -Consider, for instance: - - -config = if config.services.httpd.enable then { - environment.systemPackages = [ ... ]; - ... -} else {}; - - -This definition will cause Nix to fail with an “infinite recursion” -error. Why? Because the value of - depends on the value -being constructed here. After all, you could also write the clearly -circular and contradictory: - -config = if config.services.httpd.enable then { - services.httpd.enable = false; -} else { - services.httpd.enable = true; -}; - - -The solution is to write: - - -config = mkIf config.services.httpd.enable { - environment.systemPackages = [ ... ]; - ... -}; - - -The special function mkIf causes the evaluation of -the conditional to be “pushed down” into the individual definitions, -as if you had written: - - -config = { - environment.systemPackages = if config.services.httpd.enable then [ ... ] else []; - ... -}; - - - - - - -Setting priorities - -A module can override the definitions of an option in other -modules by setting a priority. All option -definitions that do not have the lowest priority value are discarded. -By default, option definitions have priority 1000. You can specify an -explicit priority by using mkOverride, e.g. - - -services.openssh.enable = mkOverride 10 false; - - -This definition causes all other definitions with priorities above 10 -to be discarded. The function mkForce is -equal to mkOverride 50. - - - -Merging configurations - -In conjunction with mkIf, it is sometimes -useful for a module to return multiple sets of option definitions, to -be merged together as if they were declared in separate modules. This -can be done using mkMerge: - - -config = mkMerge - [ # Unconditional stuff. - { environment.systemPackages = [ ... ]; - } - # Conditional stuff. - (mkIf config.services.bla.enable { - environment.systemPackages = [ ... ]; - }) - ]; - - - - - - -
- - -
Important options - -NixOS has many options, but some are of particular importance to -module writers. - - - - - - - This set defines files in /etc. A - typical use is: - -environment.etc."os-release".text = - '' - NAME=NixOS - ... - ''; - - which causes a file named /etc/os-release - to be created with the given contents. - - - - - - - A set of shell script fragments that must be executed - whenever the configuration is activated (i.e., at boot time, or - after running nixos-rebuild switch). For instance, - -system.activationScripts.media = - '' - mkdir -m 0755 -p /media - ''; - - causes the directory /media to be created. - Activation scripts must be idempotent. They should not start - background processes such as daemons; use - for that. - - - - - - - This is the set of systemd services. Example: - -systemd.services.dhcpcd = - { description = "DHCP Client"; - wantedBy = [ "multi-user.target" ]; - after = [ "systemd-udev-settle.service" ]; - path = [ dhcpcd pkgs.nettools pkgs.openresolv ]; - serviceConfig = - { Type = "forking"; - PIDFile = "/run/dhcpcd.pid"; - ExecStart = "${dhcpcd}/sbin/dhcpcd --config ${dhcpcdConf}"; - Restart = "always"; - }; - }; - - which creates the systemd unit - dhcpcd.service. The option - determined which other units pull this - one in; multi-user.target is the default - target of the system, so dhcpcd.service will - always be started. The option - provides the main - command for the service; it’s also possible to provide pre-start - actions, stop scripts, and so on. - - - - - - - - If your service requires special UIDs or GIDs, you can - define them with these options. See for details. - - - - - -
- - -
- - - - -
- -Building specific parts of NixOS - -With the command nix-build, you can build -specific parts of your NixOS configuration. This is done as follows: - - -$ cd /path/to/nixpkgs/nixos -$ nix-build -A config.option - -where option is a NixOS option with type -“derivation” (i.e. something that can be built). Attributes of -interest include: - - - - - system.build.toplevel - - The top-level option that builds the entire NixOS system. - Everything else in your configuration is indirectly pulled in by - this option. This is what nixos-rebuild - builds and what /run/current-system points - to afterwards. - - A shortcut to build this is: - - -$ nix-build -A system - - - - - - system.build.manual.manual - The NixOS manual. - - - - system.build.etc - A tree of symlinks that form the static parts of - /etc. - - - - system.build.initialRamdisk - system.build.kernel - - The initial ramdisk and kernel of the system. This allows - a quick way to test whether the kernel and the initial ramdisk - boot correctly, by using QEMU’s and - options: - - -$ nix-build -A config.system.build.initialRamdisk -o initrd -$ nix-build -A config.system.build.kernel -o kernel -$ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/null - - - - - - - - system.build.nixos-rebuild - system.build.nixos-install - system.build.nixos-generate-config - - These build the corresponding NixOS commands. - - - - - systemd.units.unit-name.unit - - This builds the unit with the specified name. Note that - since unit names contain dots - (e.g. httpd.service), you need to put them - between quotes, like this: - - -$ nix-build -A 'config.systemd.units."httpd.service".unit' - - - You can also test individual units, without rebuilding the whole - system, by putting them in - /run/systemd/system: - - -$ cp $(nix-build -A 'config.systemd.units."httpd.service".unit')/httpd.service \ - /run/systemd/system/tmp-httpd.service -$ systemctl daemon-reload -$ systemctl start tmp-httpd.service - - - Note that the unit must not have the same name as any unit in - /etc/systemd/system since those take - precedence over /run/systemd/system. - That’s why the unit is installed as - tmp-httpd.service here. - - - - - - - -
- - - - -
- -Building your own NixOS CD - -Building a NixOS CD is as easy as configuring your own computer. The -idea is to use another module which will replace -your configuration.nix to configure the system that -would be installed on the CD. - -Default CD/DVD configurations are available -inside nixos/modules/installer/cd-dvd. To build them -you have to set NIXOS_CONFIG before -running nix-build to build the ISO. - - -$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix - - - -Before burning your CD/DVD, you can check the content of the image by mounting anywhere like -suggested by the following command: - - -$ mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso - - - -
- - - - -
- -Testing the installer - -Building, burning, and booting from an installation CD is rather -tedious, so here is a quick way to see if the installer works -properly: - - -$ nix-build -A config.system.build.nixos-install -$ mount -t tmpfs none /mnt -$ ./result/bin/nixos-install - -To start a login shell in the new NixOS installation in -/mnt: - - -$ ./result/bin/nixos-install --chroot - - - - -
- - - - - -
- -NixOS tests - -When you add some feature to NixOS, you should write a test for -it. NixOS tests are kept in the directory nixos/tests, -and are executed (using Nix) by a testing framework that automatically -starts one or more virtual machines containing the NixOS system(s) -required for the test. - -Writing tests - -A NixOS test is a Nix expression that has the following structure: - - -import ./make-test.nix { - - # Either the configuration of a single machine: - machine = - { config, pkgs, ... }: - { configuration… - }; - - # Or a set of machines: - nodes = - { machine1 = - { config, pkgs, ... }: { }; - machine2 = - { config, pkgs, ... }: { }; - … - }; - - testScript = - '' - Perl code… - ''; -} - - -The attribute testScript is a bit of Perl code that -executes the test (described below). During the test, it will start -one or more virtual machines, the configuration of which is described -by the attribute machine (if you need only one -machine in your test) or by the attribute nodes (if -you need multiple machines). For instance, login.nix -only needs a single machine to test whether users can log in on the -virtual console, whether device ownership is correctly maintained when -switching between consoles, and so on. On the other hand, nfs.nix, -which tests NFS client and server functionality in the Linux kernel -(including whether locks are maintained across server crashes), -requires three machines: a server and two clients. - -There are a few special NixOS configuration options for test -VMs: - - - - - - - - The memory of the VM in - megabytes. - - - - - The virtual networks to which the VM is - connected. See nat.nix - for an example. - - - - - By default, the Nix store in the VM is not - writable. If you enable this option, a writable union file system - is mounted on top of the Nix store to make it appear - writable. This is necessary for tests that run Nix operations that - modify the store. - - - - -For more options, see the module qemu-vm.nix. - -The test script is a sequence of Perl statements that perform -various actions, such as starting VMs, executing commands in the VMs, -and so on. Each virtual machine is represented as an object stored in -the variable $name, -where name is the identifier of the machine -(which is just machine if you didn’t specify -multiple machines using the nodes attribute). For -instance, the following starts the machine, waits until it has -finished booting, then executes a command and checks that the output -is more-or-less correct: - - -$machine->start; -$machine->waitForUnit("default.target"); -$machine->succeed("uname") =~ /Linux/; - - -The first line is actually unnecessary; machines are implicitly -started when you first execute an action on them (such as -waitForUnit or succeed). If you -have multiple machines, you can speed up the test by starting them in -parallel: - - -startAll; - - - - -The following methods are available on machine objects: - - - - - start - Start the virtual machine. This method is - asynchronous — it does not wait for the machine to finish - booting. - - - - shutdown - Shut down the machine, waiting for the VM to - exit. - - - - crash - Simulate a sudden power failure, by telling the VM - to exit immediately. - - - - block - Simulate unplugging the Ethernet cable that - connects the machine to the other machines. - - - - unblock - Undo the effect of - block. - - - - screenshot - Take a picture of the display of the virtual - machine, in PNG format. The screenshot is linked from the HTML - log. - - - - sendMonitorCommand - Send a command to the QEMU monitor. This is rarely - used, but allows doing stuff such as attaching virtual USB disks - to a running machine. - - - - sendKeys - Simulate pressing keys on the virtual keyboard, - e.g., sendKeys("ctrl-alt-delete"). - - - - sendChars - Simulate typing a sequence of characters on the - virtual keyboard, e.g., sendKeys("foobar\n") - will type the string foobar followed by the - Enter key. - - - - execute - Execute a shell command, returning a list - (status, - stdout). - - - - succeed - Execute a shell command, raising an exception if - the exit status is not zero, otherwise returning the standard - output. - - - - fail - Like succeed, but raising - an exception if the command returns a zero status. - - - - waitUntilSucceeds - Repeat a shell command with 1-second intervals - until it succeeds. - - - - waitUntilFails - Repeat a shell command with 1-second intervals - until it fails. - - - - waitForUnit - Wait until the specified systemd unit has reached - the “active” state. - - - - waitForFile - Wait until the specified file - exists. - - - - waitForOpenPort - Wait until a process is listening on the given TCP - port (on localhost, at least). - - - - waitForClosedPort - Wait until nobody is listening on the given TCP - port. - - - - waitForX - Wait until the X11 server is accepting - connections. - - - - waitForWindow - Wait until an X11 window has appeared whose name - matches the given regular expression, e.g., - waitForWindow(qr/Terminal/). - - - - - - - - - -Running tests - -You can run tests using nix-build. For -example, to run the test login.nix, -you just do: - - -$ nix-build '<nixpkgs/nixos/tests/login.nix>' - - -or, if you don’t want to rely on NIX_PATH: - - -$ cd /my/nixpkgs/nixos/tests -$ nix-build login.nix -… -running the VM test script -machine: QEMU running (pid 8841) -… -6 out of 6 tests succeeded - - -After building/downloading all required dependencies, this will -perform a build that starts a QEMU/KVM virtual machine containing a -NixOS system. The virtual machine mounts the Nix store of the host; -this makes VM creation very fast, as no disk image needs to be -created. Afterwards, you can view a pretty-printed log of the test: - - -$ firefox result/log.html - - - - -It is also possible to run the test environment interactively, -allowing you to experiment with the VMs. For example: - - -$ nix-build login.nix -A driver -$ ./result/bin/nixos-run-vms - - -The script nixos-run-vms starts the virtual -machines defined by test. The root file system of the VMs is created -on the fly and kept across VM restarts in -./hostname.qcow2. - -Finally, the test itself can be run interactively. This is -particularly useful when developing or debugging a test: - - -$ nix-build tests/ -A nfs.driver -$ ./result/bin/nixos-test-driver -starting VDE switch for network 1 -> - - -You can then take any Perl statement, e.g. - - -> startAll -> $machine->succeed("touch /tmp/foo") - - -The function testScript executes the entire test -script and drops you back into the test driver command line upon its -completion. This allows you to inspect the state of the VMs after the -test (e.g. to debug the test script). - - - -
- - -
diff --git a/nixos/doc/manual/development/building-nixos.xml b/nixos/doc/manual/development/building-nixos.xml new file mode 100644 index 00000000000..21c5bfe6a5b --- /dev/null +++ b/nixos/doc/manual/development/building-nixos.xml @@ -0,0 +1,32 @@ + + +Building Your Own NixOS CD + +Building a NixOS CD is as easy as configuring your own computer. The +idea is to use another module which will replace +your configuration.nix to configure the system that +would be installed on the CD. + +Default CD/DVD configurations are available +inside nixos/modules/installer/cd-dvd. To build them +you have to set NIXOS_CONFIG before +running nix-build to build the ISO. + + +$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix + + + +Before burning your CD/DVD, you can check the content of the image by mounting anywhere like +suggested by the following command: + + +$ mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/building-parts.xml b/nixos/doc/manual/development/building-parts.xml new file mode 100644 index 00000000000..cb8dee039c8 --- /dev/null +++ b/nixos/doc/manual/development/building-parts.xml @@ -0,0 +1,113 @@ + + +Building Specific Parts of NixOS + +With the command nix-build, you can build +specific parts of your NixOS configuration. This is done as follows: + + +$ cd /path/to/nixpkgs/nixos +$ nix-build -A config.option + +where option is a NixOS option with type +“derivation” (i.e. something that can be built). Attributes of +interest include: + + + + + system.build.toplevel + + The top-level option that builds the entire NixOS system. + Everything else in your configuration is indirectly pulled in by + this option. This is what nixos-rebuild + builds and what /run/current-system points + to afterwards. + + A shortcut to build this is: + + +$ nix-build -A system + + + + + + system.build.manual.manual + The NixOS manual. + + + + system.build.etc + A tree of symlinks that form the static parts of + /etc. + + + + system.build.initialRamdisk + system.build.kernel + + The initial ramdisk and kernel of the system. This allows + a quick way to test whether the kernel and the initial ramdisk + boot correctly, by using QEMU’s and + options: + + +$ nix-build -A config.system.build.initialRamdisk -o initrd +$ nix-build -A config.system.build.kernel -o kernel +$ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/null + + + + + + + + system.build.nixos-rebuild + system.build.nixos-install + system.build.nixos-generate-config + + These build the corresponding NixOS commands. + + + + + systemd.units.unit-name.unit + + This builds the unit with the specified name. Note that + since unit names contain dots + (e.g. httpd.service), you need to put them + between quotes, like this: + + +$ nix-build -A 'config.systemd.units."httpd.service".unit' + + + You can also test individual units, without rebuilding the whole + system, by putting them in + /run/systemd/system: + + +$ cp $(nix-build -A 'config.systemd.units."httpd.service".unit')/httpd.service \ + /run/systemd/system/tmp-httpd.service +$ systemctl daemon-reload +$ systemctl start tmp-httpd.service + + + Note that the unit must not have the same name as any unit in + /etc/systemd/system since those take + precedence over /run/systemd/system. + That’s why the unit is installed as + tmp-httpd.service here. + + + + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml new file mode 100644 index 00000000000..747159c4427 --- /dev/null +++ b/nixos/doc/manual/development/development.xml @@ -0,0 +1,20 @@ + + +Development + + +This chapter describes how you can modify and extend +NixOS. + + + + + + + + + diff --git a/nixos/doc/manual/development/nixos-tests.xml b/nixos/doc/manual/development/nixos-tests.xml new file mode 100644 index 00000000000..a98da993330 --- /dev/null +++ b/nixos/doc/manual/development/nixos-tests.xml @@ -0,0 +1,19 @@ + + +NixOS Tests + +When you add some feature to NixOS, you should write a test for +it. NixOS tests are kept in the directory nixos/tests, +and are executed (using Nix) by a testing framework that automatically +starts one or more virtual machines containing the NixOS system(s) +required for the test. + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml new file mode 100644 index 00000000000..6d93dc5c009 --- /dev/null +++ b/nixos/doc/manual/development/option-declarations.xml @@ -0,0 +1,141 @@ +
+ +Option Declarations + +An option declaration specifies the name, type and description +of a NixOS configuration option. It is illegal to define an option +that hasn’t been declared in any module. A option declaration +generally looks like this: + + +options = { + name = mkOption { + type = type specification; + default = default value; + example = example value; + description = "Description for use in the NixOS manual."; + }; +}; + + + + +The function mkOption accepts the following arguments. + + + + + type + + The type of the option (see below). It may be omitted, + but that’s not advisable since it may lead to errors that are + hard to diagnose. + + + + + default + + The default value used if no value is defined by any + module. A default is not required; in that case, if the option + value is ever used, an error will be thrown. + + + + + example + + An example value that will be shown in the NixOS manual. + + + + + description + + A textual description of the option, in DocBook format, + that will be included in the NixOS manual. + + + + + + + +Here is a non-exhaustive list of option types: + + + + + types.bool + + A Boolean. + + + + + types.int + + An integer. + + + + + types.str + + A string. + + + + + types.lines + + A string. If there are multiple definitions, they are + concatenated, with newline characters in between. + + + + + types.path + + A path, defined as anything that, when coerced to a + string, starts with a slash. This includes derivations. + + + + + types.listOf t + + A list of elements of type t + (e.g., types.listOf types.str is a list of + strings). Multiple definitions are concatenated together. + + + + + types.attrsOf t + + A set of elements of type t + (e.g., types.attrsOf types.int is a set of + name/value pairs, the values being integers). + + + + + types.nullOr t + + Either the value null or something of + type t. + + + + + +You can also create new types using the function +mkOptionType. See +lib/types.nix in Nixpkgs for details. + +
\ No newline at end of file diff --git a/nixos/doc/manual/development/option-def.xml b/nixos/doc/manual/development/option-def.xml new file mode 100644 index 00000000000..4e267ecfd1e --- /dev/null +++ b/nixos/doc/manual/development/option-def.xml @@ -0,0 +1,112 @@ +
+ +Option Definitions + +Option definitions are generally straight-forward bindings of values to option names, like + + +config = { + services.httpd.enable = true; +}; + + +However, sometimes you need to wrap an option definition or set of +option definitions in a property to achieve +certain effects: + +Delaying Conditionals + +If a set of option definitions is conditional on the value of +another option, you may need to use mkIf. +Consider, for instance: + + +config = if config.services.httpd.enable then { + environment.systemPackages = [ ... ]; + ... +} else {}; + + +This definition will cause Nix to fail with an “infinite recursion” +error. Why? Because the value of + depends on the value +being constructed here. After all, you could also write the clearly +circular and contradictory: + +config = if config.services.httpd.enable then { + services.httpd.enable = false; +} else { + services.httpd.enable = true; +}; + + +The solution is to write: + + +config = mkIf config.services.httpd.enable { + environment.systemPackages = [ ... ]; + ... +}; + + +The special function mkIf causes the evaluation of +the conditional to be “pushed down” into the individual definitions, +as if you had written: + + +config = { + environment.systemPackages = if config.services.httpd.enable then [ ... ] else []; + ... +}; + + + + + + +Setting Priorities + +A module can override the definitions of an option in other +modules by setting a priority. All option +definitions that do not have the lowest priority value are discarded. +By default, option definitions have priority 1000. You can specify an +explicit priority by using mkOverride, e.g. + + +services.openssh.enable = mkOverride 10 false; + + +This definition causes all other definitions with priorities above 10 +to be discarded. The function mkForce is +equal to mkOverride 50. + + + +Merging Configurations + +In conjunction with mkIf, it is sometimes +useful for a module to return multiple sets of option definitions, to +be merged together as if they were declared in separate modules. This +can be done using mkMerge: + + +config = mkMerge + [ # Unconditional stuff. + { environment.systemPackages = [ ... ]; + } + # Conditional stuff. + (mkIf config.services.bla.enable { + environment.systemPackages = [ ... ]; + }) + ]; + + + + + + +
\ No newline at end of file diff --git a/nixos/doc/manual/development/running-nixos-tests.xml b/nixos/doc/manual/development/running-nixos-tests.xml new file mode 100644 index 00000000000..d9be761eb01 --- /dev/null +++ b/nixos/doc/manual/development/running-nixos-tests.xml @@ -0,0 +1,77 @@ +
+ +Running Tests + +You can run tests using nix-build. For +example, to run the test login.nix, +you just do: + + +$ nix-build '<nixpkgs/nixos/tests/login.nix>' + + +or, if you don’t want to rely on NIX_PATH: + + +$ cd /my/nixpkgs/nixos/tests +$ nix-build login.nix +… +running the VM test script +machine: QEMU running (pid 8841) +… +6 out of 6 tests succeeded + + +After building/downloading all required dependencies, this will +perform a build that starts a QEMU/KVM virtual machine containing a +NixOS system. The virtual machine mounts the Nix store of the host; +this makes VM creation very fast, as no disk image needs to be +created. Afterwards, you can view a pretty-printed log of the test: + + +$ firefox result/log.html + + + + +It is also possible to run the test environment interactively, +allowing you to experiment with the VMs. For example: + + +$ nix-build login.nix -A driver +$ ./result/bin/nixos-run-vms + + +The script nixos-run-vms starts the virtual +machines defined by test. The root file system of the VMs is created +on the fly and kept across VM restarts in +./hostname.qcow2. + +Finally, the test itself can be run interactively. This is +particularly useful when developing or debugging a test: + + +$ nix-build tests/ -A nfs.driver +$ ./result/bin/nixos-test-driver +starting VDE switch for network 1 +> + + +You can then take any Perl statement, e.g. + + +> startAll +> $machine->succeed("touch /tmp/foo") + + +The function testScript executes the entire test +script and drops you back into the test driver command line upon its +completion. This allows you to inspect the state of the VMs after the +test (e.g. to debug the test script). + +
\ No newline at end of file diff --git a/nixos/doc/manual/development/sources.xml b/nixos/doc/manual/development/sources.xml new file mode 100644 index 00000000000..992a07af981 --- /dev/null +++ b/nixos/doc/manual/development/sources.xml @@ -0,0 +1,95 @@ + + +Getting the Sources + +By default, NixOS’s nixos-rebuild command +uses the NixOS and Nixpkgs sources provided by the +nixos-unstable channel (kept in +/nix/var/nix/profiles/per-user/root/channels/nixos). +To modify NixOS, however, you should check out the latest sources from +Git. This is done using the following command: + + +$ nixos-checkout /my/sources + + +or + + +$ mkdir -p /my/sources +$ cd /my/sources +$ nix-env -i git +$ git clone git://github.com/NixOS/nixpkgs.git + + +This will check out the latest NixOS sources to +/my/sources/nixpkgs/nixos +and the Nixpkgs sources to +/my/sources/nixpkgs. +(The NixOS source tree lives in a subdirectory of the Nixpkgs +repository.) + +It’s often inconvenient to develop directly on the master +branch, since if somebody has just committed (say) a change to GCC, +then the binary cache may not have caught up yet and you’ll have to +rebuild everything from source. So you may want to create a local +branch based on your current NixOS version: + + +$ nixos-version +14.04.273.ea1952b (Baboon) + +$ git checkout -b local ea1952b + + +Or, to base your local branch on the latest version available in the +NixOS channel: + + +$ curl -sI http://nixos.org/channels/nixos-unstable/ | grep Location +Location: http://releases.nixos.org/nixos/unstable/nixos-14.10pre43986.acaf4a6/ + +$ git checkout -b local acaf4a6 + + +You can then use git rebase to sync your local +branch with the upstream branch, and use git +cherry-pick to copy commits from your local branch to the +upstream branch. + +If you want to rebuild your system using your (modified) +sources, you need to tell nixos-rebuild about them +using the flag: + + +$ nixos-rebuild switch -I nixpkgs=/my/sources/nixpkgs + + + + +If you want nix-env to use the expressions in +/my/sources, use nix-env -f +/my/sources/nixpkgs, or change +the default by adding a symlink in +~/.nix-defexpr: + + +$ ln -s /my/sources/nixpkgs ~/.nix-defexpr/nixpkgs + + +You may want to delete the symlink +~/.nix-defexpr/channels_root to prevent root’s +NixOS channel from clashing with your own tree. + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/testing-installer.xml b/nixos/doc/manual/development/testing-installer.xml new file mode 100644 index 00000000000..87e40e32617 --- /dev/null +++ b/nixos/doc/manual/development/testing-installer.xml @@ -0,0 +1,27 @@ + + +Testing the Installer + +Building, burning, and booting from an installation CD is rather +tedious, so here is a quick way to see if the installer works +properly: + + +$ nix-build -A config.system.build.nixos-install +$ mount -t tmpfs none /mnt +$ ./result/bin/nixos-install + +To start a login shell in the new NixOS installation in +/mnt: + + +$ ./result/bin/nixos-install --chroot + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/writing-modules.xml b/nixos/doc/manual/development/writing-modules.xml new file mode 100644 index 00000000000..9cf29e5dc57 --- /dev/null +++ b/nixos/doc/manual/development/writing-modules.xml @@ -0,0 +1,175 @@ + + +Writing NixOS Modules + +NixOS has a modular system for declarative configuration. This +system combines multiple modules to produce the +full system configuration. One of the modules that constitute the +configuration is /etc/nixos/configuration.nix. +Most of the others live in the nixos/modules +subdirectory of the Nixpkgs tree. + +Each NixOS module is a file that handles one logical aspect of +the configuration, such as a specific kind of hardware, a service, or +network settings. A module configuration does not have to handle +everything from scratch; it can use the functionality provided by +other modules for its implementation. Thus a module can +declare options that can be used by other +modules, and conversely can define options +provided by other modules in its own implementation. For example, the +module pam.nix +declares the option that allows +other modules (e.g. sshd.nix) +to define PAM services; and it defines the option + (declared by etc.nix) +to cause files to be created in +/etc/pam.d. + +In , we saw the following structure +of NixOS modules: + + +{ config, pkgs, ... }: + +{ option definitions +} + + +This is actually an abbreviated form of module +that only defines options, but does not declare any. The structure of +full NixOS modules is shown in . + +Structure of NixOS Modules + +{ config, pkgs, ... }: + +{ + imports = + [ paths of other modules + ]; + + options = { + option declarations + }; + + config = { + option definitions + }; +} + + +The meaning of each part is as follows. + + + + This line makes the current Nix expression a function. The + variable pkgs contains Nixpkgs, while + config contains the full system configuration. + This line can be omitted if there is no reference to + pkgs and config inside the + module. + + + + This list enumerates the paths to other NixOS modules that + should be included in the evaluation of the system configuration. + A default set of modules is defined in the file + modules/module-list.nix. These don't need to + be added in the import list. + + + + The attribute options is a nested set of + option declarations (described below). + + + + The attribute config is a nested set of + option definitions (also described + below). + + + + + + shows a module that handles +the regular update of the “locate” database, an index of all files in +the file system. This module declares two options that can be defined +by other modules (typically the user’s +configuration.nix): + (whether the database should +be updated) and (when the +update should be done). It implements its functionality by defining +two options declared by other modules: + (the set of all systemd services) +and (the list of +commands to be executed periodically by cron). + +NixOS Module for the “locate” Service + +{ config, lib, pkgs, ... }: + +with lib; + +let locatedb = "/var/cache/locatedb"; in + +{ + options = { + + services.locate = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + If enabled, NixOS will periodically update the database of + files used by the locate command. + ''; + }; + + period = mkOption { + type = types.str; + default = "15 02 * * *"; + description = '' + This option defines (in the format used by cron) when the + locate database is updated. The default is to update at + 02:15 at night every day. + ''; + }; + + }; + + }; + + config = { + + systemd.services.update-locatedb = + { description = "Update Locate Database"; + path = [ pkgs.su ]; + script = + '' + mkdir -m 0755 -p $(dirname ${locatedb}) + exec updatedb --localuser=nobody --output=${locatedb} --prunepaths='/tmp /var/tmp /media /run' + ''; + }; + + services.cron.systemCronJobs = optional config.services.locate.enable + "${config.services.locate.period} root ${config.systemd.package}/bin/systemctl start update-locatedb.service"; + + }; +} + + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml new file mode 100644 index 00000000000..bbb655eed2a --- /dev/null +++ b/nixos/doc/manual/development/writing-nixos-tests.xml @@ -0,0 +1,251 @@ +
+ +Writing Tests + +A NixOS test is a Nix expression that has the following structure: + + +import ./make-test.nix { + + # Either the configuration of a single machine: + machine = + { config, pkgs, ... }: + { configuration… + }; + + # Or a set of machines: + nodes = + { machine1 = + { config, pkgs, ... }: { }; + machine2 = + { config, pkgs, ... }: { }; + … + }; + + testScript = + '' + Perl code… + ''; +} + + +The attribute testScript is a bit of Perl code that +executes the test (described below). During the test, it will start +one or more virtual machines, the configuration of which is described +by the attribute machine (if you need only one +machine in your test) or by the attribute nodes (if +you need multiple machines). For instance, login.nix +only needs a single machine to test whether users can log in on the +virtual console, whether device ownership is correctly maintained when +switching between consoles, and so on. On the other hand, nfs.nix, +which tests NFS client and server functionality in the Linux kernel +(including whether locks are maintained across server crashes), +requires three machines: a server and two clients. + +There are a few special NixOS configuration options for test +VMs: + + + + + + + + The memory of the VM in + megabytes. + + + + + The virtual networks to which the VM is + connected. See nat.nix + for an example. + + + + + By default, the Nix store in the VM is not + writable. If you enable this option, a writable union file system + is mounted on top of the Nix store to make it appear + writable. This is necessary for tests that run Nix operations that + modify the store. + + + + +For more options, see the module qemu-vm.nix. + +The test script is a sequence of Perl statements that perform +various actions, such as starting VMs, executing commands in the VMs, +and so on. Each virtual machine is represented as an object stored in +the variable $name, +where name is the identifier of the machine +(which is just machine if you didn’t specify +multiple machines using the nodes attribute). For +instance, the following starts the machine, waits until it has +finished booting, then executes a command and checks that the output +is more-or-less correct: + + +$machine->start; +$machine->waitForUnit("default.target"); +$machine->succeed("uname") =~ /Linux/; + + +The first line is actually unnecessary; machines are implicitly +started when you first execute an action on them (such as +waitForUnit or succeed). If you +have multiple machines, you can speed up the test by starting them in +parallel: + + +startAll; + + + + +The following methods are available on machine objects: + + + + + start + Start the virtual machine. This method is + asynchronous — it does not wait for the machine to finish + booting. + + + + shutdown + Shut down the machine, waiting for the VM to + exit. + + + + crash + Simulate a sudden power failure, by telling the VM + to exit immediately. + + + + block + Simulate unplugging the Ethernet cable that + connects the machine to the other machines. + + + + unblock + Undo the effect of + block. + + + + screenshot + Take a picture of the display of the virtual + machine, in PNG format. The screenshot is linked from the HTML + log. + + + + sendMonitorCommand + Send a command to the QEMU monitor. This is rarely + used, but allows doing stuff such as attaching virtual USB disks + to a running machine. + + + + sendKeys + Simulate pressing keys on the virtual keyboard, + e.g., sendKeys("ctrl-alt-delete"). + + + + sendChars + Simulate typing a sequence of characters on the + virtual keyboard, e.g., sendKeys("foobar\n") + will type the string foobar followed by the + Enter key. + + + + execute + Execute a shell command, returning a list + (status, + stdout). + + + + succeed + Execute a shell command, raising an exception if + the exit status is not zero, otherwise returning the standard + output. + + + + fail + Like succeed, but raising + an exception if the command returns a zero status. + + + + waitUntilSucceeds + Repeat a shell command with 1-second intervals + until it succeeds. + + + + waitUntilFails + Repeat a shell command with 1-second intervals + until it fails. + + + + waitForUnit + Wait until the specified systemd unit has reached + the “active” state. + + + + waitForFile + Wait until the specified file + exists. + + + + waitForOpenPort + Wait until a process is listening on the given TCP + port (on localhost, at least). + + + + waitForClosedPort + Wait until nobody is listening on the given TCP + port. + + + + waitForX + Wait until the X11 server is accepting + connections. + + + + waitForWindow + Wait until an X11 window has appeared whose name + matches the given regular expression, e.g., + waitForWindow(qr/Terminal/). + + + + + + +
\ No newline at end of file diff --git a/nixos/doc/manual/installation.xml b/nixos/doc/manual/installation.xml deleted file mode 100644 index 4cbfcc229fa..00000000000 --- a/nixos/doc/manual/installation.xml +++ /dev/null @@ -1,570 +0,0 @@ - - -Installing NixOS - - - - -
- -Obtaining NixOS - -NixOS ISO images can be downloaded from the NixOS -homepage. These can be burned onto a CD. It is also possible -to copy them onto a USB stick and install NixOS from there. For -details, see the NixOS -Wiki. - -As an alternative to installing NixOS yourself, you can get a -running NixOS system through several other means: - - - - Using virtual appliances in Open Virtualization Format (OVF) - that can be imported into VirtualBox. These are available from - the NixOS - homepage. - - - Using AMIs for Amazon’s EC2. To find one for your region - and instance type, please refer to the list - of most recent AMIs. - - - Using NixOps, the NixOS-based cloud deployment tool, which - allows you to provision VirtualBox and EC2 NixOS instances from - declarative specifications. Check out the NixOps - homepage for details. - - - - - -
- - - - -
- -Installation - - - - Boot from the CD. - - The CD contains a basic NixOS installation. (It - also contains Memtest86+, useful if you want to test new hardware.) - When it’s finished booting, it should have detected most of your - hardware and brought up networking (check - ifconfig). Networking is necessary for the - installer, since it will download lots of stuff (such as source - tarballs or Nixpkgs channel binaries). It’s best if you have a DHCP - server on your network. Otherwise configure networking manually - using ifconfig. - - The NixOS manual is available on virtual console 8 - (press Alt+F8 to access). - - Login as root and the empty - password. - - If you downloaded the graphical ISO image, you can - run start display-manager to start KDE. - - The NixOS installer doesn’t do any partitioning or - formatting yet, so you need to that yourself. Use the following - commands: - - - - For partitioning: - fdisk. - - For initialising Ext4 partitions: - mkfs.ext4. It is recommended that you assign a - unique symbolic label to the file system using the option - , since this - makes the file system configuration independent from device - changes. For example: - - -$ mkfs.ext4 -L nixos /dev/sda1 - - - - For creating swap partitions: - mkswap. Again it’s recommended to assign a - label to the swap partition: . - - For creating LVM volumes, the LVM commands, e.g., - - -$ pvcreate /dev/sda1 /dev/sdb1 -$ vgcreate MyVolGroup /dev/sda1 /dev/sdb1 -$ lvcreate --size 2G --name bigdisk MyVolGroup -$ lvcreate --size 1G --name smalldisk MyVolGroup - - - - For creating software RAID devices, use - mdadm. - - - - - - Mount the target file system on which NixOS should - be installed on /mnt, e.g. - - -$ mount /dev/disk/by-label/nixos /mnt - - - - - If your machine has a limited amount of memory, you - may want to activate swap devices now (swapon - device). The installer (or - rather, the build actions that it may spawn) may need quite a bit of - RAM, depending on your configuration. - - - - You now need to create a file - /mnt/etc/nixos/configuration.nix that - specifies the intended configuration of the system. This is - because NixOS has a declarative configuration - model: you create or edit a description of the desired - configuration of your system, and then NixOS takes care of making - it happen. The syntax of the NixOS configuration file is - described in , while a - list of available configuration options appears in . A minimal example is shown in . - - The command nixos-generate-config can - generate an initial configuration file for you: - - -$ nixos-generate-config --root /mnt - - You should then edit - /mnt/etc/nixos/configuration.nix to suit your - needs: - - -$ nano /mnt/etc/nixos/configuration.nix - - - The vim text editor is also available. - - You must set the option - to specify on which disk - the GRUB boot loader is to be installed. Without it, NixOS cannot - boot. - - Another critical option is , - specifying the file systems that need to be mounted by NixOS. - However, you typically don’t need to set it yourself, because - nixos-generate-config sets it automatically in - /mnt/etc/nixos/hardware-configuration.nix - from your currently mounted file systems. (The configuration file - hardware-configuration.nix is included from - configuration.nix and will be overwritten by - future invocations of nixos-generate-config; - thus, you generally should not modify it.) - - Depending on your hardware configuration or type of - file system, you may need to set the option - to include the kernel - modules that are necessary for mounting the root file system, - otherwise the installed system will not be able to boot. (If this - happens, boot from the CD again, mount the target file system on - /mnt, fix - /mnt/etc/nixos/configuration.nix and rerun - nixos-install.) In most cases, - nixos-generate-config will figure out the - required modules. - - Examples of real-world NixOS configuration files can be - found at . - - - - Do the installation: - - -$ nixos-install - - Cross fingers. If this fails due to a temporary problem (such as - a network issue while downloading binaries from the NixOS binary - cache), you can just re-run nixos-install. - Otherwise, fix your configuration.nix and - then re-run nixos-install. - - As the last step, nixos-install will ask - you to set the password for the root user, e.g. - - -setting root password... -Enter new UNIX password: *** -Retype new UNIX password: *** - - - - - - - If everything went well: - - -$ reboot - - - - - - You should now be able to boot into the installed NixOS. - The GRUB boot menu shows a list of available - configurations (initially just one). Every time you - change the NixOS configuration (see ), a new item appears in the menu. - This allows you to easily roll back to another configuration if - something goes wrong. - - You should log in and change the root - password with passwd. - - You’ll probably want to create some user accounts as well, - which can be done with useradd: - - -$ useradd -c 'Eelco Dolstra' -m eelco -$ passwd eelco - - - - You may also want to install some software. For instance, - - -$ nix-env -qa \* - - shows what packages are available, and - - -$ nix-env -i w3m - - install the w3m browser. - - - - - -To summarise, shows a -typical sequence of commands for installing NixOS on an empty hard -drive (here /dev/sda). shows a corresponding configuration Nix expression. - -Commands for installing NixOS on <filename>/dev/sda</filename> - -$ fdisk /dev/sda # (or whatever device you want to install on) -$ mkfs.ext4 -L nixos /dev/sda1 -$ mkswap -L swap /dev/sda2 -$ swapon /dev/sda2 -$ mount /dev/disk/by-label/nixos /mnt -$ nixos-generate-config --root /mnt -$ nano /mnt/etc/nixos/configuration.nix -$ nixos-install -$ reboot - - -NixOS configuration - -{ config, pkgs, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - - boot.loader.grub.device = "/dev/sda"; - - # Note: setting fileSystems is generally not - # necessary, since nixos-generate-config figures them out - # automatically in hardware-configuration.nix. - #fileSystems."/".device = "/dev/disk/by-label/nixos"; - - # Enable the OpenSSH server. - services.sshd.enable = true; -} - - -
- -UEFI Installation - -NixOS can also be installed on UEFI systems. The procedure -is by and large the same as a BIOS installation, with the following -changes: - - - - You should boot the live CD in UEFI mode (consult your - specific hardware's documentation for instructions). You may find - the rEFInd - boot manager useful. - - - Instead of fdisk, you should use - gdisk to partition your disks. You will need to - have a separate partition for /boot with - partition code EF00, and it should be formatted as a - vfat filesystem. - - - You must set to - true. nixos-generate-config - should do this automatically for new configurations when booted in - UEFI mode. - - - After having mounted your installation partition to - /mnt, you must mount the boot partition - to /mnt/boot. - - - You may want to look at the options starting with - and - as well. - - - To see console messages during early boot, add "fbcon" - to your . - - - - -
- -
- -Booting from a USB stick - -For systems without CD drive, the NixOS livecd can be booted from -a usb stick. For non-UEFI installations, -unetbootin -will work. For UEFI installations, you should mount the ISO, copy its contents -verbatim to your drive, then either: - - - - Change the label of the disk partition to the label of the ISO - (visible with the blkid command), or - - - Edit loader/entries/nixos-livecd.conf on the drive - and change the root= field in the options - line to point to your drive (see the documentation on root= - in - the kernel documentation for more details). - - - -
- -
- - - - -
- -Changing the configuration - -The file /etc/nixos/configuration.nix -contains the current configuration of your machine. Whenever you’ve -changed something to that file, you should do - - -$ nixos-rebuild switch - -to build the new configuration, make it the default configuration for -booting, and try to realise the configuration in the running system -(e.g., by restarting system services). - -These commands must be executed as root, so you should -either run them from a root shell or by prefixing them with -sudo -i. - -You can also do - - -$ nixos-rebuild test - -to build the configuration and switch the running system to it, but -without making it the boot default. So if (say) the configuration -locks up your machine, you can just reboot to get back to a working -configuration. - -There is also - - -$ nixos-rebuild boot - -to build the configuration and make it the boot default, but not -switch to it now (so it will only take effect after the next -reboot). - -You can make your configuration show up in a different submenu -of the GRUB 2 boot screen by giving it a different profile -name, e.g. - - -$ nixos-rebuild switch -p test - -which causes the new configuration (and previous ones created using --p test) to show up in the GRUB submenu “NixOS - -Profile 'test'”. This can be useful to separate test configurations -from “stable” configurations. - -Finally, you can do - - -$ nixos-rebuild build - -to build the configuration but nothing more. This is useful to see -whether everything compiles cleanly. - -If you have a machine that supports hardware virtualisation, you -can also test the new configuration in a sandbox by building and -running a QEMU virtual machine that contains the -desired configuration. Just do - - -$ nixos-rebuild build-vm -$ ./result/bin/run-*-vm - - -The VM does not have any data from your host system, so your existing -user accounts and home directories will not be available. You can -forward ports on the host to the guest. For instance, the following -will forward host port 2222 to guest port 22 (SSH): - - -$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm - - -allowing you to log in via SSH (assuming you have set the appropriate -passwords or SSH authorized keys): - - -$ ssh -p 2222 localhost - - - - -
- - - - -
- -Upgrading NixOS - -The best way to keep your NixOS installation up to date is to -use one of the NixOS channels. A channel is a -Nix mechanism for distributing Nix expressions and associated -binaries. The NixOS channels are updated automatically from NixOS’s -Git repository after certain tests have passed and all packages have -been built. These channels are: - - - - Stable channels, such as nixos-14.04. - These only get conservative bug fixes and package upgrades. For - instance, a channel update may cause the Linux kernel on your - system to be upgraded from 3.4.66 to 3.4.67 (a minor bug fix), but - not from 3.4.x to - 3.11.x (a major change that has the - potential to break things). Stable channels are generally - maintained until the next stable branch is created. - - - The unstable channel, nixos-unstable. - This corresponds to NixOS’s main development branch, and may thus - see radical changes between channel updates. It’s not recommended - for production systems. - - - -To see what channels are available, go to . (Note that the URIs of the -various channels redirect to a directory that contains the channel’s -latest version and includes ISO images and VirtualBox -appliances.) - -When you first install NixOS, you’re automatically subscribed to -the NixOS channel that corresponds to your installation source. For -instance, if you installed from a 14.04 ISO, you will be subscribed to -the nixos-14.04 channel. To see which NixOS -channel you’re subscribed to, run the following as root: - - -$ nix-channel --list | grep nixos -nixos https://nixos.org/channels/nixos-unstable - - -To switch to a different NixOS channel, do - - -$ nix-channel --add http://nixos.org/channels/channel-name nixos - - -(Be sure to include the nixos parameter at the -end.) For instance, to use the NixOS 14.04 stable channel: - - -$ nix-channel --add http://nixos.org/channels/nixos-14.04 nixos - - -But it you want to live on the bleeding edge: - - -$ nix-channel --add http://nixos.org/channels/nixos-unstable nixos - - - - -You can then upgrade NixOS to the latest version in your chosen -channel by running - - -$ nixos-rebuild switch --upgrade - - -which is equivalent to the more verbose nix-channel --update -nixos; nixos-rebuild switch. - -It is generally safe to switch back and forth between -channels. The only exception is that a newer NixOS may also have a -newer Nix version, which may involve an upgrade of Nix’s database -schema. This cannot be undone easily, so in that case you will not be -able to go back to your original channel. - -
- -
diff --git a/nixos/doc/manual/installation/changing-config.xml b/nixos/doc/manual/installation/changing-config.xml new file mode 100644 index 00000000000..aa31742434e --- /dev/null +++ b/nixos/doc/manual/installation/changing-config.xml @@ -0,0 +1,90 @@ + + +Changing the Configuration + +The file /etc/nixos/configuration.nix +contains the current configuration of your machine. Whenever you’ve +changed something to that file, you should do + + +$ nixos-rebuild switch + +to build the new configuration, make it the default configuration for +booting, and try to realise the configuration in the running system +(e.g., by restarting system services). + +These commands must be executed as root, so you should +either run them from a root shell or by prefixing them with +sudo -i. + +You can also do + + +$ nixos-rebuild test + +to build the configuration and switch the running system to it, but +without making it the boot default. So if (say) the configuration +locks up your machine, you can just reboot to get back to a working +configuration. + +There is also + + +$ nixos-rebuild boot + +to build the configuration and make it the boot default, but not +switch to it now (so it will only take effect after the next +reboot). + +You can make your configuration show up in a different submenu +of the GRUB 2 boot screen by giving it a different profile +name, e.g. + + +$ nixos-rebuild switch -p test + +which causes the new configuration (and previous ones created using +-p test) to show up in the GRUB submenu “NixOS - +Profile 'test'”. This can be useful to separate test configurations +from “stable” configurations. + +Finally, you can do + + +$ nixos-rebuild build + +to build the configuration but nothing more. This is useful to see +whether everything compiles cleanly. + +If you have a machine that supports hardware virtualisation, you +can also test the new configuration in a sandbox by building and +running a QEMU virtual machine that contains the +desired configuration. Just do + + +$ nixos-rebuild build-vm +$ ./result/bin/run-*-vm + + +The VM does not have any data from your host system, so your existing +user accounts and home directories will not be available. You can +forward ports on the host to the guest. For instance, the following +will forward host port 2222 to guest port 22 (SSH): + + +$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm + + +allowing you to log in via SSH (assuming you have set the appropriate +passwords or SSH authorized keys): + + +$ ssh -p 2222 localhost + + + + + diff --git a/nixos/doc/manual/installation/installation.xml b/nixos/doc/manual/installation/installation.xml new file mode 100644 index 00000000000..ee61bedc418 --- /dev/null +++ b/nixos/doc/manual/installation/installation.xml @@ -0,0 +1,21 @@ + + +Installation + + + +This section describes how to obtain, install, and configure +NixOS for first-time use. + + + + + + + + + diff --git a/nixos/doc/manual/installation/installing-UEFI.xml b/nixos/doc/manual/installation/installing-UEFI.xml new file mode 100644 index 00000000000..dbd5606c4a5 --- /dev/null +++ b/nixos/doc/manual/installation/installing-UEFI.xml @@ -0,0 +1,51 @@ +
+ +UEFI Installation + +NixOS can also be installed on UEFI systems. The procedure +is by and large the same as a BIOS installation, with the following +changes: + + + + You should boot the live CD in UEFI mode (consult your + specific hardware's documentation for instructions). You may find + the rEFInd + boot manager useful. + + + Instead of fdisk, you should use + gdisk to partition your disks. You will need to + have a separate partition for /boot with + partition code EF00, and it should be formatted as a + vfat filesystem. + + + You must set to + true. nixos-generate-config + should do this automatically for new configurations when booted in + UEFI mode. + + + After having mounted your installation partition to + /mnt, you must mount the boot partition + to /mnt/boot. + + + You may want to look at the options starting with + and + as well. + + + To see console messages during early boot, add "fbcon" + to your . + + + + +
diff --git a/nixos/doc/manual/installation/installing-USB.xml b/nixos/doc/manual/installation/installing-USB.xml new file mode 100644 index 00000000000..97e3d2eaa1c --- /dev/null +++ b/nixos/doc/manual/installation/installing-USB.xml @@ -0,0 +1,30 @@ +
+ +Booting from a USB Drive + +For systems without CD drive, the NixOS livecd can be booted from +a usb stick. For non-UEFI installations, +unetbootin +will work. For UEFI installations, you should mount the ISO, copy its contents +verbatim to your drive, then either: + + + + Change the label of the disk partition to the label of the ISO + (visible with the blkid command), or + + + Edit loader/entries/nixos-livecd.conf on the drive + and change the root= field in the options + line to point to your drive (see the documentation on root= + in + the kernel documentation for more details). + + + + +
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml new file mode 100644 index 00000000000..793b503ad97 --- /dev/null +++ b/nixos/doc/manual/installation/installing.xml @@ -0,0 +1,264 @@ + + +Installing NixOS + + + + Boot from the CD. + + The CD contains a basic NixOS installation. (It + also contains Memtest86+, useful if you want to test new hardware.) + When it’s finished booting, it should have detected most of your + hardware and brought up networking (check + ifconfig). Networking is necessary for the + installer, since it will download lots of stuff (such as source + tarballs or Nixpkgs channel binaries). It’s best if you have a DHCP + server on your network. Otherwise configure networking manually + using ifconfig. + + The NixOS manual is available on virtual console 8 + (press Alt+F8 to access). + + Login as root and the empty + password. + + If you downloaded the graphical ISO image, you can + run start display-manager to start KDE. + + The NixOS installer doesn’t do any partitioning or + formatting yet, so you need to that yourself. Use the following + commands: + + + + For partitioning: + fdisk. + + For initialising Ext4 partitions: + mkfs.ext4. It is recommended that you assign a + unique symbolic label to the file system using the option + , since this + makes the file system configuration independent from device + changes. For example: + + +$ mkfs.ext4 -L nixos /dev/sda1 + + + + For creating swap partitions: + mkswap. Again it’s recommended to assign a + label to the swap partition: . + + For creating LVM volumes, the LVM commands, e.g., + + +$ pvcreate /dev/sda1 /dev/sdb1 +$ vgcreate MyVolGroup /dev/sda1 /dev/sdb1 +$ lvcreate --size 2G --name bigdisk MyVolGroup +$ lvcreate --size 1G --name smalldisk MyVolGroup + + + + For creating software RAID devices, use + mdadm. + + + + + + Mount the target file system on which NixOS should + be installed on /mnt, e.g. + + +$ mount /dev/disk/by-label/nixos /mnt + + + + + If your machine has a limited amount of memory, you + may want to activate swap devices now (swapon + device). The installer (or + rather, the build actions that it may spawn) may need quite a bit of + RAM, depending on your configuration. + + + + You now need to create a file + /mnt/etc/nixos/configuration.nix that + specifies the intended configuration of the system. This is + because NixOS has a declarative configuration + model: you create or edit a description of the desired + configuration of your system, and then NixOS takes care of making + it happen. The syntax of the NixOS configuration file is + described in , while a + list of available configuration options appears in . A minimal example is shown in . + + The command nixos-generate-config can + generate an initial configuration file for you: + + +$ nixos-generate-config --root /mnt + + You should then edit + /mnt/etc/nixos/configuration.nix to suit your + needs: + + +$ nano /mnt/etc/nixos/configuration.nix + + + The vim text editor is also available. + + You must set the option + to specify on which disk + the GRUB boot loader is to be installed. Without it, NixOS cannot + boot. + + Another critical option is , + specifying the file systems that need to be mounted by NixOS. + However, you typically don’t need to set it yourself, because + nixos-generate-config sets it automatically in + /mnt/etc/nixos/hardware-configuration.nix + from your currently mounted file systems. (The configuration file + hardware-configuration.nix is included from + configuration.nix and will be overwritten by + future invocations of nixos-generate-config; + thus, you generally should not modify it.) + + Depending on your hardware configuration or type of + file system, you may need to set the option + to include the kernel + modules that are necessary for mounting the root file system, + otherwise the installed system will not be able to boot. (If this + happens, boot from the CD again, mount the target file system on + /mnt, fix + /mnt/etc/nixos/configuration.nix and rerun + nixos-install.) In most cases, + nixos-generate-config will figure out the + required modules. + + Examples of real-world NixOS configuration files can be + found at . + + + + Do the installation: + + +$ nixos-install + + Cross fingers. If this fails due to a temporary problem (such as + a network issue while downloading binaries from the NixOS binary + cache), you can just re-run nixos-install. + Otherwise, fix your configuration.nix and + then re-run nixos-install. + + As the last step, nixos-install will ask + you to set the password for the root user, e.g. + + +setting root password... +Enter new UNIX password: *** +Retype new UNIX password: *** + + + + + + + If everything went well: + + +$ reboot + + + + + + You should now be able to boot into the installed NixOS. The GRUB boot menu shows a list + of available configurations (initially just one). Every time + you change the NixOS configuration (seeChanging + Configuration ), a new item appears in the menu. This allows you to + easily roll back to another configuration if something goes wrong. + + You should log in and change the root + password with passwd. + + You’ll probably want to create some user accounts as well, + which can be done with useradd: + + +$ useradd -c 'Eelco Dolstra' -m eelco +$ passwd eelco + + + + You may also want to install some software. For instance, + + +$ nix-env -qa \* + + shows what packages are available, and + + +$ nix-env -i w3m + + install the w3m browser. + + + + + +To summarise, shows a +typical sequence of commands for installing NixOS on an empty hard +drive (here /dev/sda). shows a corresponding configuration Nix expression. + +Commands for Installing NixOS on <filename>/dev/sda</filename> + +$ fdisk /dev/sda # (or whatever device you want to install on) +$ mkfs.ext4 -L nixos /dev/sda1 +$ mkswap -L swap /dev/sda2 +$ swapon /dev/sda2 +$ mount /dev/disk/by-label/nixos /mnt +$ nixos-generate-config --root /mnt +$ nano /mnt/etc/nixos/configuration.nix +$ nixos-install +$ reboot + + +NixOS Configuration + +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + boot.loader.grub.device = "/dev/sda"; + + # Note: setting fileSystems is generally not + # necessary, since nixos-generate-config figures them out + # automatically in hardware-configuration.nix. + #fileSystems."/".device = "/dev/disk/by-label/nixos"; + + # Enable the OpenSSH server. + services.sshd.enable = true; +} + + + + + + diff --git a/nixos/doc/manual/installation/obtaining.xml b/nixos/doc/manual/installation/obtaining.xml new file mode 100644 index 00000000000..ceeeb5c0ac0 --- /dev/null +++ b/nixos/doc/manual/installation/obtaining.xml @@ -0,0 +1,44 @@ + + +Obtaining NixOS + +NixOS ISO images can be downloaded from the NixOS +homepage. These can be burned onto a CD. It is also possible +to copy them onto a USB stick and install NixOS from there. For +details, see the NixOS +Wiki. + +As an alternative to installing NixOS yourself, you can get a +running NixOS system through several other means: + + + + Using virtual appliances in Open Virtualization Format (OVF) + that can be imported into VirtualBox. These are available from + the NixOS + homepage. + + + Using AMIs for Amazon’s EC2. To find one for your region + and instance type, please refer to the list + of most recent AMIs. + + + Using NixOps, the NixOS-based cloud deployment tool, which + allows you to provision VirtualBox and EC2 NixOS instances from + declarative specifications. Check out the NixOps + homepage for details. + + + + + + diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml new file mode 100644 index 00000000000..ed71a7e23a3 --- /dev/null +++ b/nixos/doc/manual/installation/upgrading.xml @@ -0,0 +1,90 @@ + + +Upgrading NixOS + +The best way to keep your NixOS installation up to date is to +use one of the NixOS channels. A channel is a +Nix mechanism for distributing Nix expressions and associated +binaries. The NixOS channels are updated automatically from NixOS’s +Git repository after certain tests have passed and all packages have +been built. These channels are: + + + + Stable channels, such as nixos-14.04. + These only get conservative bug fixes and package upgrades. For + instance, a channel update may cause the Linux kernel on your + system to be upgraded from 3.4.66 to 3.4.67 (a minor bug fix), but + not from 3.4.x to + 3.11.x (a major change that has the + potential to break things). Stable channels are generally + maintained until the next stable branch is created. + + + The unstable channel, nixos-unstable. + This corresponds to NixOS’s main development branch, and may thus + see radical changes between channel updates. It’s not recommended + for production systems. + + + +To see what channels are available, go to . (Note that the URIs of the +various channels redirect to a directory that contains the channel’s +latest version and includes ISO images and VirtualBox +appliances.) + +When you first install NixOS, you’re automatically subscribed to +the NixOS channel that corresponds to your installation source. For +instance, if you installed from a 14.04 ISO, you will be subscribed to +the nixos-14.04 channel. To see which NixOS +channel you’re subscribed to, run the following as root: + + +$ nix-channel --list | grep nixos +nixos https://nixos.org/channels/nixos-unstable + + +To switch to a different NixOS channel, do + + +$ nix-channel --add http://nixos.org/channels/channel-name nixos + + +(Be sure to include the nixos parameter at the +end.) For instance, to use the NixOS 14.04 stable channel: + + +$ nix-channel --add http://nixos.org/channels/nixos-14.04 nixos + + +But it you want to live on the bleeding edge: + + +$ nix-channel --add http://nixos.org/channels/nixos-unstable nixos + + + + +You can then upgrade NixOS to the latest version in your chosen +channel by running + + +$ nixos-rebuild switch --upgrade + + +which is equivalent to the more verbose nix-channel --update +nixos; nixos-rebuild switch. + +It is generally safe to switch back and forth between +channels. The only exception is that a newer NixOS may also have a +newer Nix version, which may involve an upgrade of Nix’s database +schema. This cannot be undone easily, so in that case you will not be +able to go back to your original channel. + + diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml index f51a04cdf25..a3ad76209ac 100644 --- a/nixos/doc/manual/manual.xml +++ b/nixos/doc/manual/manual.xml @@ -1,15 +1,14 @@ - + xmlns:xi="http://www.w3.org/2001/XInclude" + version="5.0" + xml:id="NixOSManual"> + - NixOS Manual Version - - Preface @@ -29,19 +28,14 @@ - - - - + + + - - - - - + - Configuration options + Configuration Options diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml new file mode 100644 index 00000000000..fb82d5adcef --- /dev/null +++ b/nixos/doc/manual/release-notes/release-notes.xml @@ -0,0 +1,17 @@ + + +Release Notes + + +This section lists the release notes for each stable version of NixOS. + + + + + + + diff --git a/nixos/doc/manual/release-notes/rl-1310.xml b/nixos/doc/manual/release-notes/rl-1310.xml new file mode 100644 index 00000000000..234fb5a643f --- /dev/null +++ b/nixos/doc/manual/release-notes/rl-1310.xml @@ -0,0 +1,11 @@ + + +Release 13.10 (“Aardvark”, 2013/10/31) + +This is the first stable release branch of NixOS. + + \ No newline at end of file diff --git a/nixos/doc/manual/release-notes.xml b/nixos/doc/manual/release-notes/rl-1404.xml similarity index 83% rename from nixos/doc/manual/release-notes.xml rename to nixos/doc/manual/release-notes/rl-1404.xml index 52e88bb4c86..74af1ed1274 100644 --- a/nixos/doc/manual/release-notes.xml +++ b/nixos/doc/manual/release-notes/rl-1404.xml @@ -1,34 +1,8 @@ - - -Release notes - - - -
- -Release 14.10 (“Caterpillar”, 2014/10/??) - -When upgrading from a previous release, please be aware of the -following incompatible changes: - - - - The host side of a container virtual Ethernet pair - is now called ve-container-name - rather than c-container-name. - - - - - -
- - - - -
+ Release 14.04 (“Baboon”, 2014/04/30) @@ -183,16 +157,4 @@ networking.firewall.enable = false; -
- - - -
- -Release 13.10 (“Aardvark”, 2013/10/31) - -This is the first stable release branch of NixOS. - -
- -
+ \ No newline at end of file diff --git a/nixos/doc/manual/release-notes/rl-1410.xml b/nixos/doc/manual/release-notes/rl-1410.xml new file mode 100644 index 00000000000..09da15ce236 --- /dev/null +++ b/nixos/doc/manual/release-notes/rl-1410.xml @@ -0,0 +1,22 @@ + + +Release 14.10 (“Caterpillar”, 2014/10/??) + +When upgrading from a previous release, please be aware of the +following incompatible changes: + + + + The host side of a container virtual Ethernet pair + is now called ve-container-name + rather than c-container-name. + + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/running.xml b/nixos/doc/manual/running.xml deleted file mode 100644 index e1a358df2aa..00000000000 --- a/nixos/doc/manual/running.xml +++ /dev/null @@ -1,369 +0,0 @@ - - -Running NixOS - -This chapter describes various aspects of managing a running -NixOS system, such as how to use the systemd -service manager. - - - - -
Service management - -In NixOS, all system services are started and monitored using -the systemd program. Systemd is the “init” process of the system -(i.e. PID 1), the parent of all other processes. It manages a set of -so-called “units”, which can be things like system services -(programs), but also mount points, swap files, devices, targets -(groups of units) and more. Units can have complex dependencies; for -instance, one unit can require that another unit must be successfully -started before the first unit can be started. When the system boots, -it starts a unit named default.target; the -dependencies of this unit cause all system services to be started, -file systems to be mounted, swap files to be activated, and so -on. - -The command systemctl is the main way to -interact with systemd. Without any arguments, it -shows the status of active units: - - -$ systemctl --.mount loaded active mounted / -swapfile.swap loaded active active /swapfile -sshd.service loaded active running SSH Daemon -graphical.target loaded active active Graphical Interface -... - - - - -You can ask for detailed status information about a unit, for -instance, the PostgreSQL database service: - - -$ systemctl status postgresql.service -postgresql.service - PostgreSQL Server - Loaded: loaded (/nix/store/pn3q73mvh75gsrl8w7fdlfk3fq5qm5mw-unit/postgresql.service) - Active: active (running) since Mon, 2013-01-07 15:55:57 CET; 9h ago - Main PID: 2390 (postgres) - CGroup: name=systemd:/system/postgresql.service - ├─2390 postgres - ├─2418 postgres: writer process - ├─2419 postgres: wal writer process - ├─2420 postgres: autovacuum launcher process - ├─2421 postgres: stats collector process - └─2498 postgres: zabbix zabbix [local] idle - -Jan 07 15:55:55 hagbard postgres[2394]: [1-1] LOG: database system was shut down at 2013-01-07 15:55:05 CET -Jan 07 15:55:57 hagbard postgres[2390]: [1-1] LOG: database system is ready to accept connections -Jan 07 15:55:57 hagbard postgres[2420]: [1-1] LOG: autovacuum launcher started -Jan 07 15:55:57 hagbard systemd[1]: Started PostgreSQL Server. - - -Note that this shows the status of the unit (active and running), all -the processes belonging to the service, as well as the most recent log -messages from the service. - - - -Units can be stopped, started or restarted: - - -$ systemctl stop postgresql.service -$ systemctl start postgresql.service -$ systemctl restart postgresql.service - - -These operations are synchronous: they wait until the service has -finished starting or stopping (or has failed). Starting a unit will -cause the dependencies of that unit to be started as well (if -necessary). - - - -
- - - - -
Rebooting and shutting down - -The system can be shut down (and automatically powered off) by -doing: - - -$ shutdown - - -This is equivalent to running systemctl -poweroff. - -To reboot the system, run - - -$ reboot - - -which is equivalent to systemctl reboot. -Alternatively, you can quickly reboot the system using -kexec, which bypasses the BIOS by directly loading -the new kernel into memory: - - -$ systemctl kexec - - - - -The machine can be suspended to RAM (if supported) using -systemctl suspend, and suspended to disk using -systemctl hibernate. - -These commands can be run by any user who is logged in locally, -i.e. on a virtual console or in X11; otherwise, the user is asked for -authentication. - -
- - - - -
User sessions - -Systemd keeps track of all users who are logged into the system -(e.g. on a virtual console or remotely via SSH). The command -loginctl allows querying and manipulating user -sessions. For instance, to list all user sessions: - - -$ loginctl - SESSION UID USER SEAT - c1 500 eelco seat0 - c3 0 root seat0 - c4 500 alice - - -This shows that two users are logged in locally, while another is -logged in remotely. (“Seats” are essentially the combinations of -displays and input devices attached to the system; usually, there is -only one seat.) To get information about a session: - - -$ loginctl session-status c3 -c3 - root (0) - Since: Tue, 2013-01-08 01:17:56 CET; 4min 42s ago - Leader: 2536 (login) - Seat: seat0; vc3 - TTY: /dev/tty3 - Service: login; type tty; class user - State: online - CGroup: name=systemd:/user/root/c3 - ├─ 2536 /nix/store/10mn4xip9n7y9bxqwnsx7xwx2v2g34xn-shadow-4.1.5.1/bin/login -- - ├─10339 -bash - └─10355 w3m nixos.org - - -This shows that the user is logged in on virtual console 3. It also -lists the processes belonging to this session. Since systemd keeps -track of this, you can terminate a session in a way that ensures that -all the session’s processes are gone: - - -$ loginctl terminate-session c3 - - - - -
- - - - -
Control groups - -To keep track of the processes in a running system, systemd uses -control groups (cgroups). A control group is a -set of processes used to allocate resources such as CPU, memory or I/O -bandwidth. There can be multiple control group hierarchies, allowing -each kind of resource to be managed independently. - -The command systemd-cgls lists all control -groups in the systemd hierarchy, which is what -systemd uses to keep track of the processes belonging to each service -or user session: - - -$ systemd-cgls -├─user -│ └─eelco -│ └─c1 -│ ├─ 2567 -:0 -│ ├─ 2682 kdeinit4: kdeinit4 Running... -│ ├─ ... -│ └─10851 sh -c less -R -└─system - ├─httpd.service - │ ├─2444 httpd -f /nix/store/3pyacby5cpr55a03qwbnndizpciwq161-httpd.conf -DNO_DETACH - │ └─... - ├─dhcpcd.service - │ └─2376 dhcpcd --config /nix/store/f8dif8dsi2yaa70n03xir8r653776ka6-dhcpcd.conf - └─ ... - - -Similarly, systemd-cgls cpu shows the cgroups in -the CPU hierarchy, which allows per-cgroup CPU scheduling priorities. -By default, every systemd service gets its own CPU cgroup, while all -user sessions are in the top-level CPU cgroup. This ensures, for -instance, that a thousand run-away processes in the -httpd.service cgroup cannot starve the CPU for one -process in the postgresql.service cgroup. (By -contrast, it they were in the same cgroup, then the PostgreSQL process -would get 1/1001 of the cgroup’s CPU time.) You can limit a service’s -CPU share in configuration.nix: - - -systemd.services.httpd.serviceConfig.CPUShares = 512; - - -By default, every cgroup has 1024 CPU shares, so this will halve the -CPU allocation of the httpd.service cgroup. - -There also is a memory hierarchy that -controls memory allocation limits; by default, all processes are in -the top-level cgroup, so any service or session can exhaust all -available memory. Per-cgroup memory limits can be specified in -configuration.nix; for instance, to limit -httpd.service to 512 MiB of RAM (excluding swap) -and 640 MiB of RAM (including swap): - - -systemd.services.httpd.serviceConfig.MemoryLimit = "512M"; -systemd.services.httpd.serviceConfig.ControlGroupAttribute = [ "memory.memsw.limit_in_bytes 640M" ]; - - - - -The command systemd-cgtop shows a -continuously updated list of all cgroups with their CPU and memory -usage. - -
- - - - -
Logging - -System-wide logging is provided by systemd’s -journal, which subsumes traditional logging -daemons such as syslogd and klogd. Log entries are kept in binary -files in /var/log/journal/. The command -journalctl allows you to see the contents of the -journal. For example, - - -$ journalctl -b - - -shows all journal entries since the last reboot. (The output of -journalctl is piped into less by -default.) You can use various options and match operators to restrict -output to messages of interest. For instance, to get all messages -from PostgreSQL: - - -$ journalctl -u postgresql.service --- Logs begin at Mon, 2013-01-07 13:28:01 CET, end at Tue, 2013-01-08 01:09:57 CET. -- -... -Jan 07 15:44:14 hagbard postgres[2681]: [2-1] LOG: database system is shut down --- Reboot -- -Jan 07 15:45:10 hagbard postgres[2532]: [1-1] LOG: database system was shut down at 2013-01-07 15:44:14 CET -Jan 07 15:45:13 hagbard postgres[2500]: [1-1] LOG: database system is ready to accept connections - - -Or to get all messages since the last reboot that have at least a -“critical” severity level: - - -$ journalctl -b -p crit -Dec 17 21:08:06 mandark sudo[3673]: pam_unix(sudo:auth): auth could not identify password for [alice] -Dec 29 01:30:22 mandark kernel[6131]: [1053513.909444] CPU6: Core temperature above threshold, cpu clock throttled (total events = 1) - - - - -The system journal is readable by root and by users in the -wheel and systemd-journal -groups. All users have a private journal that can be read using -journalctl. - -
- - - - -
Cleaning up the Nix store - -Nix has a purely functional model, meaning that packages are -never upgraded in place. Instead new versions of packages end up in a -different location in the Nix store (/nix/store). -You should periodically run Nix’s garbage -collector to remove old, unreferenced packages. This is -easy: - - -$ nix-collect-garbage - - -Alternatively, you can use a systemd unit that does the same in the -background: - - -$ systemctl start nix-gc.service - - -You can tell NixOS in configuration.nix to run -this unit automatically at certain points in time, for instance, every -night at 03:15: - - -nix.gc.automatic = true; -nix.gc.dates = "03:15"; - - - - -The commands above do not remove garbage collector roots, such -as old system configurations. Thus they do not remove the ability to -roll back to previous configurations. The following command deletes -old roots, removing the ability to roll back to them: - -$ nix-collect-garbage -d - -You can also do this for specific profiles, e.g. - -$ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations old - -Note that NixOS system configurations are stored in the profile -/nix/var/nix/profiles/system. - -Another way to reclaim disk space (often as much as 40% of the -size of the Nix store) is to run Nix’s store optimiser, which seeks -out identical files in the store and replaces them with hard links to -a single copy. - -$ nix-store --optimise - -Since this command needs to read the entire Nix store, it can take -quite a while to finish. - -
- - -
diff --git a/nixos/doc/manual/troubleshooting.xml b/nixos/doc/manual/troubleshooting.xml deleted file mode 100644 index c7d65112b64..00000000000 --- a/nixos/doc/manual/troubleshooting.xml +++ /dev/null @@ -1,199 +0,0 @@ - - -Troubleshooting - - - - -
Boot problems - -If NixOS fails to boot, there are a number of kernel command -line parameters that may help you to identify or fix the issue. You -can add these parameters in the GRUB boot menu by pressing “e” to -modify the selected boot entry and editing the line starting with -linux. The following are some useful kernel command -line parameters that are recognised by the NixOS boot scripts or by -systemd: - - - - boot.shell_on_fail - Start a root shell if something goes wrong in - stage 1 of the boot process (the initial ramdisk). This is - disabled by default because there is no authentication for the - root shell. - - - boot.debug1 - Start an interactive shell in stage 1 before - anything useful has been done. That is, no modules have been - loaded and no file systems have been mounted, except for - /proc and - /sys. - - - boot.trace - Print every shell command executed by the stage 1 - and 2 boot scripts. - - - single - Boot into rescue mode (a.k.a. single user mode). - This will cause systemd to start nothing but the unit - rescue.target, which runs - sulogin to prompt for the root password and - start a root login shell. Exiting the shell causes the system to - continue with the normal boot process. - - - systemd.log_level=debug systemd.log_target=console - Make systemd very verbose and send log messages to - the console instead of the journal. - - - - -For more parameters recognised by systemd, see -systemd1. - -If no login prompts or X11 login screens appear (e.g. due to -hanging dependencies), you can press Alt+ArrowUp. If you’re lucky, -this will start rescue mode (described above). (Also note that since -most units have a 90-second timeout before systemd gives up on them, -the agetty login prompts should appear eventually -unless something is very wrong.) - -
- - - - -
Maintenance mode - -You can enter rescue mode by running: - - -$ systemctl rescue - -This will eventually give you a single-user root shell. Systemd will -stop (almost) all system services. To get out of maintenance mode, -just exit from the rescue shell. - -
- - - - -
Rolling back configuration changes - -After running nixos-rebuild to switch to a -new configuration, you may find that the new configuration doesn’t -work very well. In that case, there are several ways to return to a -previous configuration. - -First, the GRUB boot manager allows you to boot into any -previous configuration that hasn’t been garbage-collected. These -configurations can be found under the GRUB submenu “NixOS - All -configurations”. This is especially useful if the new configuration -fails to boot. After the system has booted, you can make the selected -configuration the default for subsequent boots: - - -$ /run/current-system/bin/switch-to-configuration boot - - - -Second, you can switch to the previous configuration in a running -system: - - -$ nixos-rebuild switch --rollback - -This is equivalent to running: - - -$ /nix/var/nix/profiles/system-N-link/bin/switch-to-configuration switch - -where N is the number of the NixOS system -configuration. To get a list of the available configurations, do: - - -$ ls -l /nix/var/nix/profiles/system-*-link -... -lrwxrwxrwx 1 root root 78 Aug 12 13:54 /nix/var/nix/profiles/system-268-link -> /nix/store/202b...-nixos-13.07pre4932_5a676e4-4be1055 - - - - -
- - - - -
Nix store corruption - -After a system crash, it’s possible for files in the Nix store -to become corrupted. (For instance, the Ext4 file system has the -tendency to replace un-synced files with zero bytes.) NixOS tries -hard to prevent this from happening: it performs a -sync before switching to a new configuration, and -Nix’s database is fully transactional. If corruption still occurs, -you may be able to fix it automatically. - -If the corruption is in a path in the closure of the NixOS -system configuration, you can fix it by doing - - -$ nixos-rebuild switch --repair - - -This will cause Nix to check every path in the closure, and if its -cryptographic hash differs from the hash recorded in Nix’s database, -the path is rebuilt or redownloaded. - -You can also scan the entire Nix store for corrupt paths: - - -$ nix-store --verify --check-contents --repair - - -Any corrupt paths will be redownloaded if they’re available in a -binary cache; otherwise, they cannot be repaired. - -
- - - - -
Nix network issues - -Nix uses a so-called binary cache to -optimise building a package from source into downloading it as a -pre-built binary. That is, whenever a command like -nixos-rebuild needs a path in the Nix store, Nix -will try to download that path from the Internet rather than build it -from source. The default binary cache is -http://cache.nixos.org/. If this cache is unreachable, Nix -operations may take a long time due to HTTP connection timeouts. You -can disable the use of the binary cache by adding , e.g. - - -$ nixos-rebuild switch --option use-binary-caches false - - -If you have an alternative binary cache at your disposal, you can use -it instead: - - -$ nixos-rebuild switch --option binary-caches http://my-cache.example.org/ - - - - -
- - -
From 60e6cc81b5a76751c289d7184ff5842f5e5cca84 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 26 Aug 2014 15:45:47 +0200 Subject: [PATCH 0097/2163] No caps in filenames --- nixos/doc/manual/configuration/file-systems.xml | 2 +- .../{LUKS-file-systems.xml => luks-file-systems.xml} | 0 .../installation/{installing-UEFI.xml => installing-uefi.xml} | 0 .../installation/{installing-USB.xml => installing-usb.xml} | 0 nixos/doc/manual/installation/installing.xml | 4 ++-- 5 files changed, 3 insertions(+), 3 deletions(-) rename nixos/doc/manual/configuration/{LUKS-file-systems.xml => luks-file-systems.xml} (100%) rename nixos/doc/manual/installation/{installing-UEFI.xml => installing-uefi.xml} (100%) rename nixos/doc/manual/installation/{installing-USB.xml => installing-usb.xml} (100%) diff --git a/nixos/doc/manual/configuration/file-systems.xml b/nixos/doc/manual/configuration/file-systems.xml index 52ad6d62f13..d1b324af3f1 100644 --- a/nixos/doc/manual/configuration/file-systems.xml +++ b/nixos/doc/manual/configuration/file-systems.xml @@ -35,6 +35,6 @@ or ext4, then it’s best to specify to ensure that the kernel module is available.
- + diff --git a/nixos/doc/manual/configuration/LUKS-file-systems.xml b/nixos/doc/manual/configuration/luks-file-systems.xml similarity index 100% rename from nixos/doc/manual/configuration/LUKS-file-systems.xml rename to nixos/doc/manual/configuration/luks-file-systems.xml diff --git a/nixos/doc/manual/installation/installing-UEFI.xml b/nixos/doc/manual/installation/installing-uefi.xml similarity index 100% rename from nixos/doc/manual/installation/installing-UEFI.xml rename to nixos/doc/manual/installation/installing-uefi.xml diff --git a/nixos/doc/manual/installation/installing-USB.xml b/nixos/doc/manual/installation/installing-usb.xml similarity index 100% rename from nixos/doc/manual/installation/installing-USB.xml rename to nixos/doc/manual/installation/installing-usb.xml diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml index 793b503ad97..b140c56fbee 100644 --- a/nixos/doc/manual/installation/installing.xml +++ b/nixos/doc/manual/installation/installing.xml @@ -258,7 +258,7 @@ $ reboot } - - + + From bd811d32b4b194b9e551a66069641a76bd8eab58 Mon Sep 17 00:00:00 2001 From: Joachim Schiele Date: Tue, 26 Aug 2014 10:44:59 +0200 Subject: [PATCH 0098/2163] grub: removed orphaned mkOption configurationName --- nixos/modules/system/boot/loader/grub/grub.nix | 9 --------- 1 file changed, 9 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 0cc060db8f9..721e8f21cce 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -86,15 +86,6 @@ in ''; }; - configurationName = mkOption { - default = ""; - example = "Stable 2.6.21"; - type = types.str; - description = '' - GRUB entry name instead of default. - ''; - }; - extraPrepareConfig = mkOption { default = ""; type = types.lines; From f6b4214567979247f6dac2b5b6bc92fa89a619db Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 26 Aug 2014 19:30:45 +0200 Subject: [PATCH 0099/2163] /dev/sda1 -> "/dev/sda1" Otherwise Nix might try to copy /dev/sda1 under certain circumstances :-) --- nixos/modules/system/boot/luksroot.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index c923cc49c44..68392e3cfe2 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -348,7 +348,7 @@ in options = { device = mkOption { - default = /dev/sda1; + default = "/dev/sda1"; type = types.path; description = '' An unencrypted device that will temporarily be mounted in stage-1. From 4f2781019e38f678ada1cb0572798351e02e955d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 26 Aug 2014 19:50:32 +0200 Subject: [PATCH 0100/2163] pypy: properly hint sqlite3 headers --- pkgs/development/interpreters/pypy/2.3/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/pypy/2.3/default.nix b/pkgs/development/interpreters/pypy/2.3/default.nix index ba0fb6f111a..abf12a66ed8 100644 --- a/pkgs/development/interpreters/pypy/2.3/default.nix +++ b/pkgs/development/interpreters/pypy/2.3/default.nix @@ -53,8 +53,7 @@ let --replace "linklibs=['tcl', 'tk']" "linklibs=['tcl8.5', 'tk8.5']" \ --replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']" - substituteInPlace lib_pypy/_sqlite3.py \ - --replace "libraries=['sqlite3']" "libraries=['sqlite3'], include_dirs=['${sqlite}/include'], library_dirs=['${sqlite}/lib']" + sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite}/include'], library_dirs=['${sqlite}/lib']@" lib_pypy/_sqlite3.py ''; setupHook = ./setup-hook.sh; From 686fa594ab63d117416ab1199ac2daf22a466709 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Tue, 26 Aug 2014 16:36:35 -0500 Subject: [PATCH 0101/2163] coq_HEAD: update to latest Git HEAD --- pkgs/applications/science/logic/coq/HEAD.nix | 9 ++++++--- .../science/logic/coq/no-codesign.patch | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 pkgs/applications/science/logic/coq/no-codesign.patch diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix index 8e6fde6bc24..ed922b3aedb 100644 --- a/pkgs/applications/science/logic/coq/HEAD.nix +++ b/pkgs/applications/science/logic/coq/HEAD.nix @@ -3,7 +3,7 @@ {stdenv, fetchgit, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}: let - version = "8.5pre-8bc01590"; + version = "8.5pre-c70d5b2"; buildIde = lablgtk != null; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; idePath = if buildIde then '' @@ -16,17 +16,20 @@ stdenv.mkDerivation { src = fetchgit { url = git://scm.gforge.inria.fr/coq/coq.git; - rev = "8bc0159095cb0230a50c55a1611c8b77134a6060"; - sha256 = "1cp4hbk9jw78y03vwz099yvixax161h60hsbyvwiwz2z5czjxzcv"; + rev = "c70d5b27ad5872c74e20b6c997383fb4462a68dc"; + sha256 = "02wks2aivgjcf4h3ss9rn683vyawz8gl8rbysdq7awxh062316l2"; }; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; + patches = [ ./no-codesign.patch ]; + postPatch = '' UNAME=$(type -tp uname) RM=$(type -tp rm) substituteInPlace configure --replace "/bin/uname" "$UNAME" substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM" + substituteInPlace Makefile.build --replace "ifeq (\$(ARCH),Darwin)" "ifeq (\$(ARCH),Darwinx)" ''; preConfigure = '' diff --git a/pkgs/applications/science/logic/coq/no-codesign.patch b/pkgs/applications/science/logic/coq/no-codesign.patch new file mode 100644 index 00000000000..0f917fbf56d --- /dev/null +++ b/pkgs/applications/science/logic/coq/no-codesign.patch @@ -0,0 +1,19 @@ +diff --git a/Makefile.build b/Makefile.build +index 2963a3d..876479c 100644 +--- a/Makefile.build ++++ b/Makefile.build +@@ -101,13 +101,8 @@ BYTEFLAGS=$(CAMLDEBUG) $(USERFLAGS) + OPTFLAGS=$(CAMLDEBUGOPT) $(CAMLTIMEPROF) $(USERFLAGS) + DEPFLAGS= $(LOCALINCLUDES) -I ide -I ide/utils + +-ifeq ($(ARCH),Darwin) +-LINKMETADATA=-ccopt "-sectcreate __TEXT __info_plist config/Info-$(notdir $@).plist" +-CODESIGN=codesign -s - +-else + LINKMETADATA= + CODESIGN=true +-endif + + define bestocaml + $(if $(OPT),\ + From aedbfdff8485044529953585bc7d042ece080b00 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Tue, 26 Aug 2014 21:24:09 -0400 Subject: [PATCH 0102/2163] unbound: run in chroot --- nixos/modules/services/networking/unbound.nix | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/nixos/modules/services/networking/unbound.nix b/nixos/modules/services/networking/unbound.nix index 415ff13bdda..73b10c1d561 100644 --- a/nixos/modules/services/networking/unbound.nix +++ b/nixos/modules/services/networking/unbound.nix @@ -6,8 +6,6 @@ let cfg = config.services.unbound; - username = "unbound"; - stateDir = "/var/lib/unbound"; access = concatMapStrings (x: " access-control: ${x} allow\n") cfg.allowedAccess; @@ -21,21 +19,13 @@ let confFile = pkgs.writeText "unbound.conf" '' server: directory: "${stateDir}" - username: ${username} - # make sure unbound can access entropy from inside the chroot. - # e.g. on linux the use these commands (on BSD, devfs(8) is used): - # mount --bind -n /dev/random /etc/unbound/dev/random - # and mount --bind -n /dev/log /etc/unbound/dev/log + username: unbound chroot: "${stateDir}" - # logfile: "${stateDir}/unbound.log" #uncomment to use logfile. - pidfile: "${stateDir}/unbound.pid" - verbosity: 1 # uncomment and increase to get more logging. + pidfile: "" ${interfaces} ${access} - - ${forward} - ${cfg.extraConfig} + ${forward} ''; in @@ -82,7 +72,7 @@ in environment.systemPackages = [ pkgs.unbound ]; users.extraUsers = singleton { - name = username; + name = "unbound"; uid = config.ids.uids.unbound; description = "unbound daemon user"; home = stateDir; @@ -96,8 +86,18 @@ in wants = [" nss-lookup.target" ]; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.unbound ]; - serviceConfig.ExecStart = "${pkgs.unbound}/sbin/unbound -d -c ${confFile}"; + preStart = '' + mkdir -m 0755 -p ${stateDir}/dev/ + cp ${confFile} ${stateDir}/unbound.conf + chown unbound ${stateDir} + touch ${stateDir}/dev/random + ${pkgs.utillinux}/bin/mount --bind -n /dev/random ${stateDir}/dev/random + ''; + + serviceConfig = { + ExecStart = "${pkgs.unbound}/sbin/unbound -d -c ${stateDir}/unbound.conf"; + ExecStopPost="${pkgs.utillinux}/bin/umount ${stateDir}/dev/random"; + }; }; }; From 0dc4edd90addfd63a3002a9e7f495fc8be9677df Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 27 Aug 2014 03:21:03 -0400 Subject: [PATCH 0103/2163] Add zendopcache php package --- pkgs/top-level/php-packages.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 1225021ad37..700547450ec 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -39,6 +39,12 @@ let self = with self; { sha256 = "1gcsh9iar5qa1yzpjki9bb5rivcb6yjp45lmjmp98wlyf83vmy2y"; }; + zendopcache = buildPecl { + name = "zendopcache-7.0.3"; + + sha256 = "0qpfbkfy4wlnsfq4vc4q5wvaia83l89ky33s08gqrcfp3p1adn88"; + }; + zmq = buildPecl { name = "zmq-1.1.2"; From 4061c18c9878ca4b97a0e97debd5c533fc1422ff Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 27 Aug 2014 03:26:40 -0400 Subject: [PATCH 0104/2163] Revert "grub: removed orphaned mkOption configurationName" The configurationName option value is still used by NixOS, this removal breaks grub users. This reverts commit bd811d32b4b194b9e551a66069641a76bd8eab58. --- nixos/modules/system/boot/loader/grub/grub.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 721e8f21cce..0cc060db8f9 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -86,6 +86,15 @@ in ''; }; + configurationName = mkOption { + default = ""; + example = "Stable 2.6.21"; + type = types.str; + description = '' + GRUB entry name instead of default. + ''; + }; + extraPrepareConfig = mkOption { default = ""; type = types.lines; From a3800db3d2e85f08395dec16abb2aa732e3fe22f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 27 Aug 2014 15:39:34 +0800 Subject: [PATCH 0105/2163] add anthy, Japanese input method --- pkgs/tools/inputmethods/anthy/default.nix | 18 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/tools/inputmethods/anthy/default.nix diff --git a/pkgs/tools/inputmethods/anthy/default.nix b/pkgs/tools/inputmethods/anthy/default.nix new file mode 100644 index 00000000000..34ffa1568b9 --- /dev/null +++ b/pkgs/tools/inputmethods/anthy/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "anthy-9100h"; + + meta = with stdenv.lib; { + description = "Hiragana text to Kana Kanji mixed text Japanese input method"; + homepace = http://sourceforge.jp/projects/anthy/; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "http://dl.sourceforge.jp/anthy/37536/anthy-9100h.tar.gz"; + sha256 = "0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fa205e71133..fb8f6e5bdca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -801,6 +801,8 @@ let usb_modeswitch = callPackage ../development/tools/misc/usb-modeswitch { }; + anthy = callPackage ../tools/inputmethods/anthy { }; + biosdevname = callPackage ../tools/networking/biosdevname { }; clamav = callPackage ../tools/security/clamav { }; From 6f6724027d10c8989f08df9dc36b09b27152ae36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 27 Aug 2014 15:13:54 +0800 Subject: [PATCH 0106/2163] fcitx: update to 4.2.8.4 --- pkgs/tools/inputmethods/fcitx/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix index 2795b0d4d87..2db5d36a10d 100644 --- a/pkgs/tools/inputmethods/fcitx/default.nix +++ b/pkgs/tools/inputmethods/fcitx/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "fcitx-4.2.8.3"; + name = "fcitx-4.2.8.4"; src = fetchurl { url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz"; - sha256 = "05dw6cbjh2jyjrkr4qx2bcq6nyhhrs0akf6fcjk5a72bgphhwqnb"; + sha256 = "1yhvqg4q0knywdrh8sljqjn1i72rd8ya0fr70pc0w7fq25013x37"; }; patchPhase = '' From 92f728d546bba5d2c0e87ff28dd91b4d347b66d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 27 Aug 2014 17:05:14 +0800 Subject: [PATCH 0107/2163] add fcitx-anthy --- pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix | 24 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix b/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix new file mode 100644 index 00000000000..2099220f2a1 --- /dev/null +++ b/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, cmake, fcitx, anthy }: + +stdenv.mkDerivation rec { + name = "fcitx-anthy-0.2.1"; + + meta = with stdenv.lib; { + description = "Fcitx Wrapper for anthy"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "http://download.fcitx-im.org/fcitx-anthy/${name}.tar.xz"; + sha256 = "13fpfhhxkzbq53h10i3hifa37nngm47jq361i70z22bgcrs8887x"; + }; + + buildInputs = [ cmake fcitx anthy ]; + + preInstall = '' + substituteInPlace src/cmake_install.cmake \ + --replace ${fcitx} $out + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fb8f6e5bdca..f5daed73c9d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1021,6 +1021,8 @@ let fcitx = callPackage ../tools/inputmethods/fcitx { }; + fcitx-anthy = callPackage ../tools/inputmethods/fcitx/fcitx-anthy.nix { }; + fcron = callPackage ../tools/system/fcron { }; fdm = callPackage ../tools/networking/fdm {}; From 005f78e7393b16fa0cbe53b329dad8cf2b071202 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 27 Aug 2014 11:08:26 +0200 Subject: [PATCH 0108/2163] Fix opening NixOS manual http://hydra.nixos.org/build/13760576 --- nixos/modules/services/misc/nixos-manual.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 808c5dcbdc6..c0d7885280a 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -28,7 +28,7 @@ let options = eval.options; }; - entry = "${manual.manual}/share/doc/nixos/manual.html"; + entry = "${manual.manual}/share/doc/nixos/index.html"; help = pkgs.writeScriptBin "nixos-help" '' From df3006679071421d57af4cfdcc53cee07b3157d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 11:18:59 +0200 Subject: [PATCH 0109/2163] pypy: test sqlite3 and verify the module --- pkgs/development/interpreters/pypy/2.3/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/pypy/2.3/default.nix b/pkgs/development/interpreters/pypy/2.3/default.nix index abf12a66ed8..f31bc731a32 100644 --- a/pkgs/development/interpreters/pypy/2.3/default.nix +++ b/pkgs/development/interpreters/pypy/2.3/default.nix @@ -67,9 +67,8 @@ let # disable socket because it has two actual network tests that fail # disable test_mhlib because it fails for unknown reason # disable test_multiprocessing due to transient errors - # disable sqlite3 due to https://bugs.pypy.org/issue1740 # disable test_os because test_urandom_failure fails - ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_sqlite -test_socket -test_os -test_shutil -test_mhlib -test_multiprocessing' lib-python + ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_socket -test_os -test_shutil -test_mhlib -test_multiprocessing' lib-python ''; installPhase = '' @@ -84,7 +83,7 @@ let ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix} # verify cffi modules - $out/bin/pypy -c "import Tkinter" + $out/bin/pypy -c "import Tkinter;import sqlite3" # TODO: compile python files? ''; From 5e7a1cf955e43e1fa3c1c157c0d6961e1bcf9801 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 27 Aug 2014 10:48:26 +0200 Subject: [PATCH 0110/2163] build-support: Fix nix-prefetch-* on OS X. Fixes a regression on OS X introduced by f83af95. Don't use --tmpdir for mktemp, because that flag doesn't exist on OS X. However, using -t is deprecated in GNU coreutils, so as suggested by @ip1981 we're now using parameter expansion on ${TMPDIR:-/tmp} to provide /tmp as a fallback if TMPDIR is not set and use it instead. Also use this approach for nix-prefetch-cvs now in order to stay consistent. Reported-by: Vladimir Kirillov Tested-by: Igor Pashev Signed-off-by: aszlig --- pkgs/build-support/fetchbzr/nix-prefetch-bzr | 2 +- pkgs/build-support/fetchcvs/nix-prefetch-cvs | 2 +- pkgs/build-support/fetchgit/nix-prefetch-git | 2 +- pkgs/build-support/fetchhg/nix-prefetch-hg | 2 +- pkgs/build-support/fetchsvn/nix-prefetch-svn | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/build-support/fetchbzr/nix-prefetch-bzr b/pkgs/build-support/fetchbzr/nix-prefetch-bzr index 346c2b05cbd..8143fca7025 100755 --- a/pkgs/build-support/fetchbzr/nix-prefetch-bzr +++ b/pkgs/build-support/fetchbzr/nix-prefetch-bzr @@ -43,7 +43,7 @@ fi # If we don't know the hash or a path with that hash doesn't exist, # download the file and add it to the store. if test -z "$finalPath"; then - tmpPath="$(mktemp --tmpdir -d bzr-checkout-tmp-XXXXXXXX)" + tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/bzr-checkout-tmp-XXXXXXXX")" trap "rm -rf \"$tmpPath\"" EXIT tmpFile="$tmpPath/$dstFile" diff --git a/pkgs/build-support/fetchcvs/nix-prefetch-cvs b/pkgs/build-support/fetchcvs/nix-prefetch-cvs index 29e0d29b52e..f9ed8ffa066 100755 --- a/pkgs/build-support/fetchcvs/nix-prefetch-cvs +++ b/pkgs/build-support/fetchcvs/nix-prefetch-cvs @@ -20,7 +20,7 @@ fi mkTempDir() { - tmpPath=$(mktemp -d -t nix-prefetch-cvs-XXXXXXXX) + tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/nix-prefetch-cvs-XXXXXXXX")" trap removeTempDir EXIT SIGINT SIGQUIT } diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index 0d2536e225c..4f9dd2ac272 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-git @@ -256,7 +256,7 @@ else # download the file and add it to the store. if test -z "$finalPath"; then - tmpPath="$(mktemp --tmpdir -d git-checkout-tmp-XXXXXXXX)" + tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/git-checkout-tmp-XXXXXXXX")" trap "rm -rf \"$tmpPath\"" EXIT tmpFile="$tmpPath/git-export" diff --git a/pkgs/build-support/fetchhg/nix-prefetch-hg b/pkgs/build-support/fetchhg/nix-prefetch-hg index 7d4c0c8d741..a8916176f8a 100755 --- a/pkgs/build-support/fetchhg/nix-prefetch-hg +++ b/pkgs/build-support/fetchhg/nix-prefetch-hg @@ -35,7 +35,7 @@ fi # download the file and add it to the store. if test -z "$finalPath"; then - tmpPath="$(mktemp --tmpdir -d hg-checkout-tmp-XXXXXXXX)" + tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/hg-checkout-tmp-XXXXXXXX")" trap "rm -rf \"$tmpPath\"" EXIT tmpArchive="$tmpPath/hg-archive" diff --git a/pkgs/build-support/fetchsvn/nix-prefetch-svn b/pkgs/build-support/fetchsvn/nix-prefetch-svn index 74de0a14c80..03b9eb9a03d 100755 --- a/pkgs/build-support/fetchsvn/nix-prefetch-svn +++ b/pkgs/build-support/fetchsvn/nix-prefetch-svn @@ -41,7 +41,7 @@ fi # If we don't know the hash or a path with that hash doesn't exist, # download the file and add it to the store. if test -z "$finalPath"; then - tmpPath="$(mktemp --tmpdir -d svn-checkout-tmp-XXXXXXXX)" + tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/svn-checkout-tmp-XXXXXXXX")" trap "rm -rf \"$tmpPath\"" EXIT tmpFile="$tmpPath/$dstFile" From 08d2bee3ec60cc575f3aff9a6989ba69c06eed07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 11:49:06 +0200 Subject: [PATCH 0111/2163] pythonPackages: fix last failing builds --- pkgs/top-level/python-packages.nix | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 07173068810..a8de2fe5bdd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3072,12 +3072,12 @@ rec { django_evolution = buildPythonPackage rec { - name = "django_evolution-0.7.3"; + name = "django_evolution-0.6.9"; disabled = isPy3k; src = fetchurl { - url = "http://downloads.reviewboard.org/releases/django-evolution/0.7/${name}.tar.gz"; - md5 = "c51895b6501dd58b0e5dc8f5a5fb6f68"; + url = "http://downloads.reviewboard.org/releases/django-evolution/${name}.tar.gz"; + md5 = "c0d7d10bc41898c88b14d434c48766ff"; }; propagatedBuildInputs = [ django_1_5 ]; @@ -3259,6 +3259,8 @@ rec { url = "http://pypi.python.org/packages/source/e/enum/${name}.tar.gz"; md5 = "ce75c7c3c86741175a84456cc5bd531e"; }; + + doCheck = !isPyPy; buildInputs = [ ]; @@ -4149,6 +4151,9 @@ rec { sha256 = "1flccphpyrb8y8dra2fq2s2v3fg615d77kjjmzl0gmiidabkkdqf"; }; + buildInputs = + [ fs gdata python_keyczar mock pyasn1 pycrypto pytest six ]; + meta = with stdenv.lib; { description = "Store and access your passwords safely"; homepage = "https://pypi.python.org/pypi/keyring"; @@ -4156,9 +4161,6 @@ rec { maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; }; - - buildInputs = - [ fs gdata python_keyczar mock pyasn1 pycrypto pytest ]; }; kitchen = buildPythonPackage (rec { @@ -7021,9 +7023,9 @@ rec { }; propagatedBuildInputs = - [ recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments - djblets django_1_3 django_evolution pycrypto modules.sqlite3 - pysvn pil psycopg2 + [ django_1_3 recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments + djblets django_evolution pycrypto modules.sqlite3 + pysvn pil psycopg2 ]; }; From 42ee3b2478010d5d7f9f1a06cf7fc47fbcb9044a Mon Sep 17 00:00:00 2001 From: Florian Friesdorf Date: Tue, 12 Aug 2014 13:50:40 +0200 Subject: [PATCH 0112/2163] openldap - speedup build --- pkgs/development/libraries/openldap/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix index c9da441705c..cfbbce2f559 100644 --- a/pkgs/development/libraries/openldap/default.nix +++ b/pkgs/development/libraries/openldap/default.nix @@ -12,6 +12,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-overlays" + "--disable-dependency-tracking" # speeds up one-time build ] ++ stdenv.lib.optional (openssl == null) "--without-tls" ++ stdenv.lib.optional (cyrus_sasl == null) "--without-cyrus-sasl"; From 212d91a7dd61f23de853258d3c30849498f7e076 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 17 Apr 2014 14:43:05 +0200 Subject: [PATCH 0113/2163] bitcoin: add support for altcoins --- pkgs/applications/misc/bitcoin/altcoins.nix | 100 ++++++++++++++++++ pkgs/applications/misc/bitcoin/default.nix | 18 ++-- .../misc/bitcoin/namecoin_dynamic.patch | 11 ++ pkgs/top-level/all-packages.nix | 7 +- 4 files changed, 128 insertions(+), 8 deletions(-) create mode 100644 pkgs/applications/misc/bitcoin/altcoins.nix create mode 100644 pkgs/applications/misc/bitcoin/namecoin_dynamic.patch diff --git a/pkgs/applications/misc/bitcoin/altcoins.nix b/pkgs/applications/misc/bitcoin/altcoins.nix new file mode 100644 index 00000000000..2b99bad58da --- /dev/null +++ b/pkgs/applications/misc/bitcoin/altcoins.nix @@ -0,0 +1,100 @@ +{ fetchurl, stdenv, pkgconfig +, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf, utillinux }: + +with stdenv.lib; + +let + buildAltcoin = makeOverridable ({walletName, gui ? true, ...}@a: + stdenv.mkDerivation ({ + name = "${walletName}${toString (optional (!gui) "d")}-${a.version}"; + buildInputs = [ openssl db48 boost zlib miniupnpc ] + ++ optionals gui [ qt4 qrencode ] ++ a.extraBuildInputs or []; + + configurePhase = optional gui "qmake"; + + preBuild = optional (!gui) "cd src"; + makefile = optional (!gui) "makefile.unix"; + + installPhase = if gui then '' + install -D "${walletName}-qt" "$out/bin/${walletName}-qt" + '' else '' + install -D "${walletName}d" "$out/bin/${walletName}d" + ''; + + passthru.walletName = walletName; + + meta = { + platforms = platforms.unix; + license = license.mit; + maintainers = [ maintainers.offline ]; + }; + } // a) + ); + +in rec { + inherit buildAltcoin; + + litecoin = buildAltcoin rec { + walletName = "litecoin"; + version = "0.8.5.3-rc3"; + + src = fetchurl { + url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz"; + sha256 = "1z4a7bm3z9kd7n0s38kln31z8shsd32d5d5v3br5p0jlnr5g3lk7"; + }; + + meta = { + description = "Litecoin is a lite version of Bitcoin using scrypt as a proof-of-work algorithm."; + longDescription= '' + Litecoin is a peer-to-peer Internet currency that enables instant payments + to anyone in the world. It is based on the Bitcoin protocol but differs + from Bitcoin in that it can be efficiently mined with consumer-grade hardware. + Litecoin provides faster transaction confirmations (2.5 minutes on average) + and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target + the regular computers and GPUs most people already have. + The Litecoin network is scheduled to produce 84 million currency units. + ''; + homepage = https://litecoin.org/; + }; + }; + litecoind = litecoin.override { gui = false; }; + + namecoin = buildAltcoin rec { + walletName = "namecoin"; + version = "0.3.51.00"; + gui = false; + + src = fetchurl { + url = "https://github.com/namecoin/namecoin/archive/nc${version}.tar.gz"; + sha256 = "0r6zjzichfjzhvpdy501gwy9h3zvlla3kbgb38z1pzaa0ld9siyx"; + }; + + patches = [ ./namecoin_dynamic.patch ]; + + extraBuildInputs = [ glib ]; + + meta = { + description = "Namecoin is a decentralized key/value registration and transfer system based on Bitcoin technology."; + homepage = http://namecoin.info; + }; + }; + + dogecoin = buildAltcoin rec { + walletName = "dogecoin"; + version = "1.4"; + + src = fetchurl { + url = "https://github.com/dogecoin/dogecoin/archive/1.4.tar.gz"; + sha256 = "4af983f182976c98f0e32d525083979c9509b28b7d6faa0b90c5bd40b71009cc"; + }; + + meta = { + description = "Wow, such coin, much shiba, very rich"; + longDescription = "wow"; + homepage = http://www.dogecoin.com/; + maintainers = [ maintainers.offline maintainers.edwtjo ]; + }; + }; + dogecoind = dogecoin.override { gui = false; }; + +} diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix index d7c1fbc487b..2b68c58b12d 100644 --- a/pkgs/applications/misc/bitcoin/default.nix +++ b/pkgs/applications/misc/bitcoin/default.nix @@ -1,19 +1,21 @@ { fetchurl, stdenv, openssl, db48, boost, zlib, miniupnpc, qt4, utillinux -, pkgconfig, protobuf, qrencode }: +, pkgconfig, protobuf, qrencode, gui ? true }: + +with stdenv.lib; stdenv.mkDerivation rec { version = "0.9.2.1"; - name = "bitcoin-${version}"; + name = "bitcoin${toString (optional (!gui) "d")}-${version}"; src = fetchurl { - url = "https://bitcoin.org/bin/${version}/${name}-linux.tar.gz"; + url = "https://bitcoin.org/bin/${version}/bitcoin-${version}-linux.tar.gz"; sha256 = "0060f7d38b98113ab912d4c184000291d7f026eaf77ca5830deec15059678f54"; }; # hexdump from utillinux is required for tests buildInputs = [ - openssl db48 boost zlib miniupnpc qt4 utillinux pkgconfig protobuf qrencode - ]; + openssl db48 boost zlib miniupnpc utillinux pkgconfig protobuf + ] ++ optionals gui [ qt4 qrencode ]; unpackPhase = '' mkdir tmp-extract && (cd tmp-extract && tar xf $src) @@ -34,6 +36,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + passthru.walletName = "bitcoin"; + meta = { description = "Peer-to-peer electronic cash system"; longDescription= '' @@ -43,7 +47,7 @@ stdenv.mkDerivation rec { with each other, with the help of a P2P network to check for double-spending. ''; homepage = "http://www.bitcoin.org/"; - maintainers = [ stdenv.lib.maintainers.roconnor ]; - license = stdenv.lib.licenses.mit; + maintainers = [ maintainers.roconnor ]; + license = licenses.mit; }; } diff --git a/pkgs/applications/misc/bitcoin/namecoin_dynamic.patch b/pkgs/applications/misc/bitcoin/namecoin_dynamic.patch new file mode 100644 index 00000000000..ef4184ede73 --- /dev/null +++ b/pkgs/applications/misc/bitcoin/namecoin_dynamic.patch @@ -0,0 +1,11 @@ +diff -u -r a/src/makefile.unix b/src/makefile.unix +--- a/src/makefile.unix 2014-01-22 22:07:59.801601964 -0800 ++++ b/src/makefile.unix 2014-01-22 22:08:07.980332839 -0800 +@@ -12,7 +12,6 @@ + + # for boost 1.37, add -mt to the boost libraries + LIBS= \ +- -Wl,-Bstatic \ + -l boost_system \ + -l boost_filesystem \ + -l boost_program_options \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a5fa04d8936..8ff0a9d043f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8275,7 +8275,12 @@ let bibletime = callPackage ../applications/misc/bibletime { }; - bitcoin = callPackage ../applications/misc/bitcoin { }; + bitcoin = callPackage ../applications/misc/bitcoin {}; + bitcoind = callPackage ../applications/misc/bitcoin { gui = false; }; + + altcoins = recurseIntoAttrs ( + callPackage ../applications/misc/bitcoin/altcoins.nix {} + ); bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { gnutls = gnutls; From 41788255ab904ca36ce22fa9263318ad081f3e1a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 27 Aug 2014 12:24:10 +0200 Subject: [PATCH 0114/2163] Manual: Start of module-specific documentation --- .../manual/configuration/configuration.xml | 3 + nixos/doc/manual/default.nix | 4 +- .../modules/services/databases/postgresql.xml | 77 +++++++++++++++++++ 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 nixos/modules/services/databases/postgresql.xml diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml index e15c700017c..8fde0dc7e61 100644 --- a/nixos/doc/manual/configuration/configuration.xml +++ b/nixos/doc/manual/configuration/configuration.xml @@ -24,6 +24,9 @@ effect after you run nixos-rebuild. + + + diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index f5cc33919b8..47e01437ccc 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -41,6 +41,8 @@ let copySources = '' cp -prd $sources/* . # */ + chmod -R u+w . + cp ${../../modules/services/databases/postgresql.xml} configuration/postgresql.xml ln -s ${optionsDocBook} options-db.xml echo "${version}" > version ''; @@ -74,7 +76,7 @@ in rec { --param toc.section.depth 3 \ --stringparam admon.style "" \ --stringparam callout.graphics.extension .gif \ - --param chunk.section.depth 1 \ + --param chunk.section.depth 0 \ --param chunk.first.sections 1 \ --param use.id.as.filename 1 \ --stringparam generate.toc "book toc chapter toc appendix toc" \ diff --git a/nixos/modules/services/databases/postgresql.xml b/nixos/modules/services/databases/postgresql.xml new file mode 100644 index 00000000000..e98b431bd60 --- /dev/null +++ b/nixos/modules/services/databases/postgresql.xml @@ -0,0 +1,77 @@ + + +PostgreSQL + + + + +Source: modules/services/databases/postgresql.nix + +Upstream documentation: + + + +PostgreSQL is an advanced, free relational database. + +
Configuring + +To enable PostgreSQL, add the following to your +configuration.nix: + + +services.postgresql.enable = true; +services.postgresql.package = pkgs.postgresql93; + + +Note that you are required to specify the desired version of +PostgreSQL (e.g. pkgs.postgresql93). Since +upgrading your PostgreSQL version requires a database dump and reload +(see below), NixOS cannot provide a default value for + such as the most recent +release of PostgreSQL. + + + +By default, PostgreSQL stores its databases in +/var/db/postgresql. You can override this using +, e.g. + + +services.postgresql.dataDir = "/data/postgresql"; + + + + +
+ + +
Upgrading + +FIXME: document dump/upgrade/load cycle. + +
+ + +
Options + +FIXME: auto-generated list of module options. + +
+ + +
From 49336878851c852f36fe9d95cbc0c8a0bc660c69 Mon Sep 17 00:00:00 2001 From: Andrew Morsillo Date: Tue, 26 Aug 2014 13:44:49 -0400 Subject: [PATCH 0115/2163] Bump mongodb version from 2.6.0 to 2.6.4 --- pkgs/servers/nosql/mongodb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix index aa9da965d17..f51a2b8fe3f 100644 --- a/pkgs/servers/nosql/mongodb/default.nix +++ b/pkgs/servers/nosql/mongodb/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, scons, boost, gperftools, pcre, snappy }: -let version = "2.6.0"; +let version = "2.6.4"; system-libraries = [ "tcmalloc" "pcre" @@ -18,7 +18,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz"; - sha256 = "066kppjdmdpadjr09ildla3aw42anzsc9pa55iwp3wa4rgqd2i33"; + sha256 = "1h4rrgcb95234ryjma3fjg50qsm1bnxjx5ib0c3p9nzmc2ji2m07"; }; nativeBuildInputs = [ scons boost gperftools pcre snappy ]; From ea7c41236825d14bc2a86e25dd951154f1c4e6e5 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sun, 29 Jun 2014 00:05:39 -0400 Subject: [PATCH 0116/2163] cpuminer-multi: initial expression --- pkgs/tools/misc/cpuminer-multi/default.nix | 31 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/tools/misc/cpuminer-multi/default.nix diff --git a/pkgs/tools/misc/cpuminer-multi/default.nix b/pkgs/tools/misc/cpuminer-multi/default.nix new file mode 100644 index 00000000000..c61e0ff00b3 --- /dev/null +++ b/pkgs/tools/misc/cpuminer-multi/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchgit, curl, jansson, autoconf, automake, openssl +, aesni ? true }: + +let + rev = "4230012da5d1cc491976c6f5e45da36db6d9f576"; + date = "20140619"; +in +stdenv.mkDerivation rec { + name = "cpuminer-multi-${date}-${stdenv.lib.strings.substring 0 7 rev}"; + + src = fetchgit { + inherit rev; + url = https://github.com/wolf9466/cpuminer-multi.git; + sha256 = "c19a5dd1bfdbbaec3729f61248e858a5d8701424fffe67fdabf8179ced9c110b"; + }; + + buildInputs = [ autoconf automake curl jansson openssl ]; + + preConfigure = '' + ./autogen.sh + ''; + + configureFlags = if aesni then [ "--disable-aes-ni" ] else [ ]; + + meta = with stdenv.lib; { + description = "Multi-algo CPUMiner"; + homepage = https://github.com/wolf9466/cpuminer-multi; + license = licenses.gpl2; + maintainers = [ maintainers.emery ]; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8ff0a9d043f..9b6da45fe5d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -793,6 +793,8 @@ let cpuminer = callPackage ../tools/misc/cpuminer { }; + cpuminer-multi = callPackage ../tools/misc/cpuminer-multi { }; + cuetools = callPackage ../tools/cd-dvd/cuetools { }; unifdef = callPackage ../development/tools/misc/unifdef { }; From ac90177cb1f793c7f05b7c3fb33f0bc08bb1334f Mon Sep 17 00:00:00 2001 From: Nathan Bijnens Date: Sun, 24 Aug 2014 17:43:45 +0200 Subject: [PATCH 0117/2163] Zookeeper --- nixos/modules/misc/ids.nix | 1 + nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/zookeeper.nix | 145 ++++++++++++++++++++++ pkgs/servers/zookeeper/default.nix | 36 ++++++ pkgs/top-level/all-packages.nix | 2 + 5 files changed, 185 insertions(+) create mode 100755 nixos/modules/services/misc/zookeeper.nix create mode 100755 pkgs/servers/zookeeper/default.nix diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 99a33f68735..92ab241deaa 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -147,6 +147,7 @@ riemann = 137; riemanndash = 138; radvd = 139; + zookeeper = 140; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 59c69f060b9..e2f2921b870 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -164,6 +164,7 @@ ./services/misc/siproxd.nix ./services/misc/svnserve.nix ./services/misc/synergy.nix + ./services/misc/zookeeper.nix ./services/monitoring/apcupsd.nix ./services/monitoring/dd-agent.nix ./services/monitoring/graphite.nix diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix new file mode 100755 index 00000000000..47675b8876c --- /dev/null +++ b/nixos/modules/services/misc/zookeeper.nix @@ -0,0 +1,145 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.zookeeper; + + zookeeperConfig = '' + dataDir=${cfg.dataDir} + clientPort=${toString cfg.port} + autopurge.purgeInterval=${toString cfg.purgeInterval} + ${cfg.extraConf} + ${cfg.servers} + ''; + + configDir = pkgs.buildEnv { + name = "zookeeper-conf"; + paths = [ + (pkgs.writeTextDir "zoo.cfg" zookeeperConfig) + (pkgs.writeTextDir "log4j.properties" cfg.logging) + ]; + }; + +in { + + options.services.zookeeper = { + enable = mkOption { + description = "Whether to enable Zookeeper."; + default = false; + type = types.uniq types.bool; + }; + + port = mkOption { + description = "Zookeeper Client port."; + default = 2181; + type = types.int; + }; + + id = mkOption { + description = "Zookeeper ID."; + default = 0; + type = types.int; + }; + + purgeInterval = mkOption { + description = '' + The time interval in hours for which the purge task has to be triggered. Set to a positive integer (1 and above) to enable the auto purging. + ''; + default = 1; + type = types.int; + }; + + extraConf = mkOption { + description = "Extra configuration for Zookeeper."; + type = types.lines; + default = '' + initLimit=5 + syncLimit=2 + tickTime=2000 + ''; + }; + + servers = mkOption { + description = "All Zookeeper Servers."; + default = ""; + type = types.lines; + example = '' + server.0=host0:2888:3888 + server.1=host1:2888:3888 + server.2=host2:2888:3888 + ''; + }; + + logging = mkOption { + description = "Zookeeper logging configuration."; + default = '' + zookeeper.root.logger=INFO, CONSOLE + log4j.rootLogger=INFO, CONSOLE + log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender + log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout + log4j.appender.CONSOLE.layout.ConversionPattern=[myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n + ''; + type = types.lines; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/zookeeper"; + description = '' + Data directory for Zookeeper + ''; + }; + + extraCmdLineOptions = mkOption { + description = "Extra command line options for the Zookeeper launcher."; + default = [ "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.local.only=true" ]; + type = types.listOf types.string; + example = [ "-Djava.net.preferIPv4Stack=true" "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.local.only=true" ]; + }; + + preferIPv4 = mkOption { + type = types.bool; + default = true; + description = '' + Add the -Djava.net.preferIPv4Stack=true flag to the Zookeeper server. + ''; + }; + + }; + + + config = mkIf cfg.enable { + systemd.services.zookeeper = { + description = "Zookeeper Daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-interfaces.target" ]; + environment = { ZOOCFGDIR = configDir; }; + serviceConfig = { + ExecStart = '' + ${pkgs.jre}/bin/java \ + -cp "${pkgs.zookeeper}/lib/*:${pkgs.zookeeper}/${pkgs.zookeeper.name}.jar:${configDir}" \ + ${toString cfg.extraCmdLineOptions} \ + -Dzookeeper.datadir.autocreate=false \ + ${optionalString cfg.preferIPv4 "-Djava.net.preferIPv4Stack=true"} \ + org.apache.zookeeper.server.quorum.QuorumPeerMain \ + ${configDir}/zoo.cfg + ''; + User = "zookeeper"; + PermissionsStartOnly = true; + }; + preStart = '' + mkdir -m 0700 -p ${cfg.dataDir} + if [ "$(id -u)" = 0 ]; then chown zookeeper ${cfg.dataDir}; fi + echo "${toString cfg.id}" > ${cfg.dataDir}/myid + ''; + }; + + users.extraUsers = singleton { + name = "zookeeper"; + uid = config.ids.uids.zookeeper; + description = "Zookeeper daemon user"; + home = cfg.dataDir; + }; + }; +} diff --git a/pkgs/servers/zookeeper/default.nix b/pkgs/servers/zookeeper/default.nix new file mode 100755 index 00000000000..307993a958a --- /dev/null +++ b/pkgs/servers/zookeeper/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, jre, makeWrapper, bash }: + +stdenv.mkDerivation rec { + name = "zookeeper-3.4.6"; + + src = fetchurl { + url = "mirror://apache/zookeeper/${name}/${name}.tar.gz"; + sha256 = "01b3938547cd620dc4c93efe07c0360411f4a66962a70500b163b59014046994"; + }; + + buildInputs = [ makeWrapper jre ]; + + phases = ["unpackPhase" "installPhase"]; + + installPhase = '' + mkdir -p $out + cp -R conf docs lib ${name}.jar $out + mkdir -p $out/bin + cp -R bin/{zkCli,zkCleanup,zkEnv}.sh $out/bin + for i in $out/bin/{zkCli,zkCleanup}.sh; do + wrapProgram $i \ + --set JAVA_HOME "${jre}" \ + --prefix PATH : "${bash}/bin" + done + chmod -x $out/bin/zkEnv.sh + ''; + + meta = with stdenv.lib; { + homepage = "http://zookeeper.apache.org"; + description = "Apache Zookeeper"; + license = licenses.asl20; + maintainers = [ maintainers.nathan-gs ]; + platforms = platforms.unix; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9b6da45fe5d..fe27dd2c970 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7086,6 +7086,8 @@ let xinetd = callPackage ../servers/xinetd { }; + zookeeper = callPackage ../servers/zookeeper { }; + xquartz = callPackage ../servers/x11/xquartz { }; quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; }; From 21090fa778a0ed28ef5bfd81ad8c9d046034fc6a Mon Sep 17 00:00:00 2001 From: "ambrop7@gmail.com" Date: Wed, 27 Aug 2014 12:51:21 +0200 Subject: [PATCH 0118/2163] Add BOSSA. BOSSA is a flash programming utility for Atmel's SAM family of flash-based ARM microcontrollers. The motivation behind BOSSA is to create a simple, easy-to-use, open source utility to replace Atmel's SAM-BA software. BOSSA is an acronym for Basic Open Source SAM-BA Application to reflect that goal. --- pkgs/development/tools/misc/bossa/bin2c.c | 122 ++++++++++++++++++ pkgs/development/tools/misc/bossa/default.nix | 49 +++++++ pkgs/top-level/all-packages.nix | 4 + 3 files changed, 175 insertions(+) create mode 100644 pkgs/development/tools/misc/bossa/bin2c.c create mode 100644 pkgs/development/tools/misc/bossa/default.nix diff --git a/pkgs/development/tools/misc/bossa/bin2c.c b/pkgs/development/tools/misc/bossa/bin2c.c new file mode 100644 index 00000000000..f0b915de540 --- /dev/null +++ b/pkgs/development/tools/misc/bossa/bin2c.c @@ -0,0 +1,122 @@ +// bin2c.c +// +// convert a binary file into a C source vector +// +// THE "BEER-WARE LICENSE" (Revision 3.1415): +// sandro AT sigala DOT it wrote this file. As long as you retain this notice you can do +// whatever you want with this stuff. If we meet some day, and you think this stuff is +// worth it, you can buy me a beer in return. Sandro Sigala +// +// syntax: bin2c [-c] [-z] +// +// -c add the "const" keyword to definition +// -z terminate the array with a zero (useful for embedded C strings) +// +// examples: +// bin2c -c myimage.png myimage_png.cpp +// bin2c -z sometext.txt sometext_txt.cpp + +#include +#include +#include +#include + +#ifndef PATH_MAX +#define PATH_MAX 1024 +#endif + +int useconst = 0; +int zeroterminated = 0; + +int myfgetc(FILE *f) +{ + int c = fgetc(f); + if (c == EOF && zeroterminated) + { + zeroterminated = 0; + return 0; + } + return c; +} + +void process(const char *ifname, const char *ofname) +{ + FILE *ifile, *ofile; + ifile = fopen(ifname, "rb"); + if (ifile == NULL) + { + fprintf(stderr, "cannot open %s for reading\n", ifname); + exit(1); + } + ofile = fopen(ofname, "wb"); + if (ofile == NULL) + { + fprintf(stderr, "cannot open %s for writing\n", ofname); + exit(1); + } + char buf[PATH_MAX], *p; + const char *cp; + if ((cp = strrchr(ifname, '/')) != NULL) + { + ++cp; + } else { + if ((cp = strrchr(ifname, '\\')) != NULL) + ++cp; + else + cp = ifname; + } + strcpy(buf, cp); + for (p = buf; *p != '\0'; ++p) + { + if (!isalnum(*p)) + *p = '_'; + } + fprintf(ofile, "static %sunsigned char %s[] = {\n", useconst ? "const " : "", buf); + int c, col = 1; + while ((c = myfgetc(ifile)) != EOF) + { + if (col >= 78 - 6) + { + fputc('\n', ofile); + col = 1; + } + fprintf(ofile, "0x%.2x, ", c); + col += 6; + } + fprintf(ofile, "\n};\n"); + + fclose(ifile); + fclose(ofile); +} + +void usage(void) +{ + fprintf(stderr, "usage: bin2c [-cz] \n"); + exit(1); +} + +int main(int argc, char **argv) +{ + while (argc > 3) + { + if (!strcmp(argv[1], "-c")) + { + useconst = 1; + --argc; + ++argv; + } else if (!strcmp(argv[1], "-z")) + { + zeroterminated = 1; + --argc; + ++argv; + } else { + usage(); + } + } + if (argc != 3) + { + usage(); + } + process(argv[1], argv[2]); + return 0; +} diff --git a/pkgs/development/tools/misc/bossa/default.nix b/pkgs/development/tools/misc/bossa/default.nix new file mode 100644 index 00000000000..f0b6d81e69e --- /dev/null +++ b/pkgs/development/tools/misc/bossa/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchgit, wxGTK, libX11, readline }: + +let + # BOSSA needs a "bin2c" program to embed images. + # Source taken from: + # http://wiki.wxwidgets.org/Embedding_PNG_Images-Bin2c_In_C + bin2c = stdenv.mkDerivation { + name = "bossa-bin2c"; + src = ./bin2c.c; + unpackPhase = "true"; + buildPhase = ''cc $src -o bin2c''; + installPhase = ''mkdir -p $out/bin; cp bin2c $out/bin/''; + }; + +in +stdenv.mkDerivation rec { + name = "bossa"; + + src = fetchgit { + url = https://github.com/shumatech/BOSSA; + rev = "0f0a41cb1c3a65e909c5c744d8ae664e896a08ac"; /* arduino branch */ + sha256 = "01y8r45fw02rps9q995mv82bxrm6p0mysv4wir5glpagrhnyw7md"; + }; + + nativeBuildInputs = [ bin2c ]; + buildInputs = [ wxGTK libX11 readline ]; + + # Explicitly specify targets so they don't get stripped. + makeFlags = [ "bin/bossac" "bin/bossash" "bin/bossa" ]; + + installPhase = '' + mkdir -p $out/bin + cp bin/bossa{c,sh,} $out/bin/ + ''; + + meta = with stdenv.lib; { + description = "A flash programming utility for Atmel's SAM family of flash-based ARM microcontrollers"; + longDescription = '' + BOSSA is a flash programming utility for Atmel's SAM family of + flash-based ARM microcontrollers. The motivation behind BOSSA is + to create a simple, easy-to-use, open source utility to replace + Atmel's SAM-BA software. BOSSA is an acronym for Basic Open + Source SAM-BA Application to reflect that goal. + ''; + homepage = http://www.shumatech.com/web/products/bossa; + license = licenses.bsd3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fe27dd2c970..0a97c43463d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3854,6 +3854,10 @@ let bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { }; bison = bison3; + bossa = callPackage ../development/tools/misc/bossa { + wxGTK = wxGTK30; + }; + buildbot = callPackage ../development/tools/build-managers/buildbot { inherit (pythonPackages) twisted jinja2 sqlalchemy sqlalchemy_migrate; dateutil = pythonPackages.dateutil_1_5; From d52d71a04bd99794401178acaf164fec94b8e387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 12:09:42 +0200 Subject: [PATCH 0119/2163] pythonPackages.boto_1_9: remove --- .../virtualization/nova/default.nix | 2 +- .../virtualization/virt-manager/default.nix | 2 +- .../virtualization/virtinst/default.nix | 2 +- pkgs/top-level/python-packages.nix | 27 ------------------- 4 files changed, 3 insertions(+), 30 deletions(-) diff --git a/pkgs/applications/virtualization/nova/default.nix b/pkgs/applications/virtualization/nova/default.nix index c1ef20b7aa0..0023cf44f33 100644 --- a/pkgs/applications/virtualization/nova/default.nix +++ b/pkgs/applications/virtualization/nova/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pythonPath = with pythonPackages; [ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes - paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate + paste_deploy m2crypto ipy twisted sqlalchemy_migrate distutils_extra simplejson readline glance cheetah lockfile httplib2 # !!! should libvirt be a build-time dependency? Note that # libxml2Python is a dependency of libvirt.py. diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index 9df6967704a..e451ff79a94 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ eventlet greenlet gflags netaddr sqlalchemy carrot routes - paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate + paste_deploy m2crypto ipy twisted sqlalchemy_migrate distutils_extra simplejson readline glance cheetah lockfile httplib2 urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3 libvirt libxml2Python ipaddr vte diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix index 8e2da5c3b76..9b89a78f838 100644 --- a/pkgs/applications/virtualization/virtinst/default.nix +++ b/pkgs/applications/virtualization/virtinst/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { pythonPath = with pythonPackages; [ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes - paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate + paste_deploy m2crypto ipy twisted sqlalchemy_migrate distutils_extra simplejson readline glance cheetah lockfile httplib2 # !!! should libvirt be a build-time dependency? Note that # libxml2Python is a dependency of libvirt.py. diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a8de2fe5bdd..6185be2739d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -900,33 +900,6 @@ rec { }; - # euca2ools (and maybe Nova) needs boto 1.9, 2.0 doesn't work. - boto_1_9 = buildPythonPackage (rec { - name = "boto-1.9b"; - - src = fetchurl { - url = "http://boto.googlecode.com/files/${name}.tar.gz"; - sha1 = "00a033b0a593c3ca82927867950f73d88b831155"; - }; - - patches = [ ../development/python-modules/boto-1.9-python-2.7.patch ]; - - meta = { - homepage = http://code.google.com/p/boto/; - - license = "bsd"; - - description = "Python interface to Amazon Web Services"; - - longDescription = '' - The boto module is an integrated interface to current and - future infrastructural services offered by Amazon Web - Services. This includes S3, SQS, EC2, among others. - ''; - }; - }); - - boto = buildPythonPackage rec { name = "boto-${version}"; version = "2.32.0"; From 8b36efaf6a4e6bd7fa0ea384bd2255fb0b11adea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 13:25:55 +0200 Subject: [PATCH 0120/2163] python3Packages: more build fixes --- pkgs/top-level/python-packages.nix | 108 ++++++++++++++++++++++------- 1 file changed, 84 insertions(+), 24 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6185be2739d..6d598ef1060 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -476,6 +476,7 @@ rec { async = buildPythonPackage rec { name = "async-0.6.1"; + disabled = isPy3k; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; buildInputs = [ pkgs.zlib ]; @@ -1170,6 +1171,7 @@ rec { clientform = buildPythonPackage (rec { name = "clientform-0.2.10"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/C/ClientForm/ClientForm-0.2.10.tar.gz"; @@ -1299,11 +1301,11 @@ rec { configobj = buildPythonPackage (rec { - name = "configobj-4.7.2"; + name = "configobj-5.0.6"; src = fetchurl { url = "http://pypi.python.org/packages/source/c/configobj/${name}.tar.gz"; - md5 = "201dbaa732a9049c839f9bb6c27fc7b5"; + md5 = "e472a3a1c2a67bb0ec9b5d54c13a47d6"; }; # error: invalid command 'test' @@ -1619,6 +1621,7 @@ rec { darcsver = buildPythonPackage (rec { name = "darcsver-1.7.4"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz"; @@ -1852,6 +1855,7 @@ rec { dpkt = buildPythonPackage rec { name = "dpkt-1.8"; + disabled = isPy3k; src = fetchurl { url = "https://dpkt.googlecode.com/files/${name}.tar.gz"; @@ -2006,6 +2010,7 @@ rec { faker = buildPythonPackage rec { name = "faker-0.0.4"; + disabled = isPy3k; src = fetchurl { url = https://pypi.python.org/packages/source/F/Faker/Faker-0.0.4.tar.gz; sha256 = "09q5jna3j8di0gw5yjx0dvlndkrk2x9vvqzwyfsvg3nlp8h38js1"; @@ -2219,6 +2224,7 @@ rec { koji = buildPythonPackage (rec { name = "koji-1.8"; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + disabled = isPy3k; src = fetchurl { url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2"; @@ -2828,7 +2834,16 @@ rec { }; }; + zope_tales = buildPythonPackage rec { + name = "zope.tales-4.0.2"; + propagatedBuildInputs = [ zope_interface six zope_testrunner ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/z/zope.tales/${name}.zip"; + md5 = "902b03a5f9774f6e2decf3f06d18a09d"; + }; + }; zope_deprecation = buildPythonPackage rec { @@ -3101,6 +3116,7 @@ rec { dulwich = buildPythonPackage rec { name = "dulwich-0.8.7"; + disabled = isPy3k || isPyPy; src = fetchurl { url = "http://samba.org/~jelmer/dulwich/${name}.tar.gz"; @@ -3227,6 +3243,7 @@ rec { enum = buildPythonPackage rec { name = "enum-0.4.4"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/e/enum/${name}.tar.gz"; @@ -3431,6 +3448,7 @@ rec { flup = buildPythonPackage (rec { name = "flup-1.0.2"; + disabled = isPy3k; src = fetchurl { url = "http://www.saddi.com/software/flup/dist/${name}.tar.gz"; @@ -3497,6 +3515,7 @@ rec { baseName = "fuse"; version = "0.2.1"; name = "${baseName}-${version}"; + disabled = isPy3k; src = fetchurl { url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz"; @@ -4138,6 +4157,8 @@ rec { kitchen = buildPythonPackage (rec { name = "kitchen-1.1.1"; + disabled = isPy3k; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; src = fetchurl { @@ -4779,6 +4800,8 @@ rec { MySQL_python = buildPythonPackage { name = "MySQL-python-1.2.3"; + + disabled = isPy3k; # plenty of failing tests doCheck = false; @@ -4888,12 +4911,12 @@ rec { }; netifaces = buildPythonPackage rec { - version = "0.8"; + version = "0.10.4"; name = "netifaces-${version}"; src = fetchurl { - url = "http://alastairs-place.net/projects/netifaces/${name}.tar.gz"; - sha256 = "1v5i39kx4yz1pwgjfbzi63w55l2z318zgmi9f77ybmmkil1i39sk"; + url = "http://pypi.python.org/packages/source/n/netifaces/${name}.tar.gz"; + sha256 = "1plw237a4zib4z8s62g0mrs8gm3kjfrp5sxh6bbk9nl3rdls2mln"; }; meta = { @@ -5582,7 +5605,7 @@ rec { pika = buildPythonPackage { name = "pika-0.9.12"; - diabled = isPy3k; + disabled = isPy3k; src = fetchurl { url = https://pypi.python.org/packages/source/p/pika/pika-0.9.12.tar.gz; md5 = "7174fc7cc5570314fa3cfaa729106482"; @@ -5756,6 +5779,11 @@ rec { url = "http://pypi.python.org/packages/source/P/PrettyTable/${name}.tar.bz2"; sha1 = "ad346a18d92c1d95f2295397c7a8a4f489e48851"; }; + + preCheck = '' + export LANG="en_US.UTF-8" + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + ''; meta = { description = "Simple Python library for easily displaying tabular data in a visually appealing ASCII table format"; @@ -6617,6 +6645,7 @@ rec { pysqlite = buildPythonPackage (rec { name = "pysqlite-2.6.3"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/p/pysqlite/${name}.tar.gz"; @@ -7436,11 +7465,11 @@ rec { }); sigal = buildPythonPackage rec { - name = "sigal-0.5.0"; + name = "sigal-0.7.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/s/sigal/${name}.tar.gz"; - md5 = "93c93725674c0702583a638f5a09c9e4"; + md5 = "d2386706ac8543378aebde1ea4edeba4"; }; propagatedBuildInputs = [ jinja2 markdown pillow pilkit clint argh pytest ]; @@ -7999,6 +8028,7 @@ rec { stompclient = buildPythonPackage (rec { name = "stompclient-0.3.2"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/s/stompclient/${name}.tar.gz"; @@ -8039,6 +8069,11 @@ rec { sure = buildPythonPackage rec { name = "sure-${version}"; version = "1.2.7"; + + preBuild = '' + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + export LC_ALL="en_US.UTF-8" + ''; # Not picking up from PyPI because it doesn't contain tests. src = fetchgit { @@ -8046,6 +8081,8 @@ rec { rev = "86ab9faa97aa9c1720c7d090deac2be385ed3d7a"; sha256 = "02vffcdgr6vbj80lhl925w7zqy6cqnfvs088i0rbkjs5lxc511b3"; }; + + buildInputs = [ nose ]; @@ -9108,6 +9145,21 @@ rec { maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; + + zope_browserresource = buildPythonPackage rec { + name = "zope.browserresource-4.0.1"; + + propagatedBuildInputs = [ + zope_component zope_configuration zope_contenttype zope_i18n + zope_interface zope_location zope_publisher zope_schema zope_traversing + ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/z/zope.browserresource/zope.browserresource-4.0.1.zip"; + md5 = "81bbe92c1f04725561470f89d73222c5"; + }; + }; + zope_component = buildPythonPackage rec { @@ -9149,11 +9201,11 @@ rec { zope_container = buildPythonPackage rec { - name = "zope.container-3.11.2"; + name = "zope.container-4.0.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.container/${name}.tar.gz"; - md5 = "fc66d85a17b8ffb701091c9328983dcc"; + md5 = "b24d2303ece65a2d9ce23a5bd074c335"; }; propagatedBuildInputs = [ @@ -9169,11 +9221,11 @@ rec { zope_contenttype = buildPythonPackage rec { - name = "zope.contenttype-3.5.5"; + name = "zope.contenttype-4.0.1"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.contenttype/${name}.zip"; - md5 = "c6ac80e6887de4108a383f349fbdf332"; + url = "http://pypi.python.org/packages/source/z/zope.contenttype/${name}.tar.gz"; + md5 = "171be44753e86742da8c81b3ad008ce0"; }; meta = { @@ -9356,7 +9408,7 @@ rec { name = "zope.schema-4.2.2"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.2.2.tar.gz"; + url = "http://pypi.python.org/packages/source/z/zope.schema/${name}.tar.gz"; md5 = "e7e581af8193551831560a736a53cf58"; }; @@ -9372,13 +9424,13 @@ rec { name = "zope.security-4.0.1"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.security/zope.security-3.7.4.tar.gz"; - md5 = "072ab8d11adc083eace11262da08630c"; + url = "http://pypi.python.org/packages/source/z/zope.security/${name}.tar.gz"; + md5 = "27d1f2873a0ee9c1f485f7b8f22d8e1c"; }; propagatedBuildInputs = [ zope_component zope_configuration zope_i18nmessageid zope_schema - zope_proxy + zope_proxy zope_testrunner ]; meta = { @@ -9470,14 +9522,17 @@ rec { zope_traversing = buildPythonPackage rec { - name = "zope.traversing-3.13.2"; + name = "zope.traversing-4.0.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.traversing/${name}.zip"; - md5 = "eaad8fc7bbef126f9f8616b074ec00aa"; + md5 = "5cc40c552f953939f7c597ebbedd586f"; }; - propagatedBuildInputs = [ zope_location zope_security zope_publisher ]; + propagatedBuildInputs = [ zope_location zope_security zope_publisher transaction zope_tales ]; + + # circular dependency on zope_browserresource + doCheck = false; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -9486,11 +9541,11 @@ rec { zope_interface = buildPythonPackage rec { - name = "zope.interface-4.0.3"; + name = "zope.interface-4.1.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.interface/${name}.tar.gz"; - md5 = "1ddd308f2c83703accd1696158c300eb"; + md5 = "edcd5f719c5eb2e18894c4d06e29b6c6"; }; propagatedBuildInputs = [ zope_event ]; @@ -9525,6 +9580,7 @@ rec { cliapp = buildPythonPackage rec { name = "cliapp-${version}"; version = "1.20140719"; + disabled = isPy3k; src = fetchurl rec { url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_${version}.orig.tar.gz"; @@ -10016,15 +10072,19 @@ rec { IMAPClient = buildPythonPackage rec { name = "IMAPClient-${version}"; - version = "0.9.2"; + version = "0.11"; + disabled = isPy34; src = fetchurl { url = "http://freshfoo.com/projects/IMAPClient/${name}.tar.gz"; - sha256 = "10alpj7074djs048xjc4j7ggd1nrqdqpy0fzl7fj9hddp0rbchs9"; + sha256 = "1w54h8gz25qf6ggazzp6xf7kvsyiadsjfkkk17gm0p6pmzvvccbn"; }; + + buildInputs = [ mock ]; preConfigure = '' sed -i '/distribute_setup/d' setup.py + substituteInPlace setup.py --replace "mock==0.8.0" "mock" ''; meta = { From 8493813850d26a780d69bed27f3f2155c50c06f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 13:34:38 +0200 Subject: [PATCH 0121/2163] python3Packages: more build fixes --- pkgs/top-level/python-packages.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6d598ef1060..7a2e90e56d2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4619,8 +4619,10 @@ rec { }; }); - moinmoin = let ver="1.9.7"; in buildPythonPackage (rec { + moinmoin = buildPythonPackage (rec { name = "moinmoin-${ver}"; + disabled = isPy3k; + ver = "1.9.7"; src = fetchurl { url = "http://static.moinmo.in/files/moin-${ver}.tar.gz"; @@ -5374,6 +5376,7 @@ rec { osc = buildPythonPackage (rec { name = "osc-0.133+git"; + disabled = isPy3k; src = fetchgit { url = git://gitorious.org/opensuse/osc.git; @@ -5381,7 +5384,7 @@ rec { sha256 = "a39ce0e321e40e9758bf7b9128d316c71b35b80eabc84f13df492083bb6f1cc6"; }; - buildPhase = "python setup.py build"; + buildPhase = "${python}/bin/${python.executable} setup.py build"; doCheck = false; postInstall = "ln -s $out/bin/osc-wrapper.py $out/bin/osc"; @@ -6344,6 +6347,7 @@ rec { pyro3 = buildPythonPackage (rec { name = "Pyro-3.16"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/P/Pyro/${name}.tar.gz"; @@ -8134,6 +8138,7 @@ rec { tarsnapper = buildPythonPackage rec { name = "tarsnapper-0.2.1"; + disabled = isPy3k; src = fetchgit { url = https://github.com/miracle2k/tarsnapper.git; From 78bcfef61a0c714a7ff783163a47d416622b2c60 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 23 Aug 2014 17:51:41 -0400 Subject: [PATCH 0122/2163] libdiscid update from 0.2.2 to 0.6.1 --- .../libraries/libdiscid/default.nix | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/libdiscid/default.nix b/pkgs/development/libraries/libdiscid/default.nix index f9d1fc87870..8c5c8bef351 100644 --- a/pkgs/development/libraries/libdiscid/default.nix +++ b/pkgs/development/libraries/libdiscid/default.nix @@ -1,26 +1,21 @@ { stdenv, fetchurl, cmake, pkgconfig }: stdenv.mkDerivation rec { - name = "libdiscid-0.2.2"; + name = "libdiscid-0.6.1"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake ]; src = fetchurl { - url = "http://users.musicbrainz.org/~matt/${name}.tar.gz"; - sha256 = "00l4ln9rk0vqf67iccwqrgc9qx1al92i05zylh85kd1zn9d5sjwp"; + url = "http://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/${name}.tar.gz"; + sha256 = "1mbd5y9056638cffpfwc6772xwrsk18prv1djsr6jpfim38jpsxc"; }; - # developer forgot to update his version number - # this is propagated to pkg-config - preConfigure = '' - substituteInPlace "CMakeLists.txt" \ - --replace "PROJECT_VERSION 0.1.1" "PROJECT_VERSION 0.2.2" - ''; - - meta = { + meta = with stdenv.lib; { description = "A C library for creating MusicBrainz DiscIDs from audio CDs"; homepage = http://musicbrainz.org/doc/libdiscid; - license = stdenv.lib.licenses.lgpl21; + maintainers = with maintainers; [ emery ]; + license = licenses.lgpl21; + platforms = platforms.all; }; } From d41b8b30912ea32d5c7f06a968f26b3150a23639 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 23 Aug 2014 17:53:27 -0400 Subject: [PATCH 0123/2163] chromaprint: switch FFT implementation to ffmpeg, build fpcalc FFmpeg is prefered over FFTW3, and a mutual dependency of picard and acoustid-fingerprinter --- pkgs/development/libraries/chromaprint/default.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix index 40d41b633d2..010d2cb7ccc 100644 --- a/pkgs/development/libraries/chromaprint/default.nix +++ b/pkgs/development/libraries/chromaprint/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, fftw, boost }: +{ stdenv, fetchurl, cmake, ffmpeg, boost }: stdenv.mkDerivation rec { name = "chromaprint-${version}"; @@ -9,11 +9,17 @@ stdenv.mkDerivation rec { sha256 = "04nd8xmy4kgnpfffj6hw893f80bwhp43i01zpmrinn3497mdf53b"; }; - buildInputs = [ cmake fftw boost ]; + buildInputs = [ cmake ffmpeg boost ]; - meta = { + cmakeFlags = [ "-DBUILD_EXAMPLES=ON" ]; + + postInstall = "installBin examples/fpcalc"; + + meta = with stdenv.lib; { homepage = "http://acoustid.org/chromaprint"; description = "AcoustID audio fingerprinting library"; - license = stdenv.lib.licenses.lgpl21Plus; + maintainers = with maintainers; [ emery ]; + license = licenses.lgpl21Plus; + platforms = platforms.all; }; } From 4fc7e4e10edeaf2ed613a0f779a1176f3d67727f Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 23 Aug 2014 17:56:06 -0400 Subject: [PATCH 0124/2163] picard: fix libdisc and acoustid fingerprinting issues fpcalc is the external fingerprinter, not acoustid-fingerprinter --- pkgs/applications/audio/picard/default.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix index 07753216d3c..235a81a6a32 100644 --- a/pkgs/applications/audio/picard/default.nix +++ b/pkgs/applications/audio/picard/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pythonPackages, gettext, pyqt4 -, pkgconfig, libdiscid, libofa, ffmpeg, acoustidFingerprinter +, pkgconfig, libdiscid, libofa, ffmpeg, chromaprint }: pythonPackages.buildPythonPackage rec { @@ -9,14 +9,16 @@ pythonPackages.buildPythonPackage rec { src = fetchurl { url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz"; - md5 = "d1086687b7f7b0d359a731b1a25e7b66"; + sha256 = "0sbsf8hzxhxcnnjqvsd6mc23lmk7w33nln0f3w72f89mjgs6pxm6"; }; postPatch = let - fpr = "${acoustidFingerprinter}/bin/acoustid-fingerprinter"; + discid = "${libdiscid}/lib/libdiscid.so.0"; + fpr = "${chromaprint}/bin/fpcalc"; in '' - sed -ri -e 's|(TextOption.*"acoustid_fpcalc"[^"]*")[^"]*|\1${fpr}|' \ - picard/ui/options/fingerprinting.py + substituteInPlace picard/disc.py --replace libdiscid.so.0 ${discid} + substituteInPlace picard/const.py \ + --replace "FPCALC_NAMES = [" "FPCALC_NAMES = ['${fpr}'," ''; buildInputs = [ @@ -46,9 +48,11 @@ pythonPackages.buildPythonPackage rec { doCheck = false; - meta = { + meta = with stdenv.lib; { homepage = "http://musicbrainz.org/doc/MusicBrainz_Picard"; description = "The official MusicBrainz tagger"; - license = stdenv.lib.licenses.gpl2; + maintainers = with maintainers; [ emery ]; + license = licenses.gpl2; + platforms = platforms.all; }; } From be1ac7c04452763627ea4d4272904656f24783bc Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Wed, 27 Aug 2014 12:39:02 +0100 Subject: [PATCH 0125/2163] haskell-free-game: add maintainer --- pkgs/development/libraries/haskell/free-game/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/free-game/default.nix b/pkgs/development/libraries/haskell/free-game/default.nix index d2a0f33892f..ee47e6bb3f5 100644 --- a/pkgs/development/libraries/haskell/free-game/default.nix +++ b/pkgs/development/libraries/haskell/free-game/default.nix @@ -21,5 +21,6 @@ cabal.mkDerivation (self: { description = "Create games for free"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; }; }) From d216d87e6ebf571c6c64dd32724679ace96be099 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Wed, 27 Aug 2014 12:49:55 +0100 Subject: [PATCH 0126/2163] haskellPackages.markdown: New expression --- .../libraries/haskell/markdown/default.nix | 27 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/libraries/haskell/markdown/default.nix diff --git a/pkgs/development/libraries/haskell/markdown/default.nix b/pkgs/development/libraries/haskell/markdown/default.nix new file mode 100644 index 00000000000..746bd1c7484 --- /dev/null +++ b/pkgs/development/libraries/haskell/markdown/default.nix @@ -0,0 +1,27 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, attoparsec, blazeHtml, conduit, conduitExtra, dataDefault +, hspec, systemFileio, systemFilepath, text, transformers +, xssSanitize +}: + +cabal.mkDerivation (self: { + pname = "markdown"; + version = "0.1.9"; + sha256 = "1bl86alrbl9i690sbqqlxb4hkdd0lv3x5aqc8zi55q9h0rfsi06l"; + buildDepends = [ + attoparsec blazeHtml conduit conduitExtra dataDefault text + transformers xssSanitize + ]; + testDepends = [ + blazeHtml conduit conduitExtra hspec systemFileio systemFilepath + text transformers + ]; + meta = { + homepage = "https://github.com/snoyberg/markdown"; + description = "Convert Markdown to HTML, with XSS protection"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ ocharles ]; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 3ddf87db53d..88176c01c1b 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1537,6 +1537,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in machines = callPackage ../development/libraries/haskell/machines {}; + markdown = callPackage ../development/libraries/haskell/markdown {}; + markdownUnlit = callPackage ../development/libraries/haskell/markdown-unlit {}; mathFunctions = callPackage ../development/libraries/haskell/math-functions {}; From 591ba58e426407c0f97bfb81ee690900d44e2052 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 14:55:03 +0200 Subject: [PATCH 0127/2163] perlPackages.NetAMQP: fix build --- pkgs/top-level/perl-packages.nix | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a74cd8f2d8f..f21569b2525 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6467,7 +6467,7 @@ let self = _self // overrides; _self = with self; { }; }; - NetAMQP = buildPerlPackage { + NetAMQP = buildPerlModule { name = "Net-AMQP-0.06"; src = fetchurl { url = mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz; @@ -6481,13 +6481,6 @@ let self = _self // overrides; _self = with self; { maintainers = with maintainers; [ ocharles ]; platforms = stdenv.lib.platforms.unix; }; - preConfigure = - '' - substituteInPlace META.json \ - '"Module::Build" : "0.40"' '"Module::Build" : "0.39"' - substituteInPlace META.yml \ - 'Module::Build: 0.40' 'Module::Build: 0.39' - ''; }; NetCoverArtArchive = buildPerlPackage { From 0ac13e87d727de8db2ad4b8763d615c77d5ed918 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Wed, 27 Aug 2014 10:06:59 -0300 Subject: [PATCH 0128/2163] Lilyterm: New Package (version 0.9.9.4) LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight. --- pkgs/applications/misc/lilyterm/default.nix | 35 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 +++ 2 files changed, 40 insertions(+) create mode 100644 pkgs/applications/misc/lilyterm/default.nix diff --git a/pkgs/applications/misc/lilyterm/default.nix b/pkgs/applications/misc/lilyterm/default.nix new file mode 100644 index 00000000000..c87b6a8bc0a --- /dev/null +++ b/pkgs/applications/misc/lilyterm/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl +, pkgconfig +, autoconf, automake, intltool, gettext +, gtk, vte }: + +stdenv.mkDerivation rec { + + name = "lilyterm-${version}"; + version = "0.9.9.4"; + + src = fetchurl { + url = "http://lilyterm.luna.com.tw/file/${name}.tar.gz"; + sha256 = "0x2x59qsxq6d6xg5sd5lxbsbwsdvkwqlk17iw3h4amjg3m1jc9mp"; + }; + + buildInputs = [ pkgconfig autoconf automake intltool gettext gtk vte ]; + + preConfigure = "sh autogen.sh"; + + configureFlags = '' + --enable-nls + --enable-safe-mode + ''; + + meta = { + description = "A fast, lightweight terminal emulator"; + longDescription = '' + LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight. + ''; + homepage = http://lilyterm.luna.com.tw/; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0a97c43463d..6362a617bd9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9201,6 +9201,11 @@ let handbrake = callPackage ../applications/video/handbrake { }; + lilyterm = callPackage ../applications/misc/lilyterm { + inherit (gnome) vte; + gtk = gtk2; + }; + lynx = callPackage ../applications/networking/browsers/lynx { }; lyx = callPackage ../applications/misc/lyx { }; From aaa6156deba990018d48d9521a1d1ce9277bde0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 15:13:43 +0200 Subject: [PATCH 0129/2163] python3Packages.subprocess32: disable on py3k --- pkgs/top-level/python-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7a2e90e56d2..3eb09bca40d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7837,6 +7837,7 @@ rec { subprocess32 = buildPythonPackage rec { name = "subprocess32-3.2.6"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/s/subprocess32/${name}.tar.gz"; From 1cb510784ac5881334379e10bd433e987cc24b92 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Wed, 27 Aug 2014 11:46:19 +0100 Subject: [PATCH 0130/2163] haskell-dns: update to 1.4.4 --- pkgs/development/libraries/haskell/dns/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix index 113e1af46ee..ab74819965a 100644 --- a/pkgs/development/libraries/haskell/dns/default.nix +++ b/pkgs/development/libraries/haskell/dns/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "dns"; - version = "1.4.3"; - sha256 = "15v24f338w71dn3cxrzwyg04hk3vxvrvswbv3nnf2ggjgg46yq3i"; + version = "1.4.4"; + sha256 = "1g910rlahvrhjlg6jl7gpya1y3mqkkpmihfr2jnmmlzykll10dnd"; buildDepends = [ attoparsec binary blazeBuilder conduit conduitExtra iproute mtl network random resourcet @@ -21,5 +21,6 @@ cabal.mkDerivation (self: { description = "DNS library in Haskell"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; }; }) From 422073018cfffbc2ed4f94afdd64e4e45f4817fc Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Wed, 27 Aug 2014 11:46:30 +0100 Subject: [PATCH 0131/2163] haskell-github: update to 0.11.0 --- pkgs/development/libraries/haskell/github/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/github/default.nix b/pkgs/development/libraries/haskell/github/default.nix index b35055b7719..f20976b8dcf 100644 --- a/pkgs/development/libraries/haskell/github/default.nix +++ b/pkgs/development/libraries/haskell/github/default.nix @@ -7,18 +7,18 @@ cabal.mkDerivation (self: { pname = "github"; - version = "0.10.0"; - sha256 = "1llwzkhyw5wazczpiv3w8dq4l7j3q49ii64yh7cxwakkp2h5yiwb"; + version = "0.11.0"; + sha256 = "13p0iplxr85fvgx5lird76xchmhh7xpddq900qr02kbvn5mqv607"; buildDepends = [ aeson attoparsec caseInsensitive conduit dataDefault failure hashable HTTP httpConduit httpTypes network text time unorderedContainers vector ]; - jailbreak = true; meta = { homepage = "https://github.com/fpco/github"; description = "Access to the Github API, v3"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; }; }) From 44922143fa4eba93c690177c839d9e30406db0a0 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Wed, 27 Aug 2014 11:46:42 +0100 Subject: [PATCH 0132/2163] haskell-hakyll: update to 4.5.4.0 --- .../development/libraries/haskell/hakyll/default.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix index 1bb23f07bdb..e38eadad057 100644 --- a/pkgs/development/libraries/haskell/hakyll/default.nix +++ b/pkgs/development/libraries/haskell/hakyll/default.nix @@ -5,13 +5,13 @@ , HUnit, lrucache, mtl, network, pandoc, pandocCiteproc, parsec , QuickCheck, random, regexBase, regexTdfa, snapCore, snapServer , systemFilepath, tagsoup, testFramework, testFrameworkHunit -, testFrameworkQuickcheck2, text, time +, testFrameworkQuickcheck2, text, time, utillinux }: cabal.mkDerivation (self: { pname = "hakyll"; - version = "4.5.3.0"; - sha256 = "11ibpjff1zkihpxydlzvvzbgd1vxswi4c7g3lr0hhaaw89bikypy"; + version = "4.5.4.0"; + sha256 = "16srkm2fxjw1xg7zaikn49zz4xsz9awddnjm6ibv522k3xf3l24c"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -25,15 +25,13 @@ cabal.mkDerivation (self: { filepath fsnotify httpConduit httpTypes HUnit lrucache mtl network pandoc pandocCiteproc parsec QuickCheck random regexBase regexTdfa snapCore snapServer systemFilepath tagsoup testFramework - testFrameworkHunit testFrameworkQuickcheck2 text time + testFrameworkHunit testFrameworkQuickcheck2 text time utillinux ]; - doCheck = false; meta = { homepage = "http://jaspervdj.be/hakyll"; description = "A static website compiler library"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; - broken = true; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; }; }) From e50deca4401083f10b8e81599679cc6b8c252111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 15:39:47 +0200 Subject: [PATCH 0133/2163] python3Packages.statd: rename to python_statsd, disable on py3k --- pkgs/top-level/python-packages.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3eb09bca40d..49b73988458 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8012,9 +8012,10 @@ rec { }; - statd = buildPythonPackage rec { + python_statsd = buildPythonPackage rec { name = "python-statsd-${version}"; version = "1.6.0"; + disabled = isPy3k; # next release will be py3k compatible src = fetchurl { url = "https://pypi.python.org/packages/source/p/python-statsd/${name}.tar.gz"; From 62345fee552f1285ccd5ad60615ee922639dc5a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 15:52:44 +0200 Subject: [PATCH 0134/2163] python: provide better message if python interpreter is not supported --- pkgs/development/python-modules/generic/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix index 0f5d8499454..4c9c53aab83 100644 --- a/pkgs/development/python-modules/generic/default.nix +++ b/pkgs/development/python-modules/generic/default.nix @@ -49,10 +49,9 @@ , ... } @ attrs: -assert (!disabled); # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. -python.stdenv.mkDerivation (attrs // { +if disabled then throw "${name} not supported for interpreter ${python.executable}" else python.stdenv.mkDerivation (attrs // { inherit doCheck; name = namePrefix + name; From 6f689c50169f5567a382984063ca296055a3043a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 15:53:00 +0200 Subject: [PATCH 0135/2163] python3Packages: disable some more packages --- pkgs/top-level/python-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 49b73988458..81ec988d880 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8311,6 +8311,7 @@ rec { trac = buildPythonPackage { name = "trac-1.0.1"; + disabled = isPy3k; src = fetchurl { url = http://ftp.edgewall.com/pub/trac/Trac-1.0.1.tar.gz; @@ -8414,6 +8415,7 @@ rec { tweepy = buildPythonPackage (rec { name = "tweepy-2.3.0"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz"; From 1f3af28e8a6674841c674fb883edde2bbeecee2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 16:04:55 +0200 Subject: [PATCH 0136/2163] python3Packages.execnet: disable tests --- pkgs/top-level/python-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 81ec988d880..92f30ed5ca9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1985,6 +1985,8 @@ rec { md5 = "be885ccd9612966bb81839670d2da099"; }; + doCheck = !isPy3k; # failures.. + meta = { description = "rapid multi-Python deployment"; license = stdenv.lib.licenses.gpl2; From 2faf1c5b8115c765ef0344f76dda91ecae6c6d95 Mon Sep 17 00:00:00 2001 From: Bodil Stokke Date: Wed, 27 Aug 2014 15:38:15 +0100 Subject: [PATCH 0137/2163] Add evilvte package. --- pkgs/applications/misc/evilvte/default.nix | 35 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 2 files changed, 39 insertions(+) create mode 100644 pkgs/applications/misc/evilvte/default.nix diff --git a/pkgs/applications/misc/evilvte/default.nix b/pkgs/applications/misc/evilvte/default.nix new file mode 100644 index 00000000000..5921cc308b5 --- /dev/null +++ b/pkgs/applications/misc/evilvte/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchgit, makeWrapper, pkgconfig, + gnome, glib, pango, cairo, gdk_pixbuf, atk, freetype, xlibs, + configH +}: + +stdenv.mkDerivation rec { + name = "evilvte-${version}"; + version = "0.5.2-20140827"; + + src = fetchgit { + url = https://github.com/caleb-/evilvte.git; + rev = "8dfa41e26bc640dd8d8c7317ff7d04e3c01ded8a"; + sha256 = "70f1d4234d077121e2223a735d749d1b53f0b84393507b635b8a37c3716e94d3"; + }; + + buildInputs = [ + gnome.vte glib pango gnome.gtk cairo gdk_pixbuf atk freetype xlibs.libX11 + xlibs.xproto xlibs.kbproto xlibs.libXext xlibs.xextproto makeWrapper pkgconfig + ]; + + buildPhase = '' + cat >src/config.h < Date: Wed, 13 Aug 2014 04:53:31 +0200 Subject: [PATCH 0138/2163] chromium: Clean up/remove old/unused stuff. We no longer need to supply compiler and binutils to the build process, se we can safely remove them. In addition, we're now passing the new options linux_use_gold_binary and linux_use_bundled_gold to gyp, for details, see: https://codereview.chromium.org/239163003 Signed-off-by: aszlig --- .../networking/browsers/chromium/common.nix | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index b9011c0236f..da06a7f466f 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -10,7 +10,7 @@ , python, pythonPackages, perl, pkgconfig , nspr, udev, krb5 , utillinux, alsaLib -, gcc, bison, gperf +, bison, gperf , glib, gtk, dbus_glib , libXScrnSaver, libXcursor, libXtst, mesa , protobuf, speechd, libXdamage @@ -145,6 +145,8 @@ let ''; gypFlags = mkGypFlags (gypFlagsUseSystemLibs // { + linux_use_bundled_binutils = false; + linux_use_bundled_gold = false; linux_use_gold_binary = false; linux_use_gold_flags = false; proprietary_codecs = false; @@ -192,20 +194,15 @@ let ''; buildPhase = let - CC = "${gcc}/bin/gcc"; - CXX = "${gcc}/bin/g++"; buildCommand = target: let # XXX: Only needed for version 36 and older! targetSuffix = optionalString (versionOlder source.version "37.0.0.0" && target == "mksnapshot") (if stdenv.is64bit then ".x64" else ".ia32"); in '' - CC="${CC}" CC_host="${CC}" \ - CXX="${CXX}" CXX_host="${CXX}" \ - LINK_host="${CXX}" \ - "${ninja}/bin/ninja" -C "${buildPath}" \ - -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \ - "${target}${targetSuffix}" + "${ninja}/bin/ninja" -C "${buildPath}" \ + -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \ + "${target}${targetSuffix}" '' + optionalString (target == "mksnapshot" || target == "chrome") '' paxmark m "${buildPath}/${target}${targetSuffix}" ''; From 1488fbe27b5d767176000f6499e3292a458e3d33 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 13 Aug 2014 04:49:53 +0200 Subject: [PATCH 0139/2163] chromium: Update all channels to latest versions. With this commit, the following new upstream versions are introduced: stable: 36.0.1985.125 -> 37.0.2062.94 beta: 37.0.2062.58 -> 37.0.2062.94 dev: 38.0.2107.3 -> 38.0.2125.8 All channels built fine on my machine and were tested against a few sites. Stable and beta channel now contain the same release, because version 37 hit the stable channel. For release notes, please have a look at the announcement: http://googlechromereleases.blogspot.de/2014/08/stable-channel-update_26.html Of course we're also dropping all version 36 specific crap, such as the architecture-specific target suffix for builds, which now is no longer needed. The gyp flag use_mojo=0 is no longer needed, as it was a workaround concerning version 37.0.2054.3 only. Signed-off-by: aszlig --- .../networking/browsers/chromium/common.nix | 14 +++-------- .../browsers/chromium/source/sources.nix | 24 +++++++++---------- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index da06a7f466f..46dadd280c9 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -163,9 +163,6 @@ let werror = ""; clang = false; - # FIXME: In version 37, omnibox.mojom.js doesn't seem to be generated. - use_mojo = versionOlder source.version "37.0.0.0"; - # Google API keys, see: # http://www.chromium.org/developers/how-tos/api-keys # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, @@ -194,17 +191,12 @@ let ''; buildPhase = let - buildCommand = target: let - # XXX: Only needed for version 36 and older! - targetSuffix = optionalString - (versionOlder source.version "37.0.0.0" && target == "mksnapshot") - (if stdenv.is64bit then ".x64" else ".ia32"); - in '' + buildCommand = target: '' "${ninja}/bin/ninja" -C "${buildPath}" \ -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \ - "${target}${targetSuffix}" + "${target}" '' + optionalString (target == "mksnapshot" || target == "chrome") '' - paxmark m "${buildPath}/${target}${targetSuffix}" + paxmark m "${buildPath}/${target}" ''; targets = extraAttrs.buildTargets or []; commands = map buildCommand targets; diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix index 4a610827913..71c825188c3 100644 --- a/pkgs/applications/networking/browsers/chromium/source/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix @@ -1,21 +1,21 @@ # This file is autogenerated from update.sh in the parent directory. { dev = { - version = "38.0.2107.3"; - sha256 = "0zb1mj3xgvvs5ijix4b52vj9dlymqkipn8srfzvhwl7g4hx5ss3v"; - sha256bin32 = "12lvvmg3bqacb0qw72bwlxm2m57s39mz2810agngdgzv0hd835cv"; - sha256bin64 = "1vw36s8nlvdsl8pjbh4gny00kvcizn1i2lznzqzysicz2rz7ncrh"; + version = "38.0.2125.8"; + sha256 = "1h3vkp0mgznqv48ksnsndlh7ywh3jby25x6dxxd7py445pg6y3c6"; + sha256bin32 = "1ynqm5yp7m8j3mwgqaa2vvw835g9ifn3dfniqh9z9n0swha27a69"; + sha256bin64 = "1vdm4wffkvj3jwrb2nihghxkxcvp81xcc5wygpd1w495vrhy4bpf"; }; beta = { - version = "37.0.2062.58"; - sha256 = "0jck4s6nrizj9wmifsjviin9ifnviihs21fi05wzljyfnbgc4byl"; - sha256bin32 = "1cm1r8bqy66gvdhbrgn9pdc11i72dca96ab5j3m3349p6728jbgk"; - sha256bin64 = "0cpb189pn5jiplldkgy8lfbcwvfik66kjjf6y2i708xa5ggfpwfi"; + version = "37.0.2062.94"; + sha256 = "0cz5kivimxcaiml6x5mysarjyfvvanbw02qz2d1y3jvl1dc1jz6j"; + sha256bin32 = "0pa209sjdfb0y96kicvp4lnn1inwdcgj8kpmn28cmi8l1cr8yy3b"; + sha256bin64 = "0kk2dm2gwvzvrrp03k7cw6zzp3197lrq2p1si3pr2wbgm8sb5dk5"; }; stable = { - version = "36.0.1985.125"; - sha256 = "08shkm89qzzdlrjg0rg5qiszbk6ziginsicyxqyk353y76jx10hp"; - sha256bin32 = "1ahazz56k127xncgl1lzwsmydbh0vcxq0hzrb9cm9zzdkzqjzg03"; - sha256bin64 = "0qx5316cd8l9g8w389aqi5m3csmr5s8hs7sivlk02mbs0jzi8ppc"; + version = "37.0.2062.94"; + sha256 = "0cz5kivimxcaiml6x5mysarjyfvvanbw02qz2d1y3jvl1dc1jz6j"; + sha256bin32 = "0vszphfz4mnw08yc6bid4g6q2w4f5smvfhlzyb2vvv65ndr64b8k"; + sha256bin64 = "0h4fb7v0b1w9d47iy6fk5g0fpzgczps7nzmknyk7vx68ybi39ssw"; }; } From 47f84c63bb09904a38952fedc44ca17d64aada40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 17:17:31 +0200 Subject: [PATCH 0140/2163] python3Packages: more build fixes --- pkgs/top-level/python-packages.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 92f30ed5ca9..bb467d74a66 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -694,7 +694,7 @@ rec { }; buildInputs = [ pkgs.btrfsProgs ]; - propagatedBuildInputs = with pkgs; [ contextlib2 sqlalchemy8 pyxdg pycparser cffi alembic ]; + propagatedBuildInputs = with pkgs; [ contextlib2 sqlalchemy9 pyxdg pycparser cffi alembic ]; meta = { description = "Deduplication for Btrfs"; @@ -6069,6 +6069,7 @@ rec { pycurl2 = buildPythonPackage (rec { name = "pycurl2-7.20.0"; + disabled = isPy3k; src = fetchgit { url = "https://github.com/Lispython/pycurl.git"; @@ -6091,6 +6092,7 @@ rec { pydot = buildPythonPackage rec { name = "pydot-1.0.2"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pydot/${name}.tar.gz"; @@ -6600,6 +6602,7 @@ rec { pyreport = buildPythonPackage (rec { name = "pyreport-0.3.4c"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pyreport/${name}.tar.gz"; @@ -7565,12 +7568,17 @@ rec { }; sympy = buildPythonPackage rec { - name = "sympy-0.7.3"; + name = "sympy-0.7.4"; src = fetchurl { url = "https://github.com/sympy/sympy/releases/download/${name}/${name}.tar.gz"; - sha256 = "081g9gs2d1d41ipn8zr034d98cnrxvc4zsmihqmfwzirwzpcii5x"; + sha256 = "0h1b9mx0snyyybj1x1ga69qssgjzkkgx2rw6nddjhyz1fknf8ywh"; }; + + preCheck = '' + export LANG="en_US.UTF-8" + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + ''; meta = with stdenv.lib; { description = "A Python library for symbolic mathematics"; @@ -7915,6 +7923,7 @@ rec { sqlalchemy = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { name = "SQLAlchemy-0.7.10"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp"; @@ -7926,7 +7935,6 @@ rec { ]; }); - sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { name = "SQLAlchemy-0.8.7"; src = fetchurl { From e7597b12b88ac0ecfe3f8ca8d2bc7aade2aaef99 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Tue, 22 Jul 2014 18:30:04 -0400 Subject: [PATCH 0141/2163] privoxy: upstart to systemd conversion, actions file editing fix missing actions and filters --- nixos/modules/services/networking/privoxy.nix | 76 +++++++++++-------- 1 file changed, 44 insertions(+), 32 deletions(-) diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix index 950112b2dab..94beb78ef5a 100644 --- a/nixos/modules/services/networking/privoxy.nix +++ b/nixos/modules/services/networking/privoxy.nix @@ -6,19 +6,18 @@ let inherit (pkgs) privoxy; - stateDir = "/var/spool/privoxy"; - privoxyUser = "privoxy"; - privoxyFlags = "--no-daemon --user ${privoxyUser} ${privoxyCfg}"; + cfg = config.services.privoxy; - privoxyCfg = pkgs.writeText "privoxy.conf" '' - listen-address ${config.services.privoxy.listenAddress} - logdir ${config.services.privoxy.logDir} - confdir ${privoxy}/etc - filterfile default.filter - - ${config.services.privoxy.extraConfig} + confFile = pkgs.writeText "privoxy.conf" '' + user-manual ${privoxy}/share/doc/privoxy/user-manual + confdir ${privoxy}/etc/ + listen-address ${cfg.listenAddress} + enable-edit-actions ${if (cfg.enableEditActions == true) then "1" else "0"} + ${concatMapStrings (f: "actionsfile ${f}\n") cfg.actionsFiles} + ${concatMapStrings (f: "filterfile ${f}\n") cfg.filterFiles} + ${cfg.extraConfig} ''; in @@ -32,27 +31,51 @@ in services.privoxy = { enable = mkOption { + type = types.bool; default = false; description = '' - Whether to run the machine as a HTTP proxy server. + Whether to enable the Privoxy non-caching filtering proxy. ''; }; listenAddress = mkOption { + type = types.str; default = "127.0.0.1:8118"; description = '' Address the proxy server is listening to. ''; }; - logDir = mkOption { - default = "/var/log/privoxy" ; + actionsFiles = mkOption { + type = types.listOf types.str; + example = [ "match-all.action" "default.action" "/etc/privoxy/user.action" ]; + default = [ "match-all.action" "default.action" ]; description = '' - Location for privoxy log files. + List of paths to Privoxy action files. + These paths may either be absolute or relative to the privoxy configuration directory. + ''; + }; + + filterFiles = mkOption { + type = types.listOf types.str; + example = [ "default.filter" "/etc/privoxy/user.filter" ]; + default = [ "default.filter" ]; + description = '' + List of paths to Privoxy filter files. + These paths may either be absolute or relative to the privoxy configuration directory. + ''; + }; + + enableEditActions = mkOption { + type = types.bool; + default = false; + description = '' + Whether or not the web-based actions file editor may be used. ''; }; extraConfig = mkOption { + type = types.lines; default = "" ; description = '' Extra configuration. Contents will be added verbatim to the configuration file. @@ -62,33 +85,22 @@ in }; - ###### implementation - config = mkIf config.services.privoxy.enable { + config = mkIf cfg.enable { - environment.systemPackages = [ privoxy ]; - users.extraUsers = singleton { name = privoxyUser; uid = config.ids.uids.privoxy; description = "Privoxy daemon user"; - home = stateDir; }; - jobs.privoxy = - { name = "privoxy"; - - startOn = "startup"; - - preStart = - '' - mkdir -m 0755 -p ${stateDir} - chown ${privoxyUser} ${stateDir} - ''; - - exec = "${privoxy}/sbin/privoxy ${privoxyFlags}"; - }; + systemd.services.privoxy = { + description = "Filtering web proxy"; + after = [ "network.target" "nss-lookup.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig.ExecStart = "${privoxy}/sbin/privoxy --no-daemon --user ${privoxyUser} ${confFile}"; + }; }; From 30aac2c87733d4dd5233cb04250f9ff540af443b Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 27 Aug 2014 17:16:50 +0200 Subject: [PATCH 0142/2163] glib-tested: skip broken timer test on i686 --- pkgs/development/libraries/glib/default.nix | 2 +- .../libraries/glib/skip-timer-test.patch | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/glib/skip-timer-test.patch diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 93e96bef536..839ba7cfa95 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { sha256 = "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd"; }; - patches = optional stdenv.isDarwin ./darwin-compilation.patch; + patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/libraries/glib/skip-timer-test.patch b/pkgs/development/libraries/glib/skip-timer-test.patch new file mode 100644 index 00000000000..942f3e7864c --- /dev/null +++ b/pkgs/development/libraries/glib/skip-timer-test.patch @@ -0,0 +1,17 @@ +Description: Skip test which performs some unreliable floating point comparisons +Forwarded: https://bugzilla.gnome.org/show_bug.cgi?id=722604 + +Index: b/glib/tests/timer.c +=================================================================== +--- a/glib/tests/timer.c ++++ b/glib/tests/timer.c +@@ -203,7 +203,7 @@ + { + g_test_init (&argc, &argv, NULL); + +- g_test_add_func ("/timer/basic", test_timer_basic); ++/* g_test_add_func ("/timer/basic", test_timer_basic);*/ +- g_test_add_func ("/timer/stop", test_timer_stop); ++/* g_test_add_func ("/timer/stop", test_timer_stop);*/ + g_test_add_func ("/timer/continue", test_timer_continue); + g_test_add_func ("/timer/reset", test_timer_reset); From 81c39d40f7aad827a500d1efb779be08ea4f9a04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 17:40:02 +0200 Subject: [PATCH 0143/2163] python3Packages: upgrade rdflib, skype4py --- pkgs/top-level/python-packages.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bb467d74a66..c0d9db2b8b1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7042,11 +7042,11 @@ rec { rdflib = buildPythonPackage (rec { - name = "rdflib-3.0.0"; + name = "rdflib-4.1.2"; src = fetchurl { - url = "http://www.rdflib.net/${name}.tar.gz"; - sha256 = "1c7ipk5vwqnln83rmai5jzyxkjdajdzbk5cgy1z83nyr5hbkgkqr"; + url = "https://pypi.python.org/packages/source/r/rdflib/${name}.tar.gz"; + sha256 = "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"; }; # error: invalid command 'test' @@ -7759,6 +7759,7 @@ rec { skype4py = buildPythonPackage (rec { name = "Skype4Py-1.0.32.0"; + disabled = isPy3k; src = fetchurl { url = mirror://sourceforge/skype4py/Skype4Py-1.0.32.0.tar.gz; From a81b2f029f58800b6dfe747188a91f8d28b5a78a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 18:04:30 +0200 Subject: [PATCH 0144/2163] python3Packages.{ttystatus,versiontools}: disable on py3k --- pkgs/top-level/python-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c0d9db2b8b1..9ff71c63a85 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9759,6 +9759,7 @@ rec { ttystatus = buildPythonPackage rec { name = "ttystatus-${version}"; version = "0.23"; + disabled = isPy3k; src = fetchurl rec { url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_${version}.orig.tar.gz"; @@ -9944,6 +9945,7 @@ rec { versiontools = buildPythonPackage rec { name = "versiontools-1.9.1"; + doCheck = (!isPy3k); src = fetchurl { url = "https://pypi.python.org/packages/source/v/versiontools/${name}.tar.gz"; From 6e2e58ea2eaefb22556ed246850542877bcf72d9 Mon Sep 17 00:00:00 2001 From: Alp Mestanogullari Date: Wed, 27 Aug 2014 18:05:06 +0200 Subject: [PATCH 0145/2163] add the servant (haskell) packages to nixpkgs --- .../haskell/servant-pool/servant-pool.nix | 16 +++++++++++++++ .../servant-postgresql/servant-postgresql.nix | 18 +++++++++++++++++ .../servant-response/servant-response.nix | 16 +++++++++++++++ .../haskell/servant-scotty/servant-scotty.nix | 20 +++++++++++++++++++ .../libraries/haskell/servant/servant.nix | 15 ++++++++++++++ pkgs/top-level/haskell-packages.nix | 10 ++++++++++ 6 files changed, 95 insertions(+) create mode 100644 pkgs/development/libraries/haskell/servant-pool/servant-pool.nix create mode 100644 pkgs/development/libraries/haskell/servant-postgresql/servant-postgresql.nix create mode 100644 pkgs/development/libraries/haskell/servant-response/servant-response.nix create mode 100644 pkgs/development/libraries/haskell/servant-scotty/servant-scotty.nix create mode 100644 pkgs/development/libraries/haskell/servant/servant.nix diff --git a/pkgs/development/libraries/haskell/servant-pool/servant-pool.nix b/pkgs/development/libraries/haskell/servant-pool/servant-pool.nix new file mode 100644 index 00000000000..692d694ed46 --- /dev/null +++ b/pkgs/development/libraries/haskell/servant-pool/servant-pool.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, resourcePool, servant, time }: + +cabal.mkDerivation (self: { + pname = "servant-pool"; + version = "0.1"; + sha256 = "0if4lxb0fpdd4lnkz9j7z6vhjbrcc80pvz9jb6sdb9p6sbbgqf69"; + buildDepends = [ resourcePool servant time ]; + meta = { + homepage = "http://github.com/zalora/servant-pool"; + description = "Utility functions for creating servant 'Context's with \"context/connection pooling\" support"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/servant-postgresql/servant-postgresql.nix b/pkgs/development/libraries/haskell/servant-postgresql/servant-postgresql.nix new file mode 100644 index 00000000000..154eefea320 --- /dev/null +++ b/pkgs/development/libraries/haskell/servant-postgresql/servant-postgresql.nix @@ -0,0 +1,18 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, postgresqlSimple, servant, servantPool, servantResponse }: + +cabal.mkDerivation (self: { + pname = "servant-postgresql"; + version = "0.1"; + sha256 = "1svy1v6sl5pq0zs8ms4qf7wn6zar63bqmfiyfqgz84ryli0wxrhj"; + buildDepends = [ + postgresqlSimple servant servantPool servantResponse + ]; + meta = { + homepage = "http://github.com/zalora/servant-postgresql"; + description = "Useful functions and instances for using servant with a PostgreSQL context"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/servant-response/servant-response.nix b/pkgs/development/libraries/haskell/servant-response/servant-response.nix new file mode 100644 index 00000000000..3f7f9c1eee0 --- /dev/null +++ b/pkgs/development/libraries/haskell/servant-response/servant-response.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, aeson, httpTypes, text }: + +cabal.mkDerivation (self: { + pname = "servant-response"; + version = "0.1"; + sha256 = "0vgzi6nm3f1vjbnvhzcr6v2fh75fsl18wsps54ya0mbmfn2v6chy"; + buildDepends = [ aeson httpTypes text ]; + meta = { + homepage = "http://github.com/zalora/servant"; + description = "Machinery to express how servant should turn results of database operations into proper JSON-encodable response types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/servant-scotty/servant-scotty.nix b/pkgs/development/libraries/haskell/servant-scotty/servant-scotty.nix new file mode 100644 index 00000000000..2d053d3409d --- /dev/null +++ b/pkgs/development/libraries/haskell/servant-scotty/servant-scotty.nix @@ -0,0 +1,20 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, aeson, httpTypes, scotty, servant, servantResponse, text +, transformers +}: + +cabal.mkDerivation (self: { + pname = "servant-scotty"; + version = "0.1"; + sha256 = "0nl4ghx4hp1329sgnphirnnikxyn5hgw0iz5dga5ib16bmkzbsvi"; + buildDepends = [ + aeson httpTypes scotty servant servantResponse text transformers + ]; + meta = { + homepage = "http://github.com/zalora/servant"; + description = "Generate a web service for servant 'Resource's using scotty and JSON"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/servant/servant.nix b/pkgs/development/libraries/haskell/servant/servant.nix new file mode 100644 index 00000000000..38f89764c4c --- /dev/null +++ b/pkgs/development/libraries/haskell/servant/servant.nix @@ -0,0 +1,15 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal }: + +cabal.mkDerivation (self: { + pname = "servant"; + version = "0.1"; + sha256 = "1bm5223rjgcm8rb3s2mclmfj2df7j059jjh572a5py0rdqzg3yj0"; + meta = { + homepage = "http://github.com/zalora/servant"; + description = "A library to generate REST-style webservices on top of scotty, handling all the boilerplate for you"; + 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 88176c01c1b..6ecaf116db2 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2152,6 +2152,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in semigroupoidExtras = callPackage ../development/libraries/haskell/semigroupoid-extras {}; + servant = callPackage ../development/libraries/haskell/servant {}; + + servant-pool = callPackage ../development/libraries/haskell/servant-pool {}; + + servant-postgresql = callPackage ../development/libraries/haskell/servant-postgresql {}; + + servant-response = callPackage ../development/libraries/haskell/servant-response {}; + + servant-scotty = callPackage ../development/libraries/haskell/servant-scotty {}; + setenv = callPackage ../development/libraries/haskell/setenv {}; setlocale = callPackage ../development/libraries/haskell/setlocale {}; From 47519e732b2d304ea38d226fc45bee5fdb711ba3 Mon Sep 17 00:00:00 2001 From: Alp Mestanogullari Date: Wed, 27 Aug 2014 18:27:18 +0200 Subject: [PATCH 0146/2163] use camelCase instead of dashes for servant package names in haskell-packages.nix --- 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 6ecaf116db2..7a4d4c4f10b 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2154,13 +2154,13 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in servant = callPackage ../development/libraries/haskell/servant {}; - servant-pool = callPackage ../development/libraries/haskell/servant-pool {}; + servantPool = callPackage ../development/libraries/haskell/servant-pool {}; - servant-postgresql = callPackage ../development/libraries/haskell/servant-postgresql {}; + servantPostgresql = callPackage ../development/libraries/haskell/servant-postgresql {}; - servant-response = callPackage ../development/libraries/haskell/servant-response {}; + servantResponse = callPackage ../development/libraries/haskell/servant-response {}; - servant-scotty = callPackage ../development/libraries/haskell/servant-scotty {}; + servantScotty = callPackage ../development/libraries/haskell/servant-scotty {}; setenv = callPackage ../development/libraries/haskell/setenv {}; From 9dd3963b4dbd5ead3626d34c5cb9a2c43bc02c38 Mon Sep 17 00:00:00 2001 From: Alp Mestanogullari Date: Wed, 27 Aug 2014 18:34:56 +0200 Subject: [PATCH 0147/2163] rename nix files to default.nix for all servant pkgs --- .../haskell/servant-pool/{servant-pool.nix => default.nix} | 0 .../servant-postgresql/{servant-postgresql.nix => default.nix} | 0 .../servant-response/{servant-response.nix => default.nix} | 0 .../haskell/servant-scotty/{servant-scotty.nix => default.nix} | 0 .../libraries/haskell/servant/{servant.nix => default.nix} | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename pkgs/development/libraries/haskell/servant-pool/{servant-pool.nix => default.nix} (100%) rename pkgs/development/libraries/haskell/servant-postgresql/{servant-postgresql.nix => default.nix} (100%) rename pkgs/development/libraries/haskell/servant-response/{servant-response.nix => default.nix} (100%) rename pkgs/development/libraries/haskell/servant-scotty/{servant-scotty.nix => default.nix} (100%) rename pkgs/development/libraries/haskell/servant/{servant.nix => default.nix} (100%) diff --git a/pkgs/development/libraries/haskell/servant-pool/servant-pool.nix b/pkgs/development/libraries/haskell/servant-pool/default.nix similarity index 100% rename from pkgs/development/libraries/haskell/servant-pool/servant-pool.nix rename to pkgs/development/libraries/haskell/servant-pool/default.nix diff --git a/pkgs/development/libraries/haskell/servant-postgresql/servant-postgresql.nix b/pkgs/development/libraries/haskell/servant-postgresql/default.nix similarity index 100% rename from pkgs/development/libraries/haskell/servant-postgresql/servant-postgresql.nix rename to pkgs/development/libraries/haskell/servant-postgresql/default.nix diff --git a/pkgs/development/libraries/haskell/servant-response/servant-response.nix b/pkgs/development/libraries/haskell/servant-response/default.nix similarity index 100% rename from pkgs/development/libraries/haskell/servant-response/servant-response.nix rename to pkgs/development/libraries/haskell/servant-response/default.nix diff --git a/pkgs/development/libraries/haskell/servant-scotty/servant-scotty.nix b/pkgs/development/libraries/haskell/servant-scotty/default.nix similarity index 100% rename from pkgs/development/libraries/haskell/servant-scotty/servant-scotty.nix rename to pkgs/development/libraries/haskell/servant-scotty/default.nix diff --git a/pkgs/development/libraries/haskell/servant/servant.nix b/pkgs/development/libraries/haskell/servant/default.nix similarity index 100% rename from pkgs/development/libraries/haskell/servant/servant.nix rename to pkgs/development/libraries/haskell/servant/default.nix From 4d84ac77f99dc077f15b04ac2462638c2f1a4ff1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Wed, 27 Aug 2014 18:46:24 +0200 Subject: [PATCH 0148/2163] gimp: Update to 2.8.14. --- pkgs/applications/graphics/gimp/2.8.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix index aca4d822c82..bd155c59c6b 100644 --- a/pkgs/applications/graphics/gimp/2.8.nix +++ b/pkgs/applications/graphics/gimp/2.8.nix @@ -4,11 +4,11 @@ , python, pygtk, libart_lgpl, libexif, gettext, xlibs, wrapPython }: stdenv.mkDerivation rec { - name = "gimp-2.8.10"; + name = "gimp-2.8.14"; src = fetchurl { url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2"; - sha256 = "1rha8yx0pplfjziqczjrxxp16vsvpmb5ziq3c218s4w9z4cqpzg7"; + sha256 = "d82a958641c9c752d68e35f65840925c08e314cea90222ad845892a40e05b22d"; }; buildInputs = From ef9bcbd0b2b5d5f8c1d08f643c138e68c0e7a5d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:02:05 +0200 Subject: [PATCH 0149/2163] ino: set six as dep --- pkgs/development/arduino/ino/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/arduino/ino/default.nix b/pkgs/development/arduino/ino/default.nix index 3e74c143c61..484de02f05d 100644 --- a/pkgs/development/arduino/ino/default.nix +++ b/pkgs/development/arduino/ino/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { # TODO: add avrgcclibc, it must be rebuild with C++ support propagatedBuildInputs = [ arduino_core avrdude minicom pythonPackages.configobj - pythonPackages.jinja2 pythonPackages.pyserial ]; + pythonPackages.jinja2 pythonPackages.pyserial pythonPackages.six ]; patchPhase = '' echo "Patching Arduino distribution path" From 7b7fb6331450ab7148dab51c5363ac86cb7d0371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:04:38 +0200 Subject: [PATCH 0150/2163] pypy: disable test_sqlite again... --- pkgs/development/interpreters/pypy/2.3/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/pypy/2.3/default.nix b/pkgs/development/interpreters/pypy/2.3/default.nix index f31bc731a32..0ed13e2f646 100644 --- a/pkgs/development/interpreters/pypy/2.3/default.nix +++ b/pkgs/development/interpreters/pypy/2.3/default.nix @@ -66,9 +66,10 @@ let # disable shutils because it assumes gid 0 exists # disable socket because it has two actual network tests that fail # disable test_mhlib because it fails for unknown reason + # disable sqlite3 due to https://bugs.pypy.org/issue1740 # disable test_multiprocessing due to transient errors # disable test_os because test_urandom_failure fails - ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_socket -test_os -test_shutil -test_mhlib -test_multiprocessing' lib-python + ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_sqlite -test_socket -test_os -test_shutil -test_mhlib -test_multiprocessing' lib-python ''; installPhase = '' From 1fc1e9c82c28397d6530fa942497143a8a9a54e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:11:08 +0200 Subject: [PATCH 0151/2163] xca: mark as broken --- pkgs/applications/misc/xca/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix index 0bc2170340c..09edb086c9f 100644 --- a/pkgs/applications/misc/xca/default.nix +++ b/pkgs/applications/misc/xca/default.nix @@ -28,5 +28,6 @@ stdenv.mkDerivation rec { homepage = http://xca.sourceforge.net/; platforms = platforms.all; license = licenses.bsd3; + broken = true; }; } From 26ee668860119576e7826031584ad770ecd88729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:17:05 +0200 Subject: [PATCH 0152/2163] pythonPackages.zope_container: disable tests (failing) --- pkgs/top-level/python-packages.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9ff71c63a85..2b4674d643c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9228,6 +9228,9 @@ rec { md5 = "b24d2303ece65a2d9ce23a5bd074c335"; }; + # a test is failing + doCheck = false; + propagatedBuildInputs = [ zodb3 zope_broken zope_dottedname zope_publisher zope_filerepresentation zope_lifecycleevent zope_size From 4008f01c045c5a592bca12958aa634fba6f9041a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:20:39 +0200 Subject: [PATCH 0153/2163] perlPackages.TaskCatalystTutorial: fix build --- pkgs/top-level/perl-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f21569b2525..a50a5617794 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4246,6 +4246,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/C/CF/CFRANKS/HTML-Widget-1.11.tar.gz; sha256 = "02w21rd30cza094m5xs9clzw8ayigbhg2ddzl6jycp4jam0dyhmy"; }; + doCheck = false; propagatedBuildInputs = [ TestNoWarnings ClassAccessor ClassAccessorChained ClassDataAccessor ModulePluggableFast HTMLTree @@ -8161,6 +8162,7 @@ let self = _self // overrides; _self = with self; { CatalystPluginSession CatalystPluginAuthentication CatalystAuthenticationStoreDBIxClass CatalystPluginAuthorizationRoles + CatalystPluginSessionStateCookie CatalystPluginAuthorizationACL CatalystPluginHTMLWidget CatalystPluginSessionStoreFastMmap From e7fca7b31dcf8b71ac08583a9fc9f5855d1259a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:21:33 +0200 Subject: [PATCH 0154/2163] python3Packages.zope_sqlalchemy: fix build --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2b4674d643c..05849e59c43 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9486,8 +9486,8 @@ rec { md5 = "8b317b41244fc2e67f2f286890ba59a0"; }; - buildInputs = [ sqlalchemy zope_testing zope_interface setuptools ]; - propagatedBuildInputs = [ sqlalchemy transaction ]; + buildInputs = [ zope_testing zope_interface ]; + propagatedBuildInputs = [ sqlalchemy9 transaction ]; meta = { maintainers = [ From 1b376347f5f5244173c83c949bd32a4e44bc54c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:21:50 +0200 Subject: [PATCH 0155/2163] python3Packages.pygit2: fix build --- pkgs/development/libraries/git2/default.nix | 4 ++-- pkgs/top-level/python-packages.nix | 14 ++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix index abb782641dd..7cab317380e 100644 --- a/pkgs/development/libraries/git2/default.nix +++ b/pkgs/development/libraries/git2/default.nix @@ -1,13 +1,13 @@ {stdenv, fetchurl, cmake, zlib, python}: stdenv.mkDerivation rec { - version = "0.20.0"; + version = "0.21.1"; name = "libgit2-${version}"; src = fetchurl { name = "${name}.tar.gz"; url = "https://github.com/libgit2/libgit2/tarball/v${version}"; - sha256 = "1iyncz8fqazw683dxjls3lf5pw3f5ma8kachkvjz7dsq57wxllbj"; + sha256 = "0afbvcsryg7bsmbfj23l09b1xngkmqhf043njl8wm44qslrxibkz"; }; cmakeFlags = "-DTHREADSAFE=ON"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 05849e59c43..5ca33ba23a5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1492,7 +1492,7 @@ rec { md5 = "d329f5cb2053fd31dafc02e2c9ef0299"; }; - buildInputs = [ pkgs.libffi pycparser ]; + propagatedBuildInputs = [ pkgs.libffi pycparser ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -5920,18 +5920,24 @@ rec { pygit2 = buildPythonPackage rec { - name = "pygit2-0.20.0"; + name = "pygit2-0.21.2"; src = fetchurl { url = "https://pypi.python.org/packages/source/p/pygit2/${name}.tar.gz"; - sha256 = "04132q7bn8k7q7ky7nj3bkza8r9xkzkdpfv462b6rgjsd1x6h340"; + sha256 = "0lya4v91d4y5fwrb55n8m8avgmz0l81jml2spvx6r7j1czcx3zic"; }; preConfigure = ( if stdenv.isDarwin then '' export DYLD_LIBRARY_PATH="${pkgs.libgit2}/lib" '' else "" ); - propagatedBuildInputs = [ pkgs.libgit2 ]; + propagatedBuildInputs = [ pkgs.libgit2 cffi ]; + + preCheck = '' + # disable tests that require networking + rm test/test_repository.py + rm test/test_credentials.py + ''; meta = { homepage = https://pypi.python.org/pypi/pygit2; From 45563c61a7cb14227498ff7568c92fa9151efc34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:28:33 +0200 Subject: [PATCH 0156/2163] python3Packages.hcs_utils: fix build --- pkgs/top-level/python-packages.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5ca33ba23a5..7b837d380f6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3827,13 +3827,20 @@ rec { }; hcs_utils = buildPythonPackage rec { - name = "hcs_utils-1.3"; + name = "hcs_utils-1.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/h/hcs_utils/hcs_utils-1.3.tar.gz"; - sha256 = "0mcjfc0ssil86i74dg323z7mikkw1xazqyr92347x1y33zyffgxh"; + url = "https://pypi.python.org/packages/source/h/hcs_utils/${name}.tar.gz"; + sha256 = "1d2za9crkgzildx610w3zif2i8phcqhh6n8nzg3yvy2mg0s18mkl"; }; + preBuild = '' + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + export LC_ALL="en_US.UTF-8" + ''; + + buildInputs = [ six ]; + meta = with stdenv.lib; { description = "Library collecting some useful snippets"; homepage = https://pypi.python.org/pypi/hcs_utils/1.3; From 9cd8c65eea6569bc12055ee3e7363e48ebf26c51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:31:12 +0200 Subject: [PATCH 0157/2163] python3Packages.eyeD3: fix build --- pkgs/top-level/python-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7b837d380f6..8de63331817 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1944,12 +1944,12 @@ rec { eyeD3 = buildPythonPackage rec { - version = "0.7.2"; + version = "0.7.4"; name = "eyeD3-${version}"; src = fetchurl { - url = http://eyed3.nicfit.net/releases/eyeD3-0.7.2.tgz; - sha256 = "1r0vxdflrj83s8jc5f2qg4p00k37pskn3djym0w73bvq167vkxar"; + url = "http://eyed3.nicfit.net/releases/${name}.tgz"; + sha256 = "001hzgqqnf2ig432mq78jsxidpky2rl2ilm28xwjp32vzphycf51"; }; buildInputs = [ paver ]; From cfbdb07159d024a726c4778d3bbfc8ebdd60a59b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:34:49 +0200 Subject: [PATCH 0158/2163] python3Packages.goobook: disable on py3k --- pkgs/top-level/python-packages.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8de63331817..c58ef3afe26 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3719,12 +3719,15 @@ rec { goobook = buildPythonPackage rec { name = "goobook-1.5"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/g/goobook/${name}.tar.gz"; sha256 = "05vpriy391l5i05ckl5ja5bswqyvl3rwrbmks9pi46w1813j7p5z"; }; + buildInputs = [ six ]; + preConfigure = '' sed -i '/distribute/d' setup.py ''; From ede4ec6eea94cb47e32c024ea661138c39e0d41a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:37:58 +0200 Subject: [PATCH 0159/2163] python3Packages.qutip: fix build --- pkgs/top-level/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c58ef3afe26..6a1e71ba021 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6985,7 +6985,7 @@ rec { }; propagatedBuildInputs = [ numpy scipy matplotlib pkgs.pyqt4 - pkgs.cython ]; + cython ]; buildInputs = with pkgs; [ gcc qt4 blas ] ++ [ nose ]; From 3eb2e2b4eb166ac3e336fd7f3f02bbd8d88a22c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:43:37 +0200 Subject: [PATCH 0160/2163] python3Packages: more fixes --- pkgs/top-level/python-packages.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6a1e71ba021..a44401e664d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7146,6 +7146,7 @@ rec { robotframework-ride = buildPythonPackage rec { version = "1.2.3"; name = "robotframework-ride-${version}"; + disabled = isPy3k; src = fetchurl { url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz"; @@ -9190,6 +9191,9 @@ rec { zope_interface zope_location zope_publisher zope_schema zope_traversing ]; + # all tests fail + doCheck = false; + src = fetchurl { url = "https://pypi.python.org/packages/source/z/zope.browserresource/zope.browserresource-4.0.1.zip"; md5 = "81bbe92c1f04725561470f89d73222c5"; From e75cf5d166fbb04f747d61d4bbcbce79ac9345c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 19:46:15 +0200 Subject: [PATCH 0161/2163] coprthr: mark as broken (cc @thoughtpolice) --- pkgs/development/libraries/coprthr/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/coprthr/default.nix b/pkgs/development/libraries/coprthr/default.nix index 0e521aa19e8..40be21131d2 100644 --- a/pkgs/development/libraries/coprthr/default.nix +++ b/pkgs/development/libraries/coprthr/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/browndeer/coprthr/archive/stable-${version}.zip"; - sha256 = "042aykmcxhdpck0j6k5rcp6a0b5i377fv2nz96v1bpfhzxd1mjwg"; + sha256 = "0ilx4v1ydppjnq1i0z5j0x4lmi29z39sappar7c0wqady0b5dpz9"; }; buildInputs = @@ -33,5 +33,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.lgpl3; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + broken = true; }; } From 0a1c255bc9f129b61ce9f26630bbe060609f13b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 20:53:02 +0200 Subject: [PATCH 0162/2163] zeitgeist: fix build --- pkgs/development/libraries/zeitgeist/default.nix | 5 +++-- pkgs/top-level/python-packages.nix | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix index 3ef43baca5e..d0de624890b 100644 --- a/pkgs/development/libraries/zeitgeist/default.nix +++ b/pkgs/development/libraries/zeitgeist/default.nix @@ -3,10 +3,11 @@ , gtk3, json_glib, librdf_raptor2, pythonPackages, dbus_glib }: stdenv.mkDerivation rec { - name = "zeitgeist-0.0.14"; + version = "0.9.15"; + name = "zeitgeist-${version}"; src = fetchurl { - url = "https://github.com/seiflotfy/zeitgeist/archive/v0.9.15.tar.gz"; + url = "https://github.com/seiflotfy/zeitgeist/archive/v${version}.tar.gz"; sha256 = "07pnc7kmjpd0ncm32z6s3ny5p4zl52v9lld0n0f8sp6cw87k12p0"; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a44401e664d..75785ebc8a5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7067,12 +7067,28 @@ rec { # error: invalid command 'test' doCheck = false; + + propagatedBuildInputs = [ isodate ]; meta = { description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information."; homepage = http://www.rdflib.net/; }; }); + + isodate = buildPythonPackage rec { + name = "isodate-0.5.0"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/i/isodate/${name}.tar.gz"; + md5 = "9a267e9327feb3d021cae26002ba6e0e"; + }; + + meta = with stdenv.lib; { + description = "ISO 8601 date/time parser"; + homepage = http://cheeseshop.python.org/pypi/isodate; + }; + }; robotframework = buildPythonPackage rec { From 81a2e4ce4c65819f6071e149c4ad737947bd0060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 27 Aug 2014 21:01:43 +0200 Subject: [PATCH 0163/2163] python3Packages: disable some --- pkgs/top-level/python-packages.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 75785ebc8a5..8374e29162a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1919,12 +1919,13 @@ rec { evdev = buildPythonPackage rec { - version = "0.3.2"; + version = "0.4.5"; name = "evdev-${version}"; + disabled = isPy34; # see http://bugs.python.org/issue21121 src = fetchurl { url = "https://pypi.python.org/packages/source/e/evdev/${name}.tar.gz"; - sha256 = "07gmynz764sln2sq18aafx13yawkv5nkqrkk06rj71sq71fsr9h9"; + sha256 = "0w8ib3ab4mpfc1rvd335l8xkd41qbh3iyb0vfiiapgcfvqk74aq7"; }; buildInputs = [ pkgs.linuxHeaders ]; @@ -3968,6 +3969,7 @@ rec { httpretty = buildPythonPackage rec { name = "httpretty-${version}"; version = "0.8.3"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/h/httpretty/${name}.tar.gz"; From 10a3369c994edfdb796026be2675d61e68f0e92c Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Wed, 27 Aug 2014 21:21:35 +0200 Subject: [PATCH 0164/2163] virtinst: fix name resolution ambiguity breaking the runnability --- pkgs/applications/virtualization/virtinst/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix index 9b89a78f838..6441bb88423 100644 --- a/pkgs/applications/virtualization/virtinst/default.nix +++ b/pkgs/applications/virtualization/virtinst/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl }: +{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl }: with stdenv.lib; From a501db1b7ec829d57af91c25d46bed9ec5764b01 Mon Sep 17 00:00:00 2001 From: Alp Mestanogullari Date: Wed, 27 Aug 2014 22:03:15 +0200 Subject: [PATCH 0165/2163] servant-scotty/default.nix: switch to version 0.1.1 which relaxes the bounds on the transformers package --- .../libraries/haskell/servant-scotty/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/servant-scotty/default.nix b/pkgs/development/libraries/haskell/servant-scotty/default.nix index 2d053d3409d..1c1f358cf15 100644 --- a/pkgs/development/libraries/haskell/servant-scotty/default.nix +++ b/pkgs/development/libraries/haskell/servant-scotty/default.nix @@ -1,4 +1,5 @@ -# This file was auto-generated by cabal2nix. Please do NOT edit manually! +# This file was auto-generated by cabal2nix. Please do NOT edit + manually! { cabal, aeson, httpTypes, scotty, servant, servantResponse, text , transformers @@ -6,14 +7,15 @@ cabal.mkDerivation (self: { pname = "servant-scotty"; - version = "0.1"; - sha256 = "0nl4ghx4hp1329sgnphirnnikxyn5hgw0iz5dga5ib16bmkzbsvi"; + version = "0.1.1"; + sha256 = "0d3yc7aa2p1izizqnj81iscj9hbgbkpyav1ncmxzkr48svr6h783"; buildDepends = [ aeson httpTypes scotty servant servantResponse text transformers ]; meta = { homepage = "http://github.com/zalora/servant"; - description = "Generate a web service for servant 'Resource's using scotty and JSON"; + description = "Generate a web service for servant 'Resource's + using scotty and JSON"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; From 940a918825bc4c79230c7ec5aa8079cf7e902258 Mon Sep 17 00:00:00 2001 From: Alp Mestanogullari Date: Wed, 27 Aug 2014 22:04:27 +0200 Subject: [PATCH 0166/2163] fix a small typo --- pkgs/development/libraries/haskell/servant-scotty/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/servant-scotty/default.nix b/pkgs/development/libraries/haskell/servant-scotty/default.nix index 1c1f358cf15..562c966bcc7 100644 --- a/pkgs/development/libraries/haskell/servant-scotty/default.nix +++ b/pkgs/development/libraries/haskell/servant-scotty/default.nix @@ -1,5 +1,4 @@ -# This file was auto-generated by cabal2nix. Please do NOT edit - manually! +# This file was auto-generated by cabal2nix. Please do NOT edit manually! { cabal, aeson, httpTypes, scotty, servant, servantResponse, text , transformers From 2dc2699ca4e1ef5ba5bd6993de563d9bcc52285b Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Wed, 27 Aug 2014 15:13:53 -0500 Subject: [PATCH 0167/2163] linux/grsec: updates 3.15.10 is EOL soon, but grsecurity/unstable hasn't moved to 3.16.x yet. Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/kernel/linux-3.12.nix | 4 ++-- pkgs/os-specific/linux/kernel/linux-testing.nix | 9 ++++----- pkgs/os-specific/linux/kernel/patches.nix | 12 ++++++------ 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix index 291e43a98e5..c67c531667a 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.12.26"; + version = "3.12.27"; extraMeta.branch = "3.12"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1gp6brk2ix30g8dznd5yv1fq7yx82295va6cn7lwv6jj9w287s6c"; + sha256 = "0c8psz9k6k413b48dphclqs6wkh9wiwf5nslykg27afdqd6v4ycc"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index f44f3d32792..ae9dfc8ef38 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,14 +1,13 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - # Reason to add: RTL8192EE - version = "3.16-rc3"; - modDirVersion = "3.16.0-rc3"; - extraMeta.branch = "3.16"; + version = "3.17-rc2"; + modDirVersion = "3.17.0-rc2"; + extraMeta.branch = "3.17"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/testing/linux-${version}.tar.xz"; - sha256 = "17jgv1hnx2im68f8721x11yfg8mpas7lsxg0j00qxv2fc6km2glm"; + sha256 = "094r4kqp7bj1wcdfsgdmv73law4zb7d0sd8lw82v3rz944mlm9y3"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index cfe006fbe4b..c91b8ddfb44 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -60,17 +60,17 @@ rec { }; grsecurity_stable = grsecPatch - { kversion = "3.14.10"; - revision = "201407012152"; + { kversion = "3.14.17"; + revision = "201408260041"; branch = "stable"; - sha256 = "1119044lzkr9wpr1gpl1g0bz67c2xpdd9bkddllij7ja24jv8sx1"; + sha256 = "1brcfxbdd5f29vci3bj2dk3878z24ncrjw268j4i1n8ms65jqda0"; }; grsecurity_unstable = grsecPatch - { kversion = "3.15.3"; - revision = "201407012153"; + { kversion = "3.15.10"; + revision = "201408212335"; branch = "test"; - sha256 = "0bccayakprc77530crxfr9v2hbs6hlcf290pj1ywlh1p861ljgbm"; + sha256 = "0ynnci7jms5a1acn8cpdw4w2j4jz5xai1da5w1l5r65909kwmx0k"; }; grsec_fix_path = From 9667a4067c7e3f02a6a0fe8f1f3344c1cb1d7ef7 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 27 Aug 2014 22:44:56 +0200 Subject: [PATCH 0168/2163] nixos: Use literalExample for systemPackages. Signed-off-by: aszlig --- nixos/modules/config/system-path.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 83c14e45685..f3e86bfd201 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -63,7 +63,7 @@ in systemPackages = mkOption { type = types.listOf types.path; default = []; - example = "[ pkgs.firefox pkgs.thunderbird ]"; + example = literalExample "[ pkgs.firefox pkgs.thunderbird ]"; description = '' The set of packages that appear in /run/current-system/sw. These packages are From 8a56a55bb442cbf2e2126d40df55e67b9aea0361 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 27 Aug 2014 23:41:15 +0200 Subject: [PATCH 0169/2163] nixos/manual: Use literalExample when feasible. Should bring most of the examples into a better consistency regarding syntactic representation in the manual. Thanks to @devhell for reporting. Signed-off-by: aszlig --- nixos/modules/config/fonts/fonts.nix | 2 +- nixos/modules/config/power-management.nix | 8 ++++++-- nixos/modules/config/pulseaudio.nix | 2 +- nixos/modules/config/shells-environment.nix | 4 +++- nixos/modules/installer/cd-dvd/iso-image.nix | 7 ++++--- nixos/modules/installer/cd-dvd/system-tarball.nix | 7 ++++--- nixos/modules/misc/crashdump.nix | 2 +- nixos/modules/services/audio/mopidy.nix | 2 +- nixos/modules/services/backup/rsnapshot.nix | 2 +- nixos/modules/services/logging/syslog-ng.nix | 4 +++- nixos/modules/services/monitoring/smartd.nix | 2 +- nixos/modules/services/networking/ircd-hybrid/default.nix | 4 ++-- nixos/modules/services/networking/znc.nix | 2 +- .../modules/services/web-servers/apache-httpd/default.nix | 2 +- nixos/modules/services/x11/desktop-managers/gnome3.nix | 4 ++-- nixos/modules/services/x11/desktop-managers/kde4.nix | 2 +- nixos/modules/services/x11/display-managers/default.nix | 6 ++++-- nixos/modules/services/x11/xserver.nix | 4 ++-- 18 files changed, 39 insertions(+), 27 deletions(-) diff --git a/nixos/modules/config/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix index 49b1e1d42a3..f6060a910a1 100644 --- a/nixos/modules/config/fonts/fonts.nix +++ b/nixos/modules/config/fonts/fonts.nix @@ -11,7 +11,7 @@ with lib; # TODO: find another name for it. fonts = mkOption { type = types.listOf types.path; - example = [ pkgs.dejavu_fonts ]; + example = literalExample "[ pkgs.dejavu_fonts ]"; description = "List of primary font paths."; apply = list: list ++ [ # - the user's current profile diff --git a/nixos/modules/config/power-management.nix b/nixos/modules/config/power-management.nix index 17f3ed00b9b..32a7987617a 100644 --- a/nixos/modules/config/power-management.nix +++ b/nixos/modules/config/power-management.nix @@ -35,7 +35,9 @@ in powerUpCommands = mkOption { type = types.lines; default = ""; - example = "${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda"; + example = literalExample '' + "''${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda" + ''; description = '' Commands executed when the machine powers up. That is, @@ -47,7 +49,9 @@ in powerDownCommands = mkOption { type = types.lines; default = ""; - example = "${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda"; + example = literalExample '' + "''${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda" + ''; description = '' Commands executed when the machine powers down. That is, diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 96593885e5b..1b84bbaf10c 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -81,7 +81,7 @@ in { package = mkOption { type = types.package; default = pulseaudioFull; - example = literalExample "pulseaudioFull"; + example = literalExample "pkgs.pulseaudioFull"; description = '' The PulseAudio derivation to use. This can be used to disable features (such as JACK support, Bluetooth) that are enabled in the diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix index cc079cdc585..2559c53ac16 100644 --- a/nixos/modules/config/shells-environment.nix +++ b/nixos/modules/config/shells-environment.nix @@ -122,7 +122,9 @@ in environment.binsh = mkOption { default = "${config.system.build.binsh}/bin/sh"; - example = "\${pkgs.dash}/bin/dash"; + example = literalExample '' + "''${pkgs.dash}/bin/dash" + ''; type = types.path; description = '' The shell executable that is linked system-wide to diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index d43fa220381..623cfdedd26 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -113,11 +113,12 @@ in }; isoImage.contents = mkOption { - example = + example = literalExample '' [ { source = pkgs.memtest86 + "/memtest.bin"; target = "boot/memtest.bin"; } - ]; + ] + ''; description = '' This option lists files to be copied to fixed locations in the generated ISO image. @@ -125,7 +126,7 @@ in }; isoImage.storeContents = mkOption { - example = [pkgs.stdenv]; + example = literalExample "[ pkgs.stdenv ]"; description = '' This option lists additional derivations to be included in the Nix store in the generated ISO image. diff --git a/nixos/modules/installer/cd-dvd/system-tarball.nix b/nixos/modules/installer/cd-dvd/system-tarball.nix index eaecbe1381f..c24fe97fba4 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball.nix @@ -15,11 +15,12 @@ in { options = { tarball.contents = mkOption { - example = + example = literalExample '' [ { source = pkgs.memtest86 + "/memtest.bin"; target = "boot/memtest.bin"; } - ]; + ] + ''; description = '' This option lists files to be copied to fixed locations in the generated ISO image. @@ -27,7 +28,7 @@ in }; tarball.storeContents = mkOption { - example = [pkgs.stdenv]; + example = literalExample "[ pkgs.stdenv ]"; description = '' This option lists additional derivations to be included in the Nix store in the generated ISO image. diff --git a/nixos/modules/misc/crashdump.nix b/nixos/modules/misc/crashdump.nix index d68f38bae2f..773b5ac9da3 100644 --- a/nixos/modules/misc/crashdump.nix +++ b/nixos/modules/misc/crashdump.nix @@ -28,7 +28,7 @@ in # We don't want to evaluate all of linuxPackages for the manual # - some of it might not even evaluate correctly. defaultText = "pkgs.linuxPackages"; - example = "pkgs.linuxPackages_2_6_25"; + example = literalExample "pkgs.linuxPackages_2_6_25"; description = '' This will override the boot.kernelPackages, and will add some kernel configuration parameters for the crash dump to work. diff --git a/nixos/modules/services/audio/mopidy.nix b/nixos/modules/services/audio/mopidy.nix index 5b865cf4c1b..a7a7e8ae688 100644 --- a/nixos/modules/services/audio/mopidy.nix +++ b/nixos/modules/services/audio/mopidy.nix @@ -49,7 +49,7 @@ in { extensionPackages = mkOption { default = []; type = types.listOf types.package; - example = [ mopidy-spotify ]; + example = literalExample "[ pkgs.mopidy-spotify ]"; description = '' Mopidy extensions that should be loaded by the service. ''; diff --git a/nixos/modules/services/backup/rsnapshot.nix b/nixos/modules/services/backup/rsnapshot.nix index 48ad7582b7e..091b5cfd4d5 100644 --- a/nixos/modules/services/backup/rsnapshot.nix +++ b/nixos/modules/services/backup/rsnapshot.nix @@ -31,7 +31,7 @@ in cronIntervals = mkOption { default = {}; - example = { "hourly" = "0 * * * *"; "daily" = "50 21 * * *"; }; + example = { hourly = "0 * * * *"; daily = "50 21 * * *"; }; type = types.attrsOf types.string; description = '' Periodicity at which intervals should be run by cron. diff --git a/nixos/modules/services/logging/syslog-ng.nix b/nixos/modules/services/logging/syslog-ng.nix index 8b892a33bb7..0b3f0cabb00 100644 --- a/nixos/modules/services/logging/syslog-ng.nix +++ b/nixos/modules/services/logging/syslog-ng.nix @@ -49,7 +49,9 @@ in { extraModulePaths = mkOption { type = types.listOf types.str; default = []; - example = [ "${pkgs.syslogng_incubator}/lib/syslog-ng" ]; + example = literalExample '' + [ "''${pkgs.syslogng_incubator}/lib/syslog-ng" ] + ''; description = '' A list of paths that should be included in syslog-ng's --module-path option. They should usually diff --git a/nixos/modules/services/monitoring/smartd.nix b/nixos/modules/services/monitoring/smartd.nix index 250035fe447..803bd9e9a65 100644 --- a/nixos/modules/services/monitoring/smartd.nix +++ b/nixos/modules/services/monitoring/smartd.nix @@ -62,7 +62,7 @@ in enable = mkOption { default = false; type = types.bool; - example = "true"; + example = true; description = '' Run smartd from the smartmontools package. Note that e-mail notifications will not be enabled unless you configure the list of diff --git a/nixos/modules/services/networking/ircd-hybrid/default.nix b/nixos/modules/services/networking/ircd-hybrid/default.nix index a3d5b71740f..2c397f94d23 100644 --- a/nixos/modules/services/networking/ircd-hybrid/default.nix +++ b/nixos/modules/services/networking/ircd-hybrid/default.nix @@ -66,7 +66,7 @@ in rsaKey = mkOption { default = null; - example = /root/certificates/irc.key; + example = literalExample "/root/certificates/irc.key"; description = " IRCD server RSA key. "; @@ -74,7 +74,7 @@ in certificate = mkOption { default = null; - example = /root/certificates/irc.pem; + example = literalExample "/root/certificates/irc.pem"; description = " IRCD server SSL certificate. There are some limitations - read manual. "; diff --git a/nixos/modules/services/networking/znc.nix b/nixos/modules/services/networking/znc.nix index 4d53cd0750f..2aa63c6e7df 100644 --- a/nixos/modules/services/networking/znc.nix +++ b/nixos/modules/services/networking/znc.nix @@ -228,7 +228,7 @@ in modulePackages = mkOption { type = types.listOf types.package; default = [ ]; - example = [ pkgs.zncModules.fish pkgs.zncModules.push ]; + example = literalExample "[ pkgs.zncModules.fish pkgs.zncModules.push ]"; description = '' A list of global znc module packages to add to znc. ''; diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index b83cf276ed5..9ac28373dac 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -423,7 +423,7 @@ in package = mkOption { type = types.package; default = pkgs.apacheHttpd.override { mpm = mainCfg.multiProcessingModule; }; - example = "pkgs.apacheHttpd_2_4"; + example = literalExample "pkgs.apacheHttpd_2_4"; description = '' Overridable attribute of the Apache HTTP Server package to use. ''; diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 06bcb6dbb8b..049c96c54e7 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -37,7 +37,7 @@ in { services.xserver.desktopManager.gnome3.sessionPath = mkOption { default = []; - example = "[ pkgs.gnome3.gpaste ]"; + example = literalExample "[ pkgs.gnome3.gpaste ]"; description = "Additional list of packages to be added to the session search path. Useful for gnome shell extensions or gsettings-conditionated autostart."; apply = list: list ++ [ gnome3.gnome_shell ]; @@ -51,7 +51,7 @@ in { environment.gnome3.excludePackages = mkOption { default = []; - example = "[ pkgs.gnome3.totem ]"; + example = literalExample "[ pkgs.gnome3.totem ]"; type = types.listOf types.package; description = "Which packages gnome should exclude from the default environment"; }; diff --git a/nixos/modules/services/x11/desktop-managers/kde4.nix b/nixos/modules/services/x11/desktop-managers/kde4.nix index f74dd7e0444..669ddbd904f 100644 --- a/nixos/modules/services/x11/desktop-managers/kde4.nix +++ b/nixos/modules/services/x11/desktop-managers/kde4.nix @@ -65,7 +65,7 @@ in environment.kdePackages = mkOption { default = []; - example = "[ pkgs.kde4.kdesdk ]"; + example = literalExample "[ pkgs.kde4.kdesdk ]"; type = types.listOf types.package; description = "This option is obsolete. Please use instead."; }; diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 3bf18bd58c8..6e61576f501 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -251,14 +251,16 @@ in execCmd = mkOption { type = types.str; - example = "${pkgs.slim}/bin/slim"; + example = literalExample '' + "''${pkgs.slim}/bin/slim" + ''; description = "Command to start the display manager."; }; environment = mkOption { type = types.attrsOf types.unspecified; default = {}; - example = { SLIM_CFGFILE = /etc/slim.conf; }; + example = { SLIM_CFGFILE = "/etc/slim.conf"; }; description = "Additional environment variables needed by the display manager."; }; diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 5f3e8003b45..21eaf6bb6b7 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -151,7 +151,7 @@ in modules = mkOption { type = types.listOf types.path; default = []; - example = [ pkgs.xf86_input_wacom ]; + example = literalExample "[ pkgs.xf86_input_wacom ]"; description = "Packages to be added to the module search path of the X server."; }; @@ -201,7 +201,7 @@ in vaapiDrivers = mkOption { type = types.listOf types.path; default = [ ]; - example = "[ pkgs.vaapiIntel pkgs.vaapiVdpau ]"; + example = literalExample "[ pkgs.vaapiIntel pkgs.vaapiVdpau ]"; description = '' Packages providing libva acceleration drivers. ''; From 2b5479658535b0ddceaab73e3c21291176bbc4c9 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Thu, 28 Aug 2014 00:09:26 +0100 Subject: [PATCH 0170/2163] cantata: update to 1.4.1 --- pkgs/applications/audio/cantata/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix index 015d887a584..88931520c42 100644 --- a/pkgs/applications/audio/cantata/default.nix +++ b/pkgs/applications/audio/cantata/default.nix @@ -39,7 +39,7 @@ assert withOnlineServices -> withTaglib; assert withReplaygain -> withTaglib; let - version = "1.4.0"; + version = "1.4.1"; pname = "cantata"; fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF"); fstats = x: map (fstat x); @@ -50,8 +50,8 @@ stdenv.mkDerivation rec { src = fetchurl { inherit name; - url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60WDI1WjRtUDJ4QlU"; - sha256 = "63a03872ec9a2b212c497d4b10e255d5654f96370734e86420bf711354048e01"; + url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60eXhuZ1Z3bGM2bjQ"; + sha256 = "b0d5a1798efd275d72dffb87bc0f016fc865dbd1384b7c9af039cebdffe0cca3"; }; buildInputs = @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional (withTaglib && !withKDE4 && withDevices) udisks2; unpackPhase = "tar -xvf $src"; - sourceRoot = "cantata-1.4.0"; + sourceRoot = "${name}"; # Qt4 is implicit when KDE is switched off. cmakeFlags = stdenv.lib.flatten [ From 6773babd5b75d34afa850351fd292310e3dd3fc8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 27 Aug 2014 19:31:22 +0200 Subject: [PATCH 0171/2163] Containers: Use nsenter to execute commands in containers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also remove ‘nixos-container set-root-password’, which is kind of pointless now. --- .../virtualisation/container-config.nix | 71 ------------------- nixos/modules/virtualisation/containers.nix | 7 +- .../modules/virtualisation/nixos-container.pl | 40 +++++------ 3 files changed, 23 insertions(+), 95 deletions(-) diff --git a/nixos/modules/virtualisation/container-config.nix b/nixos/modules/virtualisation/container-config.nix index 84e3aa28352..a7e8953827a 100644 --- a/nixos/modules/virtualisation/container-config.nix +++ b/nixos/modules/virtualisation/container-config.nix @@ -18,77 +18,6 @@ with lib; # Shut up warnings about not having a boot loader. system.build.installBootLoader = "${pkgs.coreutils}/bin/true"; - # Provide a root login prompt on /var/lib/root-login.socket that - # doesn't ask for a password. This socket can only be used by root - # on the host. - systemd.sockets.root-login = - { description = "Root Login Socket"; - wantedBy = [ "sockets.target" ]; - socketConfig = - { ListenStream = "/var/lib/root-login.socket"; - SocketMode = "0600"; - Accept = true; - }; - }; - - systemd.services."root-login@" = - { description = "Root Login %i"; - environment.TERM = "linux"; - serviceConfig = - { Type = "simple"; - StandardInput = "socket"; - ExecStart = "${pkgs.socat}/bin/socat -t0 - \"exec:${pkgs.shadow}/bin/login -f root,pty,setsid,setpgid,stderr,ctty\""; - TimeoutStopSec = 1; # FIXME - }; - restartIfChanged = false; - }; - - # Provide a daemon on /var/lib/run-command.socket that reads a - # command from stdin and executes it. - systemd.sockets.run-command = - { description = "Run Command Socket"; - wantedBy = [ "sockets.target" ]; - socketConfig = - { ListenStream = "/var/lib/run-command.socket"; - SocketMode = "0600"; # only root can connect - Accept = true; - }; - }; - - systemd.services."run-command@" = - { description = "Run Command %i"; - environment.TERM = "linux"; - serviceConfig = - { Type = "simple"; - StandardInput = "socket"; - TimeoutStopSec = 1; # FIXME - }; - script = - '' - #! ${pkgs.stdenv.shell} -e - source /etc/bashrc - read c - eval "command=($c)" - exec "''${command[@]}" - ''; - restartIfChanged = false; - }; - - systemd.services.container-startup-done = - { description = "Container Startup Notification"; - wantedBy = [ "multi-user.target" ]; - after = [ "multi-user.target" ]; - script = - '' - if [ -p /var/lib/startup-done ]; then - echo done > /var/lib/startup-done - fi - ''; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - restartIfChanged = false; - }; - systemd.services.systemd-remount-fs.enable = false; }; diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 292b96e6eb2..d62340f2c79 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -10,7 +10,7 @@ let isExecutable = true; src = ./nixos-container.pl; perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; - inherit (pkgs) socat; + inherit (pkgs) utillinux; }; # The container's init script, a small wrapper around the regular @@ -254,9 +254,8 @@ in ExecReload = pkgs.writeScript "reload-container" '' #! ${pkgs.stdenv.shell} -e - SYSTEM_PATH=/nix/var/nix/profiles/system - echo $SYSTEM_PATH/bin/switch-to-configuration test | \ - ${pkgs.socat}/bin/socat unix:$root/var/lib/run-command.socket - + ${nixos-container}/bin/nixos-container run "$INSTANCE" -- \ + bash --login -c "/nix/var/nix/profiles/system/bin/switch-to-configuration test" ''; SyslogIdentifier = "container %i"; diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl index bf6f16fc6c7..b829eeb0579 100644 --- a/nixos/modules/virtualisation/nixos-container.pl +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -7,7 +7,7 @@ use File::Slurp; use Fcntl ':flock'; use Getopt::Long qw(:config gnu_getopt); -my $socat = '@socat@/bin/socat'; +my $nsenter = "@utillinux@/bin/nsenter"; # Ensure a consistent umask. umask 0022; @@ -25,7 +25,6 @@ Usage: nixos-container list nixos-container login nixos-container root-login nixos-container run -- args... - nixos-container set-root-password nixos-container show-ip nixos-container show-host-key EOF @@ -186,6 +185,23 @@ sub stopContainer { or die "$0: failed to stop container\n"; } +# Return the PID of the init process of the container. +sub getLeader { + my $s = `machinectl show "$containerName" -p Leader`; + chomp $s; + $s =~ /^Leader=(\d+)$/ or die "unable to get container's main PID\n"; + return int($1); +} + +# Run a command in the container. +sub runInContainer { + my @args = @_; + my $leader = getLeader; + # FIXME: initialise the environment properly. + exec($nsenter, "-t", $leader, "-m", "-u", "-i", "-n", "-p", "--", "env", "-i", "--", @args); + die "cannot run ‘nsenter’: $!\n"; +} + if ($action eq "destroy") { die "$0: cannot destroy declarative container (remove it from your configuration.nix instead)\n" unless POSIX::access($confFile, &POSIX::W_OK); @@ -235,28 +251,12 @@ elsif ($action eq "login") { } elsif ($action eq "root-login") { - exec($socat, "unix:$root/var/lib/root-login.socket", "-,echo=0,raw"); + runInContainer("bash", "--login"); } elsif ($action eq "run") { shift @ARGV; shift @ARGV; - my $pid = open(SOCAT, "|-", $socat, "-t0", "-", "unix:$root/var/lib/run-command.socket") or die "$0: cannot start $socat: $!\n"; - print SOCAT join(' ', map { "'$_'" } @ARGV), "\n"; - flush SOCAT; - waitpid($pid, 0); - close(SOCAT); -} - -elsif ($action eq "set-root-password") { - # FIXME: don't get password from the command line. - my $password = $ARGV[2] or die "$0: no password given\n"; - my $pid = open(SOCAT, "|-", $socat, "-t0", "-", "unix:$root/var/lib/run-command.socket") or die "$0: cannot start $socat: $!\n"; - print SOCAT "passwd\n"; - print SOCAT "$password\n"; - print SOCAT "$password\n"; - flush SOCAT; - waitpid($pid, 0); - close(SOCAT); + runInContainer(@ARGV); } elsif ($action eq "show-ip") { From 21ab4e054c1570dd5000a18cb114e665729b378a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 27 Aug 2014 21:12:18 +0200 Subject: [PATCH 0172/2163] =?UTF-8?q?nixos-container=20run:=20Execute=20co?= =?UTF-8?q?mmand=20using=20=E2=80=98su=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This ensures that the environment is set up correctly. --- nixos/modules/virtualisation/nixos-container.pl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl index b829eeb0579..7403a42f0f1 100644 --- a/nixos/modules/virtualisation/nixos-container.pl +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -197,8 +197,7 @@ sub getLeader { sub runInContainer { my @args = @_; my $leader = getLeader; - # FIXME: initialise the environment properly. - exec($nsenter, "-t", $leader, "-m", "-u", "-i", "-n", "-p", "--", "env", "-i", "--", @args); + exec($nsenter, "-t", $leader, "-m", "-u", "-i", "-n", "-p", "--", @args); die "cannot run ‘nsenter’: $!\n"; } @@ -251,12 +250,14 @@ elsif ($action eq "login") { } elsif ($action eq "root-login") { - runInContainer("bash", "--login"); + runInContainer("su", "root", "-l"); } elsif ($action eq "run") { shift @ARGV; shift @ARGV; - runInContainer(@ARGV); + # Escape command. + my $s = join(' ', map { s/'/'\\''/g; "'$_'" } @ARGV); + runInContainer("su", "root", "-l", "-c", "exec " . $s); } elsif ($action eq "show-ip") { From 013aedffead2450cfea6d5fccc16cb51be890e02 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 27 Aug 2014 22:51:18 -0400 Subject: [PATCH 0173/2163] ats2: bump --- pkgs/development/compilers/ats2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix index 8c71138ab78..c66143fe1f3 100644 --- a/pkgs/development/compilers/ats2/default.nix +++ b/pkgs/development/compilers/ats2/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "ats2-${version}"; - version = "0.1.0"; + version = "0.1.1"; src = fetchurl { url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz"; - sha256 = "0i7b9v7xki9j2jjjpydz0gl33af94b4jjmk75b9w20bs003v8vd4"; + sha256 = "17yr5zc4cr4zlizhzy43ihfcidl63wjxcc002amzahskib4fsbmb"; }; buildInputs = [ gmp ]; From 7b9fa26b10dacb7eda26c8ba0bf4b6a982dbe1b7 Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Wed, 27 Aug 2014 11:51:54 +0200 Subject: [PATCH 0174/2163] Quote paths from example & default attributes. --- nixos/modules/misc/locate.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/misc/locate.nix b/nixos/modules/misc/locate.nix index 7de63c60649..f3ed2aaba09 100644 --- a/nixos/modules/misc/locate.nix +++ b/nixos/modules/misc/locate.nix @@ -41,7 +41,7 @@ in { output = mkOption { type = types.path; - default = /var/cache/locatedb; + default = "/var/cache/locatedb"; description = '' The database file to build. ''; From 9c6614687c3ba58732b06ac700673933283fba94 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Thu, 28 Aug 2014 10:05:00 +0100 Subject: [PATCH 0175/2163] Update haskellPackages.engineIo and haskellPackages.socketIo --- pkgs/development/libraries/haskell/engine-io/default.nix | 5 ++--- pkgs/development/libraries/haskell/socket-io/default.nix | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/engine-io/default.nix b/pkgs/development/libraries/haskell/engine-io/default.nix index 82cb1240610..6d3f29206f8 100644 --- a/pkgs/development/libraries/haskell/engine-io/default.nix +++ b/pkgs/development/libraries/haskell/engine-io/default.nix @@ -7,13 +7,12 @@ cabal.mkDerivation (self: { pname = "engine-io"; - version = "1.1.0"; - sha256 = "0l2jwgzi22ky13k9kmqhn15zyxyg5gr167rkywb458n1si4jr3jh"; + version = "1.1.1"; + sha256 = "0y3jppxppms1i0lg6izpl6xiczsjkxd0z2adxna1h7b399ivzcmg"; buildDepends = [ aeson async attoparsec base64Bytestring either monadLoops mwcRandom stm text transformers unorderedContainers vector websockets ]; - jailbreak = true; meta = { homepage = "http://github.com/ocharles/engine.io"; description = "A Haskell implementation of Engine.IO"; diff --git a/pkgs/development/libraries/haskell/socket-io/default.nix b/pkgs/development/libraries/haskell/socket-io/default.nix index 19d6ff3a667..0a7d4b1c230 100644 --- a/pkgs/development/libraries/haskell/socket-io/default.nix +++ b/pkgs/development/libraries/haskell/socket-io/default.nix @@ -6,14 +6,14 @@ cabal.mkDerivation (self: { pname = "socket-io"; - version = "1.0.1"; - sha256 = "0257c5wf6b9rmprqq5q5d7fih4s2szwv98w16ggl61p8khf5d2qs"; + version = "1.1.0"; + sha256 = "1ffip6jlp3i6pz8gbk8m2ra2q8568mgwgi988yh046w787yf9kpw"; buildDepends = [ aeson attoparsec engineIo mtl stm text transformers unorderedContainers vector ]; - jailbreak = true; meta = { + homepage = "http://github.com/ocharles/engine.io"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = with self.stdenv.lib.maintainers; [ ocharles ]; From ce16840c683074962165f309b83769dd3b2f7b66 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Thu, 28 Aug 2014 10:11:15 +0100 Subject: [PATCH 0176/2163] haskellPackages.engineIo: Update to 1.1.2 --- pkgs/development/libraries/haskell/engine-io/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/engine-io/default.nix b/pkgs/development/libraries/haskell/engine-io/default.nix index 6d3f29206f8..f1f9d06c76a 100644 --- a/pkgs/development/libraries/haskell/engine-io/default.nix +++ b/pkgs/development/libraries/haskell/engine-io/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "engine-io"; - version = "1.1.1"; - sha256 = "0y3jppxppms1i0lg6izpl6xiczsjkxd0z2adxna1h7b399ivzcmg"; + version = "1.1.2"; + sha256 = "1ry6rklrij7x1z8mw31vh41lc0axzj8l0lhmjsmhs554nv50062f"; buildDepends = [ aeson async attoparsec base64Bytestring either monadLoops mwcRandom stm text transformers unorderedContainers vector websockets From 31f015f2e85459f59b984e9913a6f9c7e3c462ed Mon Sep 17 00:00:00 2001 From: Sven Keidel Date: Thu, 7 Aug 2014 17:49:16 +0200 Subject: [PATCH 0177/2163] gpodder: Update to 3.8.0 --- pkgs/applications/audio/gpodder/default.nix | 38 ++++++++++++++++++--- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix index 19b61ebc76d..de5ef055125 100644 --- a/pkgs/applications/audio/gpodder/default.nix +++ b/pkgs/applications/audio/gpodder/default.nix @@ -1,5 +1,6 @@ { pkgs, stdenv, fetchurl, python, buildPythonPackage, pythonPackages, mygpoclient, intltool, - ipodSupport ? true, libgpod, gpodderHome ? "", gpodderDownloadDir ? "" }: + ipodSupport ? true, libgpod, gpodderHome ? "", gpodderDownloadDir ? "", + gnome3, hicolor_icon_theme }: with pkgs.lib; @@ -7,14 +8,18 @@ let inherit (pythonPackages) coverage feedparser minimock sqlite3 dbus pygtk eyeD3; in buildPythonPackage rec { - name = "gpodder-3.7.0"; + name = "gpodder-3.8.0"; src = fetchurl { url = "http://gpodder.org/src/${name}.tar.gz"; - sha256 = "fa90ef4bdd3fd9eef95404f7f43f70912ae3ab4f8d24078484a2f3e11b14dc47"; + sha256 = "0731f08f4270c81872b841b55200ae80feb4502706397d0085079471fb9a8fe4"; }; - buildInputs = [ coverage feedparser minimock sqlite3 mygpoclient intltool ]; + buildInputs = [ + coverage feedparser minimock sqlite3 mygpoclient intltool + gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic + hicolor_icon_theme + ]; propagatedBuildInputs = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ] ++ stdenv.lib.optional ipodSupport libgpod; @@ -26,7 +31,30 @@ in buildPythonPackage rec { preFixup = '' wrapProgram $out/bin/gpodder \ ${optionalString (gpodderHome != "") "--set GPODDER_HOME ${gpodderHome}"} \ - ${optionalString (gpodderDownloadDir != "") "--set GPODDER_DOWNLOAD_DIR ${gpodderDownloadDir}"} + ${optionalString (gpodderDownloadDir != "") "--set GPODDER_DOWNLOAD_DIR ${gpodderDownloadDir}"} \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + # The `wrapPythonPrograms` script in the postFixup phase breaks gpodder. The + # easiest way to fix this is to call wrapPythonPrograms and then to clean up + # the wrapped file. + postFixup = '' + wrapPythonPrograms + + if test -e $out/nix-support/propagated-build-inputs; then + ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages + fi + + createBuildInputsPth build-inputs "$buildInputStrings" + for inputsfile in propagated-build-inputs propagated-native-build-inputs; do + if test -e $out/nix-support/$inputsfile; then + createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)" + fi + done + + sed -i "$out/bin/..gpodder-wrapped-wrapped" -e '{ + /import sys; sys.argv/d + }' ''; installPhase = "DESTDIR=/ PREFIX=$out make install"; From d5ea3b1e4491482e21efafc32ac91822d3ee9b55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Thu, 28 Aug 2014 12:55:34 +0200 Subject: [PATCH 0178/2163] parallel: Update to 20140822. https://savannah.gnu.org/forum/forum.php?forum_id=8067 --- pkgs/tools/misc/parallel/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix index 4b0332c7506..727657ca6e8 100644 --- a/pkgs/tools/misc/parallel/default.nix +++ b/pkgs/tools/misc/parallel/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, perl }: stdenv.mkDerivation rec { - name = "parallel-20140222"; + name = "parallel-20140822"; src = fetchurl { url = "mirror://gnu/parallel/${name}.tar.bz2"; - sha256 = "0zb3hg92br6a53jn0pzfl16ffc1hfw81jk7nzw5spkshsdrcqx3y"; + sha256 = "8a146a59bc71218921d561f2c801b85e06fe3a21571083b58e6e0966dd397fd4"; }; patchPhase = From ae9afc4d31a8d44d062954b6885ade6900a32a3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Tue, 19 Aug 2014 15:02:20 +0200 Subject: [PATCH 0179/2163] licenses: Add CC0 license. A universal public domain license. http://creativecommons.org/publicdomain/zero/1.0/ --- lib/licenses.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/licenses.nix b/lib/licenses.nix index 02618f1c6ca..95098aba1f2 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -62,6 +62,11 @@ rec { fullName = ''BSD 4-clause "Original" or "Old" License''; }; + cc0 = spdx { + shortName = "CC0-1.0"; + fullName = ''Creative Commons Zero v1.0 Universal''; + }; + cc-by-30 = spdx { shortName = "CC-BY-3.0"; fullName = "Creative Commons Attribution 3.0"; From 57c8f292324ffa525daf6d94c4d4af581cd6b9cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Tue, 19 Aug 2014 15:03:21 +0200 Subject: [PATCH 0180/2163] Add comic-neue font. --- pkgs/data/fonts/comic-neue/default.nix | 33 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/data/fonts/comic-neue/default.nix diff --git a/pkgs/data/fonts/comic-neue/default.nix b/pkgs/data/fonts/comic-neue/default.nix new file mode 100644 index 00000000000..91608d17db4 --- /dev/null +++ b/pkgs/data/fonts/comic-neue/default.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl, unzip}: + +stdenv.mkDerivation rec { + name = "comic-neue-1.1"; + + src = fetchurl { + url = "http://comicneue.com/comic-neue-1.1.zip"; + sha256 = "f9442fc42252db62ea788bd0247ae0e74571678d1dbd3e3edc229389050d6923"; + }; + + buildInputs = [unzip]; + phases = [ "unpackPhase" "installPhase" ]; + sourceRoot = name; + + installPhase = '' + mkdir -p $out/share/fonts/truetype + cp -v *.ttf $out/share/fonts/truetype + ''; + + meta = with stdenv.lib; { + homepage = http://comicneue.com/; + description = "A casual type face: Make your lemonade stand look like a fortune 500 company"; + longDescription = '' + It is inspired by Comic Sans but more regular. The font was + designed by Craig Rozynski. It is available in two variants: + Comic Neue and Comic Neue Angular. The former having round and + the latter angular terminals. Both variants come in Light, + Regular, and Bold weights with Oblique variants. + ''; + license = licenses.cc0; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0a97c43463d..a9bab284b90 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8004,6 +8004,8 @@ let cantarell_fonts = callPackage ../data/fonts/cantarell-fonts { }; + comic-neue = callPackage ../data/fonts/comic-neue { }; + corefonts = callPackage ../data/fonts/corefonts { }; wrapFonts = paths : ((import ../data/fonts/fontWrap) { From e07b5c95af31c5ef970097dc160562c1439caf25 Mon Sep 17 00:00:00 2001 From: Michael Fellinger Date: Thu, 28 Aug 2014 14:16:11 +0200 Subject: [PATCH 0181/2163] Add di package --- lib/maintainers.nix | 3 ++- pkgs/tools/system/di/default.nix | 20 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 pkgs/tools/system/di/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 67936416ae8..d3d46fc6862 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -66,14 +66,15 @@ lovek323 = "Jason O'Conal "; ludo = "Ludovic Courtès "; madjar = "Georges Dubus "; + manveru = "Michael Fellinger "; marcweber = "Marc Weber "; matejc = "Matej Cotman "; meisternu = "Matt Miemiec "; modulistic = "Pablo Costa "; mornfall = "Petr Ročkai "; + MP2E = "Cray Elliott "; msackman = "Matthew Sackman "; nathan-gs = "Nathan Bijnens "; - MP2E = "Cray Elliott "; notthemessiah = "Brian Cohen "; ocharles = "Oliver Charles "; offline = "Jaka Hudoklin "; diff --git a/pkgs/tools/system/di/default.nix b/pkgs/tools/system/di/default.nix new file mode 100644 index 00000000000..dc15ce13bcc --- /dev/null +++ b/pkgs/tools/system/di/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "di-4.35"; + + src = fetchurl { + url = "http://gentoo.com/di/${name}.tar.gz"; + sha256 = "1lkiggvdm6wi14xy8845w6mqqr50j2q7g0i2rdcs7qw5gb7gmprc"; + }; + + makeFlags = "INSTALL_DIR=$(out)"; + + meta = with stdenv.lib; { + description = "A disk information utility, displaying everything (and more) that your 'df' command does"; + homepage = http://www.gentoo.com/di/; + license = licenses.zlib; + maintainers = with maintainers; [ manveru ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0a97c43463d..212b185bbff 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -901,6 +901,8 @@ let dhcpcd = callPackage ../tools/networking/dhcpcd { }; + di = callPackage ../tools/system/di { }; + diffstat = callPackage ../tools/text/diffstat { }; diffutils = callPackage ../tools/text/diffutils { }; From a5143dd20806f3b029a65342a79adaf66266618d Mon Sep 17 00:00:00 2001 From: Georges Dubus Date: Thu, 28 Aug 2014 17:36:13 +0200 Subject: [PATCH 0182/2163] rabbitmq-server: updated to 3.3.5 --- pkgs/servers/amqp/rabbitmq-server/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix index 09b091b323c..b5f9195abbd 100644 --- a/pkgs/servers/amqp/rabbitmq-server/default.nix +++ b/pkgs/servers/amqp/rabbitmq-server/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "rabbitmq-server-${version}"; - version = "3.3.4"; + version = "3.3.5"; src = fetchurl { url = "http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/${name}.tar.gz"; - sha256 = "13nnsn34b44mz8w4b69bcpxmq4daqnxzd0lppg0f138pcssha43l"; + sha256 = "1hkhkpv2f0nzvw09zfrqg89mphdpn4nwvzrlqnhqf82bd2pzhsvs"; }; buildInputs = From 7fec14e74a61ef8ffb39ca9e72b941879df3d2f2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:08:32 +0200 Subject: [PATCH 0183/2163] haskell-hspec2: mark 'broken' because of https://github.com/hspec/hspec/issues/187 --- pkgs/development/libraries/haskell/hspec2/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/hspec2/default.nix b/pkgs/development/libraries/haskell/hspec2/default.nix index 9b57dbd7627..295b01b4e32 100644 --- a/pkgs/development/libraries/haskell/hspec2/default.nix +++ b/pkgs/development/libraries/haskell/hspec2/default.nix @@ -25,5 +25,7 @@ cabal.mkDerivation (self: { description = "Alpha version of Hspec 2.0"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) From 1e7885f9c2f7bc352064f95429917f77babc9fd4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:09:00 +0200 Subject: [PATCH 0184/2163] haskell-servant-scotty: re-generate with cabal2nix --- pkgs/development/libraries/haskell/servant-scotty/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/servant-scotty/default.nix b/pkgs/development/libraries/haskell/servant-scotty/default.nix index 562c966bcc7..732b2c95cc7 100644 --- a/pkgs/development/libraries/haskell/servant-scotty/default.nix +++ b/pkgs/development/libraries/haskell/servant-scotty/default.nix @@ -13,8 +13,7 @@ cabal.mkDerivation (self: { ]; meta = { homepage = "http://github.com/zalora/servant"; - description = "Generate a web service for servant 'Resource's - using scotty and JSON"; + description = "Generate a web service for servant 'Resource's using scotty and JSON"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; From 1851efa1a7143b3f1fad4c4f1e046ff418f69d0e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:15:54 +0200 Subject: [PATCH 0185/2163] haskell-hspec-wai: disable builds because it depends on broken hspec2 --- pkgs/development/libraries/haskell/hspec-wai/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/hspec-wai/default.nix b/pkgs/development/libraries/haskell/hspec-wai/default.nix index 3170318f540..1341bf198c9 100644 --- a/pkgs/development/libraries/haskell/hspec-wai/default.nix +++ b/pkgs/development/libraries/haskell/hspec-wai/default.nix @@ -21,5 +21,6 @@ cabal.mkDerivation (self: { description = "Experimental Hspec support for testing WAI applications (depends on hspec2!)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; }; }) From cefe9fac459b7d51dd7b080bd16d24c24735d9f6 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Thu, 28 Aug 2014 18:33:51 +0200 Subject: [PATCH 0186/2163] Enable parallel building for cloog and isl Since these are GCC dependencies, this speeds up building the stdenv closure. --- pkgs/development/libraries/cloog/default.nix | 2 ++ pkgs/development/libraries/isl/0.12.2.nix | 2 ++ pkgs/development/libraries/isl/default.nix | 2 ++ 3 files changed, 6 insertions(+) diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix index da4501285e1..242af84eb90 100644 --- a/pkgs/development/libraries/cloog/default.nix +++ b/pkgs/development/libraries/cloog/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-isl=system" ]; + enableParallelBuilding = true; + doCheck = true; meta = { diff --git a/pkgs/development/libraries/isl/0.12.2.nix b/pkgs/development/libraries/isl/0.12.2.nix index f1da2c06409..67620881bca 100644 --- a/pkgs/development/libraries/isl/0.12.2.nix +++ b/pkgs/development/libraries/isl/0.12.2.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { buildInputs = [ gmp ]; + enableParallelBuilding = true; + meta = { homepage = http://www.kotnet.org/~skimo/isl/; license = stdenv.lib.licenses.lgpl21; diff --git a/pkgs/development/libraries/isl/default.nix b/pkgs/development/libraries/isl/default.nix index 7e08c8afe6f..931ee831b73 100644 --- a/pkgs/development/libraries/isl/default.nix +++ b/pkgs/development/libraries/isl/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { buildInputs = [ gmp ]; patches = [ ./fix-gcc-build.diff ]; + enableParallelBuilding = true; + meta = { homepage = http://www.kotnet.org/~skimo/isl/; license = stdenv.lib.licenses.lgpl21; From 86141f80670ab59add19fbcfee729c962ff554fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Thu, 28 Aug 2014 19:12:34 +0200 Subject: [PATCH 0187/2163] lightning: Update to 2.0.5. --- pkgs/development/libraries/lightning/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/lightning/default.nix b/pkgs/development/libraries/lightning/default.nix index 73d98023c84..036d9c61d07 100644 --- a/pkgs/development/libraries/lightning/default.nix +++ b/pkgs/development/libraries/lightning/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, binutils }: stdenv.mkDerivation rec { - name = "lightning-2.0.4"; + name = "lightning-2.0.5"; src = fetchurl { - url = "ftp://ftp.gnu.org/gnu/lightning/${name}.tar.gz"; - sha256 = "1lrckrx51d5hrv66bc99fd4b7g2wwn4vr304hwq3glfzhb8jqcdy"; + url = "mirror://gnu/lightning/${name}.tar.gz"; + sha256 = "0jm9a8ddxc1v9hyzyv4ybg37fjac2yjqv1hkd262wxzqms36mdk5"; }; # Needs libopcodes.so from binutils for 'make check' From adbb9ff7966c1c17588100d6afddda66eafc9453 Mon Sep 17 00:00:00 2001 From: Paul Colomiets Date: Thu, 3 Jul 2014 01:59:35 +0300 Subject: [PATCH 0188/2163] dnsmasq: upgrade to 2.71, fixed dnsmasq module * The module now has systemd config * Add resolveLocalQueries option which sets up it as a dns server for local host (including reasonable setup of resolvconf) * Add "dnsmasq" user for running daemon * Enabled dbus and dnssec support for the package Conflicts: nixos/modules/misc/ids.nix --- nixos/modules/config/networking.nix | 8 +++- nixos/modules/misc/ids.nix | 1 + nixos/modules/services/networking/dnsmasq.nix | 45 +++++++++++++++---- pkgs/tools/networking/dnsmasq/default.nix | 24 +++++++++- 4 files changed, 67 insertions(+), 11 deletions(-) diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix index fd1e55f673a..136a5bda745 100644 --- a/nixos/modules/config/networking.nix +++ b/nixos/modules/config/networking.nix @@ -7,6 +7,9 @@ with lib; let cfg = config.networking; + dnsmasqResolve = config.services.dnsmasq.enable && + config.services.dnsmasq.resolveLocalQueries; + hasLocalResolver = config.services.bind.enable || dnsmasqResolve; in @@ -74,9 +77,12 @@ in '' + optionalString cfg.dnsSingleRequest '' # only send one DNS request at a time resolv_conf_options='single-request' - '' + optionalString config.services.bind.enable '' + '' + optionalString hasLocalResolver '' # This hosts runs a full-blown DNS resolver. name_servers='127.0.0.1' + '' + optionalString dnsmasqResolve '' + dnsmasq_conf=/etc/dnsmasq-conf.conf + dnsmasq_resolv=/etc/dnsmasq-resolv.conf ''; }; diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 92ab241deaa..513da5d50a1 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -148,6 +148,7 @@ riemanndash = 138; radvd = 139; zookeeper = 140; + dnsmasq = 141; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix index 8e38b9d017a..d2a8af6ac8b 100644 --- a/nixos/modules/services/networking/dnsmasq.nix +++ b/nixos/modules/services/networking/dnsmasq.nix @@ -6,10 +6,12 @@ let cfg = config.services.dnsmasq; dnsmasq = pkgs.dnsmasq; - serversParam = concatMapStrings (s: "-S ${s} ") cfg.servers; - dnsmasqConf = pkgs.writeText "dnsmasq.conf" '' - ${cfg.extraConfig} + ${optionalString cfg.resolveLocalQueries '' + conf-file=/etc/dnsmasq-conf.conf + resolv-file=/etc/dnsmasq-resolv.conf + ''} + ${cfg.extraConfig} ''; in @@ -29,6 +31,14 @@ in ''; }; + resolveLocalQueries = mkOption { + default = true; + description = '' + Whether dnsmasq should resolve local queries (i.e. add 127.0.0.1 to + /etc/resolv.conf) + ''; + }; + servers = mkOption { default = []; example = [ "8.8.8.8" "8.8.4.4" ]; @@ -37,6 +47,8 @@ in ''; }; + + extraConfig = mkOption { type = types.string; default = ""; @@ -55,16 +67,31 @@ in config = mkIf config.services.dnsmasq.enable { - jobs.dnsmasq = - { description = "dnsmasq daemon"; + environment.systemPackages = [ dnsmasq ] + ++ (if cfg.resolveLocalQueries then [ pkgs.openresolv ] else []); - startOn = "ip-up"; + services.dbus.packages = [ dnsmasq ]; - daemonType = "daemon"; - - exec = "${dnsmasq}/bin/dnsmasq -R ${serversParam} -o -C ${dnsmasqConf}"; + users.extraUsers = singleton + { name = "dnsmasq"; + uid = config.ids.uids.dnsmasq; + description = "Dnsmasq daemon user"; + home = "/var/empty"; }; + systemd.services.dnsmasq = { + description = "dnsmasq daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "dbus"; + BusName = "uk.org.thekelleys.dnsmasq"; + ExecStartPre = "${dnsmasq}/bin/dnsmasq --test"; + ExecStart = "${dnsmasq}/bin/dnsmasq -k --enable-dbus --user=dnsmasq -C ${dnsmasqConf}"; + ExecReload = "${dnsmasq}/bin/kill -HUP $MAINPID"; + }; + }; + }; } diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index cec4057a284..ba59071d0ce 100644 --- a/pkgs/tools/networking/dnsmasq/default.nix +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ pkgconfig, dbus_libs, nettle, stdenv, fetchurl }: stdenv.mkDerivation rec { name = "dnsmasq-2.71"; @@ -8,8 +8,30 @@ stdenv.mkDerivation rec { sha256 = "1fpzpzja7qr8b4kfdhh4i4sijp62c634yf0xvq2n4p7d5xbzn6a9"; }; + # Can't rely on make flags because of space in one of the parameters + buildPhase = '' + make COPTS="-DHAVE_DNSSEC -DHAVE_DBUS" + ''; + + # make flags used for installation only makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale"; + postInstall = '' + install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf + install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf + + ensureDir $out/share/dbus-1/system-services + cat < $out/share/dbus-1/system-services/uk.org.thekelleys.dnsmasq.service + [D-BUS Service] + Name=uk.org.thekelleys.dnsmasq + Exec=$out/sbin/dnsmasq -k -1 + User=root + SystemdService=dnsmasq.service + END + ''; + + buildInputs = [ pkgconfig dbus_libs nettle ]; + meta = { description = "An integrated DNS, DHCP and TFTP server for small networks"; homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html; From 9194f69e73aface9ad039a428710ee669b6d3204 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Mon, 11 Aug 2014 15:48:36 -0500 Subject: [PATCH 0189/2163] dnsmasq: Meta Update --- pkgs/tools/networking/dnsmasq/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index ba59071d0ce..02f24ce4c00 100644 --- a/pkgs/tools/networking/dnsmasq/default.nix +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -32,11 +32,11 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig dbus_libs nettle ]; - meta = { + meta = with stdenv.lib; { description = "An integrated DNS, DHCP and TFTP server for small networks"; homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html; - license = "GPL"; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2; + platforms = with platforms; linux ++ darwin; + maintainers = with maintainers; [ eelco ]; }; } From 859a2c446cbe1f802ec3f6ad07d3913c4518e11d Mon Sep 17 00:00:00 2001 From: Linquize Date: Mon, 25 Aug 2014 17:35:47 +0200 Subject: [PATCH 0190/2163] protobuf: Update to 2.6.0 --- pkgs/development/libraries/protobuf/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/protobuf/default.nix b/pkgs/development/libraries/protobuf/default.nix index bba8481780a..3452335decd 100644 --- a/pkgs/development/libraries/protobuf/default.nix +++ b/pkgs/development/libraries/protobuf/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, zlib }: stdenv.mkDerivation rec { - name = "protobuf-2.5.0"; + name = "protobuf-2.6.0"; src = fetchurl { - url = "http://protobuf.googlecode.com/files/${name}.tar.bz2"; - sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk"; + url = "http://protobuf.googlecode.com/svn-history/r579/rc/protobuf-2.6.0.tar.bz2"; + sha256 = "0krfkxc85vfznqwbh59qlhp7ld81al9ss35av0gfbg74i0rvjids"; }; buildInputs = [ zlib ]; From 39320b0fa38bfe6dba1c285758b4663de43cd371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Thu, 28 Aug 2014 18:35:53 +0200 Subject: [PATCH 0191/2163] gnome3.gitg: fix build by updating it to unstable --- pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix | 6 +++--- .../gnome-3/3.10/misc/libgit2-glib/default.nix | 10 ++++++---- pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix | 6 +++--- .../gnome-3/3.12/misc/libgit2-glib/default.nix | 8 ++++---- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix index 7ca35a8255f..401d5cf2f36 100644 --- a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix +++ b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix @@ -6,11 +6,11 @@ # use packaged gnome3.gnome_icon_theme_symbolic stdenv.mkDerivation rec { - name = "gitg-0.3.2"; + name = "gitg-3.13.91"; src = fetchurl { - url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz"; - sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp"; + url = "mirror://gnome/sources/gitg/3.13/${name}.tar.xz"; + sha256 = "1c2016grvgg5f3l5xkracz85rblsc1a4brzr6vgn6kh2h494rv37"; }; preCheck = '' diff --git a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix index 17c3b4fa0a8..82e2b585509 100644 --- a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix +++ b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix @@ -1,18 +1,20 @@ -{ stdenv, fetchurl, gnome3, libtool, pkgconfig +{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala , gtk_doc, gobjectIntrospection, libgit2, glib }: stdenv.mkDerivation rec { name = "libgit2-glib-${version}"; - version = "0.0.10"; + version = "0.0.20"; src = fetchurl { url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz"; - sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs"; + sha256 = "1s2hj0ji73ishniqvr6mx90l1ji5jjwwrwhp91i87fxk0d3sry5x"; }; + + cmakeFlags = "-DTHREADSAFE=ON"; configureScript = "sh ./autogen.sh"; - buildInputs = [ gnome3.gnome_common libtool pkgconfig + buildInputs = [ gnome3.gnome_common libtool pkgconfig vala gtk_doc gobjectIntrospection libgit2 glib ]; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix index 7ca35a8255f..401d5cf2f36 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix @@ -6,11 +6,11 @@ # use packaged gnome3.gnome_icon_theme_symbolic stdenv.mkDerivation rec { - name = "gitg-0.3.2"; + name = "gitg-3.13.91"; src = fetchurl { - url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz"; - sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp"; + url = "mirror://gnome/sources/gitg/3.13/${name}.tar.xz"; + sha256 = "1c2016grvgg5f3l5xkracz85rblsc1a4brzr6vgn6kh2h494rv37"; }; preCheck = '' diff --git a/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix index 17c3b4fa0a8..94776c90cf9 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix @@ -1,18 +1,18 @@ -{ stdenv, fetchurl, gnome3, libtool, pkgconfig +{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala , gtk_doc, gobjectIntrospection, libgit2, glib }: stdenv.mkDerivation rec { name = "libgit2-glib-${version}"; - version = "0.0.10"; + version = "0.0.20"; src = fetchurl { url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz"; - sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs"; + sha256 = "1s2hj0ji73ishniqvr6mx90l1ji5jjwwrwhp91i87fxk0d3sry5x"; }; configureScript = "sh ./autogen.sh"; - buildInputs = [ gnome3.gnome_common libtool pkgconfig + buildInputs = [ gnome3.gnome_common libtool pkgconfig vala gtk_doc gobjectIntrospection libgit2 glib ]; meta = with stdenv.lib; { From 0005e1896d9bdef48aedcff9e86843351ac024e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Thu, 28 Aug 2014 20:19:31 +0200 Subject: [PATCH 0192/2163] python3Packages: disable some more --- pkgs/top-level/python-packages.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8374e29162a..d276413f3d3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2152,6 +2152,7 @@ rec { googlecl = buildPythonPackage rec { version = "0.9.14"; name = "googlecl-${version}"; + disabled = isPy3k; src = fetchurl { url = "https://googlecl.googlecode.com/files/${name}.tar.gz"; @@ -3764,6 +3765,7 @@ rec { google_apputils = buildPythonPackage rec { name = "google-apputils-0.4.0"; + disabled = isPy3k; src = fetchurl { url = http://pypi.python.org/packages/source/g/google-apputils/google-apputils-0.4.0.tar.gz; @@ -3917,6 +3919,7 @@ rec { http_signature = buildPythonPackage (rec { name = "http_signature-0.1.4"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/h/http_signature/${name}.tar.gz"; @@ -4797,6 +4800,7 @@ rec { muttils = buildPythonPackage (rec { name = "muttils-1.3"; + disabled = isPy3k; src = fetchurl { url = http://www.blacktrash.org/hg/muttils/archive/8bb26094df06.tar.bz2; @@ -4859,6 +4863,7 @@ rec { namebench = buildPythonPackage (rec { name = "namebench-1.0.5"; + disabled = isPy3k; src = fetchurl { url = "http://namebench.googlecode.com/files/${name}.tgz"; @@ -5073,6 +5078,7 @@ rec { nose-cprof = buildPythonPackage rec { name = "nose-cprof-0.1-0"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/n/nose-cprof/${name}.tar.gz"; @@ -5812,8 +5818,9 @@ rec { protobuf = buildPythonPackage rec { inherit (pkgs.protobuf) name src; - propagatedBuildInputs = [ pkgs.protobuf setuptools ]; + propagatedBuildInputs = [ pkgs.protobuf google_apputils ]; sourceRoot = "${name}/python"; + meta = { description = "Protocol Buffers are Google's data interchange format."; @@ -6150,6 +6157,8 @@ rec { }; buildInputs = [ unittest2 ]; + + doCheck = !isPyPy; meta = { homepage = "https://launchpad.net/pyflakes"; @@ -8206,6 +8215,7 @@ rec { taskcoach = buildPythonPackage rec { name = "TaskCoach-1.3.22"; + disabled = isPy3k; src = fetchurl { url = "mirror://sourceforge/taskcoach/${name}.tar.gz"; @@ -8347,6 +8357,7 @@ rec { smmap = buildPythonPackage rec { name = "smmap-0.8.2"; + disabled = isPy3k; # next release will have py3k support meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; src = fetchurl { From a2eb68a6dc094169384fb5ba5bf73829ad74ce59 Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Thu, 28 Aug 2014 21:27:08 +0200 Subject: [PATCH 0193/2163] update virtualbox to 4.3.14 --- pkgs/applications/virtualization/virtualbox/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 682e7159ac8..f3e7bea3ca9 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -11,7 +11,7 @@ with stdenv.lib; let - version = "4.3.12"; # changes ./guest-additions as well + version = "4.3.14"; # changes ./guest-additions as well forEachModule = action: '' for mod in \ @@ -31,13 +31,13 @@ let ''; # See https://github.com/NixOS/nixpkgs/issues/672 for details - extpackRevision = "93733"; + extpackRevision = "95030"; extensionPack = requireFile rec { name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack"; # IMPORTANT: Hash must be base16 encoded because it's used as an input to # VBoxExtPackHelperApp! # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS - sha256 = "f931ce41b2cc9500dc43aba004630cf7bb7050ba737eae38827e91062f072d1f"; + sha256 = "b965c3565e7933bc61019d2992f4da084944cfd9e809fbeaff330f4743d47537"; message = '' In order to use the extension pack, you need to comply with the VirtualBox Personal Use and Evaluation License (PUEL) by downloading the related binaries from: @@ -56,7 +56,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; - sha256 = "db84ddf47d1ecd316ec46417595f0252e3ec2f67e35e1e17320aba87b7c2934f"; + sha256 = "bc893adde4449a2d35d8b4d0b8b247f0f2ac62a434fd8a8f7c54f613a100855a"; }; buildInputs = From 792afca11318aaac0715f343d7454ea4933a932a Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Thu, 28 Aug 2014 15:26:32 -0500 Subject: [PATCH 0194/2163] spiped: 1.3.1 -> 1.4.0 Signed-off-by: Austin Seipp --- pkgs/tools/networking/spiped/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix index ac2736ffb19..f854b92b87e 100644 --- a/pkgs/tools/networking/spiped/default.nix +++ b/pkgs/tools/networking/spiped/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "spiped-${version}"; - version = "1.3.1"; + version = "1.4.0"; src = fetchurl { url = "http://www.tarsnap.com/spiped/${name}.tgz"; - sha256 = "1viglk61v1v2ga1n31r0h8rvib5gy2h02lhhbbnqh2s6ps1sjn4a"; + sha256 = "0pyg1llnqgfx7n7mi3dq4ra9xg3vkxlf01z5jzn7ncq5d6ii7ynq"; }; buildInputs = [ openssl ]; From 4f832b521729daf54f83d0b5c6ff008d5311a81a Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 05:02:09 -0500 Subject: [PATCH 0195/2163] Revert "grub: Allow setting the boot root explicitly" This reverts commit e4630c1d41d513eb709bddb39043da84442235a7. --- nixos/modules/system/boot/loader/grub/grub.nix | 11 +---------- nixos/modules/system/boot/loader/grub/install-grub.pl | 5 ----- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 0cc060db8f9..a3b09223cbb 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -25,7 +25,7 @@ let inherit (cfg) version extraConfig extraPerEntryConfig extraEntries extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels timeout - default devices explicitBootRoot; + default devices; path = (makeSearchPath "bin" [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils ]) + ":" + (makeSearchPath "sbin" [ @@ -209,15 +209,6 @@ in ''; }; - explicitBootRoot = mkOption { - default = ""; - type = types.str; - description = '' - The relative path of /boot within the parent volume. Leave empty - if /boot is not a btrfs subvolume. - ''; - }; - }; }; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index c3aa8518b8b..a83733db63b 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -39,7 +39,6 @@ my $configurationLimit = int(get("configurationLimit")); my $copyKernels = get("copyKernels") eq "true"; my $timeout = int(get("timeout")); my $defaultEntry = int(get("default")); -my $explicitBootRoot = get("explicitBootRoot"); $ENV{'PATH'} = get("path"); die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2; @@ -62,10 +61,6 @@ if (stat("/")->dev != stat("/boot")->dev) { $copyKernels = 1; } -if ($explicitBootRoot ne "") { - $bootRoot = $explicitBootRoot; -} - # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; From f2bef62716b4c5853ea16465f31182569dbb80ef Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Mon, 21 Oct 2013 05:09:02 -0500 Subject: [PATCH 0196/2163] Update grub 2.00 to 2.02-beta2 --- pkgs/tools/misc/grub/2.0x.nix | 40 ++++++++++++++++++--------------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index b1877bdcf98..59658e47a08 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,11 +1,17 @@ -{ fetchurl, stdenv, flex, bison, gettext, ncurses, libusb, freetype, qemu -, devicemapper, EFIsupport ? false }: +{ fetchurl, stdenv, autogen, flex, bison, python, autoconf, automake +, gettext, ncurses, libusb, freetype, qemu, devicemapper +, linuxPackages ? null +, EFIsupport ? false +, zfsSupport ? false +}: + +assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null; let prefix = "grub${if EFIsupport then "-efi" else ""}"; - version = "2.00"; + version = "2.02-beta2"; unifont_bdf = fetchurl { url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz"; @@ -18,13 +24,14 @@ stdenv.mkDerivation rec { name = "${prefix}-${version}"; src = fetchurl { - url = "mirror://gnu/grub/grub-${version}.tar.xz"; - sha256 = "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"; + url = "http://git.savannah.gnu.org/cgit/grub.git/snapshot/grub-2.02-beta2.tar.gz"; + sha256 = "1n2l7k76lqqaavz12615vx5kca0kl8g13bkimc7xsd9s7c1ir5lr"; }; - nativeBuildInputs = [ flex bison ]; + nativeBuildInputs = [ autogen flex bison python autoconf automake ]; buildInputs = [ ncurses libusb freetype gettext devicemapper ] - ++ stdenv.lib.optional doCheck qemu; + ++ stdenv.lib.optional doCheck qemu + ++ stdenv.lib.optional zfsSupport linuxPackages.zfs; preConfigure = '' for i in "tests/util/"*.in @@ -43,14 +50,11 @@ stdenv.mkDerivation rec { # See . sed -i "tests/util/grub-shell.in" \ -e's/qemu-system-i386/qemu-system-x86_64 -nodefaults/g' - - # Fix for building on Glibc 2.16. Won't be needed once the - # gnulib in grub is updated. - sed -i '/gets is a security hole/d' grub-core/gnulib/stdio.in.h ''; prePatch = - '' gunzip < "${unifont_bdf}" > "unifont.bdf" + '' sh autogen.sh + gunzip < "${unifont_bdf}" > "unifont.bdf" sed -i "configure" \ -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g" ''; @@ -61,8 +65,8 @@ stdenv.mkDerivation rec { let arch = if stdenv.system == "i686-linux" then "i386" else if stdenv.system == "x86_64-linux" then "x86_64" else throw "unsupported EFI firmware architecture"; - in - stdenv.lib.optionals EFIsupport + in stdenv.lib.optional zfsSupport "--enable-libzfs" + ++ stdenv.lib.optionals EFIsupport [ "--with-platform=efi" "--target=${arch}" "--program-prefix=" ]; doCheck = false; @@ -72,7 +76,7 @@ stdenv.mkDerivation rec { paxmark pms $out/sbin/grub-{probe,bios-setup} ''; - meta = { + meta = with stdenv.lib; { description = "GNU GRUB, the Grand Unified Boot Loader (2.x beta)"; longDescription = @@ -87,13 +91,13 @@ stdenv.mkDerivation rec { operating system (e.g., GNU). ''; - homepage = http://www.gnu.org/software/grub/; + homepage = http://wwwp.gnu.org/software/grub/; - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; platforms = if EFIsupport then [ "i686-linux" "x86_64-linux" ] else - stdenv.lib.platforms.gnu; + platforms.gnu; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a8540bdb1f6..c5b511df9c0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1218,7 +1218,7 @@ let buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; }; - grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; flex = flex_2_5_35; }; + grub2 = callPackage ../tools/misc/grub/2.0x.nix { }; grub2_efi = grub2.override { EFIsupport = true; }; From 3c6e2fbba910cd3f110a0388c0a374d1573082ef Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 9 Apr 2014 13:27:18 -0500 Subject: [PATCH 0197/2163] Add optional zfsSupport to the nixos grub configuration --- nixos/modules/system/boot/loader/grub/grub.nix | 14 +++++++++++++- pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index a3b09223cbb..25cec57431e 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -6,7 +6,8 @@ let cfg = config.boot.loader.grub; - realGrub = if cfg.version == 1 then pkgs.grub else pkgs.grub2; + realGrub = if cfg.version == 1 then pkgs.grub + else pkgs.grub2.override { zfsSupport = cfg.zfsSupport }; grub = # Don't include GRUB if we're only generating a GRUB menu (e.g., @@ -209,6 +210,14 @@ in ''; }; + zfsSupport = mkOption { + default = false; + type = types.bool; + description = '' + Whether grub should be build against libzfs. + ''; + }; + }; }; @@ -251,6 +260,9 @@ in ${pkgs.coreutils}/bin/cp -pf "${v}" "/boot/${n}" '') config.boot.loader.grub.extraFiles); + assertions = [{ assertion = !cfg.zfsSupport || cfg.version == 2; + message = "Only grub version 2 provides zfs support";}]; + }) ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c5b511df9c0..2dc957cb3db 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1222,6 +1222,8 @@ let grub2_efi = grub2.override { EFIsupport = true; }; + grub2_zfs = grub2.override { zfsSupport = true; }; + gssdp = callPackage ../development/libraries/gssdp { inherit (gnome) libsoup; }; From 02ab48d0eea6e37d3432f6b8ce4c31b85e8d3ffe Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 9 Apr 2014 13:27:45 -0500 Subject: [PATCH 0198/2163] Enable grub zfsSupport if zfs is built into the initrd --- nixos/modules/system/boot/loader/grub/grub.nix | 2 +- nixos/modules/tasks/filesystems/zfs.nix | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 25cec57431e..67fcd10ceb8 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -7,7 +7,7 @@ let cfg = config.boot.loader.grub; realGrub = if cfg.version == 1 then pkgs.grub - else pkgs.grub2.override { zfsSupport = cfg.zfsSupport }; + else pkgs.grub2.override { zfsSupport = cfg.zfsSupport; }; grub = # Don't include GRUB if we're only generating a GRUB menu (e.g., diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index d7deb44c407..1c4bbc16b49 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -133,7 +133,7 @@ in }; boot.initrd = mkIf inInitrd { - kernelModules = [ "spl" "zfs" ] ; + kernelModules = [ "spl" "zfs" ]; extraUtilsCommands = '' cp -v ${zfsPkg}/sbin/zfs $out/bin @@ -148,6 +148,10 @@ in ''; }; + boot.loader.grub = mkIf inInitrd { + zfsSupport = true; + }; + systemd.services."zpool-import" = { description = "Import zpools"; after = [ "systemd-udev-settle.service" ]; From c5bdb469ce06cd0b36d1dcd4a977f97644776546 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Mon, 21 Oct 2013 01:17:23 -0500 Subject: [PATCH 0199/2163] Update the grub configuration script to handle more complex filesystem layouts including full zfs / and /boot --- .../system/boot/loader/grub/install-grub.pl | 79 +++++++++++++++---- 1 file changed, 64 insertions(+), 15 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index a83733db63b..b9f61337cef 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -1,5 +1,6 @@ use strict; use warnings; +use Class::Struct; use XML::LibXML; use File::Basename; use File::Path; @@ -47,20 +48,64 @@ print STDERR "updating GRUB $grubVersion menu...\n"; mkpath("/boot/grub", 0, 0700); - # Discover whether /boot is on the same filesystem as / and # /nix/store. If not, then all kernels and initrds must be copied to -# /boot, and all paths in the GRUB config file must be relative to the -# root of the /boot filesystem. `$bootRoot' is the path to be -# prepended to paths under /boot. -my $bootRoot = "/boot"; -if (stat("/")->dev != stat("/boot")->dev) { - $bootRoot = ""; - $copyKernels = 1; -} elsif (stat("/boot")->dev != stat("/nix/store")->dev) { +# /boot. +if (stat("/boot")->dev != stat("/nix")->dev) { $copyKernels = 1; } +# Discover information about the location of /boot +struct(Fs => { + device => '$', + type => '$', + mount => '$', +}); +sub GetFs { + my ($dir) = @_; + my @boot = split(/[ \n\t]+/, `df -T "$dir" | tail -n 1`); + return Fs->new(device => $boot[0], type => $boot[1], mount => $boot[6]); +} +struct (Grub => { + path => '$', + search => '$', +}); +my $driveid = 1; +sub GrubFs { + my ($dir) = @_; + my $fs = GetFs($dir); + my $path = "/" . substr($dir, length($fs->mount)); + my $search = ""; + if ($grubVersion > 1) { + if ($fs->type eq "zfs") { + my $sid = index($fs->device, "/"); + if ($sid < 0) { + $search = "--label " . $fs->device; + $path = "/@" . $path; + } else { + $search = "--label " . substr($fs->device, 0, $sid); + $path = "/" . substr($fs->device, $sid) . "/@" . $path; + } + } else { + my $lbl = "/dev/disk/by-label/"; + if (index($fs->device, $lbl) == 0) { + $search = "--label " . substr($fs->device, length($lbl)); + } + my $uuid = "/dev/disk/by-uuid/"; + if (index($fs->device, $uuid) == 0) { + $search = "--fs-uuid " . substr($fs->device, length($uuid)); + } + } + if (not $search eq "") { + $search = "search --set=drive$driveid " . $search; + $path = "(\$drive$driveid)" . $path; + $driveid += 1; + } + } + return Grub->new(path => $path, search => $search); +} +my $grubBoot = GrubFs("/boot"); +my $grubStore = GrubFs("/nix"); # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; @@ -72,12 +117,14 @@ if ($grubVersion == 1) { "; if ($splashImage) { copy $splashImage, "/boot/background.xpm.gz" or die "cannot copy $splashImage to /boot\n"; - $conf .= "splashimage $bootRoot/background.xpm.gz\n"; + $conf .= "splashimage " . $grubBoot->path . "/background.xpm.gz\n"; } } else { $conf .= " + " . $grubBoot->search . " + " . $grubStore->search . " if [ -s \$prefix/grubenv ]; then load_env fi @@ -98,7 +145,7 @@ else { set timeout=$timeout fi - if loadfont $bootRoot/grub/fonts/unicode.pf2; then + if loadfont " . $grubBoot->path . "/grub/fonts/unicode.pf2; then set gfxmode=640x480 insmod gfxterm insmod vbe @@ -112,7 +159,7 @@ else { copy $splashImage, "/boot/background.png" or die "cannot copy $splashImage to /boot\n"; $conf .= " insmod png - if background_image $bootRoot/background.png; then + if background_image " . $grubBoot->path . "/background.png; then set color_normal=white/black set color_highlight=black/white else @@ -134,7 +181,7 @@ mkpath("/boot/kernels", 0, 0755) if $copyKernels; sub copyToKernelsDir { my ($path) = @_; - return $path unless $copyKernels; + return $grubStore->path . substr($path, length("/nix")) unless $copyKernels; $path =~ /\/nix\/store\/(.*)/ or die; my $name = $1; $name =~ s/\//-/g; my $dst = "/boot/kernels/$name"; @@ -147,7 +194,7 @@ sub copyToKernelsDir { rename $tmp, $dst or die "cannot rename $tmp to $dst\n"; } $copied{$dst} = 1; - return "$bootRoot/kernels/$name"; + return $grubBoot->path . "/kernels/$name"; } sub addEntry { @@ -174,6 +221,8 @@ sub addEntry { $conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n\n"; } else { $conf .= "menuentry \"$name\" {\n"; + $conf .= $grubBoot->search . "\n"; + $conf .= $grubStore->search . "\n"; $conf .= " $extraPerEntryConfig\n" if $extraPerEntryConfig; $conf .= " multiboot $xen $xenParams\n" if $xen; $conf .= " " . ($xen ? "module" : "linux") . " $kernel $kernelParams\n"; @@ -191,7 +240,7 @@ addEntry("NixOS - Default", $defaultConfig); $conf .= "$extraEntries\n" unless $extraEntriesBeforeNixOS; # extraEntries could refer to @bootRoot@, which we have to substitute -$conf =~ s/\@bootRoot\@/$bootRoot/g; +$conf =~ s/\@bootRoot\@/$grubBoot->path/g; # Emit submenus for all system profiles. sub addProfile { From fba9f641a8ed54c27b1d9fadbd2022d8e18ce180 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 29 Apr 2014 22:26:23 -0500 Subject: [PATCH 0200/2163] grub: Add support for forcing devices to be identified with labels or UUIDs --- .../modules/system/boot/loader/grub/grub.nix | 19 ++++++++++-- .../system/boot/loader/grub/install-grub.pl | 30 ++++++++++++++----- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 67fcd10ceb8..bc19dd8c62f 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -26,11 +26,11 @@ let inherit (cfg) version extraConfig extraPerEntryConfig extraEntries extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels timeout - default devices; + default devices fsIdentifier; path = (makeSearchPath "bin" [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils ]) + ":" + (makeSearchPath "sbin" [ - pkgs.mdadm + pkgs.mdadm pkgs.utillinux ]); }); @@ -210,6 +210,21 @@ in ''; }; + fsIdentifier = mkOption { + default = "uuid"; + type = types.addCheck types.string + (type: type == "uuid" || type == "label" || type = "provided"); + description = '' + Determines how grub will identify devices when generating the + configuration file. A value of uuid / label signifies that grub + will always resolve the uuid or label of the device before using + it in the configuration. A value of provided means that grub will + use the device name as show in df or + mount. Note, zfs zpools / datasets are ignored + and will always be mounted using their labels. + ''; + }; + zfsSupport = mkOption { default = false; type = types.bool; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index b9f61337cef..2615bc3ae11 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -8,6 +8,7 @@ use File::stat; use File::Copy; use POSIX; use Cwd; +use Switch; my $defaultConfig = $ARGV[1] or die; @@ -40,6 +41,7 @@ my $configurationLimit = int(get("configurationLimit")); my $copyKernels = get("copyKernels") eq "true"; my $timeout = int(get("timeout")); my $defaultEntry = int(get("default")); +my $fsIdentifier = get("fsIdentifier"); $ENV{'PATH'} = get("path"); die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2; @@ -87,13 +89,27 @@ sub GrubFs { $path = "/" . substr($fs->device, $sid) . "/@" . $path; } } else { - my $lbl = "/dev/disk/by-label/"; - if (index($fs->device, $lbl) == 0) { - $search = "--label " . substr($fs->device, length($lbl)); - } - my $uuid = "/dev/disk/by-uuid/"; - if (index($fs->device, $uuid) == 0) { - $search = "--fs-uuid " . substr($fs->device, length($uuid)); + my $idCmd = "\$(blkid -o export $fs->device) 2>/dev/null; echo" + switch ($fsIdentifier) { + case "uuid" { + $search = "--fs-uuid " . `$idCmd \$UUID`; + } + case "label" { + $search = "--label " . `$idCmd \$LABEL`; + } + case "provided" { + my $lbl = "/dev/disk/by-label/"; + if (index($fs->device, $lbl) == 0) { + $search = "--label " . substr($fs->device, length($lbl)); + } + my $uuid = "/dev/disk/by-uuid/"; + if (index($fs->device, $uuid) == 0) { + $search = "--fs-uuid " . substr($fs->device, length($uuid)); + } + } + else { + die "invalid fs identifier type\n"; + } } } if (not $search eq "") { From a6e6c85f06395a92062eb31753a8dd8f3b7e733c Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 29 Apr 2014 22:53:11 -0500 Subject: [PATCH 0201/2163] grub: Add support for detecting btrfs subvolumes --- nixos/modules/system/boot/loader/grub/grub.nix | 2 +- nixos/modules/system/boot/loader/grub/install-grub.pl | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index bc19dd8c62f..581b76f8fb2 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -28,7 +28,7 @@ let extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels timeout default devices fsIdentifier; path = (makeSearchPath "bin" [ - pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils + pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfsProgs ]) + ":" + (makeSearchPath "sbin" [ pkgs.mdadm pkgs.utillinux ]); diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 2615bc3ae11..814ae7e05f7 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -111,6 +111,13 @@ sub GrubFs { die "invalid fs identifier type\n"; } } + if ($fs->type eq "btrfs") { + $subvol = `mount | sed -n 's,^$fs->device on .*subvol=\([^,)]*\).*$,\1,p'` + if ($subvol eq "") { + $subvol = `btrfs subvol get-default $fs->mount | sed -n 's,^.*path \([^ ]*\) .*$,\1,p'` + } + $path = "/$subvol"; + } } if (not $search eq "") { $search = "search --set=drive$driveid " . $search; From 70c11772a69dad8f414366f1bce511282853a80b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 30 Apr 2014 16:51:34 -0500 Subject: [PATCH 0202/2163] nixos/grub: Fix some silly perl struct accesses --- nixos/modules/system/boot/loader/grub/install-grub.pl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 814ae7e05f7..64151a282f1 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -89,7 +89,7 @@ sub GrubFs { $path = "/" . substr($fs->device, $sid) . "/@" . $path; } } else { - my $idCmd = "\$(blkid -o export $fs->device) 2>/dev/null; echo" + my $idCmd = "\$(blkid -o export " . $fs->device . ") 2>/dev/null; echo" switch ($fsIdentifier) { case "uuid" { $search = "--fs-uuid " . `$idCmd \$UUID`; @@ -112,9 +112,9 @@ sub GrubFs { } } if ($fs->type eq "btrfs") { - $subvol = `mount | sed -n 's,^$fs->device on .*subvol=\([^,)]*\).*$,\1,p'` + $subvol = `mount | sed -n 's,^@{[$fs->device]} on .*subvol=\([^,)]*\).*\$,\1,p'` if ($subvol eq "") { - $subvol = `btrfs subvol get-default $fs->mount | sed -n 's,^.*path \([^ ]*\) .*$,\1,p'` + $subvol = `btrfs subvol get-default @{[$fs->mount]} | sed -n 's,^.*path \([^ ]*\) .*\$,\1,p'` } $path = "/$subvol"; } From 525acb4d4fbfdf1ef18486fba4b2aa673065666a Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 30 Apr 2014 17:53:23 -0500 Subject: [PATCH 0203/2163] nixos/grub: Fix typo --- nixos/modules/system/boot/loader/grub/grub.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 581b76f8fb2..57bf2cefa6f 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -213,7 +213,7 @@ in fsIdentifier = mkOption { default = "uuid"; type = types.addCheck types.string - (type: type == "uuid" || type == "label" || type = "provided"); + (type: type == "uuid" || type == "label" || type == "provided"); description = '' Determines how grub will identify devices when generating the configuration file. A value of uuid / label signifies that grub From 1f460e00efb99a1450f5b5806d68ff6633641ad8 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 30 Apr 2014 18:04:45 -0500 Subject: [PATCH 0204/2163] grub: Build grub2 from git instead of using the unpredictable generated tarball --- pkgs/tools/misc/grub/2.0x.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 59658e47a08..04971b68a84 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, autogen, flex, bison, python, autoconf, automake +{ stdenv, fetchurl, fetchgit, autogen, flex, bison, python, autoconf, automake , gettext, ncurses, libusb, freetype, qemu, devicemapper , linuxPackages ? null , EFIsupport ? false @@ -23,9 +23,10 @@ in stdenv.mkDerivation rec { name = "${prefix}-${version}"; - src = fetchurl { - url = "http://git.savannah.gnu.org/cgit/grub.git/snapshot/grub-2.02-beta2.tar.gz"; - sha256 = "1n2l7k76lqqaavz12615vx5kca0kl8g13bkimc7xsd9s7c1ir5lr"; + src = fetchgit { + url = "git://git.sv.gnu.org/grub.git"; + rev = "refs/tags/grub-2.02-beta2"; + sha256 = "157bknkcxibmvq19pagphlwfxd9xny7002gcanfzhjzcjpfz4scy"; }; nativeBuildInputs = [ autogen flex bison python autoconf automake ]; From 99b4792554859b57b6263a807f9335edceb7a4b0 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 30 Apr 2014 18:45:44 -0500 Subject: [PATCH 0205/2163] nixos/grub: Refactor perl script to remove the Switch module --- .../system/boot/loader/grub/install-grub.pl | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 64151a282f1..fd298333cc4 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -8,7 +8,6 @@ use File::stat; use File::Copy; use POSIX; use Cwd; -use Switch; my $defaultConfig = $ARGV[1] or die; @@ -78,9 +77,13 @@ sub GrubFs { my $fs = GetFs($dir); my $path = "/" . substr($dir, length($fs->mount)); my $search = ""; + if ($grubVersion > 1) { + # ZFS is completely separate logic as zpools are always identified by a label + # or custom UUID if ($fs->type eq "zfs") { my $sid = index($fs->device, "/"); + if ($sid < 0) { $search = "--label " . $fs->device; $path = "/@" . $path; @@ -89,32 +92,33 @@ sub GrubFs { $path = "/" . substr($fs->device, $sid) . "/@" . $path; } } else { - my $idCmd = "\$(blkid -o export " . $fs->device . ") 2>/dev/null; echo" - switch ($fsIdentifier) { - case "uuid" { - $search = "--fs-uuid " . `$idCmd \$UUID`; + my $idCmd = "\$(blkid -o export " . $fs->device . ") 2>/dev/null; echo"; + + if ($fsIdentifier eq "uuid") { + $search = "--fs-uuid " . `$idCmd \$UUID`; + } elsif ($fsIdentifier eq "label") { + $search = "--label " . `$idCmd \$LABEL`; + } elsif ($fsIdentifier eq "provided") { + my $lbl = "/dev/disk/by-label/"; + + # If the provided dev is identifying the partition using a label or uuid, + # we should get the label / uuid and do a proper search + if (index($fs->device, $lbl) == 0) { + $search = "--label " . substr($fs->device, length($lbl)); } - case "label" { - $search = "--label " . `$idCmd \$LABEL`; - } - case "provided" { - my $lbl = "/dev/disk/by-label/"; - if (index($fs->device, $lbl) == 0) { - $search = "--label " . substr($fs->device, length($lbl)); - } - my $uuid = "/dev/disk/by-uuid/"; - if (index($fs->device, $uuid) == 0) { - $search = "--fs-uuid " . substr($fs->device, length($uuid)); - } - } - else { - die "invalid fs identifier type\n"; + my $uuid = "/dev/disk/by-uuid/"; + if (index($fs->device, $uuid) == 0) { + $search = "--fs-uuid " . substr($fs->device, length($uuid)); } + } else { + die "invalid fs identifier type\n"; } + + # BTRFS is a special case in that we need to fix the referrenced path based on subvolumes if ($fs->type eq "btrfs") { - $subvol = `mount | sed -n 's,^@{[$fs->device]} on .*subvol=\([^,)]*\).*\$,\1,p'` + my $subvol = `mount | sed -n 's,^@{[$fs->device]} on .*subvol=\([^,)]*\).*\$,\1,p'`; if ($subvol eq "") { - $subvol = `btrfs subvol get-default @{[$fs->mount]} | sed -n 's,^.*path \([^ ]*\) .*\$,\1,p'` + $subvol = `btrfs subvol get-default @{[$fs->mount]} | sed -n 's,^.*path \([^ ]*\) .*\$,\1,p'`; } $path = "/$subvol"; } From d4e2040099b33f62971aee2f8530e693115cd680 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 1 May 2014 06:04:57 -0500 Subject: [PATCH 0206/2163] nixos/grub: Refactor install-grub.pl and correct perl syntax --- .../system/boot/loader/grub/install-grub.pl | 64 ++++++++++++------- 1 file changed, 40 insertions(+), 24 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index fd298333cc4..f95e8f75431 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -81,46 +81,62 @@ sub GrubFs { if ($grubVersion > 1) { # ZFS is completely separate logic as zpools are always identified by a label # or custom UUID - if ($fs->type eq "zfs") { - my $sid = index($fs->device, "/"); + if ($fs->type eq 'zfs') { + my $sid = index($fs->device, '/'); if ($sid < 0) { - $search = "--label " . $fs->device; - $path = "/@" . $path; + $search = '--label ' . $fs->device; + $path = '/@' . $path; } else { - $search = "--label " . substr($fs->device, 0, $sid); - $path = "/" . substr($fs->device, $sid) . "/@" . $path; + $search = '--label ' . substr($fs->device, 0, $sid); + $path = '/' . substr($fs->device, $sid) . '/@' . $path; } } else { - my $idCmd = "\$(blkid -o export " . $fs->device . ") 2>/dev/null; echo"; - - if ($fsIdentifier eq "uuid") { - $search = "--fs-uuid " . `$idCmd \$UUID`; - } elsif ($fsIdentifier eq "label") { - $search = "--label " . `$idCmd \$LABEL`; - } elsif ($fsIdentifier eq "provided") { - my $lbl = "/dev/disk/by-label/"; - + if ($fsIdentifier eq 'provided') { # If the provided dev is identifying the partition using a label or uuid, # we should get the label / uuid and do a proper search + my $lbl = '/dev/disk/by-label/'; if (index($fs->device, $lbl) == 0) { - $search = "--label " . substr($fs->device, length($lbl)); + $search = '--label ' . substr($fs->device, length($lbl)); } - my $uuid = "/dev/disk/by-uuid/"; + + my $uuid = '/dev/disk/by-uuid/'; if (index($fs->device, $uuid) == 0) { - $search = "--fs-uuid " . substr($fs->device, length($uuid)); + $search = '--fs-uuid ' . substr($fs->device, length($uuid)); } } else { - die "invalid fs identifier type\n"; + # Determine the identifying type + my %types = ('uuid' => '--fs-uuid', 'label' => '--label'); + $search = $types{$fsIdentifier} . ' '; + + # Based on the type pull in the identifier from the system + my $devInfo = `blkid -o export @{[$fs->device]}`; + my @matches = $devInfo =~ m/@{[uc $fsIdentifier]}=([^\n]*)/; + if ($#matches != 0) { + die "Couldn't find a $types{$fsIdentifier} for @{[$fs->device]}\n" + } + $search .= $matches[0]; } # BTRFS is a special case in that we need to fix the referrenced path based on subvolumes - if ($fs->type eq "btrfs") { - my $subvol = `mount | sed -n 's,^@{[$fs->device]} on .*subvol=\([^,)]*\).*\$,\1,p'`; - if ($subvol eq "") { - $subvol = `btrfs subvol get-default @{[$fs->mount]} | sed -n 's,^.*path \([^ ]*\) .*\$,\1,p'`; + if ($fs->type eq 'btrfs') { + my $subvol = ""; + + my @subvols = `mount` =~ m/@{[$fs->device]} on [^\n]*subvol=([^,)]*)/; + if ($#subvols > 0) { + die "Btrfs device @{[$fs->device]} listed multiple times in mount\n" + } elsif ($#subvols == 0) { + $subvol = $subvols[0]; + } else { + my $btrfsDefault = `btrfs subvol get-default @{[$fs->mount]}`; + my @results = $btrfsDefault =~ m/path ([^ ]*)/; + if ($#results > 0) { + die "Btrfs device @{[$fs->device]} has multiple default subvolumes\n"; + } elsif ($#results == 1) { + $subvol = $results[0]; + } } - $path = "/$subvol"; + $path = "/$subvol" . $path; } } if (not $search eq "") { From 769d2dc6bf7bba3867e13c125fc0a6d5c76aa19a Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 1 May 2014 19:08:54 -0500 Subject: [PATCH 0207/2163] nixos/grub: Catch errors from command execution --- .../system/boot/loader/grub/install-grub.pl | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index f95e8f75431..6748a5ca08f 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -28,6 +28,14 @@ sub writeFile { close FILE or die; } +sub runCommand { + my ($cmd) = @_; + open FILE, "$cmd 2>/dev/null |" or die "Failed to execute: $cmd\n"; + my @ret = ; + close FILE; + return ($?, @ret); +} + my $grub = get("grub"); my $grubVersion = int(get("version")); my $extraConfig = get("extraConfig"); @@ -64,7 +72,11 @@ struct(Fs => { }); sub GetFs { my ($dir) = @_; - my @boot = split(/[ \n\t]+/, `df -T "$dir" | tail -n 1`); + my ($status, @dfOut) = runCommand("df -T $dir"); + if ($status != 0 || $#dfOut != 1) { + die "Failed to retrieve output about $dir from `df`"; + } + my @boot = split(/[ \n\t]+/, $dfOut[1]); return Fs->new(device => $boot[0], type => $boot[1], mount => $boot[6]); } struct (Grub => { @@ -110,8 +122,11 @@ sub GrubFs { $search = $types{$fsIdentifier} . ' '; # Based on the type pull in the identifier from the system - my $devInfo = `blkid -o export @{[$fs->device]}`; - my @matches = $devInfo =~ m/@{[uc $fsIdentifier]}=([^\n]*)/; + my ($status, @devInfo) = runCommand("blkid -o export @{[$fs->device]}"); + if ($status != 0) { + die "Failed to get blkid info for @{[$fs->device]}"; + } + my @matches = join("", @devInfo) =~ m/@{[uc $fsIdentifier]}=([^\n]*)/; if ($#matches != 0) { die "Couldn't find a $types{$fsIdentifier} for @{[$fs->device]}\n" } @@ -122,14 +137,21 @@ sub GrubFs { if ($fs->type eq 'btrfs') { my $subvol = ""; - my @subvols = `mount` =~ m/@{[$fs->device]} on [^\n]*subvol=([^,)]*)/; + my ($status, @mounts) = runCommand('mount'); + if ($status != 0) { + die "Failed to retreive mount info"; + } + my @subvols = join("", @mounts) =~ m/@{[$fs->device]} on [^\n]*subvol=([^,)]*)/; if ($#subvols > 0) { die "Btrfs device @{[$fs->device]} listed multiple times in mount\n" } elsif ($#subvols == 0) { $subvol = $subvols[0]; } else { - my $btrfsDefault = `btrfs subvol get-default @{[$fs->mount]}`; - my @results = $btrfsDefault =~ m/path ([^ ]*)/; + my ($status, @btrfsOut) = runCommand("btrfs subvol get-default @{[$fs->mount]}"); + if ($status != 0) { + die "Failed to retrieve btrfs default subvolume" + } + my @results = join("", @btrfsOut) =~ m/path ([^ ]*)/; if ($#results > 0) { die "Btrfs device @{[$fs->device]} has multiple default subvolumes\n"; } elsif ($#results == 1) { From 5870ae613f42c99456dcbbc4df01abdce3c1f448 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 1 May 2014 20:21:02 -0500 Subject: [PATCH 0208/2163] nixos/release: Dynamically generate installer tests --- nixos/release.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/nixos/release.nix b/nixos/release.nix index 0620b46d46a..e5a4e7337ab 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -222,12 +222,11 @@ in rec { tests.firefox = callTest tests/firefox.nix {}; tests.firewall = callTest tests/firewall.nix {}; tests.gnome3 = callTest tests/gnome3.nix {}; - tests.installer.efi = forAllSystems (system: (import tests/installer.nix { inherit system; }).efi.test); - tests.installer.grub1 = forAllSystems (system: (import tests/installer.nix { inherit system; }).grub1.test); - tests.installer.lvm = forAllSystems (system: (import tests/installer.nix { inherit system; }).lvm.test); - tests.installer.rebuildCD = forAllSystems (system: (import tests/installer.nix { inherit system; }).rebuildCD.test); - tests.installer.separateBoot = forAllSystems (system: (import tests/installer.nix { inherit system; }).separateBoot.test); - tests.installer.simple = forAllSystems (system: (import tests/installer.nix { inherit system; }).simple.test); + tests.installer = with pkgs.lib; + let installer = import tests/installer.nix; in + flip mapAttrs (installer { }) (name: _: + forAllSystems (system: (installer { system = system; }).${name}.test) + ); tests.influxdb = callTest tests/influxdb.nix {}; tests.ipv6 = callTest tests/ipv6.nix {}; tests.jenkins = callTest tests/jenkins.nix {}; From 8329d12b799b98a2b220e34ed347417c2d5b8fbe Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 1 May 2014 23:11:18 -0500 Subject: [PATCH 0209/2163] grub: Change fsIdentifier to str from string --- nixos/modules/system/boot/loader/grub/grub.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 57bf2cefa6f..8ba7ae2c7fa 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -212,7 +212,7 @@ in fsIdentifier = mkOption { default = "uuid"; - type = types.addCheck types.string + type = types.addCheck types.str (type: type == "uuid" || type == "label" || type == "provided"); description = '' Determines how grub will identify devices when generating the From 809caa87ab88fae9164347c3f1a63f6117c09821 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 1 May 2014 06:21:30 -0500 Subject: [PATCH 0210/2163] tests/installer: Add btrfs tests for grub and nixos-generate-config --- nixos/tests/installer.nix | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 621afffbfc1..89abafcab83 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -394,4 +394,49 @@ in { $machine->shutdown; ''; }; + + # Simple btrfs grub testing + btrfsSimple = makeInstallerTest { + createPartitions = '' + $machine->succeed( + "sgdisk -Z /dev/vda", + "sgdisk -n 1:0:+1M -N 2 -t 1:ef02 -t 2:8300 -c 2:root /dev/vda", + "mkfs.btrfs -L root /dev/vda2", + "mount LABEL=root /mnt", + ); + ''; + }; + + # Test to see if we can detect /boot and /nix on subvolumes + btrfsSubvols = makeInstallerTest { + createPartitions = '' + $machine->succeed( + "sgdisk -Z /dev/vda", + "sgdisk -n 1:0:+1M -N 2 -t 1:ef02 -t 2:8300 -c 2:root /dev/vda", + "mkfs.btrfs -L root /dev/vda2", + "btrfs device scan", + "mount LABEL=root /mnt", + "btrfs subvol create /mnt/boot", + "btrfs subvol create /mnt/nixos", + "umount /mnt", + "mount -o defaults,subvol=mnt LABEL=root /mnt", + "mkdir /mnt/boot", + "mount -o defaults,subvol=boot LABEL=root /mnt/boot", + ); + ''; + }; + + # Test to see if we can detect subvols by their id's + btrfsSubvolId = makeInstallerTest { + createPartitions = '' + $machine->succeed("false"); + ''; + }; + + # Test to see if we can detect a default subvolume on / + btrfsDefaultSubvol = makeInstallerTest { + createPartitions = '' + $machine->succeed("false"); + ''; + }; } From 2b703f82d5f257b91389267f11e7914d8df550bf Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 1 May 2014 23:11:49 -0500 Subject: [PATCH 0211/2163] tests/installer: Test for more grub configurations --- nixos/tests/installer.nix | 42 +++++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 89abafcab83..2bee2f77999 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -35,8 +35,8 @@ let # The configuration to install. - makeConfig = { testChannel, useEFI, grubVersion, grubDevice }: pkgs.writeText "configuration.nix" - '' + makeConfig = { testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }: + pkgs.writeText "configuration.nix" '' { config, pkgs, modulesPath, ... }: { imports = @@ -54,6 +54,7 @@ let ''} boot.loader.grub.device = "${grubDevice}"; boot.loader.grub.extraConfig = "serial; terminal_output.serial"; + boot.loader.grub.fsIdentifier = "${grubIdentifier}"; ''} environment.systemPackages = [ ${optionalString testChannel "pkgs.rlwrap"} ]; @@ -93,7 +94,7 @@ let # disk, and then reboot from the hard disk. It's parameterized with # a test script fragment `createPartitions', which must create # partitions and filesystems. - testScriptFun = { createPartitions, testChannel, useEFI, grubVersion, grubDevice }: + testScriptFun = { createPartitions, testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }: let # FIXME: OVMF doesn't boot from virtio http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg01501.html iface = if useEFI || grubVersion == 1 then "scsi" else "virtio"; @@ -161,7 +162,7 @@ let $machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2"); $machine->copyFileFromHost( - "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice; } }", + "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; } }", "/mnt/etc/nixos/configuration.nix"); # Perform the installation. @@ -216,13 +217,13 @@ let makeInstallerTest = name: - { createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda" }: + { createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid" }: makeTest { inherit iso; name = "installer-" + name; nodes = if testChannel then { inherit webserver; } else { }; testScript = testScriptFun { - inherit createPartitions testChannel useEFI grubVersion grubDevice; + inherit createPartitions testChannel useEFI grubVersion grubDevice grubIdentifier; }; }; @@ -395,6 +396,35 @@ in { ''; }; + # Test using labels to identify volumes in grub + simpleLabels = makeInstallerTest { + createPartitions = '' + $machine->succeed( + "sgdisk -Z /dev/vda", + "sgdisk -n 1:0:+1M -N 2 -t 1:ef02 -t 2:8300 -c 2:root /dev/vda", + "mkfs.ext4 -L root /dev/vda2", + "mount LABEL=root /mnt", + ); + ''; + grubIdentifier = "label"; + }; + + # Test using the provided disk name within grub + simpleProvided = makeInstallerTest { + createPartitions = '' + $machine->succeed( + "sgdisk -Z /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+100M -N 3 -t 1:ef02 -t 2:8300 -t 3:8300 -c 2:boot -c 3:root /dev/vda", + "mkfs.ext4 -L boot /dev/vda2", + "mkfs.ext4 -L root /dev/vda3", + "mount LABEL=root /mnt", + "mkdir /mnt/boot", + "$(blkid -o export /dev/vda2); mount /dev/disk/by-uuid/$UUID /mnt/boot" + ); + ''; + grubIdentifier = "provided"; + }; + # Simple btrfs grub testing btrfsSimple = makeInstallerTest { createPartitions = '' From 62fedf6081200e38df515204683df472e0fe959d Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 1 May 2014 23:22:21 -0500 Subject: [PATCH 0212/2163] installer/btrfs: Typo in subvol --- nixos/tests/installer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 2bee2f77999..2064675ecd9 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -449,7 +449,7 @@ in { "btrfs subvol create /mnt/boot", "btrfs subvol create /mnt/nixos", "umount /mnt", - "mount -o defaults,subvol=mnt LABEL=root /mnt", + "mount -o defaults,subvol=nixos LABEL=root /mnt", "mkdir /mnt/boot", "mount -o defaults,subvol=boot LABEL=root /mnt/boot", ); From d4a9645ef0d365e4ff30d2ae29ec163a53869625 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 1 May 2014 23:40:51 -0500 Subject: [PATCH 0213/2163] nixos/grub: Needs mount so add utillinux to bin --- nixos/modules/system/boot/loader/grub/grub.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 8ba7ae2c7fa..bc9a155ac95 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -29,6 +29,7 @@ let default devices fsIdentifier; path = (makeSearchPath "bin" [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfsProgs + pkgs.utillinux ]) + ":" + (makeSearchPath "sbin" [ pkgs.mdadm pkgs.utillinux ]); From 8b36bf5c59ef7d2af849a0304f76a6a25b997408 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 1 May 2014 23:52:06 -0500 Subject: [PATCH 0214/2163] tests/installer: fix mount --- nixos/tests/installer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 2064675ecd9..a7f7c766157 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -419,7 +419,7 @@ in { "mkfs.ext4 -L root /dev/vda3", "mount LABEL=root /mnt", "mkdir /mnt/boot", - "$(blkid -o export /dev/vda2); mount /dev/disk/by-uuid/$UUID /mnt/boot" + "$(blkid -o export /dev/vda2); mount /dev/disk/by-uuid/\\$UUID /mnt/boot" ); ''; grubIdentifier = "provided"; From 8ff4b3b78048231a9e56d1597ee09592dd05eab8 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 00:01:32 -0500 Subject: [PATCH 0215/2163] tests/installer: Add swap to the new tests --- nixos/tests/installer.nix | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index a7f7c766157..93b6182a09c 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -401,7 +401,9 @@ in { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", - "sgdisk -n 1:0:+1M -N 2 -t 1:ef02 -t 2:8300 -c 2:root /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+100M -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", "mkfs.ext4 -L root /dev/vda2", "mount LABEL=root /mnt", ); @@ -414,9 +416,11 @@ in { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", - "sgdisk -n 1:0:+1M -n 2:0:+100M -N 3 -t 1:ef02 -t 2:8300 -t 3:8300 -c 2:boot -c 3:root /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+100M -n 3:0:+100M -N 4 -t 1:ef02 -t 2:8300 -t 3:8200 -t 4:8300 -c 2:boot -c 4:root /dev/vda", + "mkswap /dev/vda3 -L swap", + "swapon -L swap", "mkfs.ext4 -L boot /dev/vda2", - "mkfs.ext4 -L root /dev/vda3", + "mkfs.ext4 -L root /dev/vda4", "mount LABEL=root /mnt", "mkdir /mnt/boot", "$(blkid -o export /dev/vda2); mount /dev/disk/by-uuid/\\$UUID /mnt/boot" @@ -430,8 +434,10 @@ in { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", - "sgdisk -n 1:0:+1M -N 2 -t 1:ef02 -t 2:8300 -c 2:root /dev/vda", - "mkfs.btrfs -L root /dev/vda2", + "sgdisk -n 1:0:+1M -n 2:0:+100M -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "mkfs.btrfs -L root /dev/vda3", "mount LABEL=root /mnt", ); ''; @@ -442,8 +448,10 @@ in { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", - "sgdisk -n 1:0:+1M -N 2 -t 1:ef02 -t 2:8300 -c 2:root /dev/vda", - "mkfs.btrfs -L root /dev/vda2", + "sgdisk -n 1:0:+1M -n 2:0:+100M -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "mkfs.btrfs -L root /dev/vda3", "btrfs device scan", "mount LABEL=root /mnt", "btrfs subvol create /mnt/boot", From 429f785135ebca304767ecf435b5d5e979c2f3f2 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 00:25:38 -0500 Subject: [PATCH 0216/2163] tests/installer: Fix simple tests --- nixos/tests/installer.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 93b6182a09c..4fceb19f234 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -404,7 +404,7 @@ in { "sgdisk -n 1:0:+1M -n 2:0:+100M -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", "mkswap /dev/vda2 -L swap", "swapon -L swap", - "mkfs.ext4 -L root /dev/vda2", + "mkfs.ext4 -L root /dev/vda3", "mount LABEL=root /mnt", ); ''; @@ -423,7 +423,7 @@ in { "mkfs.ext4 -L root /dev/vda4", "mount LABEL=root /mnt", "mkdir /mnt/boot", - "$(blkid -o export /dev/vda2); mount /dev/disk/by-uuid/\\$UUID /mnt/boot" + "$(blkid -o export /dev/vda2); mount /dev/disk/by-uuid/\$UUID /mnt/boot" ); ''; grubIdentifier = "provided"; From 87d5e457fe124facb261d13f52e14a7c6e6511af Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 00:44:36 -0500 Subject: [PATCH 0217/2163] nixos/grub: Grub detection is much simpler using subvol show --- .../system/boot/loader/grub/install-grub.pl | 28 +++++-------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 6748a5ca08f..82809edd6e8 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -135,35 +135,21 @@ sub GrubFs { # BTRFS is a special case in that we need to fix the referrenced path based on subvolumes if ($fs->type eq 'btrfs') { - my $subvol = ""; - - my ($status, @mounts) = runCommand('mount'); + my ($status, @info) = runCommand("btrfs subvol show @{[$fs->device]}"); if ($status != 0) { - die "Failed to retreive mount info"; + die "Failed to retreive subvolume info for @{[$fs->device]}"; } - my @subvols = join("", @mounts) =~ m/@{[$fs->device]} on [^\n]*subvol=([^,)]*)/; + my @subvols = join("", @info) =~ m/Name:[ \t\n]([^ \t\n]*)/; if ($#subvols > 0) { - die "Btrfs device @{[$fs->device]} listed multiple times in mount\n" + die "Btrfs subvol name for @{[$fs->device]} listed multiple times in mount\n" } elsif ($#subvols == 0) { - $subvol = $subvols[0]; - } else { - my ($status, @btrfsOut) = runCommand("btrfs subvol get-default @{[$fs->mount]}"); - if ($status != 0) { - die "Failed to retrieve btrfs default subvolume" - } - my @results = join("", @btrfsOut) =~ m/path ([^ ]*)/; - if ($#results > 0) { - die "Btrfs device @{[$fs->device]} has multiple default subvolumes\n"; - } elsif ($#results == 1) { - $subvol = $results[0]; - } - } - $path = "/$subvol" . $path; + $path = "/$subvols[0]$path"; + } } } if (not $search eq "") { $search = "search --set=drive$driveid " . $search; - $path = "(\$drive$driveid)" . $path; + $path = "(\$drive$driveid)$path"; $driveid += 1; } } From 3bf22679b30bc6f92b7df2a72cdba0403be3be86 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 00:45:06 -0500 Subject: [PATCH 0218/2163] nixos/grub: Kernels don't need to be copied if we can read the nix store --- nixos/modules/system/boot/loader/grub/install-grub.pl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 82809edd6e8..d0d5307a804 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -158,6 +158,11 @@ sub GrubFs { my $grubBoot = GrubFs("/boot"); my $grubStore = GrubFs("/nix"); +# We don't need to copy if we can read the kernels directly +if ($grubStore->search ne "") { + $copyKernels = 0; +} + # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; From 7264941a465b3312c35f2dde6184447c746d9d17 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 00:51:26 -0500 Subject: [PATCH 0219/2163] tests/installer: Remove unneeded tests --- nixos/tests/installer.nix | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 4fceb19f234..6f20f6614eb 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -463,18 +463,4 @@ in { ); ''; }; - - # Test to see if we can detect subvols by their id's - btrfsSubvolId = makeInstallerTest { - createPartitions = '' - $machine->succeed("false"); - ''; - }; - - # Test to see if we can detect a default subvolume on / - btrfsDefaultSubvol = makeInstallerTest { - createPartitions = '' - $machine->succeed("false"); - ''; - }; } From b651097d193089d14e9407a67b95397bf02129e5 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 01:05:10 -0500 Subject: [PATCH 0220/2163] tests/installer: Swapspace should be larger --- nixos/tests/installer.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 6f20f6614eb..cb9cc120062 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -401,7 +401,7 @@ in { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", - "sgdisk -n 1:0:+1M -n 2:0:+100M -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", "mkswap /dev/vda2 -L swap", "swapon -L swap", "mkfs.ext4 -L root /dev/vda3", @@ -416,7 +416,7 @@ in { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", - "sgdisk -n 1:0:+1M -n 2:0:+100M -n 3:0:+100M -N 4 -t 1:ef02 -t 2:8300 -t 3:8200 -t 4:8300 -c 2:boot -c 4:root /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+1G -n 3:0:+100M -N 4 -t 1:ef02 -t 2:8300 -t 3:8200 -t 4:8300 -c 2:boot -c 4:root /dev/vda", "mkswap /dev/vda3 -L swap", "swapon -L swap", "mkfs.ext4 -L boot /dev/vda2", @@ -434,7 +434,7 @@ in { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", - "sgdisk -n 1:0:+1M -n 2:0:+100M -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", "mkswap /dev/vda2 -L swap", "swapon -L swap", "mkfs.btrfs -L root /dev/vda3", @@ -448,7 +448,7 @@ in { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", - "sgdisk -n 1:0:+1M -n 2:0:+100M -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", "mkswap /dev/vda2 -L swap", "swapon -L swap", "mkfs.btrfs -L root /dev/vda3", From 6549bcff9607efd68ecd8fca8ca15c4446b16fb9 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 01:07:12 -0500 Subject: [PATCH 0221/2163] tests/installer: Fix provided test uuid and label mounts --- nixos/tests/installer.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index cb9cc120062..d15c43d29bb 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -421,9 +421,9 @@ in { "swapon -L swap", "mkfs.ext4 -L boot /dev/vda2", "mkfs.ext4 -L root /dev/vda4", - "mount LABEL=root /mnt", + "mount /dev/disk/by-label/root /mnt", "mkdir /mnt/boot", - "$(blkid -o export /dev/vda2); mount /dev/disk/by-uuid/\$UUID /mnt/boot" + "mount /dev/disk/by-uuid/\$(blkid -s UUID -o value /dev/vda2) /mnt/boot" ); ''; grubIdentifier = "provided"; From c02bc3a9de319195597a16173e04357023e97643 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 01:46:07 -0500 Subject: [PATCH 0222/2163] nixos/grub: Fix regex for getting subvolume name in btrfs --- nixos/modules/system/boot/loader/grub/install-grub.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index d0d5307a804..2725cea5996 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -139,7 +139,7 @@ sub GrubFs { if ($status != 0) { die "Failed to retreive subvolume info for @{[$fs->device]}"; } - my @subvols = join("", @info) =~ m/Name:[ \t\n]([^ \t\n]*)/; + my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; if ($#subvols > 0) { die "Btrfs subvol name for @{[$fs->device]} listed multiple times in mount\n" } elsif ($#subvols == 0) { From 4f096c044f987f036af3fc1888090e6567aaf7b1 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 02:53:32 -0500 Subject: [PATCH 0223/2163] nixos/grub: Simplify detection of labels / uuids for provided device names --- .../system/boot/loader/grub/install-grub.pl | 22 +++++++++---------- nixos/tests/installer.nix | 2 +- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 2725cea5996..3c84fccac34 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -104,28 +104,26 @@ sub GrubFs { $path = '/' . substr($fs->device, $sid) . '/@' . $path; } } else { + my %types = ('uuid' => '--fs-uuid', 'label' => '--label'); + if ($fsIdentifier eq 'provided') { # If the provided dev is identifying the partition using a label or uuid, # we should get the label / uuid and do a proper search - my $lbl = '/dev/disk/by-label/'; - if (index($fs->device, $lbl) == 0) { - $search = '--label ' . substr($fs->device, length($lbl)); - } - - my $uuid = '/dev/disk/by-uuid/'; - if (index($fs->device, $uuid) == 0) { - $search = '--fs-uuid ' . substr($fs->device, length($uuid)); + my @matches = $fs->device =~ m/\/dev\/disk\/by-(label|uuid)\/(.*)/; + if ($#matches > 1) { + die "Too many matched devices" + } elsif ($#matches == 1) { + $search = "$types{$matches[0]} $matches[1]" } } else { # Determine the identifying type - my %types = ('uuid' => '--fs-uuid', 'label' => '--label'); $search = $types{$fsIdentifier} . ' '; # Based on the type pull in the identifier from the system my ($status, @devInfo) = runCommand("blkid -o export @{[$fs->device]}"); - if ($status != 0) { - die "Failed to get blkid info for @{[$fs->device]}"; - } + if ($status != 0) { + die "Failed to get blkid info for @{[$fs->device]}"; + } my @matches = join("", @devInfo) =~ m/@{[uc $fsIdentifier]}=([^\n]*)/; if ($#matches != 0) { die "Couldn't find a $types{$fsIdentifier} for @{[$fs->device]}\n" diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index d15c43d29bb..0eb67eaa813 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -416,7 +416,7 @@ in { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", - "sgdisk -n 1:0:+1M -n 2:0:+1G -n 3:0:+100M -N 4 -t 1:ef02 -t 2:8300 -t 3:8200 -t 4:8300 -c 2:boot -c 4:root /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+100M -n 3:0:+1G -N 4 -t 1:ef02 -t 2:8300 -t 3:8200 -t 4:8300 -c 2:boot -c 4:root /dev/vda", "mkswap /dev/vda3 -L swap", "swapon -L swap", "mkfs.ext4 -L boot /dev/vda2", From cc62623b37c4ac6e17968b36d9ced8bbf28fb883 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 02:03:25 -0500 Subject: [PATCH 0224/2163] tests/installer: Provided test should add symlinks to /dev/disk if udev doesn't --- nixos/tests/installer.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 0eb67eaa813..ef11fcb1001 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -412,8 +412,10 @@ in { }; # Test using the provided disk name within grub + # TODO: Fix udev so the symlinks are unneeded in /dev/disks simpleProvided = makeInstallerTest { createPartitions = '' + my $UUID = "\$(blkid -s UUID -o value /dev/vda2)"; $machine->succeed( "sgdisk -Z /dev/vda", "sgdisk -n 1:0:+1M -n 2:0:+100M -n 3:0:+1G -N 4 -t 1:ef02 -t 2:8300 -t 3:8200 -t 4:8300 -c 2:boot -c 4:root /dev/vda", @@ -421,9 +423,13 @@ in { "swapon -L swap", "mkfs.ext4 -L boot /dev/vda2", "mkfs.ext4 -L root /dev/vda4", + ); + $machine->execute("ln -s ../../vda2 /dev/disk/by-uuid/$UUID"); + $machine->execute("ln -s ../../vda4 /dev/disk/by-label/root"); + $machine->succeed( "mount /dev/disk/by-label/root /mnt", "mkdir /mnt/boot", - "mount /dev/disk/by-uuid/\$(blkid -s UUID -o value /dev/vda2) /mnt/boot" + "mount /dev/disk/by-uuid/$UUID /mnt/boot" ); ''; grubIdentifier = "provided"; From 0f6079d999e3922782f3ce6daf742f32568118ac Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 03:37:50 -0500 Subject: [PATCH 0225/2163] nixos/grub: Fix spacing and correct subvolume detection --- .../system/boot/loader/grub/install-grub.pl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 3c84fccac34..acfb85f3bc5 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -72,10 +72,10 @@ struct(Fs => { }); sub GetFs { my ($dir) = @_; - my ($status, @dfOut) = runCommand("df -T $dir"); - if ($status != 0 || $#dfOut != 1) { - die "Failed to retrieve output about $dir from `df`"; - } + my ($status, @dfOut) = runCommand("df -T $dir"); + if ($status != 0 || $#dfOut != 1) { + die "Failed to retrieve output about $dir from `df`"; + } my @boot = split(/[ \n\t]+/, $dfOut[1]); return Fs->new(device => $boot[0], type => $boot[1], mount => $boot[6]); } @@ -133,16 +133,16 @@ sub GrubFs { # BTRFS is a special case in that we need to fix the referrenced path based on subvolumes if ($fs->type eq 'btrfs') { - my ($status, @info) = runCommand("btrfs subvol show @{[$fs->device]}"); + my ($status, @info) = runCommand("btrfs subvol show @{[$fs->mount]}"); if ($status != 0) { - die "Failed to retreive subvolume info for @{[$fs->device]}"; + die "Failed to retreive subvolume info for @{[$fs->mount]}"; } my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; if ($#subvols > 0) { die "Btrfs subvol name for @{[$fs->device]} listed multiple times in mount\n" } elsif ($#subvols == 0) { - $path = "/$subvols[0]$path"; - } + $path = "/$subvols[0]$path"; + } } } if (not $search eq "") { From 940c57e4e86f14cbc25bd63949ef27cc96856425 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 03:44:07 -0500 Subject: [PATCH 0226/2163] nixos/ova: Grub uuid detection is broken when generating the ova --- nixos/modules/installer/virtualbox-demo.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/installer/virtualbox-demo.nix b/nixos/modules/installer/virtualbox-demo.nix index f68f8dc40aa..49ec0899610 100644 --- a/nixos/modules/installer/virtualbox-demo.nix +++ b/nixos/modules/installer/virtualbox-demo.nix @@ -10,6 +10,9 @@ with lib; ../profiles/clone-config.nix ]; + # FIXME: UUID detection is currently broken + boot.loader.grub.fsIdentifier = "provided"; + # Allow mounting of shared folders. users.extraUsers.demo.extraGroups = [ "vboxsf" ]; From 2ea1433b77755b954df979307525fa6578f241b8 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 2 May 2014 09:17:54 -0500 Subject: [PATCH 0227/2163] grub: Fetch from alpha.gnu.org instead of git --- pkgs/tools/misc/grub/2.0x.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 04971b68a84..2c150f8ec96 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchgit, autogen, flex, bison, python, autoconf, automake +{ stdenv, fetchurl, autogen, flex, bison, python, autoconf, automake , gettext, ncurses, libusb, freetype, qemu, devicemapper , linuxPackages ? null , EFIsupport ? false @@ -23,10 +23,10 @@ in stdenv.mkDerivation rec { name = "${prefix}-${version}"; - src = fetchgit { - url = "git://git.sv.gnu.org/grub.git"; - rev = "refs/tags/grub-2.02-beta2"; - sha256 = "157bknkcxibmvq19pagphlwfxd9xny7002gcanfzhjzcjpfz4scy"; + src = fetchurl { + name = "grub-2.02-beta2.tar.xz"; + url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.xz"; + sha256 = "13a13fhc0wf473dn73zhga15mjvkg6vqp4h25dxg4n7am2r05izn"; }; nativeBuildInputs = [ autogen flex bison python autoconf automake ]; From dd18e67cfb27515791620a0e69e4e427b77e2670 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 3 May 2014 19:59:47 -0500 Subject: [PATCH 0228/2163] grub: Cleanup efi support --- pkgs/tools/misc/grub/2.0x.nix | 37 ++++++++++++++++----------------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 2c150f8ec96..028ec565752 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,15 +1,20 @@ { stdenv, fetchurl, autogen, flex, bison, python, autoconf, automake , gettext, ncurses, libusb, freetype, qemu, devicemapper , linuxPackages ? null -, EFIsupport ? false +, efiSupport ? false , zfsSupport ? false }: -assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null; - +with stdenv.lib; let + efiSystems = { + "i686-linux".target = "i386"; + "x86_64-linux".target = "x86_64"; + }; - prefix = "grub${if EFIsupport then "-efi" else ""}"; + canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems); + + prefix = "grub${if efiSupport then "-efi" else ""}"; version = "2.02-beta2"; @@ -17,8 +22,10 @@ let url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz"; sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx"; }; +in ( -in +assert efiSupport -> canEfi; +assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null; stdenv.mkDerivation rec { name = "${prefix}-${version}"; @@ -31,8 +38,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autogen flex bison python autoconf automake ]; buildInputs = [ ncurses libusb freetype gettext devicemapper ] - ++ stdenv.lib.optional doCheck qemu - ++ stdenv.lib.optional zfsSupport linuxPackages.zfs; + ++ optional doCheck qemu + ++ optional zfsSupport linuxPackages.zfs; preConfigure = '' for i in "tests/util/"*.in @@ -62,13 +69,8 @@ stdenv.mkDerivation rec { patches = [ ./fix-bash-completion.patch ]; - configureFlags = - let arch = if stdenv.system == "i686-linux" then "i386" - else if stdenv.system == "x86_64-linux" then "x86_64" - else throw "unsupported EFI firmware architecture"; - in stdenv.lib.optional zfsSupport "--enable-libzfs" - ++ stdenv.lib.optionals EFIsupport - [ "--with-platform=efi" "--target=${arch}" "--program-prefix=" ]; + configureFlags = optional zfsSupport "--enable-libzfs" + ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystems.${stdenv.system}.target}" "--program-prefix=" ]; doCheck = false; enableParallelBuilding = true; @@ -96,9 +98,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; - platforms = if EFIsupport then - [ "i686-linux" "x86_64-linux" ] - else - platforms.gnu; + platforms = platforms.gnu; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2dc957cb3db..3d2350b661e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1220,7 +1220,7 @@ let grub2 = callPackage ../tools/misc/grub/2.0x.nix { }; - grub2_efi = grub2.override { EFIsupport = true; }; + grub2_efi = grub2.override { efiSupport = true; }; grub2_zfs = grub2.override { zfsSupport = true; }; From babcd70c36d0c2e2cb000eb3085aa7a42104a4ba Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 18 Jun 2014 16:21:57 -0500 Subject: [PATCH 0229/2163] nixos/release-combined: Add required installer tests --- nixos/release-combined.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index dae3b9210a8..23348e1d089 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -52,6 +52,10 @@ in rec { (all nixos.tests.installer.lvm) (all nixos.tests.installer.separateBoot) (all nixos.tests.installer.simple) + (all nixos.tests.installer.simpleLabels) + (all nixos.tests.installer.simpleProvided) + (all nixos.tests.installer.btrfsSimple) + (all nixos.tests.installer.btrfsSubvols) (all nixos.tests.ipv6) (all nixos.tests.kde4) (all nixos.tests.login) From 36a47733a264dbfe0d8cb62a1a0d5d4d4b07b715 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 18 Jun 2014 18:43:00 -0500 Subject: [PATCH 0230/2163] nixos-generate-config: Detect btrfs subvolumes --- .../installer/tools/nixos-generate-config.pl | 21 +++++++++++++++++++ nixos/modules/installer/tools/tools.nix | 1 + 2 files changed, 22 insertions(+) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 66a8152a3a6..cabdb09ec9c 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -20,6 +20,13 @@ sub uniq { return @res; } +sub runCommand { + my ($cmd) = @_; + open FILE, "$cmd 2>/dev/null |" or die "Failed to execute: $cmd\n"; + my @ret = ; + close FILE; + return ($?, @ret); +} # Process the command line. my $outDir = "/etc/nixos"; @@ -337,6 +344,20 @@ EOF } } + # Is this a btrfs filesystem? + if ($fsType eq "btrfs") { + my ($status, @info) = runCommand("btrfs subvol show $rootDir$mountPoint"); + if ($status != 0) { + die "Failed to retreive subvolume info for $mountPoint"; + } + my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; + if ($#subvols > 0) { + die "Btrfs subvol name for $mountPoint listed multiple times in mount\n" + } elsif ($#subvols == 0) { + push @extraOptions, "subvol=$subvols[0]"; + } + } + # Emit the filesystem. $fileSystems .= < Date: Sun, 13 Jul 2014 09:50:45 -0500 Subject: [PATCH 0231/2163] nixos/install-grub: Check /boot against /nix/store instead of /nix --- nixos/modules/system/boot/loader/grub/install-grub.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index acfb85f3bc5..d8ee8b50097 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -60,7 +60,7 @@ mkpath("/boot/grub", 0, 0700); # Discover whether /boot is on the same filesystem as / and # /nix/store. If not, then all kernels and initrds must be copied to # /boot. -if (stat("/boot")->dev != stat("/nix")->dev) { +if (stat("/boot")->dev != stat("/nix/store")->dev) { $copyKernels = 1; } From 0fdbc444113a80c1bd0477676a33ab1fb27bae1a Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 28 Aug 2014 13:36:41 -0700 Subject: [PATCH 0232/2163] grub: Fix typo --- pkgs/tools/misc/grub/2.0x.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 028ec565752..e3c07af759c 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -94,7 +94,7 @@ stdenv.mkDerivation rec { operating system (e.g., GNU). ''; - homepage = http://wwwp.gnu.org/software/grub/; + homepage = http://www.gnu.org/software/grub/; license = licenses.gpl3Plus; From f25709c48acd60923e019467ff8f97a0435b9764 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Fri, 29 Aug 2014 01:14:10 +0400 Subject: [PATCH 0233/2163] List NCSA license properly --- lib/licenses.nix | 5 +++++ pkgs/development/compilers/emscripten/default.nix | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/licenses.nix b/lib/licenses.nix index 95098aba1f2..812592c74f2 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -215,6 +215,11 @@ rec { url = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt"; }; + ncsa = spdx { + shortName = "NCSA"; + fullName = "University of Illinois/NCSA Open Source License"; + }; + ofl = spdx { shortName = "OFL-1.1"; fullName = "SIL Open Font License 1.1"; diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix index dc81b90b4b9..43f256b58b0 100644 --- a/pkgs/development/compilers/emscripten/default.nix +++ b/pkgs/development/compilers/emscripten/default.nix @@ -35,6 +35,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/kripken/emscripten; description = "An LLVM-to-JavaScript Compiler"; maintainers = with maintainers; [ bosu ]; - license = "MIT and University of Illinois/NCSA Open Source License"; + license = with licenses; ncsa; }; } From c7bb162710eda277d19044667a834fd2032da97e Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Fri, 29 Aug 2014 01:19:24 +0400 Subject: [PATCH 0234/2163] Factor out the maintainer --- lib/maintainers.nix | 1 + pkgs/development/interpreters/self/default.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index d3d46fc6862..35e53664bbc 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -37,6 +37,7 @@ coroa = "Jonas Hörsch "; cstrahan = "Charles Strahan "; DamienCassou = "Damien Cassou "; + doublec = "Chris Double "; ederoyd46 = "Matthew Brown "; edwtjo = "Edward Tjörnhammar "; eelco = "Eelco Dolstra "; diff --git a/pkgs/development/interpreters/self/default.nix b/pkgs/development/interpreters/self/default.nix index b379044789d..98e1edee387 100644 --- a/pkgs/development/interpreters/self/default.nix +++ b/pkgs/development/interpreters/self/default.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { description = "A prototype-based dynamic object-oriented programming language, environment, and virtual machine"; homepage = "http://selflanguage.org/"; license = stdenv.lib.licenses.bsd3; - maintainer = [ "Chris Double " ]; + maintainer = [ stdenv.lib.maintainers.doublec ]; platforms = with stdenv.lib.platforms; linux; }; } From 121050046dc870df9015a700e0c01809974f928f Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Fri, 29 Aug 2014 01:27:28 +0400 Subject: [PATCH 0235/2163] Adding flashrom BIOS update utility. Patch by Edward O'Callaghan --- lib/maintainers.nix | 1 + pkgs/tools/misc/flashrom/default.nix | 23 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 26 insertions(+) create mode 100644 pkgs/tools/misc/flashrom/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 35e53664bbc..3de82db1cd9 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -45,6 +45,7 @@ ertes = "Ertugrul Söylemez "; falsifian = "James Cook "; flosse = "Markus Kohlhase "; + funfunctor = "Edward O'Callaghan "; fuuzetsu = "Mateusz Kowalczyk "; garbas = "Rok Garbas "; goibhniu = "Cillian de Róiste "; diff --git a/pkgs/tools/misc/flashrom/default.nix b/pkgs/tools/misc/flashrom/default.nix new file mode 100644 index 00000000000..c4e74359b15 --- /dev/null +++ b/pkgs/tools/misc/flashrom/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, libftdi, pciutils }: + +let version = "0.9.7"; in +stdenv.mkDerivation rec { + name = "flashrom-${version}"; + + src = fetchurl { + url = "http://download.flashrom.org/releases/${name}.tar.bz2"; + sha256 = "5a55212d00791981a9a1cb0cdca9d9e58bea6d399864251e7b410b4d3d6137e9"; + }; + + buildInputs = [ pkgconfig libftdi pciutils ]; + + makeFlags = ["PREFIX=$out"]; + + meta = { + homepage = "http://www.flashrom.org"; + description = "Utility for reading, writing, erasing and verifying flash ROM chips"; + license = "GPLv2"; + maintainers = [ stdenv.lib.maintainers.funfunctor ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index af7443a056a..851bf546dcd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1049,6 +1049,8 @@ let platformTools = androidenv.platformTools; }; + flashrom = callPackage ../tools/misc/flashrom { }; + flpsed = callPackage ../applications/editors/flpsed { }; flvstreamer = callPackage ../tools/networking/flvstreamer { }; From cef0d1a41b62c0f781a6dc05992aa164ec5b2b05 Mon Sep 17 00:00:00 2001 From: Russell O'Connor Date: Thu, 28 Aug 2014 21:41:30 +0000 Subject: [PATCH 0236/2163] Abstract bucket name in gce/create-gce.sh --- nixos/maintainers/scripts/gce/create-gce.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nixos/maintainers/scripts/gce/create-gce.sh b/nixos/maintainers/scripts/gce/create-gce.sh index 8bf36f33c7d..4261e8bf06b 100755 --- a/nixos/maintainers/scripts/gce/create-gce.sh +++ b/nixos/maintainers/scripts/gce/create-gce.sh @@ -1,5 +1,6 @@ #! /bin/sh -e +BUCKET_NAME=${BUCKET_NAME:-nixos} export NIX_PATH=nixpkgs=../../../.. export NIXOS_CONFIG=$(dirname $(readlink -f $0))/../../../modules/virtualisation/google-compute-image.nix export TIMESTAMP=$(date +%Y%m%d%H%M) @@ -8,7 +9,7 @@ nix-build '' \ -A config.system.build.googleComputeImage --argstr system x86_64-linux -o gce --option extra-binary-caches http://hydra.nixos.org -j 10 img=$(echo gce/*.tar.gz) -if ! gsutil ls gs://nixos/$(basename $img); then - gsutil cp $img gs://nixos/$(basename $img) +if ! gsutil ls gs://${BUCKET_NAME}/$(basename $img); then + gsutil cp $img gs://${BUCKET_NAME}/$(basename $img) fi -gcutil addimage $(basename $img .raw.tar.gz | sed 's|\.|-|' | sed 's|_|-|') gs://nixos/$(basename $img) +gcutil addimage $(basename $img .raw.tar.gz | sed 's|\.|-|' | sed 's|_|-|') gs://${BUCKET_NAME}/$(basename $img) From a7ef1a50cb0bd90050925fead6ac52abfeea277b Mon Sep 17 00:00:00 2001 From: Russell O'Connor Date: Thu, 28 Aug 2014 21:42:49 +0000 Subject: [PATCH 0237/2163] Replace depricated gcutil with gcloude compute in gce/create-gce.sh --- nixos/maintainers/scripts/gce/create-gce.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/maintainers/scripts/gce/create-gce.sh b/nixos/maintainers/scripts/gce/create-gce.sh index 4261e8bf06b..fc476fb6e40 100755 --- a/nixos/maintainers/scripts/gce/create-gce.sh +++ b/nixos/maintainers/scripts/gce/create-gce.sh @@ -12,4 +12,4 @@ img=$(echo gce/*.tar.gz) if ! gsutil ls gs://${BUCKET_NAME}/$(basename $img); then gsutil cp $img gs://${BUCKET_NAME}/$(basename $img) fi -gcutil addimage $(basename $img .raw.tar.gz | sed 's|\.|-|' | sed 's|_|-|') gs://${BUCKET_NAME}/$(basename $img) +gcloud compute images create $(basename $img .raw.tar.gz | sed 's|\.|-|' | sed 's|_|-|') --source-uri gs://${BUCKET_NAME}/$(basename $img) From f152b346cd1e524eb930d83c75ee1973a23b81d8 Mon Sep 17 00:00:00 2001 From: Daniel Bergey Date: Thu, 28 Aug 2014 21:58:31 +0000 Subject: [PATCH 0238/2163] haskell: package diagrams-rasterific and deps --- .../libraries/haskell/FontyFruity/default.nix | 16 ++++++++++++ .../libraries/haskell/Rasterific/default.nix | 26 +++++++++++++++++++ .../libraries/haskell/diagrams/rasterific.nix | 24 +++++++++++++++++ .../libraries/haskell/fsnotify/default.nix | 22 ++++++++-------- pkgs/top-level/haskell-packages.nix | 5 ++++ 5 files changed, 82 insertions(+), 11 deletions(-) create mode 100644 pkgs/development/libraries/haskell/FontyFruity/default.nix create mode 100644 pkgs/development/libraries/haskell/Rasterific/default.nix create mode 100644 pkgs/development/libraries/haskell/diagrams/rasterific.nix diff --git a/pkgs/development/libraries/haskell/FontyFruity/default.nix b/pkgs/development/libraries/haskell/FontyFruity/default.nix new file mode 100644 index 00000000000..eaa8a5f3824 --- /dev/null +++ b/pkgs/development/libraries/haskell/FontyFruity/default.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, binary, deepseq, filepath, text, vector }: + +cabal.mkDerivation (self: { + pname = "FontyFruity"; + version = "0.3"; + sha256 = "0ivz7hkz5mx8bqqv5av56a8rw4231wyzzg0dhz6465d59iqmjhd4"; + buildDepends = [ binary deepseq filepath text vector ]; + meta = { + description = "A true type file format loader"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.bergey ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/Rasterific/default.nix b/pkgs/development/libraries/haskell/Rasterific/default.nix new file mode 100644 index 00000000000..f8f843236a6 --- /dev/null +++ b/pkgs/development/libraries/haskell/Rasterific/default.nix @@ -0,0 +1,26 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, binary, criterion, deepseq, dlist, filepath, FontyFruity +, free, JuicyPixels, mtl, QuickCheck, statistics, vector +, vectorAlgorithms +}: + +cabal.mkDerivation (self: { + pname = "Rasterific"; + version = "0.3"; + sha256 = "1chbcfcb5il7fbzivszap60qfwcwrq85kpx9y6qdr2pim39199fa"; + buildDepends = [ + dlist FontyFruity free JuicyPixels mtl vector vectorAlgorithms + ]; + doCheck = false; # depends on criterion < 0.9 + testDepends = [ + binary criterion deepseq filepath FontyFruity JuicyPixels + QuickCheck statistics vector + ]; + meta = { + description = "A pure haskell drawing engine"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.bergey ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/diagrams/rasterific.nix b/pkgs/development/libraries/haskell/diagrams/rasterific.nix new file mode 100644 index 00000000000..a49c98f988a --- /dev/null +++ b/pkgs/development/libraries/haskell/diagrams/rasterific.nix @@ -0,0 +1,24 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, dataDefaultClass, diagramsCore, diagramsLib, filepath +, FontyFruity, JuicyPixels, lens, mtl, optparseApplicative +, Rasterific, split, statestack, time +}: + +cabal.mkDerivation (self: { + pname = "diagrams-rasterific"; + version = "0.1.0.1"; + sha256 = "1bgrwnrdhlnbcv5ra80x2nh5yr5bzz81f517zb0ws2y07l072gwm"; + buildDepends = [ + dataDefaultClass diagramsCore diagramsLib filepath FontyFruity + JuicyPixels lens mtl optparseApplicative Rasterific split + statestack time + ]; + meta = { + homepage = "http://projects.haskell.org/diagrams/"; + description = "Rasterific backend for diagrams"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.bergey ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/fsnotify/default.nix b/pkgs/development/libraries/haskell/fsnotify/default.nix index 3d308f6a88f..70edecb1f8d 100644 --- a/pkgs/development/libraries/haskell/fsnotify/default.nix +++ b/pkgs/development/libraries/haskell/fsnotify/default.nix @@ -1,19 +1,19 @@ -{ stdenv, cabal, Cabal, Glob, hspec, QuickCheck, random -, systemFileio, systemFilepath, text, time, uniqueid -, hinotify, hfsevents +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, async, hinotify, systemFileio, systemFilepath, tasty +, tastyHunit, temporaryRc, text, time }: cabal.mkDerivation (self: { pname = "fsnotify"; - version = "0.0.11"; - sha256 = "03m911pncyzgfdx4aj38azbbmj25fdm3s9l1w27zv0l730fy8ywq"; - buildDepends = [ systemFileio systemFilepath text time ] ++ - (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]); + version = "0.1.0.3"; + sha256 = "0m6jyg45azk377jklgwyqrx95q174cxd5znpyh9azznkh09wq58z"; + buildDepends = [ + async hinotify systemFileio systemFilepath text time + ]; testDepends = [ - Cabal Glob hspec QuickCheck random systemFileio - systemFilepath text time uniqueid - ] ++ (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]); - doCheck = false; + async systemFileio systemFilepath tasty tastyHunit temporaryRc + ]; meta = { description = "Cross platform library for file change notification"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 7a4d4c4f10b..f20646e79e6 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -642,6 +642,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in diagramsContrib = callPackage ../development/libraries/haskell/diagrams/contrib.nix {}; diagramsLib = callPackage ../development/libraries/haskell/diagrams/lib.nix {}; diagramsPostscript = callPackage ../development/libraries/haskell/diagrams/postscript.nix {}; + diagramsRasterific = callPackage ../development/libraries/haskell/diagrams/rasterific.nix {}; diagramsSvg = callPackage ../development/libraries/haskell/diagrams/svg.nix {}; Diff = callPackage ../development/libraries/haskell/Diff {}; @@ -853,6 +854,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in folds = callPackage ../development/libraries/haskell/folds {}; + FontyFruity = callPackage ../development/libraries/haskell/FontyFruity {}; + forceLayout = callPackage ../development/libraries/haskell/force-layout {}; formatting = callPackage ../development/libraries/haskell/formatting {}; @@ -2014,6 +2017,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in ranges = callPackage ../development/libraries/haskell/ranges {}; + Rasterific = callPackage ../development/libraries/haskell/Rasterific {}; + reserve = callPackage ../development/libraries/haskell/reserve {}; rvar = callPackage ../development/libraries/haskell/rvar {}; From f6954aa8d5d2c775b4bfe5b40e6b1682bc2f9143 Mon Sep 17 00:00:00 2001 From: Emil Rangden Date: Thu, 28 Aug 2014 23:58:08 +0200 Subject: [PATCH 0239/2163] updated wkhtmltopdf and use patched qt With stock version of qt4 wkthmltopdf lacks a lot of features, including: * Running without an X11 server * Printing more then one HTML document into a PDF file * Adding a document outline to the PDF file * Adding headers and footers to the PDF file * Generating a table of contents * Adding links in the generated PDF file * Printing using the screen media-type * Disabling the smart shrink feature of webkit --- pkgs/tools/graphics/wkhtmltopdf/default.nix | 80 +++++++++++++++++-- pkgs/tools/graphics/wkhtmltopdf/makefix.patch | 24 ++++++ pkgs/top-level/all-packages.nix | 5 +- 3 files changed, 101 insertions(+), 8 deletions(-) create mode 100644 pkgs/tools/graphics/wkhtmltopdf/makefix.patch diff --git a/pkgs/tools/graphics/wkhtmltopdf/default.nix b/pkgs/tools/graphics/wkhtmltopdf/default.nix index 84b271acf2b..2f3929b82b8 100644 --- a/pkgs/tools/graphics/wkhtmltopdf/default.nix +++ b/pkgs/tools/graphics/wkhtmltopdf/default.nix @@ -1,22 +1,88 @@ -{ stdenv, fetchurl, qt4 }: +{ stdenv, fetchgit, qt4, fontconfig, freetype, libpng, zlib, libjpeg +, openssl, libX11, libXext, libXrender, overrideDerivation }: stdenv.mkDerivation rec { - name = "wkhtmltopdf-0.11.0_rc1"; + version = "0.12.1"; + name = "wkhtmltopdf-${version}"; - src = fetchurl { - url = "http://wkhtmltopdf.googlecode.com/files/${name}.tar.bz2"; - sha1 = "db03922d281856e503b3d562614e3936285728c7"; + src = fetchgit { + url = "https://github.com/wkhtmltopdf/wkhtmltopdf.git"; + rev = "refs/tags/${version}"; + sha256 = "0wjzaaviy1k3z8r2kzb2rmyx6xdj23a338b86sxcb15ws3kzwgwh"; }; - buildInputs = [ qt4 ]; + wkQt = overrideDerivation qt4 (deriv: { + name = "qt-mod-4.8.6"; + src = fetchgit { + url = "https://github.com/wkhtmltopdf/qt.git"; + rev = "82b568b"; # From git submodule spec in wkhtml repo. + sha256 = "0whppwxnymh5bdayqsqx54n074m99yk6v78z7f0k5prja55yvwyx"; + }; + configureFlags = + '' + -v -no-separate-debug-info -release -confirm-license -opensource + -qdbus -glib -dbus-linked -openssl-linked + '' + + # This is taken from the wkhtml build script that we don't run + '' + -fast + -static + -exceptions + -xmlpatterns + -webkit + -system-zlib + -system-libpng + -system-libjpeg + -no-libmng + -no-libtiff + -no-accessibility + -no-stl + -no-qt3support + -no-phonon + -no-phonon-backend + -no-opengl + -no-declarative + -no-sql-ibase + -no-sql-mysql + -no-sql-odbc + -no-sql-psql + -no-sql-sqlite + -no-sql-sqlite2 + -no-mmx + -no-3dnow + -no-sse + -no-sse2 + -no-multimedia + -nomake demos + -nomake docs + -nomake examples + -nomake tools + -nomake tests + -nomake translations + ''; + }); + + buildInputs = [ wkQt fontconfig freetype libpng zlib libjpeg openssl + libX11 libXext libXrender + ]; configurePhase = "qmake wkhtmltopdf.pro INSTALLBASE=$out"; + patches = [ ./makefix.patch ]; + enableParallelBuilding = true; meta = { - homepage = http://code.google.com/p/wkhtmltopdf/; + homepage = http://wkhtmltopdf.org/; description = "Tools for rendering web pages to PDF or images"; + longDescription = '' + wkhtmltopdf and wkhtmltoimage are open source (LGPL) command line tools + to render HTML into PDF and various image formats using the QT Webkit + rendering engine. These run entirely "headless" and do not require a + display or display service. + + There is also a C library, if you're into that kind of thing. + ''; license = stdenv.lib.licenses.gpl3Plus; }; } diff --git a/pkgs/tools/graphics/wkhtmltopdf/makefix.patch b/pkgs/tools/graphics/wkhtmltopdf/makefix.patch new file mode 100644 index 00000000000..0642a23afa9 --- /dev/null +++ b/pkgs/tools/graphics/wkhtmltopdf/makefix.patch @@ -0,0 +1,24 @@ +diff -Naur a/src/image/image.pro b/src/image/image.pro +--- a/src/image/image.pro 2014-08-28 14:07:51.024561967 +0200 ++++ b/src/image/image.pro 2014-08-28 14:08:22.383623390 +0200 +@@ -25,7 +25,7 @@ + + unix { + man.path=$$INSTALLBASE/share/man/man1 +- man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltoimage --manpage | gzip > $(INSTALL_ROOT)/share/man/man1/wkhtmltoimage.1.gz ++ man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltoimage --manpage | gzip > $$INSTALLBASE/share/man/man1/wkhtmltoimage.1.gz + + QMAKE_EXTRA_TARGETS += man + INSTALLS += man +diff -Naur a/src/pdf/pdf.pro b/src/pdf/pdf.pro +--- a/src/pdf/pdf.pro 2014-08-28 14:10:02.305818775 +0200 ++++ b/src/pdf/pdf.pro 2014-08-28 14:09:47.360789555 +0200 +@@ -25,7 +25,7 @@ + + unix { + man.path=$$INSTALLBASE/share/man/man1 +- man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltopdf --manpage | gzip > $(INSTALL_ROOT)/share/man/man1/wkhtmltopdf.1.gz ++ man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltopdf --manpage | gzip > $$INSTALLBASE/share/man/man1/wkhtmltopdf.1.gz + + QMAKE_EXTRA_TARGETS += man + INSTALLS += man diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0754239b849..e53f29483d4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2462,7 +2462,10 @@ let wicd = callPackage ../tools/networking/wicd { }; - wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf { }; + wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf { + overrideDerivation = lib.overrideDerivation; + inherit (xlibs) libX11 libXext libXrender; + }; wv = callPackage ../tools/misc/wv { }; From 8dbe652739a31725954b2fc783e171f248dbb7b7 Mon Sep 17 00:00:00 2001 From: Andrew Morsillo Date: Thu, 28 Aug 2014 21:12:05 -0400 Subject: [PATCH 0240/2163] Bump DF version to 40_10 --- pkgs/games/dwarf-fortress/df2014.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/games/dwarf-fortress/df2014.nix b/pkgs/games/dwarf-fortress/df2014.nix index e9affd7bbf0..300d7557e02 100644 --- a/pkgs/games/dwarf-fortress/df2014.nix +++ b/pkgs/games/dwarf-fortress/df2014.nix @@ -13,8 +13,8 @@ let }; df = fetchurl { - url = "http://www.bay12games.com/dwarves/df_40_09_linux.tar.bz2"; - sha256 = "1aka2vblhip4sjkcpkxfra1fa9z4hzlj0sdl6rh2qda0l7q7i0ki"; + url = "http://www.bay12games.com/dwarves/df_40_10_linux.tar.bz2"; + sha256 = "0hfm4395y0lacgsl7wqr6vwcw42pqm03xp7giqfk3mfsn32wqnm7"; }; }; @@ -23,7 +23,7 @@ in assert stdenv.system == "i686-linux"; stdenv.mkDerivation rec { - name = "dwarf-fortress-0.40.09"; + name = "dwarf-fortress-0.40.10"; buildInputs = [ SDL SDL_image SDL_ttf gtk2 glib glew mesa ncurses openal glibc libsndfile pango atk cmake gdk_pixbuf]; From 1eb08ee693619fa56513d0a79180b5c43752cad7 Mon Sep 17 00:00:00 2001 From: Daniel Peebles Date: Thu, 28 Aug 2014 22:08:49 -0400 Subject: [PATCH 0241/2163] Add patch to fix 3.17 build breakage (also submitted to lkml, but not yet merged) --- .../linux/kernel/3.17-buildfix.patch | 62 +++++++++++++++++++ .../linux/kernel/linux-testing.nix | 2 + 2 files changed, 64 insertions(+) create mode 100644 pkgs/os-specific/linux/kernel/3.17-buildfix.patch diff --git a/pkgs/os-specific/linux/kernel/3.17-buildfix.patch b/pkgs/os-specific/linux/kernel/3.17-buildfix.patch new file mode 100644 index 00000000000..234f0ac749f --- /dev/null +++ b/pkgs/os-specific/linux/kernel/3.17-buildfix.patch @@ -0,0 +1,62 @@ +From Shea Levy <> +Subject [PATCH 1/1] usb: gadget: Remove use of PWD in Makefiles +Date Thu, 28 Aug 2014 01:30:46 -0400 + +Using PWD breaks out-of-tree builds in certain circumstances [1], and +other kernel Makefiles use relative paths just fine. + +[1]: https://bugzilla.kernel.org/show_bug.cgi?id=83251 + +Signed-off-by: Shea Levy +--- + drivers/usb/gadget/Makefile | 2 +- + drivers/usb/gadget/function/Makefile | 4 ++-- + drivers/usb/gadget/legacy/Makefile | 6 +++--- + 3 files changed, 6 insertions(+), 6 deletions(-) +diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile +index a186afe..9add915 100644 +--- a/drivers/usb/gadget/Makefile ++++ b/drivers/usb/gadget/Makefile +@@ -3,7 +3,7 @@ + # + subdir-ccflags-$(CONFIG_USB_GADGET_DEBUG) := -DDEBUG + subdir-ccflags-$(CONFIG_USB_GADGET_VERBOSE) += -DVERBOSE_DEBUG +-ccflags-y += -I$(PWD)/drivers/usb/gadget/udc ++ccflags-y += -Idrivers/usb/gadget/udc + + obj-$(CONFIG_USB_LIBCOMPOSITE) += libcomposite.o + libcomposite-y := usbstring.o config.o epautoconf.o +diff --git a/drivers/usb/gadget/function/Makefile b/drivers/usb/gadget/function/Makefile +index 6d91f21..83ae106 100644 +--- a/drivers/usb/gadget/function/Makefile ++++ b/drivers/usb/gadget/function/Makefile +@@ -2,8 +2,8 @@ + # USB peripheral controller drivers + # + +-ccflags-y := -I$(PWD)/drivers/usb/gadget/ +-ccflags-y += -I$(PWD)/drivers/usb/gadget/udc/ ++ccflags-y := -Idrivers/usb/gadget/ ++ccflags-y += -Idrivers/usb/gadget/udc/ + + # USB Functions + usb_f_acm-y := f_acm.o +diff --git a/drivers/usb/gadget/legacy/Makefile b/drivers/usb/gadget/legacy/Makefile +index a11aad5..edba2d1 100644 +--- a/drivers/usb/gadget/legacy/Makefile ++++ b/drivers/usb/gadget/legacy/Makefile +@@ -2,9 +2,9 @@ + # USB gadget drivers + # + +-ccflags-y := -I$(PWD)/drivers/usb/gadget/ +-ccflags-y += -I$(PWD)/drivers/usb/gadget/udc/ +-ccflags-y += -I$(PWD)/drivers/usb/gadget/function/ ++ccflags-y := -Idrivers/usb/gadget/ ++ccflags-y += -Idrivers/usb/gadget/udc/ ++ccflags-y += -Idrivers/usb/gadget/function/ + + g_zero-y := zero.o + g_audio-y := audio.o +-- +2.1.0 \ No newline at end of file diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index ae9dfc8ef38..ebbdd79ba16 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -10,6 +10,8 @@ import ./generic.nix (args // rec { sha256 = "094r4kqp7bj1wcdfsgdmv73law4zb7d0sd8lw82v3rz944mlm9y3"; }; + kernelPatches = args.kernelPatches ++ [ { name = "3.17-buildfix.patch"; patch = ./3.17-buildfix.patch; } ]; + features.iwlwifi = true; features.efiBootStub = true; features.needsCifsUtils = true; From e0e65cbf8e4ce940c67b5d0fb0d349758230119e Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 29 Aug 2014 07:17:19 +0200 Subject: [PATCH 0242/2163] nixos/users-groups: Fix eval on missing uid/gid. This hopefully fixes a regression introduced by 08b214a. In bf129a2, it was already fixed for normal uid/gid values and it got reintroduced by sub-uid/gid-handling again, so I've refactored it a bit into a filterNull function which takes care of also the filtering introduced by bf129a2. I have not tested this extensively, but master is already broken for systems with `mutableUsers = true` and no uid values set. Signed-off-by: aszlig --- nixos/modules/config/users-groups.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index f1ddd377ed0..a55593c2bad 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -309,19 +309,19 @@ let u.description u.home u.shell ]; + filterNull = a: filter (x: hasAttr a x && getAttr a x != null); + sortOn = a: sort (as1: as2: lessThan (getAttr a as1) (getAttr a as2)); groupFile = pkgs.writeText "group" ( concatStringsSep "\n" (map (g: mkGroupEntry g.name) ( - let f = g: g.gid != null; in - sortOn "gid" (filter f (attrValues cfg.extraGroups)) + sortOn "gid" (filterNull "gid" (attrValues cfg.extraGroups)) )) ); passwdFile = pkgs.writeText "passwd" ( concatStringsSep "\n" (map (u: mkPasswdEntry u.name) ( - let f = u: u.createUser && (u.uid != null); in - sortOn "uid" (filter f (attrValues cfg.extraUsers)) + sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers)) )) ); @@ -330,14 +330,14 @@ let user.subUidRanges); subuidFile = concatStrings (map mkSubuidEntry ( - sortOn "uid" (attrValues cfg.extraUsers))); + sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers)))); mkSubgidEntry = user: concatStrings ( map (range: "${user.name}:${toString range.startGid}:${toString range.count}\n") user.subGidRanges); subgidFile = concatStrings (map mkSubgidEntry ( - sortOn "uid" (attrValues cfg.extraUsers))); + sortOn "uid" (filterNull "uid" (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 From 0bb14e4fea539bc247faffe7c9c4943eef54b118 Mon Sep 17 00:00:00 2001 From: Daniel Peebles Date: Fri, 29 Aug 2014 01:49:32 -0400 Subject: [PATCH 0243/2163] Disable NFC on 3.17 or above This should only be temporary, but there's a bug in the 3.17 rc1 and rc2 that leads to cyclic module dependencies and a segfault during the build process. --- pkgs/os-specific/linux/kernel/common-config.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 7a6ba94eb9f..d5c754eebc7 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -337,6 +337,8 @@ with stdenv.lib; ZSMALLOC y ''} ZRAM m + + ${optionalString (versionAtLeast version "3.17") "NFC? n"} ${kernelPlatform.kernelExtraConfig or ""} ${extraConfig} From b90dd7089f5ecb61a138fb1eeec101977c60b3b5 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Fri, 29 Aug 2014 10:35:03 +0200 Subject: [PATCH 0244/2163] calibre: update from 2.0.0 to 2.1.0 --- pkgs/applications/misc/calibre/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 190b57e1070..00a5d15a84c 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "calibre-2.0.0"; + name = "calibre-2.1.0"; src = fetchurl { url = "mirror://sourceforge/calibre/${name}.tar.xz"; - sha256 = "1fpn8icfyag2ybj2ywd81sva56ycsin56gyap5m9j5crx63p4c91"; + sha256 = "1znwrmz740m08bihkmdijm193bvav4nm313xsagd5x9mjh2nffg7"; }; inherit python; From a4738b27cf6a5d1c9542abfa05975135d6232d56 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Wed, 27 Aug 2014 19:10:47 -0300 Subject: [PATCH 0245/2163] Tilda (version 1.1.12): New Package Tida is a GTK-based drop-down terminal emulator --- pkgs/applications/misc/tilda/default.nix | 29 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 ++++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/applications/misc/tilda/default.nix diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix new file mode 100644 index 00000000000..cb5813fa5f7 --- /dev/null +++ b/pkgs/applications/misc/tilda/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig +, autoconf, automake, gettext +, confuse, vte, gtk +}: + +stdenv.mkDerivation rec { + + name = "tilda-${version}"; + version = "1.1.12"; + + src = fetchurl { + url = "https://github.com/lanoxx/tilda/archive/${name}.tar.gz"; + sha256 = "10kjlcdaylkisb8i0cw4wfssg52mrz2lxr5zmw3q4fpnhh2xlaix"; + }; + + buildInputs = [ pkgconfig autoconf automake gettext confuse vte gtk ]; + + preConfigure = '' + sh autogen.sh + ''; + + meta = { + description = "A Gtk based drop down terminal for Linux and Unix"; + homepage = https://github.com/lanoxx/tilda/; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0754239b849..45c15e3ba70 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9876,6 +9876,11 @@ let tig = gitAndTools.tig; + tilda = callPackage ../applications/misc/tilda { + vte = gnome3.vte; + gtk = gtk3; + }; + timidity = callPackage ../tools/misc/timidity { }; tint2 = callPackage ../applications/misc/tint2 { }; From aeca8b6c3e9d331e6209304d6786d25214f62506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 29 Aug 2014 11:27:21 +0200 Subject: [PATCH 0246/2163] tilda: fixups; seems to work now - xgettext hack inspired by a guix thread - gsettings to prevent crashes - expression refactoring --- pkgs/applications/misc/tilda/default.nix | 23 ++++++++++++++--------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix index cb5813fa5f7..50c4184c91e 100644 --- a/pkgs/applications/misc/tilda/default.nix +++ b/pkgs/applications/misc/tilda/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchurl, pkgconfig -, autoconf, automake, gettext +, autoreconfHook, gettext, expat , confuse, vte, gtk +, makeWrapper }: stdenv.mkDerivation rec { @@ -13,17 +14,21 @@ stdenv.mkDerivation rec { sha256 = "10kjlcdaylkisb8i0cw4wfssg52mrz2lxr5zmw3q4fpnhh2xlaix"; }; - buildInputs = [ pkgconfig autoconf automake gettext confuse vte gtk ]; + buildInputs = [ pkgconfig autoreconfHook gettext confuse vte gtk makeWrapper ]; - preConfigure = '' - sh autogen.sh + LD_LIBRARY_PATH = "${expat}/lib"; # ugly hack for xgettext to work during build + + postInstall = '' + wrapProgram "$out/bin/tilda" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; - - meta = { + + meta = with stdenv.lib; { description = "A Gtk based drop down terminal for Linux and Unix"; homepage = https://github.com/lanoxx/tilda/; - license = stdenv.lib.licenses.gpl3; - maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl3; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.linux; }; } + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 45c15e3ba70..6f02f2650ac 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9878,7 +9878,7 @@ let tilda = callPackage ../applications/misc/tilda { vte = gnome3.vte; - gtk = gtk3; + gtk = gtk3; }; timidity = callPackage ../tools/misc/timidity { }; From b8a546a13aff5807c12c4045cb9d6b8f89f9fb4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Thu, 28 Aug 2014 13:39:27 +0200 Subject: [PATCH 0247/2163] gnutls: Update to 3.1.26 and 3.2.17. --- pkgs/development/libraries/gnutls/3.1.nix | 4 ++-- pkgs/development/libraries/gnutls/3.2.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/gnutls/3.1.nix b/pkgs/development/libraries/gnutls/3.1.nix index 6aea78a3ac5..44ea0176e38 100644 --- a/pkgs/development/libraries/gnutls/3.1.nix +++ b/pkgs/development/libraries/gnutls/3.1.nix @@ -4,11 +4,11 @@ assert guileBindings -> guile != null; stdenv.mkDerivation rec { - name = "gnutls-3.1.25"; + name = "gnutls-3.1.26"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz"; - sha256 = "1i1v8pbaw72k0ps09i3lvc1zr9gn34jpliiijbs8k7axrv2w9n5g"; + sha256 = "7947e18fd0c292c0274d810c9bdf674b8faa3566e056ea404a39f335982607a3"; }; # FreeBSD doesn't have , and Gnulib's `alloca' module isn't used. diff --git a/pkgs/development/libraries/gnutls/3.2.nix b/pkgs/development/libraries/gnutls/3.2.nix index cd48e08a39c..5bf933fbc96 100644 --- a/pkgs/development/libraries/gnutls/3.2.nix +++ b/pkgs/development/libraries/gnutls/3.2.nix @@ -4,11 +4,11 @@ assert guileBindings -> guile != null; stdenv.mkDerivation rec { - name = "gnutls-3.2.15"; + name = "gnutls-3.2.17"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz"; - sha256 = "16c5c4k41mxib8i06npks940p9xllgn1wrackfp8712wdvl5zc4q"; + sha256 = "a332adda1d294fbee859ae46ee0c128d8959c4a5b9c28e7cdbe5c9b56898fc25"; }; patches = From dd3f3bdcc28282e6d235ff16d7173ee9ea81d7b0 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Thu, 28 Aug 2014 18:03:22 +0200 Subject: [PATCH 0248/2163] GCC >= 4.8 doesn't depend on ppl --- pkgs/development/compilers/gcc/4.8/default.nix | 16 ++-------------- pkgs/development/compilers/gcc/4.9/default.nix | 13 +------------ 2 files changed, 3 insertions(+), 26 deletions(-) diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 7985b445ae0..f56ee003f50 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -13,7 +13,7 @@ , perl ? null # optional, for texi2pod (then pod2man); required for Java , gmp, mpfr, mpc, gettext, which , libelf # optional, for link-time optimizations (LTO) -, ppl ? null, cloog ? null, isl ? null # optional, for the Graphite optimization framework. +, cloog ? null, isl ? null # optional, for the Graphite optimization framework. , zlib ? null, boehmgc ? null , zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null @@ -276,7 +276,6 @@ stdenv.mkDerivation ({ ++ (optional javaAwtGtk pkgconfig); buildInputs = [ gmp mpfr mpc libelf ] - ++ (optional (ppl != null) ppl) ++ (optional (cloog != null) cloog) ++ (optional (isl != null) isl) ++ (optional (zlib != null) zlib) @@ -293,15 +292,7 @@ stdenv.mkDerivation ({ NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl"; - preConfigure = '' - configureFlagsArray=( - ${stdenv.lib.optionalString (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic) - "'--with-host-libstdcxx=-lstdc++ -lgcc_s'"} - ${stdenv.lib.optionalString (ppl != null && stdenv.isSunOS) - "\"--with-host-libstdcxx=-Wl,-rpath,\$prefix/lib/amd64 -lstdc++\" - \"--with-boot-ldflags=-L../prev-x86_64-pc-solaris2.11/libstdc++-v3/src/.libs\""} - ); - '' + stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) '' + preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) '' export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET" export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET" @@ -329,7 +320,6 @@ stdenv.mkDerivation ({ ${if enableMultilib then "--disable-libquadmath" else "--disable-multilib"} ${if enableShared then "" else "--disable-shared"} ${if enablePlugin then "--enable-plugin" else "--disable-plugin"} - ${if ppl != null then "--with-ppl=${ppl} --disable-ppl-version-check" else ""} ${optionalString (isl != null) "--with-isl=${isl}"} ${optionalString (cloog != null) "--with-cloog=${cloog} --disable-cloog-version-check --enable-cloog-backend=isl"} ${if langJava then @@ -412,7 +402,6 @@ stdenv.mkDerivation ({ configureFlags = '' ${if enableMultilib then "" else "--disable-multilib"} ${if enableShared then "" else "--disable-shared"} - ${if ppl != null then "--with-ppl=${ppl.crossDrv}" else ""} ${if cloog != null then "--with-cloog=${cloog.crossDrv} --enable-cloog-backend=isl" else ""} ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""} ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} @@ -521,7 +510,6 @@ stdenv.mkDerivation ({ maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ]; - # Volunteers needed for the {Cyg,Dar}win ports of *PPL. # gnatboot is not available out of linux platforms, so we disable the darwin build # for the gnat (ada compiler). platforms = diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index f61e6b4445a..d38040a48b3 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -11,7 +11,7 @@ , perl ? null # optional, for texi2pod (then pod2man); required for Java , gmp, mpfr, mpc, gettext, which , libelf # optional, for link-time optimizations (LTO) -, ppl ? null, cloog ? null, isl ? null # optional, for the Graphite optimization framework. +, cloog ? null, isl ? null # optional, for the Graphite optimization framework. , zlib ? null, boehmgc ? null , zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null @@ -273,7 +273,6 @@ stdenv.mkDerivation ({ ++ (optional javaAwtGtk pkgconfig); buildInputs = [ gmp mpfr mpc libelf ] - ++ (optional (ppl != null) ppl) ++ (optional (cloog != null) cloog) ++ (optional (isl != null) isl) ++ (optional (zlib != null) zlib) @@ -291,13 +290,6 @@ stdenv.mkDerivation ({ NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl"; preConfigure = '' - configureFlagsArray=( - ${stdenv.lib.optionalString (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic) - "'--with-host-libstdcxx=-lstdc++ -lgcc_s'"} - ${stdenv.lib.optionalString (ppl != null && stdenv.isSunOS) - "\"--with-host-libstdcxx=-Wl,-rpath,\$prefix/lib/amd64 -lstdc++\" - \"--with-boot-ldflags=-L../prev-x86_64-pc-solaris2.11/libstdc++-v3/src/.libs\""} - ); ${stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) '' export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` @@ -319,7 +311,6 @@ stdenv.mkDerivation ({ ${if enableMultilib then "--disable-libquadmath" else "--disable-multilib"} ${if enableShared then "" else "--disable-shared"} ${if enablePlugin then "--enable-plugin" else "--disable-plugin"} - ${if ppl != null then "--with-ppl=${ppl} --disable-ppl-version-check" else ""} ${optionalString (isl != null) "--with-isl=${isl}"} ${optionalString (cloog != null) "--with-cloog=${cloog} --disable-cloog-version-check --enable-cloog-backend=isl"} ${if langJava then @@ -400,7 +391,6 @@ stdenv.mkDerivation ({ configureFlags = '' ${if enableMultilib then "" else "--disable-multilib"} ${if enableShared then "" else "--disable-shared"} - ${if ppl != null then "--with-ppl=${ppl.crossDrv}" else ""} ${if cloog != null then "--with-cloog=${cloog.crossDrv} --enable-cloog-backend=isl" else ""} ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""} ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} @@ -507,7 +497,6 @@ stdenv.mkDerivation ({ maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ]; - # Volunteers needed for the {Cyg,Dar}win ports of *PPL. # gnatboot is not available out of linux platforms, so we disable the darwin build # for the gnat (ada compiler). platforms = From 23b902945546eaf8358afce789a3755fe5092713 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 22 Aug 2014 14:43:23 +0200 Subject: [PATCH 0249/2163] Adds ocaml-cmdliner Cmdliner is an OCaml module for the declarative definition of command line interfaces. Homepage: http://erratique.ch/software/cmdliner --- .../ocaml-modules/cmdliner/default.nix | 36 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/ocaml-modules/cmdliner/default.nix diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix new file mode 100644 index 00000000000..3a00f0c3888 --- /dev/null +++ b/pkgs/development/ocaml-modules/cmdliner/default.nix @@ -0,0 +1,36 @@ +{stdenv, fetchurl, ocaml, findlib, opam}: + +let + pname = "cmdliner"; + version = "0.9.5"; + ocaml_version = (builtins.parseDrvName ocaml.name).version; +in +stdenv.mkDerivation { + + name = "ocaml-${pname}-${version}"; + + src = fetchurl { + url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz"; + sha256 = "a0e199c4930450e12edf81604eeceddeeb32d55c43438be689e60df282277a7e"; + }; + + unpackCmd = "tar xjf $src"; + buildInputs = [ ocaml findlib opam ]; + + createFindlibDestdir = true; + + configurePhase = "ocaml pkg/git.ml"; + buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true"; + installPhase = '' + opam-installer --script --prefix=$out ${pname}.install > install.sh + sh install.sh + ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/ + ''; + + meta = with stdenv.lib; { + homepage = http://erratique.ch/software/cmdliner; + description = "An OCaml module for the declarative definition of command line interfaces"; + license = licenses.bsd3; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6f02f2650ac..6fc28ac321f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3255,6 +3255,8 @@ let ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { }; + cmdliner = callPackage ../development/ocaml-modules/cmdliner { }; + cppo = callPackage ../development/tools/ocaml/cppo { }; cryptokit = callPackage ../development/ocaml-modules/cryptokit { }; From a34a0dfdc58f05d637bcec951dcfd9d02e3fcc73 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 29 Aug 2014 11:39:18 +0200 Subject: [PATCH 0250/2163] Revert "nixos/release: Dynamically generate installer tests" This reverts commit 5870ae613f42c99456dcbbc4df01abdce3c1f448. It makes it hard to comment out installer tests. --- nixos/release.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/nixos/release.nix b/nixos/release.nix index e5a4e7337ab..0620b46d46a 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -222,11 +222,12 @@ in rec { tests.firefox = callTest tests/firefox.nix {}; tests.firewall = callTest tests/firewall.nix {}; tests.gnome3 = callTest tests/gnome3.nix {}; - tests.installer = with pkgs.lib; - let installer = import tests/installer.nix; in - flip mapAttrs (installer { }) (name: _: - forAllSystems (system: (installer { system = system; }).${name}.test) - ); + tests.installer.efi = forAllSystems (system: (import tests/installer.nix { inherit system; }).efi.test); + tests.installer.grub1 = forAllSystems (system: (import tests/installer.nix { inherit system; }).grub1.test); + tests.installer.lvm = forAllSystems (system: (import tests/installer.nix { inherit system; }).lvm.test); + tests.installer.rebuildCD = forAllSystems (system: (import tests/installer.nix { inherit system; }).rebuildCD.test); + tests.installer.separateBoot = forAllSystems (system: (import tests/installer.nix { inherit system; }).separateBoot.test); + tests.installer.simple = forAllSystems (system: (import tests/installer.nix { inherit system; }).simple.test); tests.influxdb = callTest tests/influxdb.nix {}; tests.ipv6 = callTest tests/ipv6.nix {}; tests.jenkins = callTest tests/jenkins.nix {}; From 01f0b1cf1a0d0fc043559a3faa38b1ca51423348 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 29 Aug 2014 11:48:00 +0200 Subject: [PATCH 0251/2163] Fix evaluation of nixos tested --- nixos/release.nix | 4 ++++ nixos/tests/installer.nix | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/nixos/release.nix b/nixos/release.nix index 0620b46d46a..f78ecb4383d 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -228,6 +228,10 @@ in rec { tests.installer.rebuildCD = forAllSystems (system: (import tests/installer.nix { inherit system; }).rebuildCD.test); tests.installer.separateBoot = forAllSystems (system: (import tests/installer.nix { inherit system; }).separateBoot.test); tests.installer.simple = forAllSystems (system: (import tests/installer.nix { inherit system; }).simple.test); + tests.installer.simpleLabels = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleLabels.test); + tests.installer.simpleProvided = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleProvided.test); + tests.installer.btrfsSimple = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSimple.test); + tests.installer.btrfsSubvols = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSubvols.test); tests.influxdb = callTest tests/influxdb.nix {}; tests.ipv6 = callTest tests/ipv6.nix {}; tests.jenkins = callTest tests/jenkins.nix {}; diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index ef11fcb1001..154f3323d29 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -397,7 +397,7 @@ in { }; # Test using labels to identify volumes in grub - simpleLabels = makeInstallerTest { + simpleLabels = makeInstallerTest "simpleLabels" { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", @@ -413,7 +413,7 @@ in { # Test using the provided disk name within grub # TODO: Fix udev so the symlinks are unneeded in /dev/disks - simpleProvided = makeInstallerTest { + simpleProvided = makeInstallerTest "simpleProvided" { createPartitions = '' my $UUID = "\$(blkid -s UUID -o value /dev/vda2)"; $machine->succeed( @@ -436,7 +436,7 @@ in { }; # Simple btrfs grub testing - btrfsSimple = makeInstallerTest { + btrfsSimple = makeInstallerTest "btrfsSimple" { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", @@ -450,7 +450,7 @@ in { }; # Test to see if we can detect /boot and /nix on subvolumes - btrfsSubvols = makeInstallerTest { + btrfsSubvols = makeInstallerTest "btrfsSubvols" { createPartitions = '' $machine->succeed( "sgdisk -Z /dev/vda", From ceb75955dd425f47793185b49cd1b3388f85e9be Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:11 +0200 Subject: [PATCH 0252/2163] haskell-classy-prelude-conduit: update to version 0.9.4 --- .../libraries/haskell/classy-prelude-conduit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix index 28e940f3489..286a20f2ba2 100644 --- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "classy-prelude-conduit"; - version = "0.9.3"; - sha256 = "0wsl3mhczinxl6ij8dpv5001db740z4jq43l2gpzdylv6pmpldzr"; + version = "0.9.4"; + sha256 = "07ggdd3c47bs0pj4hl8vl19k2jlbka73pq7x0m4rsgrrjxc5pr1r"; buildDepends = [ classyPrelude conduit conduitCombinators monadControl resourcet systemFileio transformers void From 52d1ffaea71fbd2831a2437115c2efc7133adea5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:13 +0200 Subject: [PATCH 0253/2163] haskell-classy-prelude: update to version 0.9.4 --- .../libraries/haskell/classy-prelude/default.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix index e45a6f256b9..018a54f42d7 100644 --- a/pkgs/development/libraries/haskell/classy-prelude/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix @@ -1,19 +1,20 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! { cabal, basicPrelude, chunkedData, enclosedExceptions, exceptions -, hashable, hspec, liftedBase, monoTraversable, QuickCheck -, semigroups, stm, systemFilepath, text, time, transformers -, unorderedContainers, vector, vectorInstances +, hashable, hspec, liftedBase, monoTraversable, mtl, primitive +, QuickCheck, semigroups, stm, systemFilepath, text, time +, transformers, unorderedContainers, vector, vectorInstances }: cabal.mkDerivation (self: { pname = "classy-prelude"; - version = "0.9.3"; - sha256 = "06y6zx3mmqjnha5p7y7blzn77bij71kndw2bmi07wz4s4lj9xsiv"; + version = "0.9.4"; + sha256 = "1pxg515dg174minvajaxl3sqpqjm862pgfpf7n2ynw5cqmaxngxa"; buildDepends = [ basicPrelude chunkedData enclosedExceptions exceptions hashable - liftedBase monoTraversable semigroups stm systemFilepath text time - transformers unorderedContainers vector vectorInstances + liftedBase monoTraversable mtl primitive semigroups stm + systemFilepath text time transformers unorderedContainers vector + vectorInstances ]; testDepends = [ hspec QuickCheck transformers unorderedContainers From 163053a0f54412298043f218ee2ed347c347eeb1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:15 +0200 Subject: [PATCH 0254/2163] haskell-foldl: update to version 1.0.6 --- pkgs/development/libraries/haskell/foldl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix index 7a942e97dc8..2f04330a315 100644 --- a/pkgs/development/libraries/haskell/foldl/default.nix +++ b/pkgs/development/libraries/haskell/foldl/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "foldl"; - version = "1.0.5"; - sha256 = "08yjzzplg715hzkhwbf8nv2zm7c5wd2kph4zx94iml0cnc6ip048"; + version = "1.0.6"; + sha256 = "1i4pm48x7f8l4gqbb2bgqshx5cx44acr24l75czliq656sqm405i"; buildDepends = [ primitive text transformers vector ]; meta = { description = "Composable, streaming, and efficient left folds"; From 7e0400a110a7e5fb2dc32a38cb6eeff8ff33a2ea Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:17 +0200 Subject: [PATCH 0255/2163] haskell-highlighting-kate: update to version 0.5.9 --- .../libraries/haskell/highlighting-kate/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix index a9540b24950..d77479ff058 100644 --- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix +++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix @@ -1,16 +1,19 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, blazeHtml, filepath, mtl, parsec, regexPcre, utf8String }: +{ cabal, blazeHtml, Diff, filepath, mtl, parsec, regexPcre +, utf8String +}: cabal.mkDerivation (self: { pname = "highlighting-kate"; - version = "0.5.8.5"; - sha256 = "0xynbxffjp44189zzqx30wabbrj83mvjl3mj1i5lag1h945yp1nk"; + version = "0.5.9"; + sha256 = "025j6d97nwjhhyhdz7bsfhzgpb1ld28va4r8yv7zfh1dvczs6lkr"; isLibrary = true; isExecutable = true; buildDepends = [ blazeHtml filepath mtl parsec regexPcre utf8String ]; + testDepends = [ blazeHtml Diff filepath ]; prePatch = "sed -i -e 's|regex-pcre-builtin >= .*|regex-pcre|' highlighting-kate.cabal"; meta = { homepage = "http://github.com/jgm/highlighting-kate"; From 4d3776b18d193b860dcbf77e62157e80d680b903 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:19 +0200 Subject: [PATCH 0256/2163] haskell-interpolate: update to version 0.0.4 --- pkgs/development/libraries/haskell/interpolate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/interpolate/default.nix b/pkgs/development/libraries/haskell/interpolate/default.nix index eed6aa835f8..875759a17eb 100644 --- a/pkgs/development/libraries/haskell/interpolate/default.nix +++ b/pkgs/development/libraries/haskell/interpolate/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "interpolate"; - version = "0.0.3"; - sha256 = "05aksslx7mvic3cgw9ixwjp0r759a4gf7m178pbp8xm8dpdksjjw"; + version = "0.0.4"; + sha256 = "0yr0pahb07r7p6d7hb4bqafa64a4jkd37bchr6vkan2zbffwcrcm"; buildDepends = [ haskellSrcMeta ]; testDepends = [ doctest haskellSrcMeta hspec QuickCheck quickcheckInstances text From 0211268c303614f9de915a2793eb2aa1028de87d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:20 +0200 Subject: [PATCH 0257/2163] haskell-mmorph: update to version 1.0.4 --- pkgs/development/libraries/haskell/mmorph/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/mmorph/default.nix b/pkgs/development/libraries/haskell/mmorph/default.nix index b13eeeb5d83..bf8fb46f793 100644 --- a/pkgs/development/libraries/haskell/mmorph/default.nix +++ b/pkgs/development/libraries/haskell/mmorph/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "mmorph"; - version = "1.0.3"; - sha256 = "0b8pzb63zxw3cjw8yj73swvqhmi9c4lgw1mis1xbraya7flxc6qm"; + version = "1.0.4"; + sha256 = "0k5zlzmnixfwcjrqvhgi3i6xg532b0gsjvc39v5jigw69idndqr2"; buildDepends = [ transformers ]; meta = { description = "Monad morphisms"; From dbdde708cdb29248449a52c402d42e4349832c69 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:22 +0200 Subject: [PATCH 0258/2163] haskell-project-template: update to version 0.1.4.2 --- .../libraries/haskell/project-template/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/project-template/default.nix b/pkgs/development/libraries/haskell/project-template/default.nix index 9aa8dff59aa..8cb7dfd32ae 100644 --- a/pkgs/development/libraries/haskell/project-template/default.nix +++ b/pkgs/development/libraries/haskell/project-template/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "project-template"; - version = "0.1.4.1"; - sha256 = "1vsx8a4kzdcwbdy47hb2wz32najsa6bqq6jkyal9nbc5ydwb65lb"; + version = "0.1.4.2"; + sha256 = "10n23s6g7fv0l42hsb804z0qqcyxqw32kwzg1f0w3c6gka844akr"; buildDepends = [ base64Bytestring conduit conduitExtra mtl resourcet systemFileio systemFilepath text transformers From 4c5e35a9e8e6fcf4bb35190f88e70e726d34edd5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:24 +0200 Subject: [PATCH 0259/2163] haskell-pwstore-fast: update to version 2.4.2 --- .../libraries/haskell/pwstore-fast/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/pwstore-fast/default.nix b/pkgs/development/libraries/haskell/pwstore-fast/default.nix index 08f18e8fe11..5a92e47417d 100644 --- a/pkgs/development/libraries/haskell/pwstore-fast/default.nix +++ b/pkgs/development/libraries/haskell/pwstore-fast/default.nix @@ -1,12 +1,14 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, base64Bytestring, binary, cryptohash, random, SHA }: +{ cabal, base64Bytestring, binary, byteable, cryptohash, random }: cabal.mkDerivation (self: { pname = "pwstore-fast"; - version = "2.4.1"; - sha256 = "1k98b1s2ld0jx8fy53k8d8pscp6n0plh51b2lj6ai6w8xj4vknw4"; - buildDepends = [ base64Bytestring binary cryptohash random SHA ]; + version = "2.4.2"; + sha256 = "1idpk0cc61jibj50h2a39k37s630c8h5k5d1qvbc89nql4jc132l"; + buildDepends = [ + base64Bytestring binary byteable cryptohash random + ]; meta = { homepage = "https://github.com/PeterScott/pwstore"; description = "Secure password storage"; From 4b0cdd2cacef3c71357850495ceb41b0a763602e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:26 +0200 Subject: [PATCH 0260/2163] haskell-yaml: update to version 0.8.9.1 --- 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 26cb0dec098..9173baa97ba 100644 --- a/pkgs/development/libraries/haskell/yaml/default.nix +++ b/pkgs/development/libraries/haskell/yaml/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "yaml"; - version = "0.8.9"; - sha256 = "13qqqil19yi1qbl9gqma6kxwkz8j5iq6z347fabk916gy9jng3dl"; + version = "0.8.9.1"; + sha256 = "129pf4gg3mf2ljag8vxknnqxbrbx53hshzpaggndxjir72303njy"; isLibrary = true; isExecutable = true; buildDepends = [ From c9286fd171aa47fc88aa1e01510554bb1c95f1b1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:28 +0200 Subject: [PATCH 0261/2163] haskell-hlint: update to version 1.9.4 --- 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 4fe5f01c3d1..92a33602a1f 100644 --- a/pkgs/development/tools/haskell/hlint/default.nix +++ b/pkgs/development/tools/haskell/hlint/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "hlint"; - version = "1.9.3"; - sha256 = "1sdz981yq0amsw9q6hx0aqkd0ayrax5p77s3n3gz4bphpk37n09b"; + version = "1.9.4"; + sha256 = "0vqdkrhzxi99py9zrk01cz3hayfbp757rh1c1sgz00a1gf1pyz8m"; isLibrary = true; isExecutable = true; buildDepends = [ From 6f4b9ebd22ee99a36391d3f9dd04b5cbebfba4c3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 28 Aug 2014 18:13:44 +0200 Subject: [PATCH 0262/2163] haskell-cgi: add version 3001.2.0.0 --- .../libraries/haskell/cgi/3001.2.0.0.nix | 16 ++++++++++++++++ pkgs/top-level/haskell-packages.nix | 3 ++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix diff --git a/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix b/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix new file mode 100644 index 00000000000..0f0ea06ee74 --- /dev/null +++ b/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, exceptions, mtl, network, networkUri, parsec, xhtml }: + +cabal.mkDerivation (self: { + pname = "cgi"; + version = "3001.2.0.0"; + sha256 = "03az978d5ayv5v4g89h4wajjhcribyf37b8ws8kvsqir3i7h7k8d"; + buildDepends = [ exceptions mtl network networkUri parsec xhtml ]; + meta = { + homepage = "https://github.com/cheecheeo/haskell-cgi"; + description = "A library for writing CGI programs"; + 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 7a4d4c4f10b..8f9ef6710a3 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -391,7 +391,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in cgi_3001_1_7_4 = callPackage ../development/libraries/haskell/cgi/3001.1.7.4.nix {}; cgi_3001_1_7_5 = callPackage ../development/libraries/haskell/cgi/3001.1.7.5.nix {}; cgi_3001_1_8_5 = callPackage ../development/libraries/haskell/cgi/3001.1.8.5.nix {}; - cgi = self.cgi_3001_1_8_5; + cgi_3001_2_0_0 = callPackage ../development/libraries/haskell/cgi/3001.2.0.0.nix {}; + cgi = self.cgi_3001_2_0_0; cgrep = callPackage ../development/libraries/haskell/cgrep {}; From 17a4dce05e4d445dc1f0c46f5908ff4583a8f891 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 29 Aug 2014 11:07:40 +0200 Subject: [PATCH 0263/2163] haskell-pwstore-fast: update to version 2.4.3 --- pkgs/development/libraries/haskell/pwstore-fast/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/pwstore-fast/default.nix b/pkgs/development/libraries/haskell/pwstore-fast/default.nix index 5a92e47417d..a59a9b2d2da 100644 --- a/pkgs/development/libraries/haskell/pwstore-fast/default.nix +++ b/pkgs/development/libraries/haskell/pwstore-fast/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "pwstore-fast"; - version = "2.4.2"; - sha256 = "1idpk0cc61jibj50h2a39k37s630c8h5k5d1qvbc89nql4jc132l"; + version = "2.4.3"; + sha256 = "02dj297s04fxb4ys9nfdw6aap5zrwlryq515gky0c3af6ss2yiz7"; buildDepends = [ base64Bytestring binary byteable cryptohash random ]; From 30b88f5f619cf95669d774fe233270759996d1de Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 29 Aug 2014 11:07:47 +0200 Subject: [PATCH 0264/2163] haskell-hspec-meta: update to version 1.11.4 --- pkgs/development/libraries/haskell/hspec-meta/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hspec-meta/default.nix b/pkgs/development/libraries/haskell/hspec-meta/default.nix index 844b0a52805..09d3a842522 100644 --- a/pkgs/development/libraries/haskell/hspec-meta/default.nix +++ b/pkgs/development/libraries/haskell/hspec-meta/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "hspec-meta"; - version = "1.11.3"; - sha256 = "0cydxq5kgi4cczf6q70853wz3x1ymrf9mkp7rp71yir5vrhg0b8p"; + version = "1.11.4"; + sha256 = "047vp6wibkwgs9rryjpys2qqn4s5p91mh36w0gnxwhggp8nhfqg3"; isLibrary = true; isExecutable = true; buildDepends = [ From 8c6bb74e077339d986d68857ba484a8ec42c0edd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 29 Aug 2014 11:07:48 +0200 Subject: [PATCH 0265/2163] haskell-hspec-wai: update to version 0.3.0.1 --- pkgs/development/libraries/haskell/hspec-wai/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/hspec-wai/default.nix b/pkgs/development/libraries/haskell/hspec-wai/default.nix index 1341bf198c9..8bc6776fd84 100644 --- a/pkgs/development/libraries/haskell/hspec-wai/default.nix +++ b/pkgs/development/libraries/haskell/hspec-wai/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "hspec-wai"; - version = "0.3.0"; - sha256 = "0wkzv406jiyi8ais3g0addm66274y1pvy55gypmnhwx5rp2kr6fb"; + version = "0.3.0.1"; + sha256 = "0c04gh32xnvyz0679n7jhp1kdcn7lbkb7248j6lh28irsh84dvp8"; buildDepends = [ aeson aesonQq caseInsensitive hspec2 httpTypes text transformers wai waiExtra @@ -21,6 +21,5 @@ cabal.mkDerivation (self: { description = "Experimental Hspec support for testing WAI applications (depends on hspec2!)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; }; }) From d86e8835b9e95a57c6f9ab94f9895a7e5f930a19 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 29 Aug 2014 11:07:50 +0200 Subject: [PATCH 0266/2163] haskell-hspec: update to version 1.11.4 --- pkgs/development/libraries/haskell/hspec/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hspec/default.nix b/pkgs/development/libraries/haskell/hspec/default.nix index 98cc9f1b97e..1df977dbf57 100644 --- a/pkgs/development/libraries/haskell/hspec/default.nix +++ b/pkgs/development/libraries/haskell/hspec/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "hspec"; - version = "1.11.3"; - sha256 = "0kq2cds8khwq7nl60pvgk8v6s2fizfkpdplc1p0mj8zyr9gyz7i0"; + version = "1.11.4"; + sha256 = "044vr6xyk0ih20faa4gbl4y4v6vkss0x2gmxgkk96ha6chws2svn"; isLibrary = true; isExecutable = true; buildDepends = [ From 8315f88e72c639262019a2da6d432403c55c29e2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 29 Aug 2014 11:07:52 +0200 Subject: [PATCH 0267/2163] haskell-hspec2: update to version 0.4.2 --- pkgs/development/libraries/haskell/hspec2/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/hspec2/default.nix b/pkgs/development/libraries/haskell/hspec2/default.nix index 295b01b4e32..e459e99e2fe 100644 --- a/pkgs/development/libraries/haskell/hspec2/default.nix +++ b/pkgs/development/libraries/haskell/hspec2/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "hspec2"; - version = "0.4.1"; - sha256 = "131w90yy7scxdpz7qa37n1wmyr8gvc5jqdsqkpg8s9pqham96w5v"; + version = "0.4.2"; + sha256 = "1wk1lvy3lngfa60n0dyllfqbj4gd4v0qxjw7gpvzknfk2y10536x"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -25,7 +25,5 @@ cabal.mkDerivation (self: { description = "Alpha version of Hspec 2.0"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; - broken = true; }; }) From 2e505d0eb7cdce97fa642294c6a21c6b0496657d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 29 Aug 2014 11:23:56 +0200 Subject: [PATCH 0268/2163] haskell-cgi: mark version 3001.2.0.0 broken It needs mtl >=2.2.1 && <2.3, and we cannot easily satisfy this requirement. It's interesting to observe how "cgi" remains broken in current versions of GHC for months, despite the fact that it's a Haskell Platform package. Makes one wonder about the purpose of the Haskell Platform, no? In the end, if there is no maintainer for a package, then it stays unmaintained, HP member or not. --- pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix b/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix index 0f0ea06ee74..2bacef96e08 100644 --- a/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix +++ b/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix @@ -12,5 +12,7 @@ cabal.mkDerivation (self: { description = "A library for writing CGI programs"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) From e657385acf742770abaaa9d5a3bf4588b84f6d0f Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 12:09:05 +0100 Subject: [PATCH 0269/2163] extreme-tux-racer: update to 0.6.0 --- pkgs/games/extremetuxracer/default.nix | 42 ++++++++++++++------------ pkgs/top-level/all-packages.nix | 10 ++---- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix index e35eb3266c2..af80467c960 100644 --- a/pkgs/games/extremetuxracer/default.nix +++ b/pkgs/games/extremetuxracer/default.nix @@ -1,34 +1,38 @@ -a : -let - fetchurl = a.fetchurl; +{ stdenv, fetchurl, mesa, libX11, xproto, tcl, freeglut +, SDL, SDL_mixer, SDL_image, libXi, inputproto +, libXmu, libXext, xextproto, libXt, libSM, libICE +, libpng, pkgconfig, gettext, intltool +}: - version = a.lib.attrByPath ["version"] "0.5beta" a; - buildInputs = with a; [ +stdenv.mkDerivation rec { + version = "0.6.0"; + name = "extremetuxracer-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/extremetuxracer/etr-${version}.tar.xz"; + sha256 = "0fl9pwkywqnsmgr6plfj9zb05xrdnl5xb2hcmbjk7ap9l4cjfca4"; + }; + + buildInputs = [ mesa libX11 xproto tcl freeglut - SDL SDL_mixer libXi inputproto + SDL SDL_mixer SDL_image libXi inputproto libXmu libXext xextproto libXt libSM libICE libpng pkgconfig gettext intltool ]; -in -rec { - src = fetchurl { - url = "mirror://sourceforge/extremetuxracer/extremetuxracer-${version}.tar.gz"; - sha256 = "04d99fsfna5mc9apjxsiyw0zgnswy33kwmm1s9d03ihw6rba2zxs"; - }; - inherit buildInputs; - configureFlags = [ - "--with-tcl=${a.tcl}/lib" - ]; + configureFlags = [ "--with-tcl=${tcl}/lib" ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; + preConfigure = '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL}/include/SDL" + ''; - name = "extremetuxracer-" + version; meta = { description = "High speed arctic racing game based on Tux Racer"; longDescription = '' ExtremeTuxRacer - Tux lies on his belly and accelerates down ice slopes. ''; + license = stdenv.lib.licenses.gpl2Plus; + homepage = http://sourceforge.net/projects/extremetuxracer/; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6f02f2650ac..91fd92e301d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4554,11 +4554,7 @@ let expat = callPackage ../development/libraries/expat { }; - extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) { - inherit mesa tcl freeglut SDL SDL_mixer pkgconfig - gettext intltool; - inherit (xlibs) libX11 xproto libXi inputproto - libXmu libXext xextproto libXt libSM libICE; + extremetuxracer = callPackage ../games/extremetuxracer { libpng = libpng12; }; @@ -9209,11 +9205,11 @@ let inherit (gnome) vte; gtk = gtk2; }; - + lynx = callPackage ../applications/networking/browsers/lynx { }; lyx = callPackage ../applications/misc/lyx { }; - + makeself = callPackage ../applications/misc/makeself { }; matchbox = callPackage ../applications/window-managers/matchbox { }; From e41a169a60f18f7102137510ff243fea295c0995 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Wed, 27 Aug 2014 15:53:12 +0100 Subject: [PATCH 0270/2163] super-tux-kart: update to 0.8.1 --- pkgs/games/super-tux-kart/default.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix index 29d3b4e4557..db42572de5e 100644 --- a/pkgs/games/super-tux-kart/default.nix +++ b/pkgs/games/super-tux-kart/default.nix @@ -1,18 +1,19 @@ { fetchurl, cmake, stdenv, plib, SDL, openal, freealut, mesa , libvorbis, libogg, gettext, libXxf86vm, curl, pkgconfig -, fribidi, autoconf, automake, libtool }: +, fribidi, autoconf, automake, libtool, bluez }: stdenv.mkDerivation rec { - name = "supertuxkart-0.8"; + version = "0.8.1"; + name = "supertuxkart-${version}"; src = fetchurl { url = "mirror://sourceforge/supertuxkart/${name}-src.tar.bz2"; - sha256 = "12sbml4wxg2x2wgnnkxfisj96a9gcsaj3fj27kdk8yj524ikv7xr"; + sha256 = "1mpqmi62a2kl6n58mw11fj0dr5xiwmjkqnfmd2z7ghdhc6p02lrk"; }; buildInputs = [ plib SDL openal freealut mesa libvorbis libogg gettext - libXxf86vm curl pkgconfig fribidi autoconf automake libtool cmake + libXxf86vm curl pkgconfig fribidi autoconf automake libtool cmake bluez ]; enableParallelBuilding = true; @@ -27,15 +28,13 @@ stdenv.mkDerivation rec { meta = { description = "SuperTuxKart is a Free 3D kart racing game"; - longDescription = '' SuperTuxKart is a Free 3D kart racing game, with many tracks, characters and items for you to try, similar in spirit to Mario Kart. ''; - homepage = http://supertuxkart.sourceforge.net/; - license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } From 8fe82841ea54b27e3e7e3ad59271124770382842 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Wed, 27 Aug 2014 14:55:26 +0100 Subject: [PATCH 0271/2163] xnee: update to 3.19 --- pkgs/tools/X11/xnee/default.nix | 7 ++++--- pkgs/top-level/all-packages.nix | 7 ++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix index 35c4ca06c6c..43fa105e680 100644 --- a/pkgs/tools/X11/xnee/default.nix +++ b/pkgs/tools/X11/xnee/default.nix @@ -2,11 +2,12 @@ , gtk, libXi, inputproto, pkgconfig, recordproto, texinfo }: stdenv.mkDerivation rec { - name = "xnee-3.12"; + version = "3.19"; + name = "xnee-${version}"; src = fetchurl { url = "mirror://gnu/xnee/${name}.tar.gz"; - sha256 = "10vxn0in0l2jir6x90grx5jc64x63l3b0f8liladdbplc8za8zmw"; + sha256 = "04n2lac0vgpv8zsn7nmb50hf3qb56pmj90dmwnivg09gyrf1x92j"; }; patchPhase = @@ -48,7 +49,7 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/xnee/; - maintainers = [ ]; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; platforms = stdenv.lib.platforms.gnu; # arbitrary choice }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 91fd92e301d..9bdf2462406 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10203,10 +10203,7 @@ let xmp = callPackage ../applications/audio/xmp { }; - xnee = callPackage ../tools/X11/xnee { - # Work around "missing separator" error. - stdenv = overrideInStdenv stdenv [ gnumake381 ]; - }; + xnee = callPackage ../tools/X11/xnee { }; xvidcap = callPackage ../applications/video/xvidcap { inherit (gnome) scrollkeeper libglade; @@ -10918,7 +10915,7 @@ let liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { }; openblas = callPackage ../development/libraries/science/math/openblas { }; - openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix { + openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix { liblapack = liblapack_3_5_0; }; From b4b3bd1bd7d429863dbfc7150baa86381b789aa8 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Wed, 27 Aug 2014 12:56:37 +0100 Subject: [PATCH 0272/2163] cloc: update to 1.62 --- pkgs/tools/misc/cloc/default.nix | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix index dfe5476f813..8d7ba0c70c8 100644 --- a/pkgs/tools/misc/cloc/default.nix +++ b/pkgs/tools/misc/cloc/default.nix @@ -1,30 +1,25 @@ { stdenv, fetchurl, perl, AlgorithmDiff, RegexpCommon }: stdenv.mkDerivation rec { - + name = "cloc-${version}"; - version = "1.58"; + version = "1.62"; src = fetchurl { url = "mirror://sourceforge/cloc/cloc-${version}.tar.gz"; - sha256 = "1k92jldy4m717lh1xd6yachx3l2hhpx76qhj1ipnx12hsxw1zc8w"; + sha256 = "1cxc663dccd0sc2m0aj5lxdbnbzrys6rh9n8q122h74bfvsiw4f4"; }; buildInputs = [ perl AlgorithmDiff RegexpCommon ]; - unpackPhase = '' - mkdir ${name} - tar xf $src -C ${name} - cd ${name} - ''; - makeFlags = [ "prefix=" "DESTDIR=$(out)" "INSTALL=install" ]; meta = { description = "A program that counts lines of source code"; homepage = http://cloc.sourceforge.net; license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } From 17b88f1b095ad1262b729d75aaea44dd5b0324c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 29 Aug 2014 13:49:04 +0200 Subject: [PATCH 0273/2163] pypy: wrap to provide sqlite3 at runtime --- pkgs/development/interpreters/pypy/2.3/default.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/development/interpreters/pypy/2.3/default.nix b/pkgs/development/interpreters/pypy/2.3/default.nix index 0ed13e2f646..73a52e6dfc7 100644 --- a/pkgs/development/interpreters/pypy/2.3/default.nix +++ b/pkgs/development/interpreters/pypy/2.3/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi -, sqlite, openssl, ncurses, pythonFull, expat, tcl, tk, x11, libX11 }: +, sqlite, openssl, ncurses, pythonFull, expat, tcl, tk, x11, libX11 +, makeWrapper }: assert zlibSupport -> zlib != null; @@ -20,7 +21,7 @@ let sha256 = "0fg4l48c7n59n5j3b1dgcsr927xzylkfny4a6pnk6z0pq2bhvl9z"; }; - buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite tk tcl x11 libX11 ] + buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite tk tcl x11 libX11 makeWrapper ] ++ stdenv.lib.optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++ stdenv.lib.optional zlibSupport zlib; @@ -86,7 +87,10 @@ let # verify cffi modules $out/bin/pypy -c "import Tkinter;import sqlite3" - # TODO: compile python files? + # make sure pypy finds sqlite3 library + wrapProgram "$out/bin/pypy" \ + --set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}" \ + --set LIBRARY_PATH "${LIBRARY_PATH}" ''; passthru = { @@ -98,7 +102,7 @@ let enableParallelBuilding = true; meta = with stdenv.lib; { - homepage = "http://pypy.org/"; + homepage = http://pypy.org/; description = "Fast, compliant alternative implementation of the Python language (2.7.3)"; license = licenses.mit; platforms = platforms.linux; From 019bc6bb2b432cca214ee2f949ef9936c5818161 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Fri, 29 Aug 2014 13:56:23 +0200 Subject: [PATCH 0274/2163] Made Mediawiki rewrite rules work for virtual hosts Related to cdd1785cd6380e971ad0413e7ecfd3af7ab38625 --- nixos/modules/services/web-servers/apache-httpd/mediawiki.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix index 76c64f8cb29..bb066aa6c47 100644 --- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix +++ b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix @@ -133,7 +133,7 @@ in RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d - ${concatMapStringsSep "\n" (u: "RewriteCond %{REQUEST_URI} !^${u.urlPath}") serverInfo.serverConfig.servedDirs} + ${concatMapStringsSep "\n" (u: "RewriteCond %{REQUEST_URI} !^${u.urlPath}") serverInfo.vhostConfig.servedDirs} RewriteRule ${if config.enableUploads then "!^/images" else "^.*\$" From 60902b97fe4a96d370bc0c5e3690fa45da77d78d Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 11:40:46 +0100 Subject: [PATCH 0275/2163] ed: update to 1.10 (close #3852) --- pkgs/applications/editors/ed/default.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix index d3e9a4c4679..b1b9616eaab 100644 --- a/pkgs/applications/editors/ed/default.nix +++ b/pkgs/applications/editors/ed/default.nix @@ -1,11 +1,12 @@ -{ fetchurl, stdenv }: +{ fetchurl, stdenv, lzip }: stdenv.mkDerivation rec { - name = "ed-1.9"; + version = "1.10"; + name = "ed-${version}"; src = fetchurl { - url = "mirror://gnu/ed/${name}.tar.gz"; - sha256 = "122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym"; + url = "mirror://gnu/ed/${name}.tar.lz"; + sha256 = "16kycdm5fcvpdr41hxb2da8da6jzs9dqznsg5552z6rh28n0jh4m"; }; /* FIXME: Tests currently fail on Darwin: @@ -23,6 +24,8 @@ stdenv.mkDerivation rec { compileFlags = [ "CC=${stdenv.cross.config}-gcc" ]; }; + buildInputs = [ lzip ]; + meta = { description = "GNU ed, an implementation of the standard Unix editor"; @@ -38,9 +41,7 @@ stdenv.mkDerivation rec { ''; license = stdenv.lib.licenses.gpl3Plus; - homepage = http://www.gnu.org/software/ed/; - - maintainers = [ ]; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } From 98cc03eb2295137701d706f8d857c15f3e54379f Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 13:04:14 +0100 Subject: [PATCH 0276/2163] ffmpeg: update to 2.3.3 --- pkgs/development/libraries/ffmpeg/2.x.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix index 19a4099a8b1..8114eb4752d 100644 --- a/pkgs/development/libraries/ffmpeg/2.x.nix +++ b/pkgs/development/libraries/ffmpeg/2.x.nix @@ -5,11 +5,12 @@ }: stdenv.mkDerivation rec { - name = "ffmpeg-2.3.2"; + version = "2.3.3"; + name = "ffmpeg-${version}"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "1lpzqjpklmcjzk327pz070m3qz3s1cwg8v90w6r1sdh8491kbqc4"; + sha256 = "0ik4c06anh49r5b0d3rq9if4zl6ysjsa341655kzw22fl880sk5v"; }; subtitleSupport = config.ffmpeg.subtitle or true; @@ -102,5 +103,6 @@ stdenv.mkDerivation rec { description = "A complete, cross-platform solution to record, convert and stream audio and video"; license = if (fdkAACSupport || faacSupport) then stdenv.lib.licenses.unfree else stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } From 41dc081a09aaa42d6528af1d3e23917b17f898e5 Mon Sep 17 00:00:00 2001 From: Michel Kuhlmann Date: Fri, 29 Aug 2014 14:18:27 +0200 Subject: [PATCH 0277/2163] haskell-present: initial expression --- .../libraries/haskell/present/default.nix | 15 +++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/development/libraries/haskell/present/default.nix diff --git a/pkgs/development/libraries/haskell/present/default.nix b/pkgs/development/libraries/haskell/present/default.nix new file mode 100644 index 00000000000..7c5f3afbd98 --- /dev/null +++ b/pkgs/development/libraries/haskell/present/default.nix @@ -0,0 +1,15 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, aeson, attoLisp, dataDefault, mtl, semigroups, text }: + +cabal.mkDerivation (self: { + pname = "present"; + version = "1.1"; + sha256 = "1hmzq3qi4hz74xr7cnc33kpwki9ziyinvrwazag8hh77d02fl11z"; + buildDepends = [ aeson attoLisp dataDefault mtl semigroups text ]; + meta = { + description = "Make presentations for data types"; + 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 8f9ef6710a3..18a8e8b7655 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1932,6 +1932,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in presburger = callPackage ../development/libraries/haskell/presburger {}; + present = callPackage ../development/libraries/haskell/present {}; + prettyclass = callPackage ../development/libraries/haskell/prettyclass {}; prettyShow = callPackage ../development/libraries/haskell/pretty-show {}; From dfeba56c0e3ea625965deb46e6200c388d5c9d5f Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 13:32:10 +0100 Subject: [PATCH 0278/2163] libaal: update to 1.0.6 --- pkgs/development/libraries/libaal/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/libaal/default.nix b/pkgs/development/libraries/libaal/default.nix index 596b8e2e84c..36d1ddc7151 100644 --- a/pkgs/development/libraries/libaal/default.nix +++ b/pkgs/development/libraries/libaal/default.nix @@ -1,11 +1,12 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: -stdenv.mkDerivation { - name = "libaal-1.0.5"; +stdenv.mkDerivation rec { + version = "1.0.6"; + name = "libaal-${version}"; src = fetchurl { - url = http://chichkin_i.zelnet.ru/namesys/libaal-1.0.5.tar.gz; - sha256 = "109f464hxwms90mpczc7h7lmrdlcmlglabkzh86h25xrlxxdn6pz"; + url = "mirror://sourceforge/reiser4/${name}.tar.gz"; + sha256 = "176f2sns6iyxv3h9zyirdinjwi05gdak48zqarhib2s38rvm98di"; }; preInstall = '' @@ -15,5 +16,7 @@ stdenv.mkDerivation { meta = { homepage = http://www.namesys.com/; description = "Support library for Reiser4"; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } From badb705a5cf0ffb3078a6142df0812d3b03bcde6 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 13:45:04 +0100 Subject: [PATCH 0279/2163] libaio: update to 0.3.110 --- pkgs/os-specific/linux/libaio/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/libaio/default.nix b/pkgs/os-specific/linux/libaio/default.nix index bf30530e9ad..b3df129912e 100644 --- a/pkgs/os-specific/linux/libaio/default.nix +++ b/pkgs/os-specific/linux/libaio/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchgit }: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "libaio-0.3.109"; + version = "0.3.110"; + name = "libaio-${version}"; - src = fetchgit { - url = https://git.fedorahosted.org/git/libaio.git; - rev = "refs/tags/${name}"; - sha256 = "1wbziq0hqvnbckpxrz1cgr8dlw3mifs4xpy3qhnagbrrsmrq2rhi"; + src = fetchurl { + url = "https://fedorahosted.org/releases/l/i/libaio/${name}.tar.gz"; + sha256 = "0zjzfkwd1kdvq6zpawhzisv7qbq1ffs343i5fs9p498pcf7046g0"; }; makeFlags = "prefix=$(out)"; @@ -15,5 +15,7 @@ stdenv.mkDerivation rec { description = "Library for asynchronous I/O in Linux"; homepage = http://lse.sourceforge.net/io/aio.html; platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.lgpl21; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } From 5fb879526d894a4650fa84e129251119f6000ea4 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 13:56:49 +0100 Subject: [PATCH 0280/2163] libao: update to 1.2.0 --- pkgs/development/libraries/libao/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/development/libraries/libao/default.nix index 401573378ee..44e800b6f1e 100644 --- a/pkgs/development/libraries/libao/default.nix +++ b/pkgs/development/libraries/libao/default.nix @@ -1,14 +1,15 @@ { lib, stdenv, fetchurl, pkgconfig, pulseaudio, alsaLib , usePulseAudio }: -stdenv.mkDerivation { - name = "libao-1.1.0"; +stdenv.mkDerivation rec { + version = "1.2.0"; + name = "libao-${version}"; src = fetchurl { - url = http://downloads.xiph.org/releases/ao/libao-1.1.0.tar.gz; - sha256 = "1m0v2y6bhr4iwsgdkc7b3y0qgpvpv1ifbxsy8n8ahsvjn6wmppi9"; + url = "http://downloads.xiph.org/releases/ao/${name}.tar.gz"; + sha256 = "1bwwv1g9lchaq6qmhvj1pp3hnyqr64ydd4j38x94pmprs4d27b83"; }; - buildInputs = + buildInputs = [ pkgconfig ] ++ lib.optional stdenv.isLinux (if usePulseAudio then [ pulseaudio ] else [ alsaLib ]); @@ -19,6 +20,7 @@ stdenv.mkDerivation { platforms. ''; homepage = http://xiph.org/ao/; - license = stdenv.lib.licenses.gpl2Plus; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } From a0f317cc5b1ce43f21a7cbbcd9f7b557a2a588e7 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 14:01:51 +0100 Subject: [PATCH 0281/2163] lzo: update from 2.06 to 2.08 --- pkgs/development/libraries/lzo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/lzo/default.nix b/pkgs/development/libraries/lzo/default.nix index 7fa6194cbca..f4bff72fa80 100644 --- a/pkgs/development/libraries/lzo/default.nix +++ b/pkgs/development/libraries/lzo/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "lzo-2.06"; + name = "lzo-2.08"; src = fetchurl { url = "${meta.homepage}/download/${name}.tar.gz"; - sha256 = "0wryshs446s7cclrbjykyj766znhcpnr7s3cxy33ybfn6vwfcygz"; + sha256 = "0536ad3ksk1r8h2a27d0y4p27lwjarzyndw7sagvxzj6xr6kw6xc"; }; configureFlags = [ "--enable-shared" ]; From 51829a0f39005a6ec682d6aa5f28f0f96806428c Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 14:17:40 +0100 Subject: [PATCH 0282/2163] murmur: update to 1.2.8 --- pkgs/applications/networking/mumble/murmur.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/mumble/murmur.nix b/pkgs/applications/networking/mumble/murmur.nix index 17254aa2fdd..1c06392f60b 100644 --- a/pkgs/applications/networking/mumble/murmur.nix +++ b/pkgs/applications/networking/mumble/murmur.nix @@ -12,11 +12,11 @@ let in stdenv.mkDerivation rec { name = "murmur-" + version; - version = "1.2.6"; + version = "1.2.8"; src = fetchurl { url = "mirror://sourceforge/mumble/mumble-${version}.tar.gz"; - sha256 = "1zxnbwbd81p7lvscghlpkad8kynh9gbf1nhc092sp64pp37xwv47"; + sha256 = "0ng1xd7i0951kqnd9visf84y2dcwia79a1brjwfvr1wnykgw6bsc"; }; patchPhase = optional iceSupport '' From 02e0e0dc501053c169d94fdab81795fb1e731105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Fri, 22 Aug 2014 01:13:14 +0200 Subject: [PATCH 0283/2163] Add oxygen-gtk3 and rename oxygen_gtk to oxygen-gtk2. oxygen_gtk is still kept for backwards compatibility. --- pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix | 23 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 ++++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix diff --git a/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix b/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix new file mode 100644 index 00000000000..34141c91f91 --- /dev/null +++ b/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl +, cmake, dbus_glib, glib, gtk3, gdk_pixbuf, pkgconfig, xorg }: + +stdenv.mkDerivation rec { + version = "1.4.0"; + name = "oxygen-gtk3-${version}"; + + src = fetchurl { + url = "mirror://kde/stable/oxygen-gtk3/${version}/src/${name}.tar.bz2"; + sha256 = "d119bcc94ffc04b67e7d238fc922b37f2904447085a06758451b8c0b0302ab80"; + }; + + buildInputs = [ cmake dbus_glib glib gtk3 gdk_pixbuf + pkgconfig xorg.libXau xorg.libXdmcp xorg.libpthreadstubs + xorg.libxcb xorg.pixman ]; + + meta = with stdenv.lib; { + description = "Port of the default KDE widget theme (Oxygen), to gtk 3"; + homepage = https://projects.kde.org/projects/playground/artwork/oxygen-gtk; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9bdf2462406..7a34852aada 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10825,7 +10825,11 @@ let geoclue = geoclue2; }; - oxygen_gtk = callPackage ../misc/themes/gtk2/oxygen-gtk { }; + oxygen-gtk2 = callPackage ../misc/themes/gtk2/oxygen-gtk { }; + + oxygen-gtk3 = callPackage ../misc/themes/gtk3/oxygen-gtk3 { }; + + oxygen_gtk = oxygen-gtk2; # backwards compatibility gtk_engines = callPackage ../misc/themes/gtk2/gtk-engines { }; From 0fb885721aeb13990fe3243743ab4f04d5f5fa8e Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 14:33:25 +0100 Subject: [PATCH 0284/2163] libmpeg2: update to 0.5.1 The patch seems unnecessary but I'll look out for breakage. --- .../libraries/libmpeg2/A00-tags.patch | 27 ------------------- .../libraries/libmpeg2/default.nix | 12 ++++----- 2 files changed, 5 insertions(+), 34 deletions(-) delete mode 100644 pkgs/development/libraries/libmpeg2/A00-tags.patch diff --git a/pkgs/development/libraries/libmpeg2/A00-tags.patch b/pkgs/development/libraries/libmpeg2/A00-tags.patch deleted file mode 100644 index 0b5d7d7da12..00000000000 --- a/pkgs/development/libraries/libmpeg2/A00-tags.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -ru mpeg2dec.orig/libmpeg2/decode.c mpeg2dec/libmpeg2/decode.c ---- mpeg2dec.orig/libmpeg2/decode.c 2008-07-09 12:16:05.000000000 -0700 -+++ mpeg2dec/libmpeg2/decode.c 2009-07-03 16:29:48.000000000 -0700 -@@ -212,7 +212,7 @@ - - mpeg2_state_t mpeg2_parse_header (mpeg2dec_t * mpeg2dec) - { -- static int (* process_header[]) (mpeg2dec_t * mpeg2dec) = { -+ static int (* process_header[]) (mpeg2dec_t *) = { - mpeg2_header_picture, mpeg2_header_extension, mpeg2_header_user_data, - mpeg2_header_sequence, NULL, NULL, NULL, NULL, mpeg2_header_gop - }; -@@ -368,6 +368,14 @@ - - void mpeg2_tag_picture (mpeg2dec_t * mpeg2dec, uint32_t tag, uint32_t tag2) - { -+ if (mpeg2dec->num_tags == 0 && mpeg2dec->state == STATE_PICTURE && mpeg2dec->picture) { -+ // since tags got processed when we entered this state we -+ // have to set them directly or they'll end up on the next frame. -+ mpeg2dec->picture->tag = tag; -+ mpeg2dec->picture->tag2 = tag2; -+ mpeg2dec->picture->flags |= PIC_FLAG_TAGS; -+ return; -+ } - mpeg2dec->tag_previous = mpeg2dec->tag_current; - mpeg2dec->tag2_previous = mpeg2dec->tag2_current; - mpeg2dec->tag_current = tag; diff --git a/pkgs/development/libraries/libmpeg2/default.nix b/pkgs/development/libraries/libmpeg2/default.nix index e651a932efe..c2008700804 100644 --- a/pkgs/development/libraries/libmpeg2/default.nix +++ b/pkgs/development/libraries/libmpeg2/default.nix @@ -1,20 +1,18 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "libmpeg2-0.5.1p4"; - + version = "0.5.1"; + name = "libmpeg2-${version}"; + src = fetchurl { url = "http://libmpeg2.sourceforge.net/files/${name}.tar.gz"; sha256 = "1m3i322n2fwgrvbs1yck7g5md1dbg22bhq5xdqmjpz5m7j4jxqny"; }; - # From Handbrake - Project seems unmaintained - patches = [ - ./A00-tags.patch - ]; - meta = { homepage = http://libmpeg2.sourceforge.net/; description = "A free library for decoding mpeg-2 and mpeg-1 video streams"; + license = stdenv.lib.licenses.gpl2; + maintainer = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } From 09afbd1f06c54e2e5608bd142e1274e4335f581b Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 14:06:23 +0100 Subject: [PATCH 0285/2163] mkvtoolnix: update from 6.5.0 to 7.1.0 --- pkgs/applications/video/mkvtoolnix/default.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index ed64448c13a..e0ab4582cd8 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -15,14 +15,18 @@ }: stdenv.mkDerivation rec { - name = "mkvtoolnix-6.5.0"; + version = "7.1.0"; + name = "mkvtoolnix-${version}"; src = fetchurl { url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz"; - sha256 = "0a3h878bsjbpb2r7b528xzyqzl8r82yhrniry9bnhmw7rcl53bd8"; + sha256 = "06xqy4f7gi1xj0yqb6y1wmxwvsxfxal2plfsbl33dkwd0srixj06"; }; - buildInputs = [ libmatroska flac libvorbis file boost xdg_utils expat wxGTK zlib ruby gettext pkgconfig curl ]; + buildInputs = [ + libmatroska flac libvorbis file boost xdg_utils + expat wxGTK zlib ruby gettext pkgconfig curl + ]; configureFlags = "--with-boost-libdir=${boost}/lib"; buildPhase = '' @@ -36,5 +40,7 @@ stdenv.mkDerivation rec { meta = { description = "Cross-platform tools for Matroska"; homepage = http://www.bunkus.org/videotools/mkvtoolnix/; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } From ac73fbcda96d01b26c3be3eb87d718d5e9a0ef73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Wed, 27 Aug 2014 17:58:54 +0200 Subject: [PATCH 0286/2163] dogecoin: 1.4 -> 1.8 --- pkgs/applications/misc/bitcoin/altcoins.nix | 42 ++++++++++++++++++--- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/misc/bitcoin/altcoins.nix b/pkgs/applications/misc/bitcoin/altcoins.nix index 2b99bad58da..796cedc1ee2 100644 --- a/pkgs/applications/misc/bitcoin/altcoins.nix +++ b/pkgs/applications/misc/bitcoin/altcoins.nix @@ -1,5 +1,6 @@ { fetchurl, stdenv, pkgconfig -, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf, utillinux }: +, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf +, utillinux, autogen, autoconf, autobuild, automake, db }: with stdenv.lib; @@ -79,22 +80,51 @@ in rec { }; }; - dogecoin = buildAltcoin rec { + dogecoin = (buildAltcoin rec { walletName = "dogecoin"; - version = "1.4"; + version = "1.8.0"; src = fetchurl { - url = "https://github.com/dogecoin/dogecoin/archive/1.4.tar.gz"; - sha256 = "4af983f182976c98f0e32d525083979c9509b28b7d6faa0b90c5bd40b71009cc"; + url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz"; + sha256 = "8a33958c04213cd621aa3c86910477813af22512f03b47c98995d20d31f3f935"; }; + extraBuildInputs = [ autogen autoconf automake pkgconfig db utillinux protobuf ]; + meta = { description = "Wow, such coin, much shiba, very rich"; longDescription = "wow"; homepage = http://www.dogecoin.com/; maintainers = [ maintainers.offline maintainers.edwtjo ]; }; + }).override rec { + patchPhase = '' + sed -i \ + -e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db}/include",g' \ + -e 's,BDB_LIBS=$,BDB_LIBS="-L${db}/lib",g' \ + -e 's,bdbdirlist=$,bdbdirlist="${db}/include",g' \ + src/m4/dogecoin_find_bdb51.m4 + ''; + dogeConfigure = '' + ./autogen.sh \ + && ./configure --prefix=$out \ + --with-incompatible-bdb \ + --with-boost-libdir=${boost}/lib \ + ''; + dogeInstall = '' + install -D "src/dogecoin-cli" "$out/bin/dogecoin-cli" + install -D "src/dogecoind" "$out/bin/dogecoind" + ''; + configurePhase = dogeConfigure + "--with-gui"; + installPhase = dogeInstall + "install -D src/qt/dogecoin-qt $out/bin/dogecoin-qt"; + }; + + dogecoind = dogecoin.override rec { + gui = false; + makefile = "Makefile"; + preBuild = ""; + configurePhase = dogecoin.dogeConfigure + "--without-gui"; + installPhase = dogecoin.dogeInstall; }; - dogecoind = dogecoin.override { gui = false; }; } From 34b18399aaeabdb93cab478a90b8eedbdc7ce10e Mon Sep 17 00:00:00 2001 From: Daniel Bergey Date: Fri, 29 Aug 2014 14:03:07 +0000 Subject: [PATCH 0287/2163] revert fsnotify back to 0.0.11 fsnotify changes need more testing on Darwin --- .../libraries/haskell/fsnotify/default.nix | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/haskell/fsnotify/default.nix b/pkgs/development/libraries/haskell/fsnotify/default.nix index 70edecb1f8d..3d308f6a88f 100644 --- a/pkgs/development/libraries/haskell/fsnotify/default.nix +++ b/pkgs/development/libraries/haskell/fsnotify/default.nix @@ -1,19 +1,19 @@ -# This file was auto-generated by cabal2nix. Please do NOT edit manually! - -{ cabal, async, hinotify, systemFileio, systemFilepath, tasty -, tastyHunit, temporaryRc, text, time +{ stdenv, cabal, Cabal, Glob, hspec, QuickCheck, random +, systemFileio, systemFilepath, text, time, uniqueid +, hinotify, hfsevents }: cabal.mkDerivation (self: { pname = "fsnotify"; - version = "0.1.0.3"; - sha256 = "0m6jyg45azk377jklgwyqrx95q174cxd5znpyh9azznkh09wq58z"; - buildDepends = [ - async hinotify systemFileio systemFilepath text time - ]; + version = "0.0.11"; + sha256 = "03m911pncyzgfdx4aj38azbbmj25fdm3s9l1w27zv0l730fy8ywq"; + buildDepends = [ systemFileio systemFilepath text time ] ++ + (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]); testDepends = [ - async systemFileio systemFilepath tasty tastyHunit temporaryRc - ]; + Cabal Glob hspec QuickCheck random systemFileio + systemFilepath text time uniqueid + ] ++ (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]); + doCheck = false; meta = { description = "Cross platform library for file change notification"; license = self.stdenv.lib.licenses.bsd3; From 05b83fe6a23e5ca0b531fb47269c419d6a549d7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Fri, 29 Aug 2014 16:40:16 +0200 Subject: [PATCH 0288/2163] octave: Update to 3.8.2. Also change "," placement to be consistent and remove unnecessary let. --- pkgs/development/interpreters/octave/default.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 1addccb4bf8..eac067da282 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -1,18 +1,16 @@ -{stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull, -libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk, -fftw, fftwSinglePrec, zlib, curl, qrupdate +{ stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull +, libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk +, fftw, fftwSinglePrec, zlib, curl, qrupdate , qt ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null , suitesparse ? null, gnuplot ? null, openjdk ? null, python ? null }: -let - version = "3.8.1"; -in stdenv.mkDerivation rec { + version = "3.8.2"; name = "octave-${version}"; src = fetchurl { url = "mirror://gnu/octave/${name}.tar.bz2"; - sha256 = "1gcvzbgyz98mxzy3gjkdbdiirafkl73l9ywml11j412amp92wxnn"; + sha256 = "83bbd701aab04e7e57d0d5b8373dd54719bebb64ce0a850e69bf3d7454f33bae"; }; buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11 From 40ccaa2b4c4b60e5a3d308c4713d8d43073a7ecb Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 28 Aug 2014 16:07:30 -0500 Subject: [PATCH 0289/2163] openblas: pin all the versions julia requires --- .../science/math/openblas/{default.nix => 0.2.2.nix} | 0 pkgs/top-level/all-packages.nix | 10 ++++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) rename pkgs/development/libraries/science/math/openblas/{default.nix => 0.2.2.nix} (100%) diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/0.2.2.nix similarity index 100% rename from pkgs/development/libraries/science/math/openblas/default.nix rename to pkgs/development/libraries/science/math/openblas/0.2.2.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9bdf2462406..6cea37064cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3128,10 +3128,12 @@ let juliaGit = callPackage ../development/compilers/julia/git-20131013.nix { liblapack = liblapack.override {shared = true;}; llvm = llvm_33; + openblas = openblas_0_2_2; }; julia021 = callPackage ../development/compilers/julia/0.2.1.nix { liblapack = liblapack.override {shared = true;}; llvm = llvm_33; + openblas = openblas_0_2_2; }; julia030 = let liblapack = liblapack_3_5_0.override {shared = true;}; @@ -3140,8 +3142,8 @@ let suitesparse = suitesparse.override { inherit liblapack; }; - openblas = openblas_0_2_10; llvm = llvm_34; + openblas = openblas_0_2_10; }; julia = julia021; @@ -10914,10 +10916,14 @@ let liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { }; - openblas = callPackage ../development/libraries/science/math/openblas { }; + # julia is pinned to specific versions of openblas, so keep old versions + # until they aren't needed. The un-versioned attribute may continue to track + # upstream development. + openblas = openblas_0_2_10; openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix { liblapack = liblapack_3_5_0; }; + openblas_0_2_2 = callPackage ../development/libraries/science/math/openblas/0.2.2.nix { }; mathematica = callPackage ../applications/science/math/mathematica { }; From df731f151faafc4e68f4504d60be0968faecd6bd Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 28 Aug 2014 16:39:01 -0500 Subject: [PATCH 0290/2163] openblas: add version 0.2.11 --- .../science/math/openblas/default.nix | 36 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/science/math/openblas/default.nix diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix new file mode 100644 index 00000000000..a1811a4209c --- /dev/null +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, gfortran, perl, liblapack, config }: + +let local = config.openblas.preferLocalBuild or false; + localTarget = config.openblas.target or ""; +in +stdenv.mkDerivation rec { + version = "0.2.11"; + + name = "openblas-${version}"; + src = fetchurl { + url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}"; + sha256 = "1va4yhzgj2chcj6kaxgfbzirajp1zgvkic61959aka2xq2c5igms"; + name = "openblas-${version}.tar.gz"; + }; + + preBuild = "cp ${liblapack.src} lapack-${liblapack.meta.version}.tgz"; + + buildInputs = [gfortran perl]; + + cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system); + + target = if local then localTarget else + if cpu == "i686" then "P2" else + if cpu == "x86_64" then "CORE2" else + # allow autodetect + ""; + + makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\" INTERFACE64=1"; + + meta = { + description = "Basic Linear Algebra Subprograms"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/xianyi/OpenBLAS"; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6cea37064cc..1942be80a7c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10919,7 +10919,9 @@ let # julia is pinned to specific versions of openblas, so keep old versions # until they aren't needed. The un-versioned attribute may continue to track # upstream development. - openblas = openblas_0_2_10; + openblas = callPackage ../development/libraries/science/math/openblas { + liblapack = liblapack_3_5_0; + }; openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix { liblapack = liblapack_3_5_0; }; From 9ade2dfa3cefe89776d48cea684c8ea0d3bc8e13 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 28 Aug 2014 18:34:41 -0500 Subject: [PATCH 0291/2163] openblas: add local build preference to pinned versions --- .../libraries/science/math/openblas/0.2.10.nix | 8 ++++++-- .../development/libraries/science/math/openblas/0.2.2.nix | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/science/math/openblas/0.2.10.nix b/pkgs/development/libraries/science/math/openblas/0.2.10.nix index a8db0631911..c8df06ef378 100644 --- a/pkgs/development/libraries/science/math/openblas/0.2.10.nix +++ b/pkgs/development/libraries/science/math/openblas/0.2.10.nix @@ -1,5 +1,8 @@ -{ stdenv, fetchurl, gfortran, perl, liblapack }: +{ stdenv, fetchurl, gfortran, perl, liblapack, config }: +let local = config.openblas.preferLocalBuild or false; + localTarget = config.openblas.target or ""; +in stdenv.mkDerivation rec { version = "0.2.10"; @@ -16,7 +19,8 @@ stdenv.mkDerivation rec { cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system); - target = if cpu == "i686" then "P2" else + target = if local then localTarget else + if cpu == "i686" then "P2" else if cpu == "x86_64" then "CORE2" else # allow autodetect ""; diff --git a/pkgs/development/libraries/science/math/openblas/0.2.2.nix b/pkgs/development/libraries/science/math/openblas/0.2.2.nix index c535b1a39db..22dbc491f87 100644 --- a/pkgs/development/libraries/science/math/openblas/0.2.2.nix +++ b/pkgs/development/libraries/science/math/openblas/0.2.2.nix @@ -1,5 +1,8 @@ -{ stdenv, fetchurl, gfortran, perl, liblapack }: +{ stdenv, fetchurl, gfortran, perl, liblapack, config }: +let local = config.openblas.preferLocalBuild or false; + localTarget = config.openblas.target or ""; +in stdenv.mkDerivation rec { version = "0.2.2"; @@ -16,7 +19,8 @@ stdenv.mkDerivation rec { cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system); - target = if cpu == "i686" then "P2" else + target = if local then localTarget else + if cpu == "i686" then "P2" else if cpu == "x86_64" then "CORE2" else # allow autodetect ""; From 634b9ae6d4fc0707d5c58f039ab34c70b77cfef0 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 29 Aug 2014 10:02:39 -0500 Subject: [PATCH 0292/2163] openblas: add ttuegel as maintainer --- pkgs/development/libraries/science/math/openblas/0.2.10.nix | 5 +++-- pkgs/development/libraries/science/math/openblas/0.2.2.nix | 5 +++-- pkgs/development/libraries/science/math/openblas/default.nix | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/science/math/openblas/0.2.10.nix b/pkgs/development/libraries/science/math/openblas/0.2.10.nix index c8df06ef378..ec4422ce895 100644 --- a/pkgs/development/libraries/science/math/openblas/0.2.10.nix +++ b/pkgs/development/libraries/science/math/openblas/0.2.10.nix @@ -27,10 +27,11 @@ stdenv.mkDerivation rec { makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\" INTERFACE64=1"; - meta = { + meta = with stdenv.lib; { description = "Basic Linear Algebra Subprograms"; - license = stdenv.lib.licenses.bsd3; + license = licenses.bsd3; homepage = "https://github.com/xianyi/OpenBLAS"; platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ ttuegel ]; }; } diff --git a/pkgs/development/libraries/science/math/openblas/0.2.2.nix b/pkgs/development/libraries/science/math/openblas/0.2.2.nix index 22dbc491f87..c476dac955a 100644 --- a/pkgs/development/libraries/science/math/openblas/0.2.2.nix +++ b/pkgs/development/libraries/science/math/openblas/0.2.2.nix @@ -27,10 +27,11 @@ stdenv.mkDerivation rec { makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\""; - meta = { + meta = with stdenv.lib; { description = "Basic Linear Algebra Subprograms"; - license = stdenv.lib.licenses.bsd3; + license = licenses.bsd3; homepage = "https://github.com/xianyi/OpenBLAS"; platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ ttuegel ]; }; } diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index a1811a4209c..6ca1f4ccada 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -27,10 +27,11 @@ stdenv.mkDerivation rec { makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\" INTERFACE64=1"; - meta = { + meta = with stdenv.lib; { description = "Basic Linear Algebra Subprograms"; - license = stdenv.lib.licenses.bsd3; + license = licenses.bsd3; homepage = "https://github.com/xianyi/OpenBLAS"; platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ ttuegel ]; }; } From 30ac32ae45a80cbe2b42ca9feb44eaa6d677da80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Fri, 29 Aug 2014 17:19:15 +0200 Subject: [PATCH 0293/2163] libgcrypt: Update 1.5.3 and 1.6.2. Also changed the description of 1.6.nix to match that of default.nix (1.5). * https://lists.gnu.org/archive/html/info-gnu/2014-08/msg00001.html * https://lists.gnu.org/archive/html/info-gnu/2014-08/msg00011.html --- pkgs/development/libraries/libgcrypt/1.6.nix | 6 +++--- pkgs/development/libraries/libgcrypt/default.nix | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/libgcrypt/1.6.nix b/pkgs/development/libraries/libgcrypt/1.6.nix index ced3b723b13..e468c3163d3 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.1"; + name = "libgcrypt-1.6.2"; src = fetchurl { url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; - sha256 = "0w10vhpj1r5nq7qm6jp21p1v1vhf37701cw8yilygzzqd7mfzhx1"; + sha256 = "de084492a6b38cdb27b67eaf749ceba76bf7029f63a9c0c3c1b05c88c9885c4c"; }; nativeBuildInputs = [ transfig ghostscript texinfo ]; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "GNU Libgcrypt, a general-pupose cryptographic library"; + description = "General-pupose cryptographic library"; longDescription = '' GNU Libgcrypt is a general purpose cryptographic library based on diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index f47d3a62729..ed267e23c87 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libgpgerror }: stdenv.mkDerivation (rec { - name = "libgcrypt-1.5.3"; + name = "libgcrypt-1.5.4"; src = fetchurl { url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; - sha256 = "1lar8y3lh61zl5flljpz540d78g99h4d5idfwrfw8lm3gm737xdw"; + sha256 = "d5f88d9f41a46953dc250cdb8575129b37ee2208401b7fa338c897f667c7fb33"; }; propagatedBuildInputs = [ libgpgerror ]; From cbb296475a86c664f823de31f287841f646682ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Fri, 29 Aug 2014 17:28:20 +0200 Subject: [PATCH 0294/2163] libidn: Update to 1.29. Also add repositories.git property. https://lists.gnu.org/archive/html/info-gnu/2014-08/msg00006.html --- pkgs/development/libraries/libidn/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix index 37d19d10f29..5aea194e39d 100644 --- a/pkgs/development/libraries/libidn/default.nix +++ b/pkgs/development/libraries/libidn/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "libidn-1.28"; + name = "libidn-1.29"; src = fetchurl { url = "mirror://gnu/libidn/${name}.tar.gz"; - sha256 = "1yxbfdiwr3l91m79sksn6v5mgpl4lfj8i82zgryckas9hjb7ldfx"; + sha256 = "fb82747dbbf9b36f703ed27293317d818d7e851d4f5773dedf3efa4db32a7c7c"; }; doCheck = ! stdenv.isDarwin; @@ -30,6 +30,7 @@ stdenv.mkDerivation rec { included. ''; + repositories.git = git://git.savannah.gnu.org/libidn.git; license = stdenv.lib.licenses.lgpl2Plus; platforms = stdenv.lib.platforms.all; maintainers = [ ]; From ec9d2e6f2b16601e167574f366544fdb7dcea864 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Fri, 29 Aug 2014 17:45:05 +0200 Subject: [PATCH 0295/2163] mongodb: darwin support --- pkgs/servers/nosql/mongodb/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix index f51a2b8fe3f..4935b738860 100644 --- a/pkgs/servers/nosql/mongodb/default.nix +++ b/pkgs/servers/nosql/mongodb/default.nix @@ -2,14 +2,13 @@ let version = "2.6.4"; system-libraries = [ - "tcmalloc" "pcre" "boost" "snappy" # "v8" -- mongo still bundles 3.12 and does not work with 3.15+ # "stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs) # "yaml" -- it seems nixpkgs' yamlcpp (0.5.1) is problematic for mongo - ]; + ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "tcmalloc" ]; system-lib-args = stdenv.lib.concatStringsSep " " (map (lib: "--use-system-${lib}") system-libraries); @@ -43,6 +42,6 @@ in stdenv.mkDerivation rec { license = stdenv.lib.licenses.agpl3; maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } From 5a9cf400856f379d448c09d9abf5a64512cb0793 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Fri, 29 Aug 2014 17:56:07 +0200 Subject: [PATCH 0296/2163] mongodb: add offline as maintainer --- pkgs/servers/nosql/mongodb/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix index 4935b738860..40c255d5921 100644 --- a/pkgs/servers/nosql/mongodb/default.nix +++ b/pkgs/servers/nosql/mongodb/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, scons, boost, gperftools, pcre, snappy }: +with stdenv.lib; + let version = "2.6.4"; system-libraries = [ "pcre" @@ -8,9 +10,9 @@ let version = "2.6.4"; # "v8" -- mongo still bundles 3.12 and does not work with 3.15+ # "stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs) # "yaml" -- it seems nixpkgs' yamlcpp (0.5.1) is problematic for mongo - ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "tcmalloc" ]; - system-lib-args = stdenv.lib.concatStringsSep " " - (map (lib: "--use-system-${lib}") system-libraries); + ] ++ optionals (!stdenv.isDarwin) [ "tcmalloc" ]; + system-lib-args = concatStringsSep " " + (map (lib: "--use-system-${lib}") system-libraries); in stdenv.mkDerivation rec { name = "mongodb-${version}"; @@ -39,9 +41,9 @@ in stdenv.mkDerivation rec { meta = { description = "a scalable, high-performance, open source NoSQL database"; homepage = http://www.mongodb.org; - license = stdenv.lib.licenses.agpl3; + license = licenses.agpl3; - maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; - platforms = stdenv.lib.platforms.unix; + maintainers = with maintainers; [ bluescreen303 offline ]; + platforms = platforms.unix; }; } From 43e52ef0017790d303db0758edb52c46ab6f545a Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Fri, 29 Aug 2014 18:28:34 +0200 Subject: [PATCH 0297/2163] Remove useless use of undocumented submodules. --- nixos/modules/services/networking/nsd.nix | 265 ++++++++++------------ 1 file changed, 120 insertions(+), 145 deletions(-) diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix index db8cb122871..cacd52f130f 100644 --- a/nixos/modules/services/networking/nsd.nix +++ b/nixos/modules/services/networking/nsd.nix @@ -456,156 +456,131 @@ in }; - ratelimit = mkOption { - type = types.submodule ( - { options, ... }: - { options = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Enable ratelimit capabilities. - ''; - }; - - size = mkOption { - type = types.int; - default = 1000000; - description = '' - Size of the hashtable. More buckets use more memory but lower - the chance of hash hash collisions. - ''; - }; - - ratelimit = mkOption { - type = types.int; - default = 200; - description = '' - Max qps allowed from any query source. - 0 means unlimited. With an verbosity of 2 blocked and - unblocked subnets will be logged. - ''; - }; - - whitelistRatelimit = mkOption { - type = types.int; - default = 2000; - description = '' - Max qps allowed from whitelisted sources. - 0 means unlimited. Set the rrl-whitelist option for specific - queries to apply this limit instead of the default to them. - ''; - }; - - slip = mkOption { - type = types.nullOr types.int; - default = null; - description = '' - Number of packets that get discarded before replying a SLIP response. - 0 disables SLIP responses. 1 will make every response a SLIP response. - ''; - }; - - ipv4PrefixLength = mkOption { - type = types.nullOr types.int; - default = null; - description = '' - IPv4 prefix length. Addresses are grouped by netblock. - ''; - }; - - ipv6PrefixLength = mkOption { - type = types.nullOr types.int; - default = null; - description = '' - IPv6 prefix length. Addresses are grouped by netblock. - ''; - }; - - }; - }); - default = { + ratelimit = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable ratelimit capabilities. + ''; + }; + + size = mkOption { + type = types.int; + default = 1000000; + description = '' + Size of the hashtable. More buckets use more memory but lower + the chance of hash hash collisions. + ''; + }; + + ratelimit = mkOption { + type = types.int; + default = 200; + description = '' + Max qps allowed from any query source. + 0 means unlimited. With an verbosity of 2 blocked and + unblocked subnets will be logged. + ''; + }; + + whitelistRatelimit = mkOption { + type = types.int; + default = 2000; + description = '' + Max qps allowed from whitelisted sources. + 0 means unlimited. Set the rrl-whitelist option for specific + queries to apply this limit instead of the default to them. + ''; + }; + + slip = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Number of packets that get discarded before replying a SLIP response. + 0 disables SLIP responses. 1 will make every response a SLIP response. + ''; + }; + + ipv4PrefixLength = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + IPv4 prefix length. Addresses are grouped by netblock. + ''; + }; + + ipv6PrefixLength = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + IPv6 prefix length. Addresses are grouped by netblock. + ''; }; - example = {}; - description = '' - ''; }; - remoteControl = mkOption { - type = types.submodule ( - { config, options, ... }: - { options = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Wheter to enable remote control via nsd-control(8). - ''; - }; - - interfaces = mkOption { - type = types.listOf types.str; - default = [ "127.0.0.1" "::1" ]; - description = '' - Which interfaces NSD should bind to for remote control. - ''; - }; - - port = mkOption { - type = types.int; - default = 8952; - description = '' - Port number for remote control operations (uses TLS over TCP). - ''; - }; - - serverKeyFile = mkOption { - type = types.path; - default = "/etc/nsd/nsd_server.key"; - description = '' - Path to the server private key, which is used by the server - but not by nsd-control. This file is generated by nsd-control-setup. - ''; - }; - - serverCertFile = mkOption { - type = types.path; - default = "/etc/nsd/nsd_server.pem"; - description = '' - Path to the server self signed certificate, which is used by the server - but and by nsd-control. This file is generated by nsd-control-setup. - ''; - }; - - controlKeyFile = mkOption { - type = types.path; - default = "/etc/nsd/nsd_control.key"; - description = '' - Path to the client private key, which is used by nsd-control - but not by the server. This file is generated by nsd-control-setup. - ''; - }; - - controlCertFile = mkOption { - type = types.path; - default = "/etc/nsd/nsd_control.pem"; - description = '' - Path to the client certificate signed with the server certificate. - This file is used by nsd-control and generated by nsd-control-setup. - ''; - }; - - }; - - }); - default = { + remoteControl = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Wheter to enable remote control via nsd-control(8). + ''; + }; + + interfaces = mkOption { + type = types.listOf types.str; + default = [ "127.0.0.1" "::1" ]; + description = '' + Which interfaces NSD should bind to for remote control. + ''; + }; + + port = mkOption { + type = types.int; + default = 8952; + description = '' + Port number for remote control operations (uses TLS over TCP). + ''; + }; + + serverKeyFile = mkOption { + type = types.path; + default = "/etc/nsd/nsd_server.key"; + description = '' + Path to the server private key, which is used by the server + but not by nsd-control. This file is generated by nsd-control-setup. + ''; + }; + + serverCertFile = mkOption { + type = types.path; + default = "/etc/nsd/nsd_server.pem"; + description = '' + Path to the server self signed certificate, which is used by the server + but and by nsd-control. This file is generated by nsd-control-setup. + ''; + }; + + controlKeyFile = mkOption { + type = types.path; + default = "/etc/nsd/nsd_control.key"; + description = '' + Path to the client private key, which is used by nsd-control + but not by the server. This file is generated by nsd-control-setup. + ''; + }; + + controlCertFile = mkOption { + type = types.path; + default = "/etc/nsd/nsd_control.pem"; + description = '' + Path to the client certificate signed with the server certificate. + This file is used by nsd-control and generated by nsd-control-setup. + ''; }; - example = {}; - description = '' - ''; }; From beff84c6e315fdffa96c0bbfb43b66ea9fd2c0e7 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 17:30:04 +0100 Subject: [PATCH 0298/2163] python-packages.nix: strip trailing whitespace --- pkgs/top-level/python-packages.nix | 150 ++++++++++++++--------------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 533f59b78d8..2d44ee871c8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -159,7 +159,7 @@ rec { pygtk = import ../development/python-modules/pygtk { inherit (pkgs) fetchurl stdenv pkgconfig gtk; inherit python buildPythonPackage pygobject pycairo isPy3k; - }; + }; # XXX: how can we get an override here? #pyGtkGlade = pygtk.override { @@ -572,7 +572,7 @@ rec { name = "avro-1.7.6"; disabled = isPy3k; - + src = fetchurl { url = "https://pypi.python.org/packages/source/a/avro/${name}.tar.gz"; md5 = "7f4893205e5ad69ac86f6b44efb7df72"; @@ -586,9 +586,9 @@ rec { avro3k = pkgs.lowPrio (buildPythonPackage (rec { name = "avro3k-1.7.7-SNAPSHOT"; - + disabled = (!isPy3k); - + src = fetchurl { url = "https://pypi.python.org/packages/source/a/avro3k/${name}.tar.gz"; sha256 = "15ahl0irwwj558s964abdxg4vp6iwlabri7klsm2am6q5r0ngsky"; @@ -674,7 +674,7 @@ rec { beaker = buildPythonPackage rec { name = "Beaker-1.6.4"; - + disabled = isPy3k; src = fetchurl { @@ -755,9 +755,9 @@ rec { modules.sqlite3 modules.readline ]; - + buildInputs = with pythonPackages; [ mock pyechonest six responses nose ]; - + # 10 tests are failing doCheck = false; @@ -768,12 +768,12 @@ rec { maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; - + responses = pythonPackages.buildPythonPackage rec { name = "responses-0.2.2"; propagatedBuildInputs = with pythonPackages; [ requests mock six pytest flake8 ]; - + doCheck = false; src = fetchurl { @@ -782,7 +782,7 @@ rec { }; }; - + rarfile = pythonPackages.buildPythonPackage rec { name = "rarfile-2.6"; @@ -798,7 +798,7 @@ rec { homepage = https://github.com/markokr/rarfile; }; }; - + pyechonest = pythonPackages.buildPythonPackage rec { name = "pyechonest-8.0.2"; @@ -1017,10 +1017,10 @@ rec { maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; - + zc_buildout171 = buildPythonPackage rec { name = "zc.buildout-1.7.1"; - + disabled = isPy3k; src = fetchurl { @@ -1035,10 +1035,10 @@ rec { maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; - + zc_buildout152 = buildPythonPackage rec { name = "zc.buildout-1.5.2"; - + disabled = isPy3k; src = fetchurl { @@ -1746,7 +1746,7 @@ rec { platforms = stdenv.lib.platforms.all; }; }; - + deform2 = buildPythonPackage rec { name = "deform-2.0a2"; @@ -2015,7 +2015,7 @@ rec { facebook-sdk = buildPythonPackage rec { name = "facebook-sdk-0.4.0"; - + disabled = isPy3k; src = fetchurl { @@ -2192,14 +2192,14 @@ rec { gtimelog = buildPythonPackage rec { name = "gtimelog-${version}"; version = "0.9.1"; - + disabled = isPy26; src = fetchurl { url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz"; sha256 = "0qk8fv8cszzqpdi3wl9vvkym1jil502ycn6sic4jrxckw5s9jsfj"; }; - + preBuild = '' export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive export LC_ALL="en_US.UTF-8" @@ -2212,12 +2212,12 @@ rec { substituteInPlace runtests --replace "/usr/bin/env python" "${python}/bin/${python.executable}" ./runtests ''; - + preFixup = '' wrapProgram $out/bin/gtimelog \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3}/lib" \ - + ''; meta = with stdenv.lib; { @@ -2369,7 +2369,7 @@ rec { url = "http://pypi.python.org/packages/source/p/pyramid/${name}.tar.gz"; md5 = "8a1ab3b773d8e22437828f7df22852c1"; }; - + preCheck = '' # test is failing, see https://github.com/Pylons/pyramid/issues/1405 rm pyramid/tests/test_response.py @@ -2651,7 +2651,7 @@ rec { url = "http://pypi.python.org/packages/source/p/pyramid_zodbconn/${name}.tar.gz"; md5 = "3c7746a227fbcda3e138ab8bfab7700b"; }; - + # should be fixed in next release doCheck = false; @@ -2732,7 +2732,7 @@ rec { maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; - + ZEO = pythonPackages.buildPythonPackage rec { name = "ZEO-4.0.0"; @@ -2747,7 +2747,7 @@ rec { homepage = https://pypi.python.org/pypi/ZEO; }; }; - + random2 = pythonPackages.buildPythonPackage rec { name = "random2-1.0.1"; @@ -3272,7 +3272,7 @@ rec { url = "http://pypi.python.org/packages/source/e/enum/${name}.tar.gz"; md5 = "ce75c7c3c86741175a84456cc5bd531e"; }; - + doCheck = !isPyPy; buildInputs = [ ]; @@ -3452,7 +3452,7 @@ rec { }; buildInputs = [ nose mock ]; - + patchPhase = '' substituteInPlace jsonschema/tests/test_jsonschema_test_suite.py --replace "python" "${python}/bin/${python.executable}" ''; @@ -3614,7 +3614,7 @@ rec { gevent = buildPythonPackage rec { name = "gevent-1.0.1"; disabled = isPy3k; - + src = fetchurl { url = "https://pypi.python.org/packages/source/g/gevent/${name}.tar.gz"; sha256 = "0hyzfb0gcx9pm5c2igan8y57hqy2wixrwvdjwsaivxsqs0ay49s6"; @@ -4038,7 +4038,7 @@ rec { url = "http://pypi.python.org/packages/source/i/iptools/iptools-${version}.tar.gz"; md5 = "aed4045638fd40c16f8d9bb04606f700"; }; - + buildInputs = [ nose ]; meta = { @@ -4345,7 +4345,7 @@ rec { patchPhase = '' substituteInPlace magic.py --replace "ctypes.CDLL(dll)" "ctypes.CDLL('${pkgs.file}/lib/libmagic.so')" ''; - + doCheck = false; # TODO: tests are failing @@ -4718,7 +4718,7 @@ rec { name = "python-mpd-0.3.0"; disabled = isPy3k; - + src = fetchurl { url = "https://pypi.python.org/packages/source/p/python-mpd/python-mpd-0.3.0.tar.gz"; md5 = "5b3849b131e2fb12f251434597d65635"; @@ -4783,7 +4783,7 @@ rec { url = "http://pypi.python.org/packages/source/m/musicbrainzngs/${name}.tar.gz"; md5 = "9e17a181af72d04a291c9a960bc73d44"; }; - + preCheck = '' export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive export LC_ALL="en_US.UTF-8" @@ -4805,7 +4805,7 @@ rec { url = "http://pypi.python.org/packages/source/m/mutagen/${name}.tar.gz"; sha256 = "12f70aaf5ggdzll76bhhkn64b27xy9s1acx417dbsaqnnbis8s76"; }; - + # one unicode test fails doCheck = false; @@ -4839,7 +4839,7 @@ rec { MySQL_python = buildPythonPackage { name = "MySQL-python-1.2.3"; - + disabled = isPy3k; # plenty of failing tests @@ -5466,7 +5466,7 @@ rec { # tests failures since 1.14.0 release.. doCheck = false; - + checkPhase = "${python}/bin/${python.executable} test.py"; meta = { @@ -5656,37 +5656,37 @@ rec { propagatedBuildInputs = [ unittest2 ]; }; - + pil = buildPythonPackage rec { name = "PIL-${version}"; version = "1.1.7"; - + src = fetchurl { url = "http://effbot.org/downloads/Imaging-${version}.tar.gz"; sha256 = "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9"; }; - + buildInputs = [ python pkgs.libjpeg pkgs.zlib pkgs.freetype ]; - + disabled = isPy3k; - + doCheck = true; - + preConfigure = '' sed -i "setup.py" \ -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = libinclude("${pkgs.freetype}")|g ; s|^JPEG_ROOT =.*$|JPEG_ROOT = libinclude("${pkgs.libjpeg}")|g ; s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${pkgs.zlib}")|g ;' ''; - + checkPhase = "${python}/bin/${python.executable} selftest.py"; buildPhase = "${python}/bin/${python.executable} setup.py build_ext -i"; - + postInstall = '' cd "$out"/lib/python*/site-packages ln -s $PWD PIL ''; - + meta = { homepage = http://www.pythonware.com/products/pil/; description = "The Python Imaging Library (PIL)"; @@ -5821,7 +5821,7 @@ rec { url = "http://pypi.python.org/packages/source/P/PrettyTable/${name}.tar.bz2"; sha1 = "ad346a18d92c1d95f2295397c7a8a4f489e48851"; }; - + preCheck = '' export LANG="en_US.UTF-8" export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive @@ -5839,7 +5839,7 @@ rec { propagatedBuildInputs = [ pkgs.protobuf google_apputils ]; sourceRoot = "${name}/python"; - + meta = { description = "Protocol Buffers are Google's data interchange format."; @@ -6176,7 +6176,7 @@ rec { }; buildInputs = [ unittest2 ]; - + doCheck = !isPyPy; meta = { @@ -7082,7 +7082,7 @@ rec { propagatedBuildInputs = [ django_1_3 recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments djblets django_evolution pycrypto modules.sqlite3 - pysvn pil psycopg2 + pysvn pil psycopg2 ]; }; @@ -7097,7 +7097,7 @@ rec { # error: invalid command 'test' doCheck = false; - + propagatedBuildInputs = [ isodate ]; meta = { @@ -7105,7 +7105,7 @@ rec { homepage = http://www.rdflib.net/; }; }); - + isodate = buildPythonPackage rec { name = "isodate-0.5.0"; @@ -7224,7 +7224,7 @@ rec { rope = buildPythonPackage rec { version = "0.9.4"; name = "rope-${version}"; - + disabled = isPy3k; src = fetchurl { @@ -7637,7 +7637,7 @@ rec { url = "https://github.com/sympy/sympy/releases/download/${name}/${name}.tar.gz"; sha256 = "0h1b9mx0snyyybj1x1ga69qssgjzkkgx2rw6nddjhyz1fknf8ywh"; }; - + preCheck = '' export LANG="en_US.UTF-8" export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive @@ -7749,7 +7749,7 @@ rec { semantic = buildPythonPackage rec { name = "semantic-1.0.3"; - + disabled = isPy3k; propagatedBuildInputs = [ quantities numpy ]; @@ -7889,7 +7889,7 @@ rec { supervisor = buildPythonPackage rec { name = "supervisor-3.1.1"; - + disabled = isPy3k; src = fetchurl { @@ -8149,7 +8149,7 @@ rec { sure = buildPythonPackage rec { name = "sure-${version}"; version = "1.2.7"; - + preBuild = '' export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive export LC_ALL="en_US.UTF-8" @@ -8161,8 +8161,8 @@ rec { rev = "86ab9faa97aa9c1720c7d090deac2be385ed3d7a"; sha256 = "02vffcdgr6vbj80lhl925w7zqy6cqnfvs088i0rbkjs5lxc511b3"; }; - - + + buildInputs = [ nose ]; @@ -8269,9 +8269,9 @@ rec { url = "http://pypi.python.org/packages/source/T/Tempita/Tempita-${version}.tar.gz"; md5 = "4c2f17bb9d481821c41b6fbee904cea1"; }; - + disabled = isPy3k; - + buildInputs = [ nose ]; meta = { @@ -8363,11 +8363,11 @@ rec { tox = buildPythonPackage rec { name = "tox-1.7.2"; - + propagatedBuildInputs = [ py virtualenv ]; doCheck = false; - + src = fetchurl { url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz"; md5 = "0d9b3acb1a9252659d753b0ae6b9b264"; @@ -8511,7 +8511,7 @@ rec { # NOTE: When updating please check if new versions still cause issues # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem) disabled = isPy3k; - + name = "Twisted-11.1.0"; src = fetchurl { url = "https://pypi.python.org/packages/source/T/Twisted/${name}.tar.bz2"; @@ -8847,7 +8847,7 @@ rec { url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.zip"; md5 = "49314bdba23f4d0bd807facb2a6d3f90"; }; - + preConfigure = '' substituteInPlace setup.py --replace "nose<1.3.0" "nose" ''; @@ -9061,7 +9061,7 @@ rec { }; propagatedBuildInputs = [ zconfig ]; - + # too many deps.. doCheck = false; @@ -9121,7 +9121,7 @@ rec { maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; - + zodb = buildPythonPackage rec { name = "zodb-${version}"; version = "4.0.1"; @@ -9138,7 +9138,7 @@ rec { # test failure on py3.4 rm src/ZODB/tests/testDB.py '' else ""; - + meta = { description = "An object-oriented database for Python"; homepage = http://pypi.python.org/pypi/ZODB; @@ -9146,7 +9146,7 @@ rec { maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; - + zodbpickle = pythonPackages.buildPythonPackage rec { name = "zodbpickle-0.5.2"; @@ -9154,7 +9154,7 @@ rec { url = "https://pypi.python.org/packages/source/z/zodbpickle/${name}.tar.gz"; md5 = "d401bd89f99ec8d56c22493e6f8c0443"; }; - + # fails.. doCheck = false; @@ -9163,10 +9163,10 @@ rec { }; }; - + BTrees = pythonPackages.buildPythonPackage rec { name = "BTrees-4.0.8"; - + patches = [ ./../development/python-modules/btrees_interger_overflow.patch ]; propagatedBuildInputs = [ persistent zope_interface transaction ]; @@ -9182,7 +9182,7 @@ rec { }; }; - + persistent = pythonPackages.buildPythonPackage rec { name = "persistent-4.0.8"; @@ -9230,7 +9230,7 @@ rec { maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; - + zope_browserresource = buildPythonPackage rec { name = "zope.browserresource-4.0.1"; @@ -9575,7 +9575,7 @@ rec { url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.tar.gz"; md5 = "6c73c5b668a67fdc116a25b884058ed9"; }; - + doCheck = !(python.isPypy or false); propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ]; @@ -9726,7 +9726,7 @@ rec { tarman = buildPythonPackage rec { version = "0.1.3"; name = "tarman-${version}"; - + disabled = isPy3k; src = fetchurl { @@ -10172,7 +10172,7 @@ rec { url = "http://freshfoo.com/projects/IMAPClient/${name}.tar.gz"; sha256 = "1w54h8gz25qf6ggazzp6xf7kvsyiadsjfkkk17gm0p6pmzvvccbn"; }; - + buildInputs = [ mock ]; preConfigure = '' From 60734bb0f99a01e22cd2050359673af3fb2b5c11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Mon, 25 Aug 2014 19:17:05 +0200 Subject: [PATCH 0299/2163] radicale: 0.9b1 -> 0.9 Added description, editor stripped some trailing whitespace. --- pkgs/top-level/python-packages.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2d44ee871c8..ba6f4afaf7e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2549,11 +2549,11 @@ rec { radicale = buildPythonPackage rec { name = "radicale-${version}"; namePrefix = ""; - version = "0.9b1"; + version = "0.9"; src = fetchurl { url = "http://pypi.python.org/packages/source/R/Radicale/Radicale-${version}.tar.gz"; - sha256 = "3a8451909de849f173f577ddec0a085f19040dbb6aa13d5256208a0f8e11d88d"; + sha256 = "77bf813fd26f0d359c1a7b7bcce9b842b4503c5516989a4a0a4f648e299e41f7"; }; propagatedBuildInputs = with pythonPackages; [ @@ -2566,6 +2566,7 @@ rec { meta = { homepage = "http://www.radicale.org/"; + description = "CalDAV CardDAV server"; longDescription = '' The Radicale Project is a complete CalDAV (calendar) and CardDAV (contact) server solution. Calendars and address books are available for From 8c19690d99af8e25a58ce1a96ffda74340b88700 Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Fri, 29 Aug 2014 18:43:03 +0200 Subject: [PATCH 0300/2163] Remove useless use of optionSet. --- nixos/modules/services/networking/znc.nix | 174 +++++++++++----------- nixos/modules/system/boot/luksroot.nix | 59 ++++---- 2 files changed, 113 insertions(+), 120 deletions(-) diff --git a/nixos/modules/services/networking/znc.nix b/nixos/modules/services/networking/znc.nix index 2aa63c6e7df..5aed20ee3e0 100644 --- a/nixos/modules/services/networking/znc.nix +++ b/nixos/modules/services/networking/znc.nix @@ -25,85 +25,6 @@ let paths = cfg.modulePackages; }; - confOptions = { ... }: { - options = { - modules = mkOption { - type = types.listOf types.string; - default = [ "partyline" "webadmin" "adminlog" "log" ]; - example = [ "partyline" "webadmin" "adminlog" "log" ]; - description = '' - A list of modules to include in the `znc.conf` file. - ''; - }; - - userModules = mkOption { - type = types.listOf types.string; - default = [ ]; - example = [ "fish" "push" ]; - description = '' - A list of user modules to include in the `znc.conf` file. - ''; - }; - - userName = mkOption { - default = defaultUserName; - example = "johntron"; - type = types.string; - description = '' - The user name to use when generating the `znc.conf` file. - This is the user name used by the user logging into the ZNC web admin. - ''; - }; - - nick = mkOption { - default = "znc-user"; - example = "john"; - type = types.string; - description = '' - The IRC nick to use when generating the `znc.conf` file. - ''; - }; - - passBlock = mkOption { - default = defaultPassBlock; - example = "Must be the block generated by the `znc --makepass` command."; - type = types.string; - description = '' - The pass block to use when generating the `znc.conf` file. - This is the password used by the user logging into the ZNC web admin. - This is the block generated by the `znc --makepass` command. - !!! If not specified, please change this after starting the service. !!! - ''; - }; - - port = mkOption { - default = 5000; - example = 5000; - type = types.int; - description = '' - Specifies the port on which to listen. - ''; - }; - - useSSL = mkOption { - default = true; - example = true; - type = types.bool; - description = '' - Indicates whether the ZNC server should use SSL when listening on the specified port. - ''; - }; - - extraZncConf = mkOption { - default = ""; - type = types.lines; - description = '' - Extra config to `znc.conf` file - ''; - }; - }; - }; - # Keep znc.conf in nix store, then symlink or copy into `dataDir`, depending on `mutable`. mkZncConf = confOpts: '' // Also check http://en.znc.in/wiki/Configuration @@ -211,18 +132,91 @@ in ''; }; - confOptions = mkOption { - default = {}; - example = { - modules = [ "log" ]; - userName = "john"; - nick = "johntron"; + /* TODO: add to the documentation of the current module: + + Values to use when creating a `znc.conf` file. + + confOptions = { + modules = [ "log" ]; + userName = "john"; + nick = "johntron"; + }; + */ + confOptions = { + modules = mkOption { + type = types.listOf types.string; + default = [ "partyline" "webadmin" "adminlog" "log" ]; + example = [ "partyline" "webadmin" "adminlog" "log" ]; + description = '' + A list of modules to include in the `znc.conf` file. + ''; + }; + + userModules = mkOption { + type = types.listOf types.string; + default = [ ]; + example = [ "fish" "push" ]; + description = '' + A list of user modules to include in the `znc.conf` file. + ''; + }; + + userName = mkOption { + default = defaultUserName; + example = "johntron"; + type = types.string; + description = '' + The user name to use when generating the `znc.conf` file. + This is the user name used by the user logging into the ZNC web admin. + ''; + }; + + nick = mkOption { + default = "znc-user"; + example = "john"; + type = types.string; + description = '' + The IRC nick to use when generating the `znc.conf` file. + ''; + }; + + passBlock = mkOption { + default = defaultPassBlock; + example = "Must be the block generated by the `znc --makepass` command."; + type = types.string; + description = '' + The pass block to use when generating the `znc.conf` file. + This is the password used by the user logging into the ZNC web admin. + This is the block generated by the `znc --makepass` command. + !!! If not specified, please change this after starting the service. !!! + ''; + }; + + port = mkOption { + default = 5000; + example = 5000; + type = types.int; + description = '' + Specifies the port on which to listen. + ''; + }; + + useSSL = mkOption { + default = true; + example = true; + type = types.bool; + description = '' + Indicates whether the ZNC server should use SSL when listening on the specified port. + ''; + }; + + extraZncConf = mkOption { + default = ""; + type = types.lines; + description = '' + Extra config to `znc.conf` file + ''; }; - type = types.optionSet; - description = '' - Values to use when creating a `znc.conf` file. - ''; - options = confOptions; }; modulePackages = mkOption { diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index 68392e3cfe2..70ff1d588a3 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -342,40 +342,39 @@ in description = "Path where the ramfs used to update the LUKS key will be mounted in stage-1"; }; - storage = mkOption { - type = types.optionSet; - description = "Options related to the storing the salt"; + /* TODO: Add to the documentation of the current module: - options = { - device = mkOption { - default = "/dev/sda1"; - type = types.path; - description = '' - An unencrypted device that will temporarily be mounted in stage-1. - Must contain the current salt to create the challenge for this LUKS device. - ''; - }; + Options related to the storing the salt. + */ + storage = { + device = mkOption { + default = "/dev/sda1"; + type = types.path; + description = '' + An unencrypted device that will temporarily be mounted in stage-1. + Must contain the current salt to create the challenge for this LUKS device. + ''; + }; - fsType = mkOption { - default = "vfat"; - type = types.string; - description = "The filesystem of the unencrypted device"; - }; + fsType = mkOption { + default = "vfat"; + type = types.string; + description = "The filesystem of the unencrypted device"; + }; - mountPoint = mkOption { - default = "/crypt-storage"; - type = types.string; - description = "Path where the unencrypted device will be mounted in stage-1"; - }; + mountPoint = mkOption { + default = "/crypt-storage"; + type = types.string; + description = "Path where the unencrypted device will be mounted in stage-1"; + }; - path = mkOption { - default = "/crypt-storage/default"; - type = types.string; - description = '' - Absolute path of the salt on the unencrypted device with - that device's root directory as "/". - ''; - }; + path = mkOption { + default = "/crypt-storage/default"; + type = types.string; + description = '' + Absolute path of the salt on the unencrypted device with + that device's root directory as "/". + ''; }; }; }; From 3b6f5050a15ca8854f19b955d33b584245fdf1d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 29 Aug 2014 18:42:25 +0200 Subject: [PATCH 0301/2163] Revert "protobuf: Update to 2.6.0" This reverts commit 859a2c446cbe1f802ec3f6ad07d3913c4518e11d. Breaks a bunch of reverse dependencies. --- pkgs/development/libraries/protobuf/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/protobuf/default.nix b/pkgs/development/libraries/protobuf/default.nix index 3452335decd..bba8481780a 100644 --- a/pkgs/development/libraries/protobuf/default.nix +++ b/pkgs/development/libraries/protobuf/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, zlib }: stdenv.mkDerivation rec { - name = "protobuf-2.6.0"; + name = "protobuf-2.5.0"; src = fetchurl { - url = "http://protobuf.googlecode.com/svn-history/r579/rc/protobuf-2.6.0.tar.bz2"; - sha256 = "0krfkxc85vfznqwbh59qlhp7ld81al9ss35av0gfbg74i0rvjids"; + url = "http://protobuf.googlecode.com/files/${name}.tar.bz2"; + sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk"; }; buildInputs = [ zlib ]; From eb7a17a1cfc158b87e6d349f1fcc550761d122b9 Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Fri, 29 Aug 2014 18:52:31 +0200 Subject: [PATCH 0302/2163] Add error an message to prevent use of useless submodules. --- lib/modules.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/modules.nix b/lib/modules.nix index bcaadc7fd97..9fe26083cfd 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -277,13 +277,14 @@ rec { fixupOptionType = loc: opt: let options' = opt.options or - (throw "Option `${showOption loc'}' has type optionSet but has no option attribute."); + (throw "Option `${showOption loc'}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}."); coerce = x: if isFunction x then x else { config, ... }: { options = x; }; options = map coerce (flatten options'); f = tp: - if tp.name == "option set" then types.submodule options + if tp.name == "option set" || tp.name == "submodule" then + throw "The option ${showOption loc} uses submodules without a wrapping type, in ${showFiles opt.declarations}." else if tp.name == "attribute set of option sets" then types.attrsOf (types.submodule options) else if tp.name == "list or attribute set of option sets" then types.loaOf (types.submodule options) else if tp.name == "list of option sets" then types.listOf (types.submodule options) From 4e189f68ab078fbde808ee2346f9b81cda5b8035 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 29 Aug 2014 18:12:43 +0100 Subject: [PATCH 0303/2163] checkstyle: update to 5.7 --- .../tools/analysis/checkstyle/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix index 1dfaa5cf875..56797d9c702 100644 --- a/pkgs/development/tools/analysis/checkstyle/default.nix +++ b/pkgs/development/tools/analysis/checkstyle/default.nix @@ -1,12 +1,12 @@ -{stdenv, fetchurl, unzip}: +{ stdenv, fetchurl }: -stdenv.mkDerivation { - name = "checkstyle-5.0"; - buildInputs = [unzip] ; +stdenv.mkDerivation rec { + version = "5.7"; + name = "checkstyle-${version}"; src = fetchurl { - url = mirror://sourceforge/checkstyle/checkstyle-5.0.zip ; - sha256 = "0972afcxjniz64hlnc89ddnd1d0mcd5hb1sd7lpw5k52h39683nh"; + url = "mirror://sourceforge/checkstyle/${version}/${name}-bin.tar.gz"; + sha256 = "0kzj507ylynq6p7v097bjzsckkjny5i2fxwxyrlwi5samhi2m06x"; }; installPhase = '' @@ -22,6 +22,6 @@ stdenv.mkDerivation { Conventions, but is highly configurable. ''; homepage = http://checkstyle.sourceforge.net/; + license = stdenv.lib.licenses.lgpl21; }; } - From 4cb061111cfed82e151cfe82b25a68777629faa7 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Fri, 8 Aug 2014 16:34:41 -0300 Subject: [PATCH 0304/2163] Higan - new package (alpha stage!) Higan is a cycle-accurate Nintendo multi-system emulator It is a preliminary release for Nix - I need to investigate some issues about install process and hardcoded paths... --- pkgs/misc/emulators/higan/builder.sh | 20 +++++++++++ pkgs/misc/emulators/higan/default.nix | 48 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 70 insertions(+) create mode 100644 pkgs/misc/emulators/higan/builder.sh create mode 100644 pkgs/misc/emulators/higan/default.nix diff --git a/pkgs/misc/emulators/higan/builder.sh b/pkgs/misc/emulators/higan/builder.sh new file mode 100644 index 00000000000..144c23d39de --- /dev/null +++ b/pkgs/misc/emulators/higan/builder.sh @@ -0,0 +1,20 @@ + +source $stdenv/setup + +unpackPhase +cd $sourceName +make phoenix=gtk profile=accuracy -C ananke +make phoenix=gtk profile=accuracy + +install -dm 755 $out/share/applications $out/share/pixmaps $out/share/higan/Video\ Shaders $out/bin $out/lib + +install -m 644 data/higan.desktop $out/share/applications/ +install -m 644 data/higan.png $out/share/pixmaps/ +cp -dr --no-preserve=ownership profile/* data/cheats.bml $out/share/higan/ +cp -dr --no-preserve=ownership shaders/*.shader $out/share/higan/Video\ Shaders/ + +install -m 755 out/higan $out/bin/higan +install -m 644 ananke/libananke.so $out/lib/libananke.so.1 +(cd $out/lib && ln -s libananke.so.1 libananke.so) +oldRPath=$(patchelf --print-rpath $out/bin/higan) +patchelf --set-rpath $oldRPath:$out/lib $out/bin/higan diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix new file mode 100644 index 00000000000..aceb55b1396 --- /dev/null +++ b/pkgs/misc/emulators/higan/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl +, pkgconfig +, libX11, libXv +, udev +, mesa, gtk, SDL +, libao, openal, pulseaudio +}: + +stdenv.mkDerivation rec { + + name = "higan-${version}"; + version = "094"; + sourceName = "higan_v${version}-source"; + + src = fetchurl { + url = "http://byuu.org/files/${sourceName}.tar.xz"; + sha256 = "06qm271pzf3qf2labfw2lx6k0xcd89jndmn0jzmnc40cspwrs52y"; + curlOpts = "--user-agent 'Mozilla/5.0'"; # the good old user-agent trick... + }; + + buildInputs = with stdenv.lib; + [ pkgconfig libX11 libXv udev mesa gtk SDL libao openal pulseaudio ]; + + builder = ./builder.sh; + + meta = { + description = "An open-source, cycle-accurate Nintendo multi-system emulator"; + longDescription = '' + Higan (formerly bsnes) is a Nintendo multi-system emulator. + It currently supports the following systems: + Famicom; Super Famicom; + Game Boy; Game Boy Color; Game Boy Advance + higan also supports the following subsystems: + Super Game Boy; BS-X Satellaview; Sufami Turbo + ''; + homepage = http://byuu.org/higan/; + license = stdenv.lib.licenses.gpl3Plus; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} + +# +# TODO: +# - options to choose profiles (accuracy, balanced, performance) +# and different GUIs (gtk2, qt4) +# - fix the BML and BIOS paths - maybe a custom patch to Higan project? +# diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1942be80a7c..d1f9487ab4a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11569,6 +11569,8 @@ let snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { }; + higan = callPackage ../misc/emulators/higan { }; + misc = import ../misc/misc.nix { inherit pkgs stdenv; }; bullet = callPackage ../development/libraries/bullet {}; From 0ffa7dc0f28f7aaf517f68c5c6812272cbb822ed Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 29 Aug 2014 19:53:56 +0200 Subject: [PATCH 0305/2163] sox: Enable support for FLAC and PNG. In case you wonder: PNG support is needed for example to generate spectograms. For example: sox shiny-song.flac -n spectrogram -o even-shinier.png Signed-off-by: aszlig --- pkgs/applications/misc/audio/sox/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix index 0663937c479..1f86a4164f6 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -4,6 +4,8 @@ , enableLame ? false, lame ? null , enableLibmad ? true, libmad ? null , enableLibogg ? true, libogg ? null, libvorbis ? null +, enableFLAC ? true, flac ? null +, enablePNG ? true, libpng ? null }: with stdenv.lib; @@ -21,7 +23,9 @@ stdenv.mkDerivation rec { optional enableLibao libao ++ optional enableLame lame ++ optional enableLibmad libmad ++ - optionals enableLibogg [ libogg libvorbis ]; + optionals enableLibogg [ libogg libvorbis ] ++ + optional enableFLAC flac ++ + optional enablePNG libpng; meta = { description = "Sample Rate Converter for audio"; From 8eb3de7c86355c2061608e9a0f64150fbdbcc7ec Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Fri, 29 Aug 2014 01:45:31 -0700 Subject: [PATCH 0306/2163] Chromium patch, fixes missing header --- .../networking/browsers/chromium/source/default.nix | 2 +- .../browsers/chromium/source/missing_alg_import.patch | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 pkgs/applications/networking/browsers/chromium/source/missing_alg_import.patch diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix index d7ccc412fa4..91c6ada5138 100644 --- a/pkgs/applications/networking/browsers/chromium/source/default.nix +++ b/pkgs/applications/networking/browsers/chromium/source/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { prePatch = "patchShebangs ."; - patches = singleton ./sandbox_userns_36.patch; + patches = [ ./sandbox_userns_36.patch ./missing_alg_import.patch ]; postPatch = '' sed -i -r \ diff --git a/pkgs/applications/networking/browsers/chromium/source/missing_alg_import.patch b/pkgs/applications/networking/browsers/chromium/source/missing_alg_import.patch new file mode 100644 index 00000000000..243e3fe7049 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/source/missing_alg_import.patch @@ -0,0 +1,11 @@ +diff -Naur chromium-37.0.2062.94.old/media/cast/logging/encoding_event_subscriber.cc chromium-37.0.2062.94/media/cast/logging/encoding_event_subscriber.cc +--- chromium-37.0.2062.94.old/media/cast/logging/encoding_event_subscriber.cc 2014-08-29 02:05:15.149140733 -0700 ++++ chromium-37.0.2062.94/media/cast/logging/encoding_event_subscriber.cc 2014-08-29 02:06:00.182853590 -0700 +@@ -4,6 +4,7 @@ + + #include "media/cast/logging/encoding_event_subscriber.h" + ++#include + #include + #include + From 44281788475016ddbf48539814b6870337e6ef54 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 29 Aug 2014 08:40:23 -0700 Subject: [PATCH 0307/2163] nixos/generate-config: Fix indentation --- .../installer/tools/nixos-generate-config.pl | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index cabdb09ec9c..73dd87cef5c 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -344,19 +344,19 @@ EOF } } - # Is this a btrfs filesystem? - if ($fsType eq "btrfs") { - my ($status, @info) = runCommand("btrfs subvol show $rootDir$mountPoint"); - if ($status != 0) { - die "Failed to retreive subvolume info for $mountPoint"; - } - my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; - if ($#subvols > 0) { - die "Btrfs subvol name for $mountPoint listed multiple times in mount\n" - } elsif ($#subvols == 0) { - push @extraOptions, "subvol=$subvols[0]"; - } - } + # Is this a btrfs filesystem? + if ($fsType eq "btrfs") { + my ($status, @info) = runCommand("btrfs subvol show $rootDir$mountPoint"); + if ($status != 0) { + die "Failed to retreive subvolume info for $mountPoint"; + } + my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; + if ($#subvols > 0) { + die "Btrfs subvol name for $mountPoint listed multiple times in mount\n" + } elsif ($#subvols == 0) { + push @extraOptions, "subvol=$subvols[0]"; + } + } # Emit the filesystem. $fileSystems .= < Date: Fri, 29 Aug 2014 08:41:07 -0700 Subject: [PATCH 0308/2163] nixos/install-grub: Fix Indentation --- nixos/modules/system/boot/loader/grub/install-grub.pl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index d8ee8b50097..7ced51f57e1 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -158,7 +158,7 @@ my $grubStore = GrubFs("/nix"); # We don't need to copy if we can read the kernels directly if ($grubStore->search ne "") { - $copyKernels = 0; + $copyKernels = 0; } # Generate the header. @@ -275,8 +275,8 @@ sub addEntry { $conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n\n"; } else { $conf .= "menuentry \"$name\" {\n"; - $conf .= $grubBoot->search . "\n"; - $conf .= $grubStore->search . "\n"; + $conf .= $grubBoot->search . "\n"; + $conf .= $grubStore->search . "\n"; $conf .= " $extraPerEntryConfig\n" if $extraPerEntryConfig; $conf .= " multiboot $xen $xenParams\n" if $xen; $conf .= " " . ($xen ? "module" : "linux") . " $kernel $kernelParams\n"; From ceb367a8a21653ef1f179b333c28bec37df90b2a Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 29 Aug 2014 16:13:48 -0400 Subject: [PATCH 0309/2163] ats2: Bump --- pkgs/development/compilers/ats2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix index c66143fe1f3..b77c7e47667 100644 --- a/pkgs/development/compilers/ats2/default.nix +++ b/pkgs/development/compilers/ats2/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "ats2-${version}"; - version = "0.1.1"; + version = "0.1.2"; src = fetchurl { url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz"; - sha256 = "17yr5zc4cr4zlizhzy43ihfcidl63wjxcc002amzahskib4fsbmb"; + sha256 = "1266hl03d4w13qrimq6jsxcmw1mjivl27l3lhf9ddqlz0vy97j6a"; }; buildInputs = [ gmp ]; From d43f1c86bdd6cc90d93f99005f18b725315ec1c8 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Fri, 29 Aug 2014 15:23:44 -0500 Subject: [PATCH 0310/2163] pkgs: add Rainbowstream, a streaming command-line twitter client. Signed-off-by: Austin Seipp --- pkgs/top-level/python-packages.nix | 83 +++++++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ba6f4afaf7e..174fde47f2e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -492,6 +492,23 @@ rec { }); + arrow = buildPythonPackage rec { + name = "arrow-${version}"; + version = "0.4.4"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/a/arrow/${name}.tar.gz"; + sha256 = "1sdr4gyjgvz86yr0ll0i11mgy8l1slndr7f0ngam87rpy78gp052"; + }; + + doCheck = false; + + meta = { + description = "Twitter API library"; + license = "apache"; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; async = buildPythonPackage rec { name = "async-0.6.1"; @@ -4552,7 +4569,6 @@ rec { }; }; - memcached = buildPythonPackage rec { name = "memcached-1.51"; @@ -4607,6 +4623,35 @@ rec { }; }; + rainbowstream = buildPythonPackage rec { + name = "rainbowstream-${version}"; + version = "0.9.3"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/r/rainbowstream/${name}.tar.gz"; + sha256 = "1xgfxk3qwbfdl2fwabcppi43dxmv8pik0wb9jsbszwxz9xv3fcpk"; + }; + + doCheck = false; + + buildInputs = [ + pkgs.libjpeg pkgs.freetype pkgs.zlib + pillow twitter pyfiglet requests arrow dateutil modules.readline + ]; + + postInstall = '' + wrapProgram "$out/bin/rainbowstream" \ + --prefix PYTHONPATH : "$PYTHONPATH" + ''; + + meta = { + description = "Streaming command-line twitter client"; + homepage = "http://www.rainbowstream.org/"; + license = licenses.mit; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + mitmproxy = buildPythonPackage rec { baseName = "mitmproxy"; name = "${baseName}-${meta.version}"; @@ -6168,6 +6213,24 @@ rec { }; }; + pyfiglet = buildPythonPackage rec { + name = "pyfiglet-${version}"; + version = "0.7.1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/pyfiglet/${name}.tar.gz"; + sha256 = "14lgwg47gnnad7sfkmmwhknwysbfmr74c9b2a6d9wgjmydycc6ka"; + }; + + doCheck = false; + + meta = { + description = "FIGlet in pure Python"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + pyflakes = buildPythonPackage rec { name = "pyflakes-0.8.1"; @@ -8508,6 +8571,24 @@ rec { }; }); + twitter = buildPythonPackage rec { + name = "twitter-${version}"; + version = "1.14.3"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/t/twitter/${name}.tar.gz"; + sha256 = "1nhhjajbq0jik43q2makpnz094qcziq9p8rj35jxamybd0hwwzs9"; + }; + + doCheck = false; + + meta = { + description = "Twitter API library"; + license = licenses.mit; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + twisted = buildPythonPackage rec { # NOTE: When updating please check if new versions still cause issues # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem) From feee5f16e189d99784f0c36b76199e3eee8194ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Fri, 29 Aug 2014 22:43:03 +0200 Subject: [PATCH 0311/2163] dogecoin: autotools build factored out --- pkgs/applications/misc/bitcoin/altcoins.nix | 47 -------------- pkgs/applications/misc/bitcoin/dogecoin.nix | 71 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 +- 3 files changed, 74 insertions(+), 49 deletions(-) create mode 100644 pkgs/applications/misc/bitcoin/dogecoin.nix diff --git a/pkgs/applications/misc/bitcoin/altcoins.nix b/pkgs/applications/misc/bitcoin/altcoins.nix index 796cedc1ee2..2643094e2f1 100644 --- a/pkgs/applications/misc/bitcoin/altcoins.nix +++ b/pkgs/applications/misc/bitcoin/altcoins.nix @@ -80,51 +80,4 @@ in rec { }; }; - dogecoin = (buildAltcoin rec { - walletName = "dogecoin"; - version = "1.8.0"; - - src = fetchurl { - url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz"; - sha256 = "8a33958c04213cd621aa3c86910477813af22512f03b47c98995d20d31f3f935"; - }; - - extraBuildInputs = [ autogen autoconf automake pkgconfig db utillinux protobuf ]; - - meta = { - description = "Wow, such coin, much shiba, very rich"; - longDescription = "wow"; - homepage = http://www.dogecoin.com/; - maintainers = [ maintainers.offline maintainers.edwtjo ]; - }; - }).override rec { - patchPhase = '' - sed -i \ - -e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db}/include",g' \ - -e 's,BDB_LIBS=$,BDB_LIBS="-L${db}/lib",g' \ - -e 's,bdbdirlist=$,bdbdirlist="${db}/include",g' \ - src/m4/dogecoin_find_bdb51.m4 - ''; - dogeConfigure = '' - ./autogen.sh \ - && ./configure --prefix=$out \ - --with-incompatible-bdb \ - --with-boost-libdir=${boost}/lib \ - ''; - dogeInstall = '' - install -D "src/dogecoin-cli" "$out/bin/dogecoin-cli" - install -D "src/dogecoind" "$out/bin/dogecoind" - ''; - configurePhase = dogeConfigure + "--with-gui"; - installPhase = dogeInstall + "install -D src/qt/dogecoin-qt $out/bin/dogecoin-qt"; - }; - - dogecoind = dogecoin.override rec { - gui = false; - makefile = "Makefile"; - preBuild = ""; - configurePhase = dogecoin.dogeConfigure + "--without-gui"; - installPhase = dogecoin.dogeInstall; - }; - } diff --git a/pkgs/applications/misc/bitcoin/dogecoin.nix b/pkgs/applications/misc/bitcoin/dogecoin.nix new file mode 100644 index 00000000000..7ace3c161c7 --- /dev/null +++ b/pkgs/applications/misc/bitcoin/dogecoin.nix @@ -0,0 +1,71 @@ +{ fetchurl, stdenv, pkgconfig +, openssl, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf +, utillinux, autogen, autoconf, autobuild, automake, db }: + +with stdenv.lib; + +let + + mkAutotoolCoin = + { name, version, withGui, src, meta }: + + stdenv.mkDerivation { + inherit src meta; + + name = name + (toString (optional (!withGui) "d")) + "-" + version; + + buildInputs = [ autogen autoconf automake pkgconfig openssl + boost zlib miniupnpc db utillinux protobuf ] + ++ optionals withGui [ qt4 qrencode ]; + + patchPhase = '' + sed -i \ + -e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db}/include",g' \ + -e 's,BDB_LIBS=$,BDB_LIBS="-L${db}/lib",g' \ + -e 's,bdbdirlist=$,bdbdirlist="${db}/include",g' \ + src/m4/dogecoin_find_bdb51.m4 + ''; + + configurePhase = '' + ./autogen.sh \ + && ./configure --prefix=$out \ + --with-incompatible-bdb \ + --with-boost-libdir=${boost}/lib \ + ${ if withGui then "--with-gui" else "" } + ''; + + installPhase = '' + install -D "src/dogecoin-cli" "$out/bin/dogecoin-cli" + install -D "src/dogecoind" "$out/bin/dogecoind" + ${ if withGui then "install -D src/qt/dogecoin-qt $out/bin/dogecoin-qt" else "" } + ''; + + }; + + mkDogeCoin = { withGui }: + + mkAutotoolCoin rec { + name = "dogecoin"; + version = "1.8.0"; + inherit withGui; + + src = fetchurl { + url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz"; + sha256 = "8a33958c04213cd621aa3c86910477813af22512f03b47c98995d20d31f3f935"; + }; + + meta = { + description = "Wow, such coin, much shiba, very rich"; + longDescription = "wow"; + homepage = http://www.dogecoin.com/; + license = licenses.mit; + maintainers = with maintainers; [ edwtjo offline ]; + }; + }; + +in { + + dogecoin = mkDogeCoin { withGui = true; }; + dogecoind = mkDogeCoin { withGui = false; }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1f9487ab4a..ceebde40e8a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8285,7 +8285,8 @@ let bitcoind = callPackage ../applications/misc/bitcoin { gui = false; }; altcoins = recurseIntoAttrs ( - callPackage ../applications/misc/bitcoin/altcoins.nix {} + (callPackage ../applications/misc/bitcoin/altcoins.nix {}) // + (callPackage ../applications/misc/bitcoin/dogecoin.nix {}) ); bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { @@ -9211,7 +9212,7 @@ let lynx = callPackage ../applications/networking/browsers/lynx { }; lyx = callPackage ../applications/misc/lyx { }; - + makeself = callPackage ../applications/misc/makeself { }; matchbox = callPackage ../applications/window-managers/matchbox { }; From a4b794bb733b11a021990fb81a610a3e750300e5 Mon Sep 17 00:00:00 2001 From: Patrick Mahoney Date: Sat, 30 Aug 2014 00:05:23 -0500 Subject: [PATCH 0312/2163] s6-portable-utils: new package s6-portable-utils is a set of tiny general Unix utilities, often performing well-known tasks such as cut and grep, but optimized for simplicity and small size. --- pkgs/tools/misc/s6-portable-utils/default.nix | 55 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 57 insertions(+) create mode 100644 pkgs/tools/misc/s6-portable-utils/default.nix diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix new file mode 100644 index 00000000000..f8e7dfaddc9 --- /dev/null +++ b/pkgs/tools/misc/s6-portable-utils/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchurl, skalibs }: + +let + + version = "1.0.3.2"; + +in stdenv.mkDerivation rec { + + name = "s6-portable-utils-${version}"; + + src = fetchurl { + url = "http://www.skarnet.org/software/s6-portable-utils/${name}.tar.gz"; + sha256 = "040nmls7qbgw8yn502lym4kgqh5zxr2ks734bqajpi2ricnasvhl"; + }; + + buildInputs = [ skalibs ]; + + sourceRoot = "admin/${name}"; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-install-command + printf "$out/libexec" > conf-install-libexec + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + printf "${skalibs}/sysdeps" > import + printf "%s" "${skalibs}/include" > path-include + printf "%s" "${skalibs}/lib" > path-library + + rm -f flag-slashpackage + touch flag-allstatic + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + preInstall = '' + mkdir -p "$out/libexec" + ''; + + meta = { + homepage = http://www.skarnet.org/software/s6-portable-utils/; + description = "A set of tiny general Unix utilities optimized for simplicity and small size."; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1f9487ab4a..5aa699805f3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2051,6 +2051,8 @@ let ruby = ruby18; }; + s6PortableUtils = callPackage ../tools/misc/s6-portable-utils { }; + sablotron = callPackage ../tools/text/xml/sablotron { }; safecopy = callPackage ../tools/system/safecopy { }; From 1030ca055012483d9b226c117e81ba1693e2ce2e Mon Sep 17 00:00:00 2001 From: Patrick Mahoney Date: Sat, 30 Aug 2014 00:06:42 -0500 Subject: [PATCH 0313/2163] s6-dns: new package s6-dns is a suite of DNS client programs and libraries for Unix systems, as an alternative to the BIND, djbdns or other DNS clients. --- pkgs/tools/networking/s6-dns/default.nix | 53 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/tools/networking/s6-dns/default.nix diff --git a/pkgs/tools/networking/s6-dns/default.nix b/pkgs/tools/networking/s6-dns/default.nix new file mode 100644 index 00000000000..3165434de3d --- /dev/null +++ b/pkgs/tools/networking/s6-dns/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchurl, skalibs }: + +let + + version = "0.1.0.0"; + +in stdenv.mkDerivation rec { + + name = "s6-dns-${version}"; + + src = fetchurl { + url = "http://www.skarnet.org/software/s6-dns/${name}.tar.gz"; + sha256 = "1r82l5fnz2rrwm5wq2sldqp74lk9fifr0d8hyq98xdyh24hish68"; + }; + + buildInputs = [ skalibs ]; + + sourceRoot = "web/${name}"; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-install-command + printf "$out/include" > conf-install-include + printf "$out/lib" > conf-install-library + printf "$out/lib" > conf-install-library.so + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + printf "${skalibs}/sysdeps" > import + printf "%s" "${skalibs}/include" > path-include + printf "%s" "${skalibs}/lib" > path-library + + rm -f flag-slashpackage + touch flag-allstatic + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + meta = { + homepage = http://www.skarnet.org/software/s6-dns/; + description = "A suite of DNS client programs and libraries for Unix systems."; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5aa699805f3..14f41703f4d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2051,6 +2051,8 @@ let ruby = ruby18; }; + s6Dns = callPackage ../tools/networking/s6-dns { }; + s6PortableUtils = callPackage ../tools/misc/s6-portable-utils { }; sablotron = callPackage ../tools/text/xml/sablotron { }; From 9247013255acfe2a81c5a6fa7c1bee1febef7d09 Mon Sep 17 00:00:00 2001 From: Patrick Mahoney Date: Sat, 30 Aug 2014 00:07:45 -0500 Subject: [PATCH 0314/2163] s6-networking: new package s6-networking is a suite of small networking utilities for Unix systems including UCSPI Unix and TCP tools, access control tools, and network time management utilities. --- .../networking/s6-networking/default.nix | 63 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/tools/networking/s6-networking/default.nix diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix new file mode 100644 index 00000000000..3d5e3e04811 --- /dev/null +++ b/pkgs/tools/networking/s6-networking/default.nix @@ -0,0 +1,63 @@ +{ stdenv +, execline +, fetchurl +, s6Dns +, skalibs +}: + +let + + version = "0.1.0.0"; + +in stdenv.mkDerivation rec { + + name = "s6-networking-${version}"; + + src = fetchurl { + url = "http://www.skarnet.org/software/s6-networking/${name}.tar.gz"; + sha256 = "1np9m2j1i2450mbcjvpbb56kv3wc2fbyvmv2a039q61j2lk6vjz7"; + }; + + buildInputs = [ skalibs s6Dns execline ]; + + sourceRoot = "net/${name}"; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-install-command + printf "$out/include" > conf-install-include + printf "$out/lib" > conf-install-library + printf "$out/lib" > conf-install-library.so + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + printf "${skalibs}/sysdeps" > import + + rm -f path-include + rm -f path-library + for dep in "${execline}" "${s6Dns}" "${skalibs}"; do + printf "%s\n" "$dep/include" >> path-include + printf "%s\n" "$dep/lib" >> path-library + done + + rm -f flag-slashpackage + touch flag-allstatic + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + meta = { + homepage = http://www.skarnet.org/software/s6-networking/; + description = "A suite of small networking utilities for Unix systems."; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 14f41703f4d..bf0cc411e1d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2053,6 +2053,8 @@ let s6Dns = callPackage ../tools/networking/s6-dns { }; + s6Networking = callPackage ../tools/networking/s6-networking { }; + s6PortableUtils = callPackage ../tools/misc/s6-portable-utils { }; sablotron = callPackage ../tools/text/xml/sablotron { }; From b5f33dc13379ef2821d9e40a74206f22e8501cbb Mon Sep 17 00:00:00 2001 From: Patrick Mahoney Date: Sat, 30 Aug 2014 00:12:38 -0500 Subject: [PATCH 0315/2163] s6-linux-utils: new package s6-linux-utils is a set of minimalistic Linux-specific system utilities. --- .../linux/s6-linux-utils/default.nix | 53 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/os-specific/linux/s6-linux-utils/default.nix diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix new file mode 100644 index 00000000000..0f0967079df --- /dev/null +++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchurl, skalibs }: + +let + + version = "1.0.3.1"; + +in stdenv.mkDerivation rec { + + name = "s6-linux-utils-${version}"; + + src = fetchurl { + url = "http://www.skarnet.org/software/s6-linux-utils/${name}.tar.gz"; + sha256 = "1s17g03z5hfpiz32g001g5wyamyvn9l36fr2csk3k7r0jkqfnl0d"; + }; + + buildInputs = [ skalibs ]; + + sourceRoot = "admin/${name}"; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-install-command + printf "$out/include" > conf-install-include + printf "$out/lib" > conf-install-library + printf "$out/lib" > conf-install-library.so + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + printf "${skalibs}/sysdeps" > import + printf "%s" "${skalibs}/include" > path-include + printf "%s" "${skalibs}/lib" > path-library + + rm -f flag-slashpackage + touch flag-allstatic + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + meta = { + homepage = http://www.skarnet.org/software/s6-linux-utils/; + description = "A set of minimalistic Linux-specific system utilities."; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bf0cc411e1d..a29145144a1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2053,6 +2053,8 @@ let s6Dns = callPackage ../tools/networking/s6-dns { }; + s6LinuxUtils = callPackage ../os-specific/linux/s6-linux-utils { }; + s6Networking = callPackage ../tools/networking/s6-networking { }; s6PortableUtils = callPackage ../tools/misc/s6-portable-utils { }; From f7aa6e1140fcc1e006a0030ae00b7e5ca646ae25 Mon Sep 17 00:00:00 2001 From: Philip Horger Date: Sun, 24 Aug 2014 13:43:53 -0700 Subject: [PATCH 0316/2163] Fix pianobar license to be accurate (MIT) This was broken, in a well-intentioned way, in 9350c1d. The maintainer believed that the Pandora license was in conflict with nixpkg's rights to build the package, and that it would be safer to avoid picking a fight. However well-intentioned, though, it was still inaccurate and unnecessary to change the metadata for the package nixexpr. I will attempt to support this assertion through several arguments that should hopefully be independent, such that any one of them would be convincing enough in isolation to merit merging this commit. 1. The limits of Pandora's TOS The legal agreement between Pandora and its users applies to the user, not to third parties. It definitely does not have such an outrageous scope that Pandora should be allowed to dictate what we may or may not compile. Furthermore, most TOS and EULA documents are completely (or at least mostly) legally bunk. They are constructed such that using any website or software in a typical manner will result in a violation, and the consequences for violation are then enforced selectively. However, when such issues go to court, the court regularly favors the user. Legal precedent generally follows that such agreements are non-binding scare tactics, rather than enforceable contracts. 2. Most software can be used for evil If I buy a lockpick kit, it may have a fully open-source hardware design, be 3D-print-able, etc. And as long as I don't use it to break into someone else's home, it is perfectly appropriate for me to manufacture as many copies as I want, and contribute improvements upstream. Conversely, if I do misuse the tools, and I am prosecuted, the person who made the designs available online is *not* responsible for how I used them. If we only package things that cannot be used for evil, we'll have to stop shipping the Linux kernel, and that could make things... complicated. But it certainly would discourage the NSA from using NixOS. 3. Intent doesn't matter There was an argument, in channel, that pianobar's intent is entirely or predominantly illegal. This is not true, as I'll explain shortly, but I'd first like to explain why intent does not matter. First of all, intent is subjective. If someone bumps me on the street, I may infer ill intent. But from the other person's perspective, she's just in a rush to get from Point A to Point B. Second, intent is not related to consequences or development methodology. Ill intent may lead to positive consequences, and vice versa, and in all cases the subjectivity argument applies (good for whom? bad for whom?). 4. Pianobar does not have bad intent Just look at the project page: http://6xq.net/projects/pianobar/ The "most important" means of contribution, according to author, is keeping Pandora alive. In fact, monetary donations of any kind will not be accepted. This seems like it's in conflict with one of the most popular features of the software - an ad-free experience. But pianobar actually has a better experience when you have a paid Pandora account - higher-quality streams become available. Pianobar is fully compatible with paid accounts, and if the developer does not pay for his Pandora account, I will eat my hat. Furthermore, a command line client enables more people to use Pandora in more ways than the stock Pandora client allows. The stock client is written in Flash, and is slow, resource-hungry, and useless on a headless server. Pianobar can be used on just about any hardware, and there are several hardware recipes listed on the project page which provide straightforward Pandora-based music appliances, using pianobar's minimal footprint and remote-control-ability. Because it opens up more use cases and improves the experience for paid users, it's actually arguable whether pianobar is "bad for Pandora", when it clearly *could* be the opposite. It is also probably fair to note that pianobar has been around for awhile, and Pandora has never expressed an interest in picking a legal fight with it, or even blocking pianobar from working. 5. Pianobar's source really is MIT-licensed It is disingenuous to say that pianobar is nonfree. It's absolutely free software, you can verify the license content against the MIT license text for yourself. It is developed and distributed as free and open source software. The extent of its 'nonfreedom' is that it interacts with a nonfree service, in ways that the nonfree service may not allow for in their TOS. To block it on these grounds, would be like blocking Libreoffice for its Microsoft Word compatibility, or preventing users from visiting websites that say "this site only for use with IE7". ------------ In summary, we should strive for technical accuracy, rather than allowing a third-party pseudocontract that does not apply to us, to dictate what we may or may not package for our users (who may or may not use it in a way that benefits Pandora). --- pkgs/applications/audio/pianobar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix index a9f4b02fa08..b2f44513bba 100644 --- a/pkgs/applications/audio/pianobar/default.nix +++ b/pkgs/applications/audio/pianobar/default.nix @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { description = "A console front-end for Pandora.com"; homepage = "http://6xq.net/projects/pianobar/"; platforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.unfree; + license = stdenv.lib.licenses.mit; }; } From 3f0ebe7e7542c5cb81acfeffb025f9ab1a5a755a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 30 Aug 2014 07:28:26 +0200 Subject: [PATCH 0317/2163] licenses: comment about two versions of MIT I decided to follow spdx.org and not to differentiate those two. Packages would often have the wrong version anyway. --- lib/licenses.nix | 2 ++ pkgs/applications/audio/pianobar/default.nix | 2 +- pkgs/development/libraries/expat/default.nix | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/licenses.nix b/lib/licenses.nix index 812592c74f2..bdcf8a7b8a7 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -194,6 +194,8 @@ rec { fullName = "Lucent Public License v1.02"; }; + # spdx.org does not (yet) differentiate between the X11 and Expat versions + # for details see http://en.wikipedia.org/wiki/MIT_License#Various_versions mit = spdx { shortName = "MIT"; fullName = "MIT License"; diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix index b2f44513bba..a91f25126c1 100644 --- a/pkgs/applications/audio/pianobar/default.nix +++ b/pkgs/applications/audio/pianobar/default.nix @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { description = "A console front-end for Pandora.com"; homepage = "http://6xq.net/projects/pianobar/"; platforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.mit; + license = stdenv.lib.licenses.mit; # expat version }; } diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix index d7915a93962..9a49225d172 100644 --- a/pkgs/development/libraries/expat/default.nix +++ b/pkgs/development/libraries/expat/default.nix @@ -8,9 +8,10 @@ stdenv.mkDerivation rec { sha256 = "11pblz61zyxh68s5pdcbhc30ha1b2vfjd83aiwfg4vc15x3hadw2"; }; - meta = { + meta = with stdenv.lib; { homepage = http://www.libexpat.org/; description = "A stream-oriented XML parser library written in C"; - platforms = stdenv.lib.platforms.all; + platforms = platforms.all; + license = licenses.mit; # expat version }; } From 685cded7b5b4d9dc426cd25f942324738b587e22 Mon Sep 17 00:00:00 2001 From: Longrin Wischnewski Date: Sat, 30 Aug 2014 09:14:19 +0200 Subject: [PATCH 0318/2163] nanoblogger: adding version 3.5-rc1 --- .../applications/misc/nanoblogger/default.nix | 29 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/applications/misc/nanoblogger/default.nix diff --git a/pkgs/applications/misc/nanoblogger/default.nix b/pkgs/applications/misc/nanoblogger/default.nix new file mode 100644 index 00000000000..e910c9ed22e --- /dev/null +++ b/pkgs/applications/misc/nanoblogger/default.nix @@ -0,0 +1,29 @@ +{ fetchurl, stdenv, bash }: + +stdenv.mkDerivation rec { + version = "3.5-rc1"; + name = "nanoblogger-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/nanoblogger/${name}.tar.gz"; + sha256 = "09mv52a5f0h3das8x96irqyznm69arfskx472b7w3b9q4a2ipxbq"; + }; + + buildInputs = [ ]; + + installPhase = '' + mkdir -p $out/bin + cp -r * $out + cat > $out/bin/nb << EOF + #!${bash}/bin/bash + $out/nb "\$@" + EOF + chmod 755 $out/bin/nb + ''; + + meta = { + description = "Small weblog engine written in Bash for the command line"; + homepage = http://nanoblogger.sourceforge.net/; + license = stdenv.lib.licenses.gpl2; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0a97c43463d..0fef9addc71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9427,6 +9427,8 @@ let nano = callPackage ../applications/editors/nano { }; + nanoblogger = callPackage ../applications/misc/nanoblogger { }; + navipowm = callPackage ../applications/misc/navipowm { }; navit = callPackage ../applications/misc/navit { }; From 58bc1ef3d854f47d91d800d9bcfb9a0bee6bbcf1 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 30 Aug 2014 02:56:28 +0200 Subject: [PATCH 0319/2163] chromium: Remove all NSAPI browser wrappers. Chromium doesn't support NSAPI anymore, so it doesn't make sense to keep the wrappers, especially because some of them trigger bugs in more recent versions of Chromium. Signed-off-by: aszlig --- pkgs/top-level/all-packages.nix | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f990524d5c8..2305a3fe98f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8343,20 +8343,16 @@ let chatzilla = callPackage ../applications/networking/irc/chatzilla { }; - chromium = lowPrio (callPackage ../applications/networking/browsers/chromium { + chromium = callPackage ../applications/networking/browsers/chromium { channel = "stable"; pulseSupport = config.pulseaudio or true; enablePepperFlash = config.chromium.enablePepperFlash or false; enablePepperPDF = config.chromium.enablePepperPDF or false; - }); + }; chromiumBeta = lowPrio (chromium.override { channel = "beta"; }); - chromiumBetaWrapper = lowPrio (wrapChromium chromiumBeta); chromiumDev = lowPrio (chromium.override { channel = "dev"; }); - chromiumDevWrapper = lowPrio (wrapChromium chromiumDev); - - chromiumWrapper = wrapChromium chromium; cinelerra = callPackage ../applications/video/cinelerra { }; @@ -10069,13 +10065,6 @@ let wordnet = callPackage ../applications/misc/wordnet { }; - wrapChromium = browser: wrapFirefox { - inherit browser; - browserName = browser.packageName; - desktopName = "Chromium"; - icon = "${browser}/share/icons/hicolor/48x48/apps/${browser.packageName}.png"; - }; - wrapFirefox = { browser, browserName ? "firefox", desktopName ? "Firefox", nameSuffix ? "" , icon ? "${browser}/lib/${browser.name}/browser/icons/mozicon128.png" }: From f175833fd62e022b9d51a66dac06676dfa15ccec Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 30 Aug 2014 03:15:57 +0200 Subject: [PATCH 0320/2163] chromium: Update beta and dev to latest versions. beta: 37.0.2062.94 -> 38.0.2125.24 (builds fine, tested) dev: 38.0.2125.8 -> 39.0.2138.3 (builds fine, tested) Introduces the new version 39 and finally separates stable/beta again. Signed-off-by: aszlig --- .../browsers/chromium/source/sources.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix index 71c825188c3..27ba9420f43 100644 --- a/pkgs/applications/networking/browsers/chromium/source/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix @@ -1,16 +1,16 @@ # This file is autogenerated from update.sh in the parent directory. { dev = { - version = "38.0.2125.8"; - sha256 = "1h3vkp0mgznqv48ksnsndlh7ywh3jby25x6dxxd7py445pg6y3c6"; - sha256bin32 = "1ynqm5yp7m8j3mwgqaa2vvw835g9ifn3dfniqh9z9n0swha27a69"; - sha256bin64 = "1vdm4wffkvj3jwrb2nihghxkxcvp81xcc5wygpd1w495vrhy4bpf"; + version = "39.0.2138.3"; + sha256 = "0adkzv4ydrg02prcacqx3gk8v0ivvs57qisf220wzzicgpzklm26"; + sha256bin32 = "0rskbr55nhvpmmw6bl90iv2lr0f2chra3r5c92j3ica307y12f2q"; + sha256bin64 = "0gdyyaxiaq50jpwhvai6d67ypgjxqn8kp9fqix6nbwj4fnmdfcjx"; }; beta = { - version = "37.0.2062.94"; - sha256 = "0cz5kivimxcaiml6x5mysarjyfvvanbw02qz2d1y3jvl1dc1jz6j"; - sha256bin32 = "0pa209sjdfb0y96kicvp4lnn1inwdcgj8kpmn28cmi8l1cr8yy3b"; - sha256bin64 = "0kk2dm2gwvzvrrp03k7cw6zzp3197lrq2p1si3pr2wbgm8sb5dk5"; + version = "38.0.2125.24"; + sha256 = "07v4vk7sc54d2hzgfms0b71cc7z6h85v9d39j110kzk0w1bpk3gy"; + sha256bin32 = "0l26ci7sqi755cm017qmbcqk74rqja5c08cbzf5v4chsa773qn0m"; + sha256bin64 = "1ibx40ijjj8z0smpzh5v6y611c57qm5raldk48h5dd1flqbgz0nr"; }; stable = { version = "37.0.2062.94"; From a283bec71cec60c2b9c84ea9af320fc8df0dfd5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 30 Aug 2014 09:44:07 +0200 Subject: [PATCH 0321/2163] glibc: fix CVE-2014-5119 by Debian patch --- .../libraries/glibc/2.19/common.nix | 1 + .../libraries/glibc/2.19/cve-2014-5119.patch | 206 ++++++++++++++++++ 2 files changed, 207 insertions(+) create mode 100644 pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch diff --git a/pkgs/development/libraries/glibc/2.19/common.nix b/pkgs/development/libraries/glibc/2.19/common.nix index cd1ba747d7c..a828148c3d5 100644 --- a/pkgs/development/libraries/glibc/2.19/common.nix +++ b/pkgs/development/libraries/glibc/2.19/common.nix @@ -60,6 +60,7 @@ stdenv.mkDerivation ({ ./fix-math.patch ./cve-2014-0475.patch + ./cve-2014-5119.patch ]; postPatch = '' diff --git a/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch b/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch new file mode 100644 index 00000000000..cbae03425eb --- /dev/null +++ b/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch @@ -0,0 +1,206 @@ +http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/trunk/debian/patches/any/cvs-CVE-2014-5119.diff?revision=6248&view=co + +commit a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8 +Author: Florian Weimer +Date: Tue Aug 26 19:38:59 2014 +0200 + + __gconv_translit_find: Disable function [BZ #17187] + + This functionality has never worked correctly, and the implementation + contained a security vulnerability (CVE-2014-5119). + +2014-08-26 Florian Weimer + + [BZ #17187] + * iconv/gconv_trans.c (struct known_trans, search_tree, lock, + trans_compare, open_translit, __gconv_translit_find): + Remove module loading code. + +--- a/iconv/gconv_trans.c ++++ b/iconv/gconv_trans.c +@@ -238,181 +238,12 @@ __gconv_transliterate (struct __gconv_step *step, + return __GCONV_ILLEGAL_INPUT; + } + +- +-/* Structure to represent results of found (or not) transliteration +- modules. */ +-struct known_trans +-{ +- /* This structure must remain the first member. */ +- struct trans_struct info; +- +- char *fname; +- void *handle; +- int open_count; +-}; +- +- +-/* Tree with results of previous calls to __gconv_translit_find. */ +-static void *search_tree; +- +-/* We modify global data. */ +-__libc_lock_define_initialized (static, lock); +- +- +-/* Compare two transliteration entries. */ +-static int +-trans_compare (const void *p1, const void *p2) +-{ +- const struct known_trans *s1 = (const struct known_trans *) p1; +- const struct known_trans *s2 = (const struct known_trans *) p2; +- +- return strcmp (s1->info.name, s2->info.name); +-} +- +- +-/* Open (maybe reopen) the module named in the struct. Get the function +- and data structure pointers we need. */ +-static int +-open_translit (struct known_trans *trans) +-{ +- __gconv_trans_query_fct queryfct; +- +- trans->handle = __libc_dlopen (trans->fname); +- if (trans->handle == NULL) +- /* Not available. */ +- return 1; +- +- /* Find the required symbol. */ +- queryfct = __libc_dlsym (trans->handle, "gconv_trans_context"); +- if (queryfct == NULL) +- { +- /* We cannot live with that. */ +- close_and_out: +- __libc_dlclose (trans->handle); +- trans->handle = NULL; +- return 1; +- } +- +- /* Get the context. */ +- if (queryfct (trans->info.name, &trans->info.csnames, &trans->info.ncsnames) +- != 0) +- goto close_and_out; +- +- /* Of course we also have to have the actual function. */ +- trans->info.trans_fct = __libc_dlsym (trans->handle, "gconv_trans"); +- if (trans->info.trans_fct == NULL) +- goto close_and_out; +- +- /* Now the optional functions. */ +- trans->info.trans_init_fct = +- __libc_dlsym (trans->handle, "gconv_trans_init"); +- trans->info.trans_context_fct = +- __libc_dlsym (trans->handle, "gconv_trans_context"); +- trans->info.trans_end_fct = +- __libc_dlsym (trans->handle, "gconv_trans_end"); +- +- trans->open_count = 1; +- +- return 0; +-} +- +- + int + internal_function + __gconv_translit_find (struct trans_struct *trans) + { +- struct known_trans **found; +- const struct path_elem *runp; +- int res = 1; +- +- /* We have to have a name. */ +- assert (trans->name != NULL); +- +- /* Acquire the lock. */ +- __libc_lock_lock (lock); +- +- /* See whether we know this module already. */ +- found = __tfind (trans, &search_tree, trans_compare); +- if (found != NULL) +- { +- /* Is this module available? */ +- if ((*found)->handle != NULL) +- { +- /* Maybe we have to reopen the file. */ +- if ((*found)->handle != (void *) -1) +- /* The object is not unloaded. */ +- res = 0; +- else if (open_translit (*found) == 0) +- { +- /* Copy the data. */ +- *trans = (*found)->info; +- (*found)->open_count++; +- res = 0; +- } +- } +- } +- else +- { +- size_t name_len = strlen (trans->name) + 1; +- int need_so = 0; +- struct known_trans *newp; +- +- /* We have to continue looking for the module. */ +- if (__gconv_path_elem == NULL) +- __gconv_get_path (); +- +- /* See whether we have to append .so. */ +- if (name_len <= 4 || memcmp (&trans->name[name_len - 4], ".so", 3) != 0) +- need_so = 1; +- +- /* Create a new entry. */ +- newp = (struct known_trans *) malloc (sizeof (struct known_trans) +- + (__gconv_max_path_elem_len +- + name_len + 3) +- + name_len); +- if (newp != NULL) +- { +- char *cp; +- +- /* Clear the struct. */ +- memset (newp, '\0', sizeof (struct known_trans)); +- +- /* Store a copy of the module name. */ +- newp->info.name = cp = (char *) (newp + 1); +- cp = __mempcpy (cp, trans->name, name_len); +- +- newp->fname = cp; +- +- /* Search in all the directories. */ +- for (runp = __gconv_path_elem; runp->name != NULL; ++runp) +- { +- cp = __mempcpy (__stpcpy ((char *) newp->fname, runp->name), +- trans->name, name_len); +- if (need_so) +- memcpy (cp, ".so", sizeof (".so")); +- +- if (open_translit (newp) == 0) +- { +- /* We found a module. */ +- res = 0; +- break; +- } +- } +- +- if (res) +- newp->fname = NULL; +- +- /* In any case we'll add the entry to our search tree. */ +- if (__tsearch (newp, &search_tree, trans_compare) == NULL) +- { +- /* Yickes, this should not happen. Unload the object. */ +- res = 1; +- /* XXX unload here. */ +- } +- } +- } +- +- __libc_lock_unlock (lock); +- +- return res; ++ /* Transliteration module loading has been removed because it never ++ worked as intended and suffered from a security vulnerability. ++ Consequently, this function always fails. */ ++ return 1; + } From d8727a927ad5deecabce0cc7ae90b46065b33a3f Mon Sep 17 00:00:00 2001 From: Longrin Wischnewski Date: Sat, 30 Aug 2014 10:00:12 +0200 Subject: [PATCH 0322/2163] Symbola: fix download url's, adjust installPhase and meta --- pkgs/data/fonts/symbola/default.nix | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/pkgs/data/fonts/symbola/default.nix b/pkgs/data/fonts/symbola/default.nix index 993a4c4f46d..b324e52d021 100644 --- a/pkgs/data/fonts/symbola/default.nix +++ b/pkgs/data/fonts/symbola/default.nix @@ -1,40 +1,39 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, unzip }: stdenv.mkDerivation rec { name = "symbola-7.12"; - ttf = fetchurl { - url = "http://users.teilar.gr/~g1951d/Symbola.ttf"; - sha256 = "7acc058bd4e56cc986b2a46420520f59be402c3565c202b5dcebca7f3bfd8b5a"; + src = fetchurl { + url = "http://users.teilar.gr/~g1951d/Symbola.zip"; + sha256 = "19q5wcqk1rz8ps7jvvx1rai6x8ais79z71sm8d36hvsk2vr135al"; }; docs_pdf = fetchurl { url = "http://users.teilar.gr/~g1951d/Symbola.pdf"; - sha256 = "11bb082ba5c2780a6f94a9bcddf4f314a54e2650bb63ce3081d1dc867c5e6843"; - }; - docs_docx = fetchurl { - url = "http://users.teilar.gr/~g1951d/Symbola.docx"; - sha256 = "4f0ab494e1e5a7aac147aa7bb8b8bdba7278aee2da942a35f995feb9051515b9"; + sha256 = "11h2202p1p4np4nv5m8k41wk7431p2m35sjpmbi1ygizakkbla3p"; }; + buildInputs = [ unzip ]; + phases = [ "installPhase" ]; installPhase = '' + unzip ${src} mkdir -p $out/share/fonts/truetype - cp -v "$ttf" $out/share/fonts/truetype/"${ttf.name}" + cp -v Symbola.ttf $out/share/fonts/truetype/ + cp -v Symbola_hint.ttf $out/share/fonts/truetype/ mkdir -p "$out/doc/${name}" + cp -v Symbola.docx "$out/doc/${name}/" + cp -v Symbola.htm "$out/doc/${name}/" cp -v "$docs_pdf" "$out/doc/${name}/${docs_pdf.name}" - cp -v "$docs_docx" "$out/doc/${name}/${docs_docx.name}" ''; meta = { - description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode..."; - + description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; # In lieu of a licence: # Fonts in this site are offered free for any use; # they may be installed, embedded, opened, edited, modified, regenerated, posted, packaged and redistributed. - license = "Unicode Fonts for Ancient Scripts"; - + license = stdenv.lib.licenses.free; homepage = http://users.teilar.gr/~g1951d/; }; } From fccf486762eb7213a27b4d265ef7eaf2487e7406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 30 Aug 2014 10:17:40 +0200 Subject: [PATCH 0323/2163] libav: maintenance+security update CVE-2013-{0848,3672,3674,7020} and CVE-2014-{2098,2263} --- pkgs/development/libraries/libav/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix index 2f9e1786473..264868e4a97 100644 --- a/pkgs/development/libraries/libav/default.nix +++ b/pkgs/development/libraries/libav/default.nix @@ -28,7 +28,7 @@ let result = { libav_0_8 = libavFun "0.8.13" "1fr3rzykrlm1cla0csm9hqa3gcqp19hf5rgn70nyb9w92r67v685"; libav_9 = libavFun "9.16" "18378gdgzqsxaacc9vl7ligwndbdvy95wbn50hs8xvdqn1rn916a"; - libav_10 = libavFun "10.3" "1fq83rc5534fjqjlhkw5i9k54dmyqn2pgvyillm6pws8rkn9yb5r"; + libav_10 = libavFun "10.4" "1zzvjfdlv9swhq7dzvli1pk8cn02q1076ax9m3cx9ipilbg21639"; }; libavFun = version : sha256 : stdenv.mkDerivation rec { From 20aacf89a3d197bee10cc8e2d672a8e33f73d296 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 30 Aug 2014 10:25:16 +0200 Subject: [PATCH 0324/2163] libpng: code-cleanup update --- pkgs/development/libraries/libpng/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index 1f04ae8fca5..3f8622535db 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -3,11 +3,11 @@ assert zlib != null; let - version = "1.6.12"; - sha256 = "0pkcirbfzhqqsm3hr2alxprw5n22a836qk4df1jnns6jk79gcby3"; + version = "1.6.13"; + sha256 = "09g631h1f1xvrdiy36mh1034r9w46damp9jcg7nm507wlmacxj6r"; patch_src = fetchurl { url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz"; - sha256 = "0r2vmsc4cvxisjr7jqw2vjf66isb2fhs4nnssz3l3jgdangj8wz0"; + sha256 = "017pnxp3zhhlh6mg2yqn5xrb6dcxc5p3dp1kr46p8xx052i0hzqb"; }; whenPatched = stdenv.lib.optionalString apngSupport; From aa3248c62e55e329ebbc271dcd1dc3a72635a4e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 30 Aug 2014 10:47:22 +0200 Subject: [PATCH 0325/2163] harfbuzz: small update --- pkgs/development/libraries/harfbuzz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 8340660e392..45cdc5be02b 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -8,11 +8,11 @@ # (icu is a ~30 MB dependency, the rest is very small in comparison) stdenv.mkDerivation rec { - name = "harfbuzz-0.9.33"; + name = "harfbuzz-0.9.35"; src = fetchurl { url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2"; - sha256 = "1iql2ghlndqgx9q6p098xf253rjz5rnrv5qniwgd1b5q0jzwa4yk"; + sha256 = "1v86596994bnb9hx7laykhw4ipixqz9ckwzyyqf340pmlsmsi88a"; }; configureFlags = [ From 9c615653ea17c9ba45e654bc7bfae2578463cea6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 30 Aug 2014 11:07:56 +0200 Subject: [PATCH 0326/2163] axis: remove the unused vulnerable version 1.3 --- pkgs/development/libraries/axis/builder.sh | 5 ----- pkgs/development/libraries/axis/default.nix | 16 ---------------- pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 23 deletions(-) delete mode 100644 pkgs/development/libraries/axis/builder.sh delete mode 100644 pkgs/development/libraries/axis/default.nix diff --git a/pkgs/development/libraries/axis/builder.sh b/pkgs/development/libraries/axis/builder.sh deleted file mode 100644 index d979eb9d803..00000000000 --- a/pkgs/development/libraries/axis/builder.sh +++ /dev/null @@ -1,5 +0,0 @@ -source $stdenv/setup - -mkdir -p $out -unpackPhase -mv $directory/* $out diff --git a/pkgs/development/libraries/axis/default.nix b/pkgs/development/libraries/axis/default.nix deleted file mode 100644 index 62ae463b5fc..00000000000 --- a/pkgs/development/libraries/axis/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation { - name = "axis-1.3"; - directory = "axis-1_3"; - builder = ./builder.sh; - src = fetchurl { - url = "http://archive.apache.org/dist/ws/axis/1_3/axis-bin-1_3.tar.gz"; - md5 = "dd8203f08c37872f4fd2bfb45c4bfe04"; - }; - inherit stdenv; - - meta = { - description = "Implementation of the SOAP (Simple Object Access Protocol) submission to W3C"; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2305a3fe98f..94928d92081 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4364,8 +4364,6 @@ let audiofile = callPackage ../development/libraries/audiofile { }; - axis = callPackage ../development/libraries/axis { }; - babl_0_0_22 = callPackage ../development/libraries/babl/0_0_22.nix { }; babl = callPackage ../development/libraries/babl { }; From 01c0be6ece84ff168a33feef08f1f69d1ce91ad7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 30 Aug 2014 11:23:50 +0200 Subject: [PATCH 0327/2163] gstreamer-1: bugfix-only update of all components 1.4.0 -> 1.4.1 --- pkgs/development/libraries/gstreamer/bad/default.nix | 6 +++--- pkgs/development/libraries/gstreamer/base/default.nix | 4 ++-- pkgs/development/libraries/gstreamer/core/default.nix | 6 +++--- pkgs/development/libraries/gstreamer/good/default.nix | 4 ++-- pkgs/development/libraries/gstreamer/libav/default.nix | 4 ++-- pkgs/development/libraries/gstreamer/ugly/default.nix | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index d86e450477d..a02af7f0cd7 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, python, gst-plugins-base, orc , faacSupport ? false, faac ? null , faad2, libass, libkate, libmms -, libmodplug, mpeg2dec, mpg123 +, libmodplug, mpeg2dec, mpg123 , openjpeg, libopus, librsvg , wildmidi, fluidsynth, libvdpau, wayland , libwebp, xvidcore, gnutls @@ -10,7 +10,7 @@ assert faacSupport -> faac != null; stdenv.mkDerivation rec { - name = "gst-plugins-bad-1.4.0"; + name = "gst-plugins-bad-1.4.1"; meta = with stdenv.lib; { description = "Gstreamer Bad Plugins"; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz"; - sha256 = "1y821785rvr6s79cmdll66hg6h740qa2n036xid20nvjyxabfb7z"; + sha256 = "0268db2faaf0bb22e5b709a11633abbca4f3d289b1f513bb262d0bf3f53e19ae"; }; nativeBuildInputs = [ pkgconfig python ]; diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index 9ae5f194fa2..3b9e94f4c65 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "gst-plugins-base-1.4.0"; + name = "gst-plugins-base-1.4.1"; meta = { description = "Base plugins and helper libraries"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"; - sha256 = "07jcs08hjyban0amls5s0g6i4a1hwiir1llwpqzlwkmnhfwx9bjx"; + sha256 = "aea9e25be6691bd3cc0785d005b2b5d70ce313a2c897901680a3f7e7cab5a499"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index a99c0f14ecc..8e9a2b87a01 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection -, glib +, glib }: stdenv.mkDerivation rec { - name = "gstreamer-1.4.0"; + name = "gstreamer-1.4.1"; meta = { description = "Open source multimedia framework"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gstreamer/${name}.tar.xz"; - sha256 = "15f68pn2b47x543ih7hj59czgzl4af14j15bgjq8ky145gf9zhr3"; + sha256 = "5638f75003282135815c0077d491da11e9a884ad91d4ba6ab3cc78bae0fb452e"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index 69ffa81cb25..176814c5ecd 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -7,7 +7,7 @@ }: stdenv.mkDerivation rec { - name = "gst-plugins-good-1.4.0"; + name = "gst-plugins-good-1.4.1"; meta = with stdenv.lib; { description = "Gstreamer Good Plugins"; @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz"; - sha256 = "11965w4zr0jvrsnw33rbcc8d20dlh368rz0x16d2iypzhxwjx9j8"; + sha256 = "8559d4270065b30ed5c49b826e1b7a3a2bd5ee9a340ae745a2ae3f9718e4c637"; }; nativeBuildInputs = [ pkgconfig python ]; diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix index ee4b3c392dd..e25492c1d13 100644 --- a/pkgs/development/libraries/gstreamer/libav/default.nix +++ b/pkgs/development/libraries/gstreamer/libav/default.nix @@ -6,7 +6,7 @@ assert withSystemLibav -> libav != null; stdenv.mkDerivation rec { - name = "gst-libav-1.4.0"; + name = "gst-libav-1.4.1"; meta = { homepage = "http://gstreamer.freedesktop.org"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-libav/${name}.tar.xz"; - sha256 = "1073p7xdpr3pwyx37fnldfni908apnq3k9fbqmxf5wk3g1jplb68"; + sha256 = "fc125521187fa84f3210269a0eecc51f8a856802f1ca4bb251f118dab90c5a9d"; }; configureFlags = stdenv.lib.optionalString withSystemLibav diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix index da37280af99..6a80514e8a1 100644 --- a/pkgs/development/libraries/gstreamer/ugly/default.nix +++ b/pkgs/development/libraries/gstreamer/ugly/default.nix @@ -5,7 +5,7 @@ }: stdenv.mkDerivation rec { - name = "gst-plugins-ugly-1.4.0"; + name = "gst-plugins-ugly-1.4.1"; meta = with stdenv.lib; { description = "Gstreamer Ugly Plugins"; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz"; - sha256 = "0kblc5f4n0mh2sw8dhf7c9dg3wzm7a0p7pqpcff7n6ixy5hbn52k"; + sha256 = "25440435ac4ed795d213f2420a0e7355e4a2e2e76d1f9d020b2073f815e8b071"; }; nativeBuildInputs = [ pkgconfig python ]; From 1f9d579c78c9c4e62cf19ea64f9154f2c1fc8bb5 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 30 Aug 2014 14:34:42 +0400 Subject: [PATCH 0328/2163] =?UTF-8?q?Adding=20gulp=20and=20git-run=20to=20?= =?UTF-8?q?node-packages.json=20=E2=80=94=20failed=20to=20regenerate=20nod?= =?UTF-8?q?e-packages-generated.nix,=20though;=20but=20the=20next=20succes?= =?UTF-8?q?ful=20regeneration=20will=20actually=20add=20these=20packages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/top-level/node-packages.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json index fec7884eb25..1ebb9f290b7 100644 --- a/pkgs/top-level/node-packages.json +++ b/pkgs/top-level/node-packages.json @@ -83,6 +83,7 @@ , "grunt-contrib-uglify" , "grunt-karma" , "grunt-sed" +, "gulp" , "karma" , "karma-mocha" , "karma-coverage" @@ -123,4 +124,5 @@ , "sinon" , "shelljs" , "typescript" +, "git-run" ] From 33cbd6687c32d1a849cdf3f4c7ee0863edc46477 Mon Sep 17 00:00:00 2001 From: Longrin Wischnewski Date: Fri, 22 Aug 2014 13:24:18 +0200 Subject: [PATCH 0329/2163] wxhexeditor: adding version 0.22 wxhexeditor: add the package to all-packages.nix wxhexeditor: fix shebang --- .../editors/wxhexeditor/default.nix | 41 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/applications/editors/wxhexeditor/default.nix diff --git a/pkgs/applications/editors/wxhexeditor/default.nix b/pkgs/applications/editors/wxhexeditor/default.nix new file mode 100644 index 00000000000..de423987c02 --- /dev/null +++ b/pkgs/applications/editors/wxhexeditor/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, wxGTK, autoconf, automake, libtool, python, gettext, bash }: + +stdenv.mkDerivation rec { + name = "wxHexEditor-${version}"; + version = "v0.22"; + + src = fetchurl { + url = "mirror://sourceforge/wxhexeditor/${name}-src.tar.bz2"; + sha256 = "15ir038g4lyw1q5bsay974hvj0nkg2yd9kccwxz808cd45fp411w"; + }; + + buildInputs = [ wxGTK autoconf automake libtool python gettext ]; + + patchPhase = '' + substituteInPlace Makefile --replace "/usr/local" "$out" + substituteInPlace Makefile --replace "mhash; ./configure" "mhash; ./configure --prefix=$out" + substituteInPlace udis86/autogen.sh --replace "/bin/bash" "${bash}/bin/bash" + ''; + + buildPhase = '' + make OPTFLAGS="-fopenmp" + + ''; + + meta = { + description = "Hex Editor / Disk Editor for Huge Files or Devices"; + longDescription = '' + This is not an ordinary hex editor, but could work as low level disk editor too. + If you have problems with your HDD or partition, you can recover your data from HDD or + from partition via editing sectors in raw hex. + You can edit your partition tables or you could recover files from File System by hand + with help of wxHexEditor. + Or you might want to analyze your big binary files, partitions, devices... If you need + a good reverse engineer tool like a good hex editor, you welcome. + wxHexEditor could edit HDD/SDD disk devices or partitions in raw up to exabyte sizes. + ''; + homepage = "http://www.wxhexeditor.org/"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 94928d92081..f9c1b56c309 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10091,6 +10091,8 @@ let gtk_modules = [ libcanberra ]; }; + wxhexeditor = callPackage ../applications/editors/wxhexeditor { }; + x11vnc = callPackage ../tools/X11/x11vnc { }; x2vnc = callPackage ../tools/X11/x2vnc { }; From fcafdd27616b91049c506441802b9cfe970388d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 30 Aug 2014 13:28:44 +0200 Subject: [PATCH 0330/2163] stdenv/setup.sh: unbreak *.lz sources on darwin --- pkgs/stdenv/generic/setup.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index c3b9033b49a..94a73680e3e 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -450,6 +450,10 @@ unpackFile() { # Don't rely on tar knowing about .xz. xz -d < $curSrc | tar xf - ;; + *.tar.lz ) + # Don't rely on tar knowing about .lz. + lzip -d < $curSrc | tar xf - + ;; *.tar | *.tar.* | *.tgz | *.tbz2) # GNU tar can automatically select the decompression method # (info "(tar) gzip"). From 4210665c4f349d95685d14a8eacf21c3cf9e030c Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Sat, 30 Aug 2014 13:47:01 +0100 Subject: [PATCH 0331/2163] mcomix: update to 1.00 --- pkgs/applications/graphics/mcomix/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix index cc1fe8c3a22..53c564beec7 100644 --- a/pkgs/applications/graphics/mcomix/default.nix +++ b/pkgs/applications/graphics/mcomix/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { namePrefix = ""; - name = "mcomix-0.98"; + name = "mcomix-1.00"; src = fetchurl { url = "mirror://sourceforge/mcomix/${name}.tar.bz2"; - sha256 = "93805b6c8540bd673ac4a6ef6e952f00f8fc10e59a63c7e163324a64db2a6b03"; + sha256 = "1phcdx1agacdadz8bvbibdbps1apz8idi668zmkky5cpl84k2ifq"; }; doCheck = false; @@ -28,7 +28,7 @@ buildPythonPackage rec { ''; homepage = http://mcomix.sourceforge.net/; - license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } From 9a26b38ad30406188702603a1ce9d87948a4c1f7 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sat, 30 Aug 2014 15:56:22 +0200 Subject: [PATCH 0332/2163] Make sure gnome-python has gnomevfs binding --- pkgs/desktops/gnome-2/bindings/gnome-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix index ed794715ff8..41ca17bd5e4 100644 --- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix +++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python, pkgconfig, libgnome, GConf, pygobject, pygtk, glib, gtk, pythonDBus}: +{ stdenv, fetchurl, python, pkgconfig, libgnome, GConf, pygobject, pygtk, glib, gtk, pythonDBus, gnome_vfs}: with stdenv.lib; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { cp bonobo/*.{py,defs} $out/share/pygtk/2.0/defs/ ''; - buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome pythonDBus ]; + buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome pythonDBus gnome_vfs ]; doCheck = false; From 7fc369cfca5cdcd3da87f807d005f42545f85fa5 Mon Sep 17 00:00:00 2001 From: Patrick Mahoney Date: Sat, 30 Aug 2014 09:19:23 -0500 Subject: [PATCH 0333/2163] dnsmasq: Replace deprecated ensureDir with mkdir. --- pkgs/tools/networking/dnsmasq/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index 02f24ce4c00..3cfc902711e 100644 --- a/pkgs/tools/networking/dnsmasq/default.nix +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf - ensureDir $out/share/dbus-1/system-services + mkdir -p $out/share/dbus-1/system-services cat < $out/share/dbus-1/system-services/uk.org.thekelleys.dnsmasq.service [D-BUS Service] Name=uk.org.thekelleys.dnsmasq From 098c8f4c77b1ed9ea28b5aabadde24b17df8d568 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jul 2014 14:57:19 -0500 Subject: [PATCH 0334/2163] nixos/network-interfaces: Add support for multiple ipv4 / ipv6 addresses --- nixos/modules/services/networking/dhcpcd.nix | 2 +- nixos/modules/tasks/network-interfaces.nix | 141 +++++++++++-------- 2 files changed, 87 insertions(+), 56 deletions(-) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 89aa9bdb6b6..65b4319b50a 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -11,7 +11,7 @@ let # Don't start dhcpcd on explicitly configured interfaces or on # interfaces that are part of a bridge, bond or sit device. ignoredInterfaces = - map (i: i.name) (filter (i: i.ipAddress != null) (attrValues config.networking.interfaces)) + map (i: i.name) (filter (i: i.ip4 != [ ]) (attrValues config.networking.interfaces)) ++ mapAttrsToList (i: _: i) config.networking.sits ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bridges)) ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bonds)) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 7dabe70f00c..30e2a143419 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -10,6 +10,26 @@ let hasSits = cfg.sits != { }; hasBonds = cfg.bonds != { }; + addrOpts = v: + assert v == 4 || v == 6; + { + address = mkOption { + type = types.str; + description = '' + IPv${toString v} address of the interface. Leave empty to configure the + interface using DHCP. + ''; + }; + + prefixLength = mkOption { + type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128)); + description = '' + Subnet mask of the interface, specified as the number of + bits in the prefix (${if v == 4 then "24" else "64"}). + ''; + }; + }; + interfaceOpts = { name, ... }: { options = { @@ -20,54 +40,64 @@ let description = "Name of the interface."; }; + ip4 = mkOption { + default = [ ]; + example = [ + { address = "10.0.0.1"; prefixLength = 16; } + { address = "192.168.1.1"; prefixLength = 24; } + ]; + type = types.listOf types.optionSet; + options = addrOpts 4; + description = '' + List of IPv4 addresses that will be statically assigned to the interface. + ''; + }; + + ip6 = mkOption { + default = [ ]; + example = [ + { address = "fdfd:b3f0:482::1"; prefixLength = 48; } + { address = "2001:1470:fffd:2098::e006"; prefixLength = 64; } + ]; + type = types.listOf types.optionSet; + options = addrOpts 6; + description = '' + List of IPv6 addresses that will be statically assigned to the interface. + ''; + }; + ipAddress = mkOption { default = null; - example = "10.0.0.1"; - type = types.nullOr (types.str); description = '' - IP address of the interface. Leave empty to configure the - interface using DHCP. + Defunct, create an address in the ip4 list instead. ''; }; prefixLength = mkOption { default = null; - example = 24; - type = types.nullOr types.int; description = '' - Subnet mask of the interface, specified as the number of - bits in the prefix (24). + Defunct, supply the prefix length in the ip4 list instead. ''; }; subnetMask = mkOption { - default = ""; - example = "255.255.255.0"; - type = types.str; + default = null; description = '' - Subnet mask of the interface, specified as a bitmask. - This is deprecated; use - instead. + Defunct, supply the prefix length in the ip4 list instead. ''; }; ipv6Address = mkOption { default = null; - example = "2001:1470:fffd:2098::e006"; - type = types.nullOr types.string; description = '' - IPv6 address of the interface. Leave empty to configure the - interface using NDP. + Defunct, create an address in the ip6 list instead. ''; }; ipv6prefixLength = mkOption { - default = 64; - example = 64; - type = types.int; + default = null; description = '' - Subnet mask of the interface, specified as the number of - bits in the prefix (64). + Defunct, supply the prefix length in the ip6 list instead. ''; }; @@ -438,6 +468,16 @@ in config = { + assertions = + flip map interfaces (i: { + assertion = i.ipAddress == null && i.prefixLength == null && i.subnetMask == null; + message = "The networking.interfaces.${i.name}.ipAddress option is defunct. Use networking.ip4 instead."; + }) + ++ flip map interfaces (i: { + assertion = i.ipv6Address == null && i.ipv6prefixLength == null; + message = "The networking.interfaces.${i.name}.ipv6Address option is defunct. Use networking.ip6 instead."; + }); + boot.kernelModules = [ ] ++ optional cfg.enableIPv6 "ipv6" ++ optional hasVirtuals "tun" @@ -535,11 +575,6 @@ in # has appeared, and it's stopped when the interface # disappears. configureInterface = i: nameValuePair "${i.name}-cfg" - (let mask = - if i.prefixLength != null then toString i.prefixLength else - if i.subnetMask != "" then i.subnetMask else "32"; - staticIPv6 = cfg.enableIPv6 && i.ipv6Address != null; - in { description = "Configuration of ${i.name}"; wantedBy = [ "network-interfaces.target" ]; bindsTo = [ "sys-subsystem-net-devices-${i.name}.device" ]; @@ -562,36 +597,32 @@ in echo "setting MTU to ${toString i.mtu}..." ip link set "${i.name}" mtu "${toString i.mtu}" '' - + optionalString (i.ipAddress != null) + + # Ip Setup + + '' - cur=$(ip -4 -o a show dev "${i.name}" | awk '{print $4}') - # Only do a flush/add if it's necessary. This is + curIps=$(ip -o a show dev "${i.name}" | awk '{print $4}') + # Only do an add if it's necessary. This is # useful when the Nix store is accessed via this # interface (e.g. in a QEMU VM test). - if [ "$cur" != "${i.ipAddress}/${mask}" ]; then - echo "configuring interface..." - ip -4 addr flush dev "${i.name}" - ip -4 addr add "${i.ipAddress}/${mask}" dev "${i.name}" - restart_network_setup=true - else - echo "skipping configuring interface" + '' + + flip concatMapStrings (i.ip4 ++ optionals cfg.enableIPv6 i.ip6) (ip: + let + address = "${ip.address}/${toString ip.prefixLength}"; + in + '' + echo "checking ip ${address}..." + if ! echo "$curIps" | grep "${address}" >/dev/null 2>&1; then + if out=$(ip addr add "${address}" dev "${i.name}" 2>&1); then + echo "added ip ${address}..." + restart_network_setup=true + elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then + echo "failed to add ${address}" + exit 1 + fi fi - '' - + optionalString (staticIPv6) - '' - # Only do a flush/add if it's necessary. This is - # useful when the Nix store is accessed via this - # interface (e.g. in a QEMU VM test). - if ! ip -6 -o a show dev "${i.name}" | grep "${i.ipv6Address}/${toString i.ipv6prefixLength}"; then - echo "configuring interface..." - ip -6 addr flush dev "${i.name}" - ip -6 addr add "${i.ipv6Address}/${toString i.ipv6prefixLength}" dev "${i.name}" - restart_network_setup=true - else - echo "skipping configuring interface" - fi - '' - + optionalString (i.ipAddress != null || staticIPv6) + '') + + optionalString (i.ip4 != [ ] || (cfg.enableIPv6 && i.ip6 != [ ])) '' if [ restart_network_setup = true ]; then # Ensure that the default gateway remains set. @@ -608,7 +639,7 @@ in '' echo 1 > /proc/sys/net/ipv6/conf/${i.name}/proxy_ndp ''; - }); + }; createTunDevice = i: nameValuePair "${i.name}" { description = "Virtual Network Interface ${i.name}"; From 1ff4b838758f36dc8c54995e104dd17ba08a65a4 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 13 Jul 2014 10:39:59 -0500 Subject: [PATCH 0335/2163] nixos/network-interfaces: Add flush upon interface going down --- nixos/modules/tasks/network-interfaces.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 30e2a143419..e8c770d077c 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -639,6 +639,19 @@ in '' echo 1 > /proc/sys/net/ipv6/conf/${i.name}/proxy_ndp ''; + preStop = + '' + echo "releasing configured ip's..." + '' + + flip concatMapStrings (i.ip4 ++ optionals cfg.enableIPv6 i.ip6) (ip: + let + address = "${ip.address}/${toString ip.prefixLength}"; + in + '' + echo -n "Deleting ${address}..." + ip addr del "${address}" dev "${i.name}" >/dev/null 2>&1 || echo -n " Failed" + echo "" + ''); }; createTunDevice = i: nameValuePair "${i.name}" From 86c0f8c549c2ad728e06f8bc11d805fe760e7df8 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 16 Jul 2014 17:29:50 -0500 Subject: [PATCH 0336/2163] Refactor nixos files relying on the old ipAddress / prefixLength / subnetMask attributes --- nixos/doc/manual/configuration/ipv4-config.xml | 5 +---- nixos/lib/build-vms.nix | 11 ++++++----- nixos/modules/programs/virtualbox.nix | 2 +- nixos/modules/tasks/network-interfaces.nix | 8 ++++---- nixos/tests/bittorrent.nix | 6 +++--- nixos/tests/nat.nix | 2 +- 6 files changed, 16 insertions(+), 18 deletions(-) diff --git a/nixos/doc/manual/configuration/ipv4-config.xml b/nixos/doc/manual/configuration/ipv4-config.xml index e2c51518349..053501b1736 100644 --- a/nixos/doc/manual/configuration/ipv4-config.xml +++ b/nixos/doc/manual/configuration/ipv4-config.xml @@ -12,12 +12,9 @@ interfaces. However, you can configure an interface manually as follows: -networking.interfaces.eth0 = { ipAddress = "192.168.1.2"; prefixLength = 24; }; +networking.interfaces.eth0.ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ]; -(The network prefix can also be specified using the option -subnetMask, -e.g. "255.255.255.0", but this is deprecated.) Typically you’ll also want to set a default gateway and set of name servers: diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index 498c0a37783..ba189555409 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -48,10 +48,11 @@ rec { let interfacesNumbered = zipTwoLists config.virtualisation.vlans (range 1 255); interfaces = flip map interfacesNumbered ({ first, second }: - nameValuePair "eth${toString second}" - { ipAddress = "192.168.${toString first}.${toString m.second}"; - subnetMask = "255.255.255.0"; - }); + nameValuePair "eth${toString second}" { ip4 = + [ { address = "192.168.${toString first}.${toString m.second}"; + prefixLength = 24; + } ]; + } in { key = "ip-address"; config = @@ -60,7 +61,7 @@ rec { networking.interfaces = listToAttrs interfaces; networking.primaryIPAddress = - optionalString (interfaces != []) (head interfaces).value.ipAddress; + optionalString (interfaces != []) (head (head interfaces).value.ip4).address; # Put the IP addresses of all VMs in this machine's # /etc/hosts file. If a machine has multiple diff --git a/nixos/modules/programs/virtualbox.nix b/nixos/modules/programs/virtualbox.nix index e2dd76219eb..fec1a7b61f3 100644 --- a/nixos/modules/programs/virtualbox.nix +++ b/nixos/modules/programs/virtualbox.nix @@ -44,5 +44,5 @@ let virtualbox = config.boot.kernelPackages.virtualbox; in ''; }; - networking.interfaces.vboxnet0 = { ipAddress = "192.168.56.1"; prefixLength = 24; }; + networking.interfaces.vboxnet0.ip4 = [ { address = "192.168.56.1"; prefixLength = 24; } ]; } diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index e8c770d077c..054784502eb 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -254,10 +254,10 @@ in networking.interfaces = mkOption { default = {}; example = - { eth0 = { - ipAddress = "131.211.84.78"; - subnetMask = "255.255.255.128"; - }; + { eth0.ip4 = [ { + address = "131.211.84.78"; + prefixLength = 25; + } ]; }; description = '' The configuration for each network interface. If diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 002e012f65f..7eb9c215ee1 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -16,7 +16,7 @@ let miniupnpdConf = nodes: pkgs.writeText "miniupnpd.conf" '' ext_ifname=eth1 - listening_ip=${nodes.router.config.networking.interfaces.eth2.ipAddress}/24 + listening_ip=${(head nodes.router.config.networking.interfaces.eth2.ip4).address}/24 allow 1024-65535 192.168.2.0/24 1024-65535 ''; @@ -53,7 +53,7 @@ in { environment.systemPackages = [ pkgs.transmission ]; virtualisation.vlans = [ 2 ]; networking.defaultGateway = - nodes.router.config.networking.interfaces.eth2.ipAddress; + (head nodes.router.config.networking.interfaces.eth2.ip4).address; networking.firewall.enable = false; }; @@ -81,7 +81,7 @@ in # Create the torrent. $tracker->succeed("mkdir /tmp/data"); $tracker->succeed("cp ${file} /tmp/data/test.tar.bz2"); - $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${nodes.tracker.config.networking.interfaces.eth1.ipAddress}:6969/announce -o /tmp/test.torrent"); + $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${(head nodes.tracker.config.networking.interfaces.eth1.ip4).address}:6969/announce -o /tmp/test.torrent"); $tracker->succeed("chmod 644 /tmp/test.torrent"); # Start the tracker. !!! use a less crappy tracker diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index 5fdcc0e97ca..5a57cce6b67 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -13,7 +13,7 @@ import ./make-test.nix { { virtualisation.vlans = [ 1 ]; networking.firewall.allowPing = true; networking.defaultGateway = - nodes.router.config.networking.interfaces.eth2.ipAddress; + (head nodes.router.config.networking.interfaces.eth2.ip4).address; }; router = From 43654cba2c280ce17b81db44993d1c1bcae3a9c6 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 30 Aug 2014 18:46:51 +0400 Subject: [PATCH 0337/2163] Update LibreOffice to 4.3.1 --- pkgs/applications/office/libreoffice/default.nix | 10 +++++----- .../office/libreoffice/libreoffice-srcs.nix | 9 +++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 63d4db20af3..bf6728abe63 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -24,8 +24,8 @@ let langsSpaces = stdenv.lib.concatStringsSep " " langs; major = "4"; minor = "3"; - patch = "0"; - tweak = "4"; + patch = "1"; + tweak = "2"; subdir = "${major}.${minor}.${patch}"; version = "${subdir}${if tweak == "" then "" else "."}${tweak}"; @@ -79,14 +79,14 @@ let translations = fetchSrc { name = "translations"; - sha256 = "1l445284mih0c7d6v3ps1piy5pbjvisyrjjvlrqizvwxqm7bxpr1"; + sha256 = "0vj1fpr99cb124hag0hijpp3pfbbi0gak56qiikxbwbq7mab6p9h"; }; # TODO: dictionaries help = fetchSrc { name = "help"; - sha256 = "0avsc11d4nmycsxvadr0xcd8z9506sjcc89hgmliqlmhmw48ax7y"; + sha256 = "1q0vzfla764zjz6xcx6r4nc8rikwb3pr2jsraj28hhwr5b26gdfz"; }; }; @@ -96,7 +96,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; - sha256 = "1r605nwjdq20qd96chqic1bjkw7y36wmpg2lzzvv5sz6gw12rzi8"; + sha256 = "0s1j5y1gfyf3r53bbqnzirx17p49i8ah07737nrzik0ggps3lgd5"; }; # Openoffice will open libcups dynamically, so we link it directly diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix index 4e7dacfe0a9..6110a54feb5 100644 --- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix +++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix @@ -184,6 +184,11 @@ md5 = "1e9ddfe25ac9577da709d7b2ea36f939"; brief = false; } +{ + name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; + md5 = "edc4d741888bc0d38e32dbaa17149596"; + brief = false; +} { name = "libfreehand-0.1.0.tar.bz2"; md5 = "5f029fef73e42a2c2ae4524a7513f97d"; @@ -326,8 +331,8 @@ } { name = "libgltf-0.0.0.tar.bz2"; - md5 = "3d9ea1f2828c46f8ba94b88a87b3326d"; - brief = false; + md5 = "ca5436e916bfe70694adfe2607782786"; + brief = true; subDir = "libgltf/"; } { From 4d8390be608ed047ef99d96b0a3f58516bad4419 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 30 Aug 2014 08:00:10 -0700 Subject: [PATCH 0338/2163] nixos/network-interfaces: Support the old ip configuration convention --- nixos/modules/services/networking/dhcpcd.nix | 2 +- nixos/modules/tasks/network-interfaces.nix | 51 ++++++++++++++------ 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 65b4319b50a..7e0b00a3d7b 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -11,7 +11,7 @@ let # Don't start dhcpcd on explicitly configured interfaces or on # interfaces that are part of a bridge, bond or sit device. ignoredInterfaces = - map (i: i.name) (filter (i: i.ip4 != [ ]) (attrValues config.networking.interfaces)) + map (i: i.name) (filter (i: i.ip4 != [ ] || i.ipAddress != null) (attrValues config.networking.interfaces)) ++ mapAttrsToList (i: _: i) config.networking.sits ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bridges)) ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bonds)) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 054784502eb..ac3a55332e4 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -68,36 +68,48 @@ let ipAddress = mkOption { default = null; + example = "10.0.0.1"; + type = types.nullOr types.str; description = '' - Defunct, create an address in the ip4 list instead. + IP address of the interface. Leave empty to configure the + interface using DHCP. ''; }; prefixLength = mkOption { default = null; + example = 24; + type = types.nullOr types.int; description = '' - Defunct, supply the prefix length in the ip4 list instead. + Subnet mask of the interface, specified as the number of + bits in the prefix (24). ''; }; subnetMask = mkOption { default = null; description = '' - Defunct, supply the prefix length in the ip4 list instead. + Defunct, supply the prefix length instead. ''; }; ipv6Address = mkOption { default = null; + example = "2001:1470:fffd:2098::e006"; + type = types.nullOr types.str; description = '' - Defunct, create an address in the ip6 list instead. + IPv6 address of the interface. Leave empty to configure the + interface using NDP. ''; }; ipv6prefixLength = mkOption { - default = null; + default = 64; + example = 64; + type = types.int; description = '' - Defunct, supply the prefix length in the ip6 list instead. + Subnet mask of the interface, specified as the number of + bits in the prefix (64). ''; }; @@ -470,12 +482,8 @@ in assertions = flip map interfaces (i: { - assertion = i.ipAddress == null && i.prefixLength == null && i.subnetMask == null; - message = "The networking.interfaces.${i.name}.ipAddress option is defunct. Use networking.ip4 instead."; - }) - ++ flip map interfaces (i: { - assertion = i.ipv6Address == null && i.ipv6prefixLength == null; - message = "The networking.interfaces.${i.name}.ipv6Address option is defunct. Use networking.ip6 instead."; + assertion = i.subnetMask == null; + message = "The networking.interfaces.${i.name}.subnetMask option is defunct. Use prefixLength instead."; }); boot.kernelModules = [ ] @@ -574,7 +582,18 @@ in # network device, so it only gets started after the interface # has appeared, and it's stopped when the interface # disappears. - configureInterface = i: nameValuePair "${i.name}-cfg" + configureInterface = i: + let + ips = i.ip4 ++ optionals cfg.enableIPv6 i.ip6 + ++ optional (i.ipAddress != null) { + ipAddress = i.ipAddress; + prefixLength = i.prefixLength; + } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) { + ipAddress = i.ipv6Address; + prefixLength = i.ipv6PrefixLength; + }; + in + nameValuePair "${i.name}-cfg" { description = "Configuration of ${i.name}"; wantedBy = [ "network-interfaces.target" ]; bindsTo = [ "sys-subsystem-net-devices-${i.name}.device" ]; @@ -606,7 +625,7 @@ in # useful when the Nix store is accessed via this # interface (e.g. in a QEMU VM test). '' - + flip concatMapStrings (i.ip4 ++ optionals cfg.enableIPv6 i.ip6) (ip: + + flip concatMapStrings (ips) (ip: let address = "${ip.address}/${toString ip.prefixLength}"; in @@ -622,7 +641,7 @@ in fi fi '') - + optionalString (i.ip4 != [ ] || (cfg.enableIPv6 && i.ip6 != [ ])) + + optionalString (ips != [ ]) '' if [ restart_network_setup = true ]; then # Ensure that the default gateway remains set. @@ -643,7 +662,7 @@ in '' echo "releasing configured ip's..." '' - + flip concatMapStrings (i.ip4 ++ optionals cfg.enableIPv6 i.ip6) (ip: + + flip concatMapStrings (ips) (ip: let address = "${ip.address}/${toString ip.prefixLength}"; in From 1c08efb8ab258856c6b2cb8794bdc03c96c2b8c9 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 23 Aug 2014 18:38:29 -0700 Subject: [PATCH 0339/2163] nixos/network-interfaces: Allow explicit virtual interface type setting --- nixos/modules/tasks/network-interfaces.nix | 32 ++++++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index ac3a55332e4..985e76cd708 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -138,8 +138,6 @@ let Whether this interface is virtual and should be created by tunctl. This is mainly useful for creating bridges between a host a virtual network such as VPN or a virtual machine. - - Defaults to tap device, unless interface contains "tun" in its name. ''; }; @@ -151,6 +149,15 @@ let ''; }; + virtualType = mkOption { + default = null; + type = types.nullOr (types.addCheck types.str (v: v == "tun" || v == "tap")); + description = '' + The explicit type of interface to create. Accepts tun or tap strings. + Also accepts null to implicitly detect the type of device. + ''; + }; + proxyARP = mkOption { default = false; type = types.bool; @@ -673,18 +680,25 @@ in ''); }; - createTunDevice = i: nameValuePair "${i.name}" + createTunDevice = i: nameValuePair "${i.name}-tun" { description = "Virtual Network Interface ${i.name}"; requires = [ "dev-net-tun.device" ]; after = [ "dev-net-tun.device" ]; wantedBy = [ "network.target" ]; requiredBy = [ "sys-subsystem-net-devices-${i.name}.device" ]; - serviceConfig = - { Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${pkgs.tunctl}/bin/tunctl -t '${i.name}' -u '${i.virtualOwner}'"; - ExecStop = "${pkgs.tunctl}/bin/tunctl -d '${i.name}'"; - }; + path = [ pkgs.iproute ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + script = '' + ip tuntap add dev "${i.name}" \ + ${optionalString (i.virtualType != null) "mode ${i.virtualType}"} \ + user "${i.virtualOwner}" + ''; + postStop = '' + ip link del ${i.name} + ''; }; createBridgeDevice = n: v: From ed6040fc8dd833c31c67fadb54de320934e9668c Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 24 Aug 2014 15:16:47 -0700 Subject: [PATCH 0340/2163] nixos/network-interface: Append -netdev for all device units Currently, device units are named directly after the name the user specifies for the device. A bridge device named lan will be defined within lan.service. This becomes a problem if you want your interface named nginx but also want to run the nginx service. This patch fixes the issue by appending netdev to all virtually created network device units. Therefore, the lan bridge -> lan-netdev.service. This naming convention is used for all types of network devices in order to ensure that all network devices are unique. --- nixos/modules/tasks/network-interfaces.nix | 34 +++++++++++----------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 985e76cd708..14bf96ced7a 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -680,7 +680,7 @@ in ''); }; - createTunDevice = i: nameValuePair "${i.name}-tun" + createTunDevice = i: nameValuePair "${i.name}-netdev" { description = "Virtual Network Interface ${i.name}"; requires = [ "dev-net-tun.device" ]; after = [ "dev-net-tun.device" ]; @@ -701,8 +701,8 @@ in ''; }; - createBridgeDevice = n: v: - let + createBridgeDevice = n: v: nameValuePair "${n}-netdev" + (let deps = map (i: "sys-subsystem-net-devices-${i}.device") v.interfaces; in { description = "Bridge Interface ${n}"; @@ -739,10 +739,10 @@ in ip link set "${n}" down brctl delbr "${n}" ''; - }; + }); - createBondDevice = n: v: - let + createBondDevice = n: v: nameValuePair "${n}-netdev" + (let deps = map (i: "sys-subsystem-net-devices-${i}.device") v.interfaces; in { description = "Bond Interface ${n}"; @@ -778,10 +778,10 @@ in ifenslave -d "${n}" ip link delete "${n}" ''; - }; + }); - createSitDevice = n: v: - let + createSitDevice = n: v: nameValuePair "${n}-netdev" + (let deps = optional (v.dev != null) "sys-subsystem-net-devices-${v.dev}.device"; in { description = "6-to-4 Tunnel Interface ${n}"; @@ -804,10 +804,10 @@ in postStop = '' ip link delete "${n}" ''; - }; + }); - createVlanDevice = n: v: - let + createVlanDevice = n: v: nameValuePair "${n}-netdev" + (let deps = [ "sys-subsystem-net-devices-${v.interface}.device" ]; in { description = "Vlan Interface ${n}"; @@ -826,15 +826,15 @@ in postStop = '' ip link delete "${n}" ''; - }; + }); in listToAttrs ( map configureInterface interfaces ++ map createTunDevice (filter (i: i.virtual) interfaces)) - // mapAttrs createBridgeDevice cfg.bridges - // mapAttrs createBondDevice cfg.bonds - // mapAttrs createSitDevice cfg.sits - // mapAttrs createVlanDevice cfg.vlans + // mapAttrs' createBridgeDevice cfg.bridges + // mapAttrs' createBondDevice cfg.bonds + // mapAttrs' createSitDevice cfg.sits + // mapAttrs' createVlanDevice cfg.vlans // { "network-setup" = networkSetup; }; # Set the host and domain names in the activation script. Don't From ef92afe0da4ad622026c07a768f0b9e8b29447c9 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 24 Aug 2014 15:56:37 -0700 Subject: [PATCH 0341/2163] nixos/network-interfaces: Fix vlan device coming up during switch --- nixos/modules/tasks/network-interfaces.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 14bf96ced7a..1163c729c9b 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -684,8 +684,7 @@ in { description = "Virtual Network Interface ${i.name}"; requires = [ "dev-net-tun.device" ]; after = [ "dev-net-tun.device" ]; - wantedBy = [ "network.target" ]; - requiredBy = [ "sys-subsystem-net-devices-${i.name}.device" ]; + wantedBy = [ "network.target" "sys-subsystem-net-devices-${i.name}.device" ]; path = [ pkgs.iproute ]; serviceConfig = { Type = "oneshot"; From 618f439d2e0c5b31b68f7ff31ce4f7409e596dc1 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 15 May 2014 11:02:32 +0200 Subject: [PATCH 0342/2163] Add a derivation for ocaml-text --- .../ocaml-modules/ocaml-text/default.nix | 26 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/ocaml-modules/ocaml-text/default.nix diff --git a/pkgs/development/ocaml-modules/ocaml-text/default.nix b/pkgs/development/ocaml-modules/ocaml-text/default.nix new file mode 100644 index 00000000000..08136dd2b10 --- /dev/null +++ b/pkgs/development/ocaml-modules/ocaml-text/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl, libiconv, ocaml, findlib, ncurses}: + +stdenv.mkDerivation { + name = "ocaml-text-0.6"; + + src = fetchurl { + url = https://forge.ocamlcore.org/frs/download.php/937/ocaml-text-0.6.tar.gz; + sha256 = "0j8gaak0ajnlmn8knvfygqwwzs7awjv5rfn5cbj6qxqbxhjd5m6g"; + }; + + buildInputs = [ocaml findlib libiconv ncurses]; + + configurePhase = "iconv_prefix=${libiconv} ocaml setup.ml -configure"; + + createFindlibDestdir = true; + + + meta = { + homepage = "http://ocaml-text.forge.ocamlcore.org/"; + description = "OCaml-Text is a library for dealing with ``text'', i.e. sequence of unicode characters, in a convenient way. "; + license = "BSD"; + platforms = ocaml.meta.platforms; + maintainers = [ + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dac177ecb86..c0c5a179ed4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3333,6 +3333,8 @@ let ocaml_ssl = callPackage ../development/ocaml-modules/ssl { }; + ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { }; + ounit = callPackage ../development/ocaml-modules/ounit { }; ulex = callPackage ../development/ocaml-modules/ulex { }; From 59b1bd0607e74e20d6cc495bf0ffca16d2c32ab6 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 15 May 2014 14:08:15 +0200 Subject: [PATCH 0343/2163] Add myself to the maintainer list --- lib/maintainers.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 3de82db1cd9..0c71669a8ae 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -47,6 +47,7 @@ flosse = "Markus Kohlhase "; funfunctor = "Edward O'Callaghan "; fuuzetsu = "Mateusz Kowalczyk "; + gal_bolle = "Florent Becker "; garbas = "Rok Garbas "; goibhniu = "Cillian de Róiste "; guibert = "David Guibert "; From 337a3b821278b41952a4970f84ec740e4c00346b Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sat, 7 Jun 2014 21:33:04 +0200 Subject: [PATCH 0344/2163] Update ocaml-react to 1.1.0 --- pkgs/development/ocaml-modules/react/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix index 6b0e694d54a..dfc8dcd1439 100644 --- a/pkgs/development/ocaml-modules/react/default.nix +++ b/pkgs/development/ocaml-modules/react/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, ocaml, findlib, opam}: stdenv.mkDerivation { - name = "ocaml-react-1.0.1"; + name = "ocaml-react-1.1.0"; src = fetchurl { - url = "http://erratique.ch/software/react/releases/react-1.0.1.tbz"; - sha256 = "007c9kzl0i6xvxnqj9jny4hgm28v9a1i079q53vl5hfb5f7h1mda"; + url = http://erratique.ch/software/react/releases/react-1.1.0.tbz; + sha256 = "1gymn8hy7ga0l9qymmb1jcnnkqvy7l2zr87xavzqz0dfi9ci8dm7"; }; unpackCmd = "tar xjf $src"; @@ -15,8 +15,13 @@ stdenv.mkDerivation { configurePhase = "ocaml pkg/git.ml"; buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true"; - installPhase = '' + + installPhase = + let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version; + in + '' opam-installer --script --prefix=$out react.install > install.sh + sed -i s!lib/react!lib/ocaml/${ocamlVersion}/site-lib/react! install.sh sh install.sh ''; @@ -25,6 +30,6 @@ stdenv.mkDerivation { description = "Applicative events and signals for OCaml"; license = licenses.bsd3; platforms = ocaml.meta.platforms; - maintainers = with maintainers; [ z77z vbmithr ]; + maintainers = with maintainers; [ z77z vbmithr gal_bolle]; }; } From 7e2766d6464d94d2afd97354b882e777b85d4e60 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sat, 17 May 2014 20:01:45 +0200 Subject: [PATCH 0345/2163] Update ocaml_lwt to version 2.4.5 (from git) --- .../development/ocaml-modules/lwt/default.nix | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix index 9ef10906365..10175a1dbb0 100644 --- a/pkgs/development/ocaml-modules/lwt/default.nix +++ b/pkgs/development/ocaml-modules/lwt/default.nix @@ -1,21 +1,25 @@ -{stdenv, fetchurl, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl}: +{stdenv, fetchgit, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl, libev, pkgconfig, ncurses, ocaml_oasis, ocaml_text, glib}: let - ocaml_version = (builtins.parseDrvName ocaml.name).version; - version = "2.1.1"; + version = "2.4.5"; in stdenv.mkDerivation { + + name = "ocaml-lwt-${version}"; - src = fetchurl { - url = "http://ocsigen.org/download/lwt-${version}.tar.gz"; - sha256 = "1zjn0sgihryshancn4kna1xslhc8gifliny1qd3a85f72xxxnw0w"; + src = fetchgit { + url = git://github.com/ocsigen/lwt; + rev = "refs/tags/${version}"; + sha256 = "2bbf4f216dd62eeb765a89413f3b2b6d417a9c289ca49d595bb4d7a0545e343e"; }; - buildInputs = [which cryptopp ocaml findlib ocaml_react ocaml_ssl]; + buildInputs = [ocaml_oasis pkgconfig which cryptopp ocaml findlib ocaml_react ocaml_ssl libev ncurses ocaml_text glib]; - configurePhase = "true"; + configureFlags = [ "--enable-all" ]; + + createFindlibDestdir = true; meta = { homepage = http://ocsigen.org/lwt; @@ -23,7 +27,7 @@ stdenv.mkDerivation { license = "LGPL"; platforms = ocaml.meta.platforms; maintainers = [ - stdenv.lib.maintainers.z77z + stdenv.lib.maintainers.z77z stdenv.lib.maintainers.gal_bolle ]; }; } From 892490726c75b7f80f66a1aac794e32a137f5755 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Fri, 18 Jul 2014 17:04:16 +0200 Subject: [PATCH 0346/2163] Use propagated inputs in lwt --- pkgs/development/ocaml-modules/lwt/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix index 10175a1dbb0..061dbb398fe 100644 --- a/pkgs/development/ocaml-modules/lwt/default.nix +++ b/pkgs/development/ocaml-modules/lwt/default.nix @@ -15,7 +15,9 @@ stdenv.mkDerivation { sha256 = "2bbf4f216dd62eeb765a89413f3b2b6d417a9c289ca49d595bb4d7a0545e343e"; }; - buildInputs = [ocaml_oasis pkgconfig which cryptopp ocaml findlib ocaml_react ocaml_ssl libev ncurses ocaml_text glib]; + buildInputs = [ocaml_oasis pkgconfig which cryptopp ocaml findlib glib libev ncurses]; + + propagatedBuildInputs = [ ocaml_react ocaml_ssl ocaml_text ]; configureFlags = [ "--enable-all" ]; From edc11bc4f96754dff40da09ed3275acef756ff05 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sun, 20 Jul 2014 18:21:14 +0200 Subject: [PATCH 0347/2163] add the 'zed' ocaml editor library --- .../development/ocaml-modules/zed/default.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/ocaml-modules/zed/default.nix diff --git a/pkgs/development/ocaml-modules/zed/default.nix b/pkgs/development/ocaml-modules/zed/default.nix new file mode 100644 index 00000000000..3c2fae472be --- /dev/null +++ b/pkgs/development/ocaml-modules/zed/default.nix @@ -0,0 +1,34 @@ +{stdenv, fetchurl, ocaml, findlib, camomile, ocaml_react}: + +stdenv.mkDerivation rec { + version = "1.3"; + name = "ocaml-zed-${version}"; + + src = fetchurl { + url = https://github.com/diml/zed/archive/1.3.tar.gz; + sha256 = "1fr9xzf5msdnl2wx279aqj051nqbhs6v9aq1mfpv3r1mrqvrrfwj"; + }; + + buildInputs = [ ocaml findlib ocaml_react]; + + propagatedBuildInputs = [ camomile ]; + + createFindlibDestdir = true; + + meta = { + description = "Abstract engine for text edition in OCaml"; + longDescription = '' + Zed is an abstract engine for text edition. It can be used to write text editors, edition widgets, readlines, ... + + Zed uses Camomile to fully support the Unicode specification, and implements an UTF-8 encoded string type with validation, and a rope datastructure to achieve efficient operations on large Unicode buffers. Zed also features a regular expression search on ropes. + + To support efficient text edition capabilities, Zed provides macro recording and cursor management facilities. + ''; + homepage = https://github.com/diml/zed; + license = stdenv.lib.licenses.bsd3; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c0c5a179ed4..e745da4f2dc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3370,6 +3370,9 @@ let yojson = callPackage ../development/ocaml-modules/yojson { }; zarith = callPackage ../development/ocaml-modules/zarith { }; + + zed = callPackage ../development/ocaml-modules/zed { }; + }; ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0; From 328469aa06539b6917bca1374ab9a621a0b0ed8a Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sun, 20 Jul 2014 18:22:16 +0200 Subject: [PATCH 0348/2163] add the ocaml 'lambda-term' library (terminal control) --- .../ocaml-modules/lambda-term/default.nix | 41 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/ocaml-modules/lambda-term/default.nix diff --git a/pkgs/development/ocaml-modules/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix new file mode 100644 index 00000000000..b6edadb0b14 --- /dev/null +++ b/pkgs/development/ocaml-modules/lambda-term/default.nix @@ -0,0 +1,41 @@ +{stdenv, fetchurl, libev, ocaml, findlib, ocaml_lwt, ocaml_react, zed}: + +stdenv.mkDerivation rec { + version = "1.6"; + name = "lambda-term-${version}"; + + src = fetchurl { + url = https://github.com/diml/lambda-term/archive/1.6.tar.gz; + sha256 = "1rhfixdgpylxznf6sa9wr31wb4pjzpfn5mxhxqpbchmpl2afwa09"; + }; + + buildInputs = [ libev ocaml findlib ocaml_lwt ocaml_react ]; + + propagatedBuildInputs = [ zed ]; + + createFindlibDestdir = true; + + meta = { description = "Terminal manipulation library for OCaml"; + longDescription = '' + Lambda-term is a cross-platform library for + manipulating the terminal. It provides an abstraction for keys, + mouse events, colors, as well as a set of widgets to write + curses-like applications. + + The main objective of lambda-term is to provide a higher level + functional interface to terminal manipulation than, for example, + ncurses, by providing a native OCaml interface instead of bindings to + a C library. + + Lambda-term integrates with zed to provide text edition facilities in + console applications. + ''; + + homepage = https://github.com/diml/lambda-term; + license = stdenv.lib.licenses.bsd3; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e745da4f2dc..ccb2b351b8c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3289,6 +3289,8 @@ let gtkmathview = callPackage ../development/libraries/gtkmathview { }; }; + lambdaTerm = callPackage ../development/ocaml-modules/lambda-term { }; + menhir = callPackage ../development/ocaml-modules/menhir { }; merlin = callPackage ../development/tools/ocaml/merlin { }; From d7b67d8cfad6f9021f2eacee4402d6bb51d18b7e Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sun, 20 Jul 2014 18:23:42 +0200 Subject: [PATCH 0349/2163] add utop (improved ocaml toplevel) --- pkgs/development/tools/ocaml/utop/default.nix | 46 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/tools/ocaml/utop/default.nix diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix new file mode 100644 index 00000000000..1b99c4d4d43 --- /dev/null +++ b/pkgs/development/tools/ocaml/utop/default.nix @@ -0,0 +1,46 @@ +{stdenv, fetchurl, ocaml, findlib, lambdaTerm, ocaml_lwt, makeWrapper, + ocaml_react, camomile, zed +}: + +stdenv.mkDerivation rec { + version = "1.14"; + name = "utop-${version}"; + + src = fetchurl { + url = https://github.com/diml/utop/archive/1.14.tar.gz; + sha256 = "17dqinvdrpba2fjs7sl6gxs47rrx6j8a5bbjhc7flp6bdls898zk"; + }; + + buildInputs = [ ocaml findlib makeWrapper]; + + propagatedBuildInputs = [ lambdaTerm ocaml_lwt ]; + + createFindlibDestdir = true; + + buildPhase = '' + make + make doc + ''; + + postFixup = + let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version; + in + '' + wrapProgram "$out"/bin/utop --set CAML_LD_LIBRARY_PATH "${ocaml_lwt}"/lib/ocaml/${ocamlVersion}/site-lib/lwt/:"${lambdaTerm}"/lib/ocaml/${ocamlVersion}/site-lib/lambda-term/:'$CAML_LD_LIBRARY_PATH' --set OCAMLPATH "${ocaml_lwt}"/lib/ocaml/${ocamlVersion}/site-lib:${ocaml_react}/lib/ocaml/${ocamlVersion}/site-lib:${camomile}/lib/ocaml/${ocamlVersion}/site-lib:${zed}/lib/ocaml/${ocamlVersion}/site-lib:${lambdaTerm}/lib/ocaml/${ocamlVersion}/site-lib:"$out"/lib/ocaml/${ocamlVersion}/site-lib:'$OCAMLPATH' + ''; + + meta = { + description = "Universal toplevel for OCaml"; + longDescription = '' + utop is an improved toplevel for OCaml. It can run in a terminal or in Emacs. It supports line edition, history, real-time and context sensitive completion, colors, and more. + + It integrates with the tuareg mode in Emacs. + ''; + homepage = https://github.com/diml/utop; + license = stdenv.lib.licenses.bsd3; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ccb2b351b8c..0a92e8ef1e8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3362,6 +3362,8 @@ let opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { }; opam = opam_1_1; + utop = callPackage ../development/tools/ocaml/utop { }; + sawja = callPackage ../development/ocaml-modules/sawja { }; uucd = callPackage ../development/ocaml-modules/uucd { }; From 2559ea7138744bdf6e15b52e4c84bf134bba4fbf Mon Sep 17 00:00:00 2001 From: Patrick Mahoney Date: Sat, 30 Aug 2014 11:41:33 -0500 Subject: [PATCH 0350/2163] nginx: add lua module --- pkgs/servers/http/nginx/default.nix | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix index 903cf038d6e..700317bc799 100644 --- a/pkgs/servers/http/nginx/default.nix +++ b/pkgs/servers/http/nginx/default.nix @@ -1,10 +1,11 @@ { stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat -, gd, geoip +, gd, geoip, luajit , rtmp ? false , fullWebDAV ? false , syslog ? false , moreheaders ? false -, echo ? false }: +, echo ? false +, ngx_lua ? false }: with stdenv.lib; @@ -44,6 +45,19 @@ let rev = "refs/tags/v0.53"; sha256 = "90d4e3a49c678019f4f335bc18529aa108fcc9cfe0747ea4e2f6084a70da2868"; }; + + develkit-ext = fetchgit { + url = https://github.com/simpl/ngx_devel_kit.git; + rev = "refs/tags/v0.2.19"; + sha256 = "169m6gsa5b6zh1ws8qx2k7dbswld1zmhm4dh57qka0h07gs5dqjg"; + }; + + lua-ext = fetchgit { + url = https://github.com/openresty/lua-nginx-module.git; + rev = "refs/tags/v0.9.11"; + sha256 = "0y7238bvb907n7fsz5sivxbhfz2xnf4f0lzwk3k3h9j20fsyvwqq"; + }; + in stdenv.mkDerivation rec { @@ -52,7 +66,11 @@ stdenv.mkDerivation rec { buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip - ] ++ optional fullWebDAV expat; + ] ++ optional fullWebDAV expat + ++ optional ngx_lua luajit; + + LUAJIT_LIB = if ngx_lua then "${luajit}/lib" else ""; + LUAJIT_INC = if ngx_lua then "${luajit}/include/luajit-2.0" else ""; patches = if syslog then [ "${syslog-ext}/syslog-1.5.6.patch" ] else []; @@ -83,6 +101,7 @@ stdenv.mkDerivation rec { ++ optional syslog "--add-module=${syslog-ext}" ++ optional moreheaders "--add-module=${moreheaders-ext}" ++ optional echo "--add-module=${echo-ext}" + ++ optional ngx_lua "--add-module=${develkit-ext} --add-module=${lua-ext}" ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio"; From a111e7ff08b116db5943babaa6236bde0cdc92c0 Mon Sep 17 00:00:00 2001 From: Longrin Wischnewski Date: Sat, 30 Aug 2014 19:14:35 +0200 Subject: [PATCH 0351/2163] texlive: Updated to latest release 2014.20140821 --- pkgs/tools/typesetting/tex/texlive/default.nix | 8 ++++---- pkgs/tools/typesetting/tex/texlive/extra.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index c2840fd843f..beb6a7f3a68 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -5,16 +5,16 @@ rec { sha256 = "0nh8hfayyf60nm4z8zyclrbc3792c62azgsvrwxnl28iq223200s"; }; - texmfVersion = "2014.20140717"; + texmfVersion = "2014.20140821"; texmfSrc = fetchurl { url = "mirror://debian/pool/main/t/texlive-base/texlive-base_${texmfVersion}.orig.tar.xz"; - sha256 = "08vhl6x742r8fl0gags2r6yspz8ynvz26vdjrqb4vyz5h7h3rzc9"; + sha256 = "02qkzlhb381sybs970fgpc94nhx4jm0l3j5pv8z48l11415lvm9b"; }; - langTexmfVersion = "2014.20140717"; + langTexmfVersion = "2014.20140821"; langTexmfSrc = fetchurl { url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz"; - sha256 = "1x9aa3v2cg4lcb58lwksnfdsgrhi0sg968pjqsbndmbxhr1msbp7"; + sha256 = "075avhhhhzw5pbd19q659rn23rws15b5hv7nv0grd93vn3vfwdcy"; }; passthru = { inherit texmfSrc langTexmfSrc; }; diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix index 4644ee3e50e..f47fedd927d 100644 --- a/pkgs/tools/typesetting/tex/texlive/extra.nix +++ b/pkgs/tools/typesetting/tex/texlive/extra.nix @@ -1,11 +1,11 @@ args: with args; rec { name = "texlive-extra-2014"; - version = "2014.20140717"; + version = "2014.20140821"; src = fetchurl { url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz"; - sha256 = "1khxqdq9gagm6z8kbpjbraysfzibfjs2cgbrhjpncbd24sxpw13q"; + sha256 = "1y3w8bgp85s90ng2y5dw9chrrvvdf7ibb6ynss8kycvgc0y4m6b3"; }; buildInputs = [texLive xz]; From c40a25654862311e757098bf7fbb9d308a9b9bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Mon, 25 Aug 2014 23:43:14 +0200 Subject: [PATCH 0352/2163] Add processing: A language and IDE for electronic arts (cherry picked from commit 0db6387d1c3a8a8f7a9a1e111532d8acd1f794d6) --- .../graphics/processing/default.nix | 36 ++++++++ .../graphics/processing/use-nixpkgs-jre.patch | 88 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 126 insertions(+) create mode 100644 pkgs/applications/graphics/processing/default.nix create mode 100644 pkgs/applications/graphics/processing/use-nixpkgs-jre.patch diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix new file mode 100644 index 00000000000..516068b4ea5 --- /dev/null +++ b/pkgs/applications/graphics/processing/default.nix @@ -0,0 +1,36 @@ +{ fetchurl, stdenv, ant, jre, makeWrapper, libXxf86vm }: + +stdenv.mkDerivation rec { + name = "processing-${version}"; + version = "2.2.1"; + + src = fetchurl { + url = "https://github.com/processing/processing/archive/processing-0227-${version}.tar.gz"; + sha256 = "1r8q5y0h4gpqap5jwkspc0li6566hzx5chr7hwrdn8mxlzsm50xk"; + }; + + # Stop it trying to download its own version of java + patches = [ ./use-nixpkgs-jre.patch ]; + + buildInputs = [ ant jre makeWrapper libXxf86vm ]; + + buildPhase = "cd build && ant build"; + + installPhase = '' + mkdir -p $out/bin + cp -r linux/work/* $out/ + rm $out/processing-java + sed -e "s#APPDIR=\`dirname \"\$APPDIR\"\`#APPDIR=$out#" -i $out/processing + mv $out/processing $out/bin/ + wrapProgram $out/bin/processing --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib + mkdir $out/java + ln -s ${jre}/bin $out/java/ + ''; + + meta = with stdenv.lib; { + description = "A language and IDE for electronic arts"; + homepage = http://processing.org; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/processing/use-nixpkgs-jre.patch b/pkgs/applications/graphics/processing/use-nixpkgs-jre.patch new file mode 100644 index 00000000000..8f6a5e2018e --- /dev/null +++ b/pkgs/applications/graphics/processing/use-nixpkgs-jre.patch @@ -0,0 +1,88 @@ +From d1fb63255ff028ecc9cc66d5a6b21b24031b4b4a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= +Date: Tue, 26 Aug 2014 00:07:58 +0200 +Subject: [PATCH] patch + +--- + build/build.xml | 42 +++++++++++++++++++++--------------------- + 1 file changed, 21 insertions(+), 21 deletions(-) + +diff --git a/build/build.xml b/build/build.xml +index 4d0f0b2..c3f5c09 100755 +--- a/build/build.xml ++++ b/build/build.xml +@@ -640,10 +640,11 @@ + value="jre-tools-6u37-linux${sun.arch.data.model}.tgz" /> + --> + ++ + +- ++ + + +- +- +- ++ ++ ++ + + +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + + +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +-- +2.1.0 + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0a92e8ef1e8..3d67650ebe5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9576,6 +9576,8 @@ let qiv = callPackage ../applications/graphics/qiv { }; + processing = callPackage ../applications/graphics/processing { inherit (xorg) libXxf86vm; }; + # perhaps there are better apps for this task? It's how I had configured my preivous system. # And I don't want to rewrite all rules procmail = callPackage ../applications/misc/procmail { }; From ef9c1d612dab8e2ea7be6e7c6f99f0ce3a7f9bba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 19:53:47 +0200 Subject: [PATCH 0353/2163] processing: add license --- pkgs/applications/graphics/processing/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix index 516068b4ea5..ce3d639d1a3 100644 --- a/pkgs/applications/graphics/processing/default.nix +++ b/pkgs/applications/graphics/processing/default.nix @@ -30,6 +30,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A language and IDE for electronic arts"; homepage = http://processing.org; + license = licenses.gpl2Plus; maintainers = [ maintainers.goibhniu ]; platforms = platforms.linux; }; From 704e91bab005eabe968a3b140222fb0cf7afd4db Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Sat, 30 Aug 2014 19:54:09 +0200 Subject: [PATCH 0354/2163] Fix syntax error in nixos/lib/build-vms.nix, introduced by 86c0f8c --- nixos/lib/build-vms.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index ba189555409..50b3b424166 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -52,7 +52,7 @@ rec { [ { address = "192.168.${toString first}.${toString m.second}"; prefixLength = 24; } ]; - } + }); in { key = "ip-address"; config = From d0fbe1e8bd2b8ce3ddeefd03573c7d64632d6b29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 19:58:12 +0200 Subject: [PATCH 0355/2163] suil: update from 0.8.0 to 0.8.2 --- pkgs/development/libraries/audio/suil/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix index 87e03472659..f5a98750ded 100644 --- a/pkgs/development/libraries/audio/suil/default.nix +++ b/pkgs/development/libraries/audio/suil/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "suil-${version}"; - version = "0.8.0"; + version = "0.8.2"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "0y5sbgaivb03vmr3jcpzj16wqxa5h744ml4w3ylzglbxs2bqgl7n"; + sha256 = "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq"; }; buildInputs = [ gtk lv2 pkgconfig python qt4 serd sord sratom ]; From 8eee0eaef4744b50eef82c001b616565e2eab61f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 19:58:24 +0200 Subject: [PATCH 0356/2163] sord: update from 0.12.0 to 0.12.2 --- pkgs/development/libraries/sord/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix index 8f122cb699a..96a19bf37cc 100644 --- a/pkgs/development/libraries/sord/default.nix +++ b/pkgs/development/libraries/sord/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sord-${version}"; - version = "0.12.0"; + version = "0.12.2"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1f0wz7ynnk72hyr4jfi0lgvj90ld2va1kig8fkw30s8b903alsqj"; + sha256 = "0rq7vafdv4vsxi6xk9zf5shr59w3kppdhqbj78185rz5gp9kh1dx"; }; buildInputs = [ pkgconfig python serd ]; From 455e0e0673d195e8bd67f0461208d6160ba810ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 19:58:37 +0200 Subject: [PATCH 0357/2163] serd: update from 0.18.2 to 0.20.0 --- pkgs/development/libraries/serd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix index 2fd5c9ad493..c0935bd33fd 100644 --- a/pkgs/development/libraries/serd/default.nix +++ b/pkgs/development/libraries/serd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "serd-${version}"; - version = "0.18.2"; + version = "0.20.0"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1hgajhm4iar4n2kh71pv6yr0yhipj28kds9y5mbig8izqc188gcf"; + sha256 = "1gxbzqsm212wmn8qkdd3lbl6wbv7fwmaf9qh2nxa4yxjbr7mylb4"; }; buildInputs = [ pcre pkgconfig python ]; From 9f1abe6b59b4a3d2d3435c2be48fd7f28b48d8d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 19:58:59 +0200 Subject: [PATCH 0358/2163] python34Packages.zope_testrunner: update from 4.4.1 to 4.4.3 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 174fde47f2e..fa035b38964 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9673,11 +9673,11 @@ rec { zope_testrunner = buildPythonPackage rec { name = "zope.testrunner-${version}"; - version = "4.4.1"; + version = "4.4.3"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.testrunner/${name}.zip"; - md5 = "1d689abad000419891494b30dd7d8190"; + sha256 = "1dwk35kg0bmj2lzp4fd2bgp6dv64q5sda09bf0y8j63y53vqbsw8"; }; propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit; From 465e5fa21aad1247bbf7279a801f16cd37008259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 19:59:14 +0200 Subject: [PATCH 0359/2163] python34Packages.zope_size: update from 3.4.1 to 3.5.0 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fa035b38964..e97429c26b1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9613,11 +9613,11 @@ rec { zope_size = buildPythonPackage rec { - name = "zope.size-3.4.1"; + name = "zope.size-3.5.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.size/${name}.tar.gz"; - md5 = "55d9084dfd9dcbdb5ad2191ceb5ed03d"; + sha256 = "006xfkhvmypwd3ww9gbba4zly7n9w30bpp1h74d53la7l7fiqk2f"; }; propagatedBuildInputs = [ zope_i18nmessageid zope_interface ]; From f6a529aa5105b45f4b6ed5a74ed05293bfdd23da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 19:59:28 +0200 Subject: [PATCH 0360/2163] python34Packages.zope_schema: update from 4.2.2 to 4.4.1 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e97429c26b1..ad4a414c373 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9578,11 +9578,11 @@ rec { zope_schema = buildPythonPackage rec { - name = "zope.schema-4.2.2"; + name = "zope.schema-4.4.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.schema/${name}.tar.gz"; - md5 = "e7e581af8193551831560a736a53cf58"; + sha256 = "0wpwfggd736ai8bbrwbsnqf522sh5j57d1zxq8m8p6i5nwml0q02"; }; propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict; From 8c290a64a78377df2820ba5a4175802bd7ca212f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 20:00:02 +0200 Subject: [PATCH 0361/2163] python34Packages.zope_location: update from 4.0.0 to 4.0.3 --- pkgs/top-level/python-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ad4a414c373..8834f24b47a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9521,11 +9521,11 @@ rec { zope_location = buildPythonPackage rec { - name = "zope.location-4.0.0"; + name = "zope.location-4.0.3"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.0.tar.gz"; - md5 = "cd0e10d5923c95e352bcde505cc11324"; + url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.3.tar.gz"; + sha256 = "1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74"; }; propagatedBuildInputs = [ zope_proxy ]; From 297e9a0e52433e21e20c34067b17dc422d5307f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 20:00:16 +0200 Subject: [PATCH 0362/2163] python34Packages.zope_lifecycleevent: update from 3.6.2 to 3.7.0 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8834f24b47a..58e4ed604d5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9505,11 +9505,11 @@ rec { zope_lifecycleevent = buildPythonPackage rec { - name = "zope.lifecycleevent-3.6.2"; + name = "zope.lifecycleevent-3.7.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.lifecycleevent/${name}.tar.gz"; - md5 = "3ba978f3ba7c0805c81c2c79ea3edb33"; + sha256 = "0s5brphqzzz89cykg61gy7zcmz0ryq1jj2va7gh2n1b3cccllp95"; }; propagatedBuildInputs = [ zope_event zope_component ]; From 0b6613e1b60d28715526aa783c85dade7fe3a3e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 20:00:45 +0200 Subject: [PATCH 0363/2163] python34Packages.zope_i18nmessageid: update from 4.0.2 to 4.0.3 --- pkgs/top-level/python-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 58e4ed604d5..253f0d6d2db 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9491,11 +9491,11 @@ rec { zope_i18nmessageid = buildPythonPackage rec { - name = "zope.i18nmessageid-4.0.2"; + name = "zope.i18nmessageid-4.0.3"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.2.tar.gz"; - md5 = "c4550f7a0b4a736186e6e0fa3b2471f7"; + url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.3.tar.gz"; + sha256 = "1rslyph0klk58dmjjy4j0jxy21k03azksixc3x2xhqbkv97cmzml"; }; meta = { From 45d9d2a8b5ce82a33c1164ce5ffdbd65f0e30e50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 20:00:54 +0200 Subject: [PATCH 0364/2163] python34Packages.zope_i18n: update from 3.7.4 to 3.8.0 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 253f0d6d2db..d959fc2eca3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9475,11 +9475,11 @@ rec { zope_i18n = buildPythonPackage rec { - name = "zope.i18n-3.7.4"; + name = "zope.i18n-3.8.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.i18n/${name}.tar.gz"; - md5 = "a6fe9d9ad53dd7e94e87cd58fb67d3b7"; + sha256 = "045nnimmshibcq71yym2d8yrs6wzzhxq5gl7wxjnkpyjm5y0hfkm"; }; propagatedBuildInputs = [ pytz zope_component ]; From 7acf9a0c1c981d07a14c32aa777ba30da1d86dc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 20:01:02 +0200 Subject: [PATCH 0365/2163] python34Packages.zope_event: update from 4.0.2 to 4.0.3 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d959fc2eca3..8266c6f1a24 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9422,11 +9422,11 @@ rec { zope_event = buildPythonPackage rec { name = "zope.event-${version}"; - version = "4.0.2"; + version = "4.0.3"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.event/${name}.tar.gz"; - md5 = "e08dd299d428d77a1cfcbfe841b81872"; + sha256 = "1w858k9kmgzfj36h65kp27m9slrmykvi5cjq6c119xqnaz5gdzgm"; }; meta = { From 65ef87293ae36e9a42d7ddb1d3169f926f10e08c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 20:01:11 +0200 Subject: [PATCH 0366/2163] python34Packages.zope_configuration: update from 4.0.2 to 4.0.3 --- pkgs/top-level/python-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8266c6f1a24..472dfee2f08 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9355,11 +9355,11 @@ rec { zope_configuration = buildPythonPackage rec { - name = "zope.configuration-4.0.2"; + name = "zope.configuration-4.0.3"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.2.tar.gz"; - md5 = "40b3c7ad0b748ede532d8cfe2544e44e"; + url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.3.tar.gz"; + sha256 = "1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n"; }; propagatedBuildInputs = [ zope_i18nmessageid zope_schema ]; From c701503a4b86ce02f5468d8c5715d4c88a062a28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 20:01:19 +0200 Subject: [PATCH 0367/2163] python34Packages.zope_component: update from 4.0.2 to 4.2.1 --- pkgs/top-level/python-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 472dfee2f08..21a7064516e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9333,11 +9333,11 @@ rec { zope_component = buildPythonPackage rec { - name = "zope.component-4.0.2"; + name = "zope.component-4.2.1"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.0.2.tar.gz"; - md5 = "8c2fd4414ca23cbbe014dcaf911acebc"; + url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.2.1.tar.gz"; + sha256 = "1gzbr0j6c2h0cqnpi2cjss38wrz1bcwx8xahl3vykgz5laid15l6"; }; propagatedBuildInputs = [ From b96574ff157947ec0a375eef9e5e618f3dd2c918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 20:01:28 +0200 Subject: [PATCH 0368/2163] python34Packages.zope_browser: update from 1.3 to 2.0.2 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 21a7064516e..4467d58456a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9299,11 +9299,11 @@ rec { zope_browser = buildPythonPackage rec { - name = "zope.browser-1.3"; + name = "zope.browser-2.0.2"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.browser/${name}.zip"; - md5 = "4ff0ddbf64c45bfcc3189e35f4214ded"; + sha256 = "0f9r5rn9lzgi4hvkhgb6vgw8kpz9sv16jsfb9ws4am8gbqcgv2iy"; }; propagatedBuildInputs = [ zope_interface ]; From 6aa23db35dfdbb5101381729b6726e97b64cf5cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 20:01:40 +0200 Subject: [PATCH 0369/2163] python27Packages.rope: update from 0.9.4 to 0.10.2 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4467d58456a..551c3e45890 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7286,14 +7286,14 @@ rec { rope = buildPythonPackage rec { - version = "0.9.4"; + version = "0.10.2"; name = "rope-${version}"; disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/r/rope/${name}.tar.gz"; - sha256 = "1fm6ahff50b10mlnc0ar4x1fv9sxmcp1g651myyqy7c50hk39h1d"; + sha256 = "0rdlvp8h74qs49wz1hx6qy8mgp2ddwlfs7z13h9139ynq04a3z7z"; }; meta = with stdenv.lib; { From 4fe89ae412f1dee451a73d8d476cd25957c2c66c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 30 Aug 2014 20:02:16 +0200 Subject: [PATCH 0370/2163] lilv: update from 0.18.0 to 0.20.0 --- pkgs/development/libraries/audio/lilv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix index d1510e34238..9f3307742ec 100644 --- a/pkgs/development/libraries/audio/lilv/default.nix +++ b/pkgs/development/libraries/audio/lilv/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "lilv-${version}"; - version = "0.18.0"; + version = "0.20.0"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1k9wfc08ylgbkwbnvh1fx1bdzl3y59xrrx8gv0vk68yzcvcmv6am"; + sha256 = "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2"; }; buildInputs = [ lv2 pkgconfig python serd sord sratom ]; From 33949a413c4f4ae773876ccba9036db8a694cae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 30 Aug 2014 20:43:31 +0200 Subject: [PATCH 0371/2163] python34: include a patch to fix http://bugs.python.org/issue21121 --- .../interpreters/python/3.4/default.nix | 2 + .../python/3.4/issue21121-3.patch | 86 +++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 pkgs/development/interpreters/python/3.4/issue21121-3.patch diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix index 3477cedf4b7..312bf247de7 100644 --- a/pkgs/development/interpreters/python/3.4/default.nix +++ b/pkgs/development/interpreters/python/3.4/default.nix @@ -36,6 +36,8 @@ stdenv.mkDerivation { NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; + patches = [ ./issue21121-3.patch ]; + preConfigure = '' for i in /usr /sw /opt /pkg; do # improve purity substituteInPlace ./setup.py --replace $i /no-such-path diff --git a/pkgs/development/interpreters/python/3.4/issue21121-3.patch b/pkgs/development/interpreters/python/3.4/issue21121-3.patch new file mode 100644 index 00000000000..506d9ea9b3d --- /dev/null +++ b/pkgs/development/interpreters/python/3.4/issue21121-3.patch @@ -0,0 +1,86 @@ +diff --git a/Makefile.pre.in b/Makefile.pre.in +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -71,12 +71,17 @@ + BASECFLAGS= @BASECFLAGS@ + BASECPPFLAGS= @BASECPPFLAGS@ + CONFIGURE_CFLAGS= @CFLAGS@ ++# CFLAGS_NODIST is used for building the interpreter and stdlib C extensions. ++# Use it when a compiler flag should _not_ be part of the distutils CFLAGS ++# once Python is installed (Issue #21121). ++CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@ + CONFIGURE_CPPFLAGS= @CPPFLAGS@ + CONFIGURE_LDFLAGS= @LDFLAGS@ + # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the + # command line to append to these values without stomping the pre-set + # values. + PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) ++PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) + # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to + # be able to build extension modules using the directories specified in the + # environment variables +@@ -91,7 +96,7 @@ + # Extra C flags added for building the interpreter object files. + CFLAGSFORSHARED=@CFLAGSFORSHARED@ + # C flags used for building the interpreter object files +-PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE ++PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE + + + # Machine-dependent subdirectories +diff --git a/configure b/configure +--- a/configure ++++ b/configure +@@ -662,6 +662,7 @@ + LIBTOOL_CRUFT + OTHER_LIBTOOL_OPT + UNIVERSAL_ARCH_FLAGS ++CFLAGS_NODIST + BASECFLAGS + OPT + ABIFLAGS +@@ -6504,7 +6505,7 @@ + + if test $ac_cv_declaration_after_statement_warning = yes + then +- BASECFLAGS="$BASECFLAGS -Werror=declaration-after-statement" ++ CFLAGS_NODIST="$CFLAGS_NODIST -Werror=declaration-after-statement" + fi + + # if using gcc on alpha, use -mieee to get (near) full IEEE 754 +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -1147,6 +1147,7 @@ + fi + + AC_SUBST(BASECFLAGS) ++AC_SUBST(CFLAGS_NODIST) + + # The -arch flags for universal builds on OSX + UNIVERSAL_ARCH_FLAGS= +@@ -1231,7 +1232,7 @@ + + if test $ac_cv_declaration_after_statement_warning = yes + then +- BASECFLAGS="$BASECFLAGS -Werror=declaration-after-statement" ++ CFLAGS_NODIST="$CFLAGS_NODIST -Werror=declaration-after-statement" + fi + + # if using gcc on alpha, use -mieee to get (near) full IEEE 754 +diff --git a/setup.py b/setup.py +--- a/setup.py ++++ b/setup.py +@@ -19,6 +19,12 @@ + + cross_compiling = "_PYTHON_HOST_PLATFORM" in os.environ + ++# Add special CFLAGS reserved for building the interpreter and the stdlib ++# modules (Issue #21121). ++cflags = sysconfig.get_config_var('CFLAGS') ++py_cflags_nodist = sysconfig.get_config_var('PY_CFLAGS_NODIST') ++sysconfig.get_config_vars()['CFLAGS'] = cflags + ' ' + py_cflags_nodist ++ + def get_platform(): + # cross build + if "_PYTHON_HOST_PLATFORM" in os.environ: From b8fca7b38c38fe28dc8bfe3d3e566581f296e03a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 30 Aug 2014 21:08:49 +0200 Subject: [PATCH 0372/2163] koji: factor python module into an standalone app --- .../tools/package-management/koji/default.nix | 21 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ pkgs/top-level/python-packages.nix | 19 ----------------- 3 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 pkgs/tools/package-management/koji/default.nix diff --git a/pkgs/tools/package-management/koji/default.nix b/pkgs/tools/package-management/koji/default.nix new file mode 100644 index 00000000000..7f03ed1625e --- /dev/null +++ b/pkgs/tools/package-management/koji/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pythonPackages, python }: + +stdenv.mkDerivation rec { + name = "koji-1.8"; + + src = fetchurl { + url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2"; + sha256 = "10dph209h4jgajb5jmbjhqy4z4hd22i7s2d93vm3ikdf01i8iwf1"; + }; + + propagatedBuildInputs = [ pythonPackages.pycurl python ]; + + makeFlags = "DESTDIR=$(out)"; + + postInstall = '' + cp -R $out/nix/store/*/* $out/ + rm -rf $out/nix + ''; + + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d67650ebe5..3d3e462f82f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9123,6 +9123,8 @@ let inherit (gnome) libglade; }; + koji = callPackage ../tools/package-management/koji { }; + lame = callPackage ../applications/audio/lame { }; larswm = callPackage ../applications/window-managers/larswm { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 551c3e45890..ec224fec54a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2260,25 +2260,6 @@ rec { }; }; - # TODO: this shouldn't use a buildPythonPackage - koji = buildPythonPackage (rec { - name = "koji-1.8"; - meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - disabled = isPy3k; - - src = fetchurl { - url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2"; - sha256 = "10dph209h4jgajb5jmbjhqy4z4hd22i7s2d93vm3ikdf01i8iwf1"; - }; - - configurePhase = ":"; - buildPhase = ":"; - installPhase = "make install DESTDIR=$out/ && cp -R $out/nix/store/*/* $out/ && rm -rf $out/nix"; - doCheck = false; - propagatedBuildInputs = [ pythonPackages.pycurl ]; - - }); - logilab_astng = buildPythonPackage rec { name = "logilab-astng-0.24.3"; From 1e06594c0c70f618887e1ddaba35b4e165b448d5 Mon Sep 17 00:00:00 2001 From: Patrick Mahoney Date: Wed, 30 Apr 2014 09:54:35 -0500 Subject: [PATCH 0373/2163] mariadb: Patch to compile on OS X. * perl is required at build time on darwin. Copied from the mysql/5.5.x.nix * CMake on darwin creates shared libraries with relative 'install_name' paths which are made absolute by fixDarwinDylibNames. See http://answers.opencv.org/question/4134/cmake-install_name_tool-absolute-path-for-library/ * The asm patch was needed to compile on darwin, though I do not understand what is going on. Error before the patch: [ 15%] Building C object mysys/CMakeFiles/mysys.dir/my_context.c.o .../nix-build-mariadb-10.0.13.drv-1/mariadb-10.0.13/mysys/my_context.c:207:Unknown pseudo-op: .cfi_escape .../nix-build-mariadb-10.0.13.drv-1/mariadb-10.0.13/mysys/my_context.c:207:Rest of line ignored. 1st junk character valued 48 (0). make[2]: *** [mysys/CMakeFiles/mysys.dir/my_context.c.o] Error 1 --- pkgs/servers/sql/mariadb/default.nix | 17 +++++++++++++++-- pkgs/servers/sql/mariadb/my_context_asm.patch | 18 ++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 pkgs/servers/sql/mariadb/my_context_asm.patch diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index bb0c0bc8da8..0efdd542fa4 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, ncurses, openssl, bison, boost, libxml2, libaio, judy, libevent, groff }: +{ stdenv, fetchurl, cmake, ncurses, openssl, bison, boost, libxml2, libaio, judy, libevent, groff, perl, fixDarwinDylibNames }: stdenv.mkDerivation rec { name = "mariadb-${version}"; @@ -9,12 +9,25 @@ stdenv.mkDerivation rec { sha256 = "039wz89vs03a27anpshj5xaqknm7cqi7mrypvwingqkq26ns0mhs"; }; - buildInputs = [ cmake ncurses openssl bison boost libxml2 libaio judy libevent groff ]; + buildInputs = [ cmake ncurses openssl bison boost libxml2 judy libevent groff ] + ++ stdenv.lib.optional (!stdenv.isDarwin) libaio + ++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames ]; + + patches = stdenv.lib.optional stdenv.isDarwin ./my_context_asm.patch; cmakeFlags = [ "-DWITH_READLINE=yes" "-DWITH_EMBEDDED_SERVER=yes" "-DINSTALL_SCRIPTDIR=bin" ]; enableParallelBuilding = true; + prePatch = '' + substituteInPlace cmake/libutils.cmake \ + --replace /usr/bin/libtool libtool + ''; + postInstall = '' + substituteInPlace $out/bin/mysql_install_db \ + --replace basedir=\"\" basedir=\"$out\" + ''; + passthru.mysqlVersion = "5.5"; meta = { diff --git a/pkgs/servers/sql/mariadb/my_context_asm.patch b/pkgs/servers/sql/mariadb/my_context_asm.patch new file mode 100644 index 00000000000..3a747ed1b03 --- /dev/null +++ b/pkgs/servers/sql/mariadb/my_context_asm.patch @@ -0,0 +1,18 @@ +--- a/mysys/my_context.c ++++ b/mysys/my_context.c +@@ -206,15 +206,6 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d) + ( + "movq %%rsp, (%[save])\n\t" + "movq %[stack], %%rsp\n\t" +-#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 4 && !defined(__INTEL_COMPILER) +- /* +- This emits a DWARF DW_CFA_undefined directive to make the return address +- undefined. This indicates that this is the top of the stack frame, and +- helps tools that use DWARF stack unwinding to obtain stack traces. +- (I use numeric constant to avoid a dependency on libdwarf includes). +- */ +- ".cfi_escape 0x07, 16\n\t" +-#endif + "movq %%rbp, 8(%[save])\n\t" + "movq %%rbx, 16(%[save])\n\t" + "movq %%r12, 24(%[save])\n\t" From d593d3ac8810179501a8c8d404c0d19c06265510 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 30 Aug 2014 23:48:58 +0400 Subject: [PATCH 0374/2163] Fix K3D patching and cmake-configuration phases --- pkgs/applications/graphics/k3d/default.nix | 8 +-- .../k3d/disable_mutable_in_boost_gil.patch | 20 ------- .../graphics/k3d/k3d-0.7.11.0-libpng14.patch | 54 ------------------- 3 files changed, 2 insertions(+), 80 deletions(-) delete mode 100644 pkgs/applications/graphics/k3d/disable_mutable_in_boost_gil.patch delete mode 100644 pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix index 35f3bed866d..bb577ec0552 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl , cmake, mesa, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype , libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff -, gettext, intltool, perl, gtkmm, glibmm, gtkglext +, gettext, intltool, perl, gtkmm, glibmm, gtkglext, pangox_compat }: stdenv.mkDerivation rec { @@ -13,11 +13,7 @@ stdenv.mkDerivation rec { }; patches = [ - # debian package source - ./disable_mutable_in_boost_gil.patch ./k3d_gtkmm224.patch - # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-gfx/k3d/files/k3d-0.7.11.0-libpng14.patch - ./k3d-0.7.11.0-libpng14.patch ]; preConfigure = '' @@ -29,7 +25,7 @@ stdenv.mkDerivation rec { cmake mesa zlib python expat libxml2 libsigcxx libuuid freetype libpng boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff gettext intltool perl - gtkmm glibmm gtkglext + gtkmm glibmm gtkglext pangox_compat ]; doCheck = false; diff --git a/pkgs/applications/graphics/k3d/disable_mutable_in_boost_gil.patch b/pkgs/applications/graphics/k3d/disable_mutable_in_boost_gil.patch deleted file mode 100644 index 1774328c618..00000000000 --- a/pkgs/applications/graphics/k3d/disable_mutable_in_boost_gil.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/k3dsdk/gil/boost/gil/extension/dynamic_image/apply_operation_base.hpp -+++ b/k3dsdk/gil/boost/gil/extension/dynamic_image/apply_operation_base.hpp -@@ -114,7 +114,7 @@ - template - struct reduce_bind1 { - const T2& _t2; -- mutable Op& _op; -+ Op& _op; - - typedef typename Op::result_type result_type; - -@@ -127,7 +127,7 @@ - struct reduce_bind2 { - const Bits1& _bits1; - std::size_t _index1; -- mutable Op& _op; -+ Op& _op; - - typedef typename Op::result_type result_type; - diff --git a/pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch b/pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch deleted file mode 100644 index b54168227b4..00000000000 --- a/pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -ur k3d-source-0.7.11.0.orig/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp k3d-source-0.7.11.0/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp ---- k3d-source-0.7.11.0.orig/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp 2009-03-19 22:28:53.000000000 +0200 -+++ k3d-source-0.7.11.0/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp 2010-05-12 12:21:50.000000000 +0300 -@@ -148,12 +148,12 @@ - // allocate/initialize the image information data - _info_ptr = png_create_info_struct(_png_ptr); - if (_info_ptr == NULL) { -- png_destroy_read_struct(&_png_ptr,png_infopp_NULL,png_infopp_NULL); -+ png_destroy_read_struct(&_png_ptr,NULL,NULL); - io_error("png_get_file_size: fail to call png_create_info_struct()"); - } - if (setjmp(png_jmpbuf(_png_ptr))) { - //free all of the memory associated with the png_ptr and info_ptr -- png_destroy_read_struct(&_png_ptr, &_info_ptr, png_infopp_NULL); -+ png_destroy_read_struct(&_png_ptr, &_info_ptr, NULL); - io_error("png_get_file_size: fail to call setjmp()"); - } - png_init_io(_png_ptr, get()); -@@ -165,7 +165,7 @@ - png_reader(const char* filename) : file_mgr(filename, "rb") { init(); } - - ~png_reader() { -- png_destroy_read_struct(&_png_ptr,&_info_ptr,png_infopp_NULL); -+ png_destroy_read_struct(&_png_ptr,&_info_ptr,NULL); - } - point2 get_dimensions() { - return point2(png_get_image_width(_png_ptr,_info_ptr), -@@ -177,7 +177,7 @@ - int bit_depth, color_type, interlace_type; - png_get_IHDR(_png_ptr, _info_ptr, - &width, &height,&bit_depth,&color_type,&interlace_type, -- int_p_NULL, int_p_NULL); -+ (int *) NULL, (int *) NULL); - io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height), - "png_read_view: input view size does not match PNG file size"); - -@@ -219,7 +219,7 @@ - int bit_depth, color_type, interlace_type; - png_get_IHDR(_png_ptr, _info_ptr, - &width, &height,&bit_depth,&color_type,&interlace_type, -- int_p_NULL, int_p_NULL); -+ (int *) NULL, (int *) NULL); - io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height), - "png_reader_color_convert::apply(): input view size does not match PNG file size"); - switch (color_type) { -@@ -308,7 +308,7 @@ - io_error_if(!_png_ptr,"png_write_initialize: fail to call png_create_write_struct()"); - _info_ptr = png_create_info_struct(_png_ptr); - if (!_info_ptr) { -- png_destroy_write_struct(&_png_ptr,png_infopp_NULL); -+ png_destroy_write_struct(&_png_ptr,NULL); - io_error("png_write_initialize: fail to call png_create_info_struct()"); - } - if (setjmp(png_jmpbuf(_png_ptr))) { From dcb38fc8aa34d603bb57f14b913a338574afcecb Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 00:25:48 +0400 Subject: [PATCH 0375/2163] Add missing libXmu dependency --- pkgs/applications/graphics/k3d/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix index bb577ec0552..eb45ae3d8e7 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl , cmake, mesa, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype , libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff -, gettext, intltool, perl, gtkmm, glibmm, gtkglext, pangox_compat +, gettext, intltool, perl, gtkmm, glibmm, gtkglext, pangox_compat, libXmu }: stdenv.mkDerivation rec { @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { cmake mesa zlib python expat libxml2 libsigcxx libuuid freetype libpng boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff gettext intltool perl - gtkmm glibmm gtkglext pangox_compat + gtkmm glibmm gtkglext pangox_compat libXmu ]; doCheck = false; From 64a18d70e5a0ca60fcfdce4379de7dfd3b7f5c64 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 00:37:01 +0400 Subject: [PATCH 0376/2163] Julia 0.3.0 seems to have no more problems than 0.2.1, so make it default --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d3e462f82f..f50cdee1898 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3145,7 +3145,7 @@ let llvm = llvm_34; openblas = openblas_0_2_10; }; - julia = julia021; + julia = julia030; lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) { inherit makeWrapper gtk glib pango atk gdk_pixbuf; From 74b808a66f2ce58f8edaca4e08b14f9c28e9a9e7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 30 Aug 2014 22:41:01 +0200 Subject: [PATCH 0377/2163] Revert "ed: update to 1.10 (close #3852)" This reverts commit 60902b97fe4a96d370bc0c5e3690fa45da77d78d. It breaks building on Darwin: http://hydra.nixos.org/build/13832410 It also adds a gratuitous dependency to the stdenv bootstrap. --- pkgs/applications/editors/ed/default.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix index ea8b2b27987..0c764fcf8f8 100644 --- a/pkgs/applications/editors/ed/default.nix +++ b/pkgs/applications/editors/ed/default.nix @@ -1,12 +1,11 @@ -{ fetchurl, stdenv, lzip }: +{ fetchurl, stdenv }: stdenv.mkDerivation rec { - version = "1.10"; - name = "ed-${version}"; + name = "ed-1.9"; src = fetchurl { - url = "mirror://gnu/ed/${name}.tar.lz"; - sha256 = "16kycdm5fcvpdr41hxb2da8da6jzs9dqznsg5552z6rh28n0jh4m"; + url = "mirror://gnu/ed/${name}.tar.gz"; + sha256 = "122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym"; }; /* FIXME: Tests currently fail on Darwin: @@ -24,8 +23,6 @@ stdenv.mkDerivation rec { compileFlags = [ "CC=${stdenv.cross.config}-gcc" ]; }; - buildInputs = [ lzip ]; - meta = { description = "An implementation of the standard Unix editor"; @@ -41,7 +38,9 @@ stdenv.mkDerivation rec { ''; license = stdenv.lib.licenses.gpl3Plus; + homepage = http://www.gnu.org/software/ed/; - maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; + + maintainers = [ ]; }; } From 3360fa1afb15bc82e49885d511de5e26b12a092d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 30 Aug 2014 22:41:56 +0200 Subject: [PATCH 0378/2163] Revert "stdenv/setup.sh: unbreak *.lz sources on darwin" This reverts commit fcafdd27616b91049c506441802b9cfe970388d4. We're trying to modularise stdenv, not add more ad-hoc compression support. --- pkgs/stdenv/generic/setup.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 94a73680e3e..c3b9033b49a 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -450,10 +450,6 @@ unpackFile() { # Don't rely on tar knowing about .xz. xz -d < $curSrc | tar xf - ;; - *.tar.lz ) - # Don't rely on tar knowing about .lz. - lzip -d < $curSrc | tar xf - - ;; *.tar | *.tar.* | *.tgz | *.tbz2) # GNU tar can automatically select the decompression method # (info "(tar) gzip"). From c59ef6af6f73cd6993c8ca76ba024d581969fecb Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sat, 30 Aug 2014 17:33:04 +0200 Subject: [PATCH 0379/2163] backintime: a simple backup tool --- .../networking/sync/backintime/default.nix | 78 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 80 insertions(+) create mode 100644 pkgs/applications/networking/sync/backintime/default.nix diff --git a/pkgs/applications/networking/sync/backintime/default.nix b/pkgs/applications/networking/sync/backintime/default.nix new file mode 100644 index 00000000000..9b9e355f828 --- /dev/null +++ b/pkgs/applications/networking/sync/backintime/default.nix @@ -0,0 +1,78 @@ +{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages, gnome2, pkgconfig, pygobject, glib, libtool }: + +let + version = "1.0.36"; + + src = fetchurl { + url = "https://launchpad.net/backintime/1.0/${version}/+download/backintime-${version}.tar.gz"; + md5 = "28630bc7bd5f663ba8fcfb9ca6a742d8"; + }; + + # because upstream tarball has no top-level directory. + # https://bugs.launchpad.net/backintime/+bug/1359076 + sourceRoot = "."; + + genericBuildInputs = [ makeWrapper gettext python2 python2Packages.dbus ]; + + installFlagsArray = [ "DEST=$(out)" ]; + + meta = { + homepage = https://launchpad.net/backintime; + description = "Simple backup tool for Linux"; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.DamienCassou ]; + platforms = stdenv.lib.platforms.linux; + longDescription = '' + Back In Time is a simple backup tool (on top of rsync) for Linux + inspired from “flyback project” and “TimeVault”. The backup is + done by taking snapshots of a specified set of directories. + ''; + }; + + common = stdenv.mkDerivation rec { + inherit version src sourceRoot installFlagsArray meta; + + name = "backintime-common-${version}"; + + buildInputs = genericBuildInputs; + + preConfigure = "cd common"; + + dontAddPrefix = true; + + preFixup = + '' + substituteInPlace "$out/bin/backintime" \ + --replace "=\"/usr/share" "=\"$prefix/share" + wrapProgram "$out/bin/backintime" \ + --prefix PYTHONPATH : "$PYTHONPATH" + ''; + }; + +in +stdenv.mkDerivation rec { + inherit version src sourceRoot installFlagsArray meta; + + name = "backintime-gnome-${version}"; + + buildInputs = genericBuildInputs ++ [ common python2Packages.pygtk python2Packages.notify gnome2.gnome_python ]; + + preConfigure = "cd gnome"; + configureFlagsArray = [ "--no-check" ]; + + preFixup = + '' + substituteInPlace "$out/share/backintime/gnome/app.py" \ + --replace "glade_file = os.path.join(self.config.get_app_path()," \ + "glade_file = os.path.join('$prefix/share/backintime'," + substituteInPlace "$out/share/backintime/gnome/settingsdialog.py" \ + --replace "glade_file = os.path.join(self.config.get_app_path()," \ + "glade_file = os.path.join('$prefix/share/backintime'," + substituteInPlace "$out/bin/backintime-gnome" \ + --replace "=\"/usr/share" "=\"$prefix/share" + wrapProgram "$out/bin/backintime-gnome" \ + --prefix PYTHONPATH : "${gnome2.gnome_python}/lib/python2.7/site-packages/gtk-2.0:${common}/share/backintime/common:$PYTHONPATH" \ + --prefix PATH : "$PATH" + ''; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f50cdee1898..64bf223e5d9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8269,6 +8269,8 @@ let inherit (gnome3) baobab; + backintime = callPackage ../applications/networking/sync/backintime { }; + bar = callPackage ../applications/window-managers/bar { }; baresip = callPackage ../applications/networking/instant-messengers/baresip { From acba6b4da25e4b92e2422036104ad2040bef1acd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 30 Aug 2014 22:52:27 +0200 Subject: [PATCH 0380/2163] ed: update to 1.10, working around *.lz problem --- pkgs/applications/editors/ed/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix index 0c764fcf8f8..bccd7754efb 100644 --- a/pkgs/applications/editors/ed/default.nix +++ b/pkgs/applications/editors/ed/default.nix @@ -1,11 +1,14 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "ed-1.9"; + name = "ed-1.10"; src = fetchurl { - url = "mirror://gnu/ed/${name}.tar.gz"; - sha256 = "122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym"; + # gnu only provides *.lz tarball, which is unfriendly for stdenv bootstrapping + #url = "mirror://gnu/ed/${name}.tar.gz"; + url = "http://pkgs.fedoraproject.org/repo/extras/ed/${name}.tar.bz2" + + "/38204d4c690a17a989e802ba01b45e98/${name}.tar.bz2"; + sha256 = "16qvshl8470f3znjfrrci3lzllqkzc6disk5kygzsg9hh4f6wysq"; }; /* FIXME: Tests currently fail on Darwin: From e9e5ff87765469aadee4b33417596d01502e8c43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 30 Aug 2014 21:11:15 +0200 Subject: [PATCH 0381/2163] pypyPackages.random2: disable tests --- pkgs/top-level/python-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ec224fec54a..894ffbd3ce9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2749,6 +2749,8 @@ rec { random2 = pythonPackages.buildPythonPackage rec { name = "random2-1.0.1"; + + doCheck = !isPyPy; src = fetchurl { url = "https://pypi.python.org/packages/source/r/random2/${name}.zip"; From b746a1644f0a249c2eb1091343722783a9a0b9bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 30 Aug 2014 22:43:35 +0200 Subject: [PATCH 0382/2163] fix eval --- pkgs/top-level/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 894ffbd3ce9..6a988e4340b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7356,7 +7356,7 @@ rec { # buildPhase = "python setup.py build"; # doCheck = false; - propagatedBuildInputs = [ pycurl koji GitPython pkgs.git + propagatedBuildInputs = [ pycurl pkgs.koji GitPython pkgs.git pkgs.rpm pkgs.pyopenssl ]; }); From 188f0796b9a0d7d2e9d91ab69d673238ed0c09cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 30 Aug 2014 23:00:31 +0200 Subject: [PATCH 0383/2163] mesos: fix build --- pkgs/applications/networking/cluster/mesos/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix index 4329308ba04..fe93a072b2c 100644 --- a/pkgs/applications/networking/cluster/mesos/default.nix +++ b/pkgs/applications/networking/cluster/mesos/default.nix @@ -18,7 +18,7 @@ in stdenv.mkDerivation { buildInputs = [ makeWrapper autoconf automake libtool curl sasl jdk maven - python wrapPython boto distutils-cfg + python wrapPython boto distutils-cfg setuptools ]; propagatedBuildInputs = [ From df98dda81d93f3067bbcfac9307fa544415f7d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 30 Aug 2014 23:00:46 +0200 Subject: [PATCH 0384/2163] pypy: compile also curses --- pkgs/development/interpreters/pypy/2.3/default.nix | 2 +- pkgs/top-level/python-packages.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/pypy/2.3/default.nix b/pkgs/development/interpreters/pypy/2.3/default.nix index 73a52e6dfc7..0b3ca739092 100644 --- a/pkgs/development/interpreters/pypy/2.3/default.nix +++ b/pkgs/development/interpreters/pypy/2.3/default.nix @@ -85,7 +85,7 @@ let ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix} # verify cffi modules - $out/bin/pypy -c "import Tkinter;import sqlite3" + $out/bin/pypy -c "import Tkinter;import sqlite3;import curses" # make sure pypy finds sqlite3 library wrapProgram "$out/bin/pypy" \ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6a988e4340b..2ee854bdc9c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1521,11 +1521,11 @@ rec { }; cffi = buildPythonPackage rec { - name = "cffi-0.7.2"; + name = "cffi-0.8.6"; src = fetchurl { url = "http://pypi.python.org/packages/source/c/cffi/${name}.tar.gz"; - md5 = "d329f5cb2053fd31dafc02e2c9ef0299"; + md5 = "474b5a68299a6f05009171de1dc91be6"; }; propagatedBuildInputs = [ pkgs.libffi pycparser ]; From cafeb8e4f580e4a981d5cfa7aca3cd2c1039192b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 30 Aug 2014 23:11:30 +0200 Subject: [PATCH 0385/2163] Disable Xen kernel builds Xen itself is currently broken in Nixpkgs, so building kernels for it is kind of pointless. --- pkgs/top-level/all-packages.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 64bf223e5d9..c85521ecab8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7398,12 +7398,6 @@ let kernelPatches = []; }; - linux_3_2_xen = lowPrio (linux_3_2.override { - extraConfig = '' - XEN_DOM0 y - ''; - }); - linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) { inherit fetchurl stdenv perl buildLinux; kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") @@ -7601,7 +7595,6 @@ let # Build the kernel modules for the some of the kernels. linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2); - linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen; linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4); linuxPackages_3_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi; linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10); From 4b7f1a9be33bcc098d5bf5a9c1f7310d68e6c08d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 30 Aug 2014 23:14:17 +0200 Subject: [PATCH 0386/2163] lttng-modules: Mark as broken These do not build for any kernel: http://hydra.nixos.org/eval/1149989?filter=lttng&compare=1149981 --- pkgs/os-specific/linux/lttng-modules/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix index 8e20bf1e3d3..4794cd8f96c 100644 --- a/pkgs/os-specific/linux/lttng-modules/default.nix +++ b/pkgs/os-specific/linux/lttng-modules/default.nix @@ -26,6 +26,7 @@ stdenv.mkDerivation rec { # TODO license = with licenses; [ lgpl21 gpl2 mit ]; platforms = platforms.linux; maintainers = [ maintainers.bjornfor ]; + broken = true; }; } From 6437e2541a11f93d95df3b8b2d16ffb8578f5a62 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 30 Aug 2014 23:20:57 +0200 Subject: [PATCH 0387/2163] Remove numerous failing kernel packages from Hydra http://hydra.nixos.org/eval/1149989?filter=linuxPackages --- pkgs/top-level/release.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 9970c2789ac..07c3126e5ab 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -440,6 +440,14 @@ let xfwm4 = linux; }; + linuxPackages_testing = { }; + linuxPackages_grsec_stable_desktop = { }; + linuxPackages_grsec_stable_server = { }; + linuxPackages_grsec_stable_server_xen = { }; + linuxPackages_grsec_testing_desktop = { }; + linuxPackages_grsec_testing_server = { }; + linuxPackages_grsec_testing_server_xen = { }; + } )); in jobs From 3182cf00ff7da0a6102d981c14d750ddaff12a65 Mon Sep 17 00:00:00 2001 From: Daniel Peebles Date: Sat, 30 Aug 2014 17:22:51 -0400 Subject: [PATCH 0388/2163] Add xar --- lib/maintainers.nix | 1 + pkgs/tools/compression/xar/default.nix | 34 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 37 insertions(+) create mode 100644 pkgs/tools/compression/xar/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 0c71669a8ae..9ff9f7ea27a 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -34,6 +34,7 @@ cfouche = "Chaddaï Fouché "; chaoflow = "Florian Friesdorf "; coconnor = "Corey O'Connor "; + copumpkin = "Dan Peebles "; coroa = "Jonas Hörsch "; cstrahan = "Charles Strahan "; DamienCassou = "Damien Cassou "; diff --git a/pkgs/tools/compression/xar/default.nix b/pkgs/tools/compression/xar/default.nix new file mode 100644 index 00000000000..0bb4a1fb2ae --- /dev/null +++ b/pkgs/tools/compression/xar/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, libxml2, openssl, zlib, bzip2 }: + +stdenv.mkDerivation rec { + version = "1.5.2"; + name = "xar-${version}"; + + src = fetchurl { + url = "https://xar.googlecode.com/files/${name}.tar.gz"; + sha256 = "1rp3va6akzlh35yqrapfqnbxaxa0zi8wyr93swbapprwh215cpac"; + }; + + buildInputs = [ libxml2 openssl zlib bzip2 ]; + + meta = { + homepage = https://code.google.com/p/xar/; + description = "Extensible Archiver"; + + longDescription = + '' The XAR project aims to provide an easily extensible archive format. + Important design decisions include an easily extensible XML table of + contents for random access to archived files, storing the toc at the + beginning of the archive to allow for efficient handling of streamed + archives, the ability to handle files of arbitrarily large sizes, the + ability to choose independent encodings for individual files in the + archive, the ability to store checksums for individual files in both + compressed and uncompressed form, and the ability to query the table + of content's rich meta-data. + ''; + + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ copumpkin ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c85521ecab8..e0e97c0fe3d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2407,6 +2407,8 @@ let unrar = callPackage ../tools/archivers/unrar { }; + xar = callPackage ../tools/compression/xar { }; + xarchive = callPackage ../tools/archivers/xarchive { }; xarchiver = callPackage ../tools/archivers/xarchiver { }; From 408832ac67ed9b6d517cc4395749cc488038f049 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sat, 30 Aug 2014 23:59:07 +0200 Subject: [PATCH 0389/2163] help2man: update from 1.44.1 to 1.46.1 and add myself as a maintainer --- pkgs/development/tools/misc/help2man/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix index c4ba7073889..c8cff116282 100644 --- a/pkgs/development/tools/misc/help2man/default.nix +++ b/pkgs/development/tools/misc/help2man/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }: stdenv.mkDerivation rec { - name = "help2man-1.44.1"; + name = "help2man-1.46.1"; src = fetchurl { url = "mirror://gnu/help2man/${name}.tar.xz"; - sha256 = "1yyyfw9zrfdvslnv91bnhyqmazwx243wmkc9wdaz888rfx36ipi2"; + sha256 = "0iqwb3qirl7rp1wwpbh01q89qxvi4h3bc73wi03av6hl4sh05z9x"; }; buildInputs = [ makeWrapper perl gettext LocaleGettext ]; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ''; - meta = { + meta = with stdenv.lib; { description = "Generate man pages from `--help' output"; longDescription = @@ -28,8 +28,8 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/help2man/; - license = stdenv.lib.licenses.gpl3Plus; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice - maintainers = [ stdenv.lib.maintainers.ludo ]; + license = licenses.gpl3Plus; + platforms = platforms.gnu; # arbitrary choice + maintainers = with maintainers; [ ludo pSub ]; }; } From 5c3c7574e248d36b2933b476f10652b6fb525f2d Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sun, 31 Aug 2014 00:32:37 +0200 Subject: [PATCH 0390/2163] lirc: update from 0.9.0 to 0.9.1, add meta information and adopt it --- pkgs/development/libraries/lirc/default.nix | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix index 75f175a5b2d..3adddada27b 100644 --- a/pkgs/development/libraries/lirc/default.nix +++ b/pkgs/development/libraries/lirc/default.nix @@ -1,18 +1,30 @@ -{ stdenv, fetchurl, alsaLib }: +{ stdenv, fetchurl, alsaLib, bash, help2man }: stdenv.mkDerivation rec { - name = "lirc-0.9.0"; + name = "lirc-0.9.1"; src = fetchurl { url = "mirror://sourceforge/lirc/${name}.tar.bz2"; - sha256 = "1zx4mcnjwzz6jsi6ln7a3dkgx05nvg1pxxvmjqvd966ldapay8v3"; + sha256 = "0vakq9x10hyj9k7iv35sm5f4dhxvk0miwxvv6kn0bhwkr2mnapj6"; }; - buildInputs = [ alsaLib ]; + preBuild = "patchShebangs ."; + + buildInputs = [ alsaLib help2man ]; configureFlags = [ "--with-driver=devinput" "--sysconfdir=$(out)/etc" "--enable-sandboxed" ]; + + makeFlags = [ "m4dir=$(out)/m4" ]; + + meta = with stdenv.lib; { + description = "Allows to receive and send infrared signals"; + homepage = http://www.lirc.org/; + license = licenses.gpl2; + platforms = platforms.linux + maintainers = with maintainers; [ pSub ]; + }; } From 907845127e2b0a31971ee1ada81ad130985ba141 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sun, 31 Aug 2014 00:41:40 +0200 Subject: [PATCH 0391/2163] mcabber: update from 0.10.1 to 0.10.3, add meta-information and adopt it --- .../instant-messengers/mcabber/default.nix | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix index cae0213c6be..6830e4614ee 100644 --- a/pkgs/applications/networking/instant-messengers/mcabber/default.nix +++ b/pkgs/applications/networking/instant-messengers/mcabber/default.nix @@ -1,19 +1,22 @@ {stdenv, fetchurl, openssl, ncurses, pkgconfig, glib, loudmouth}: -stdenv.mkDerivation { - - name = "mcabber-0.10.1"; +stdenv.mkDerivation rec { + name = "mcabber-${version}"; + version = "0.10.3"; src = fetchurl { - url = "http://mcabber.com/files/mcabber-0.10.1.tar.bz2"; + url = "http://mcabber.com/files/mcabber-${version}.tar.bz2"; sha256 = "1248cgci1v2ypb90wfhyipwdyp1wskn3gzh78af5ai1a4w5rrjq0"; }; - meta = { homepage = "http://mcabber.com/"; - description = "Small Jabber console client"; - }; - buildInputs = [openssl ncurses pkgconfig glib loudmouth]; configureFlags = "--with-openssl=${openssl}"; + + meta = with stdevn.lib; { + homepage = http://mcabber.com/; + description = "Small Jabber console client"; + license = licenses.gpl2; + maintainers = with maintainers; [ pSub ]; + }; } From b88c4796eaba32a4b132515ca76b68e25a3cb4a8 Mon Sep 17 00:00:00 2001 From: Dmitry Malikov Date: Sun, 31 Aug 2014 00:36:49 +0200 Subject: [PATCH 0392/2163] Add haskell-tagged-transformer 0.7.1 --- .../haskell/tagged-transformer/default.nix | 21 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/development/libraries/haskell/tagged-transformer/default.nix diff --git a/pkgs/development/libraries/haskell/tagged-transformer/default.nix b/pkgs/development/libraries/haskell/tagged-transformer/default.nix new file mode 100644 index 00000000000..34da51018e0 --- /dev/null +++ b/pkgs/development/libraries/haskell/tagged-transformer/default.nix @@ -0,0 +1,21 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, comonad, contravariant, distributive, exceptions, mtl +, reflection, semigroupoids, tagged +}: + +cabal.mkDerivation (self: { + pname = "tagged-transformer"; + version = "0.7.1"; + sha256 = "1qgfx546pj4aqdblb4gddfxp642snn5dx4kxj3sn5q7c9lsgdh8j"; + buildDepends = [ + comonad contravariant distributive exceptions mtl reflection + semigroupoids tagged + ]; + meta = { + homepage = "http://github.com/ekmett/tagged-transformer"; + description = "Provides newtype wrappers for phantom types to avoid unsafely passing dummy arguments"; + 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 272091b151a..7c88f1cee5f 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2403,6 +2403,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in tagged = callPackage ../development/libraries/haskell/tagged {}; + taggedTransformer = callPackage ../development/libraries/haskell/tagged-transformer {}; + taggy = callPackage ../development/libraries/haskell/taggy {}; taggyLens = callPackage ../development/libraries/haskell/taggy-lens {}; From 86d72b2c304c0a64f014476fadb50726e64e7399 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 30 Aug 2014 07:36:54 -0700 Subject: [PATCH 0393/2163] btrfsProgs: 3.14.2 -> 3.16.0 Additionally, add myself as a maintainer. --- pkgs/tools/filesystems/btrfsprogs/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index 66152f9589b..02f214ad430 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, attr, acl, zlib, libuuid, e2fsprogs, lzo , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }: -let version = "3.14.2"; in +let version = "3.16"; in stdenv.mkDerivation rec { name = "btrfs-progs-${version}"; src = fetchurl { url = "mirror://kernel/linux/kernel/people/mason/btrfs-progs/btrfs-progs-v${version}.tar.xz"; - sha256 = "14vpj6f2v076v9zabgrz8l4dp6n1ar2mvk3lvii51ykvi35d1qbh"; + sha256 = "0phbrgipl04q8cdj9nnshik7b6p2bg51jxb3l1gvfc04dkgm2xls"; }; buildInputs = [ @@ -21,10 +21,11 @@ stdenv.mkDerivation rec { makeFlags = "prefix=$(out)"; - meta = { + meta = with stdenv.lib; { description = "Utilities for the btrfs filesystem"; homepage = https://btrfs.wiki.kernel.org/; - maintainers = [ stdenv.lib.maintainers.raskin ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + maintainers = with maintainers; [ raskin wkennington ]; + platforms = platforms.linux; }; } From 2bee211fc9bba7f8d7cf41ec19067191b0867cae Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 31 Aug 2014 02:09:21 +0200 Subject: [PATCH 0394/2163] mcabber: fix mispelled stdenv --- .../networking/instant-messengers/mcabber/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix index 6830e4614ee..362bf0de977 100644 --- a/pkgs/applications/networking/instant-messengers/mcabber/default.nix +++ b/pkgs/applications/networking/instant-messengers/mcabber/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { configureFlags = "--with-openssl=${openssl}"; - meta = with stdevn.lib; { + meta = with stdenv.lib; { homepage = http://mcabber.com/; description = "Small Jabber console client"; license = licenses.gpl2; From efdb6ecb0cf5be0c340a2abca949db59e9c4ac79 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 31 Aug 2014 02:17:19 +0200 Subject: [PATCH 0395/2163] lirc: add missing semicolon --- pkgs/development/libraries/lirc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix index 3adddada27b..88565d5d51b 100644 --- a/pkgs/development/libraries/lirc/default.nix +++ b/pkgs/development/libraries/lirc/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { description = "Allows to receive and send infrared signals"; homepage = http://www.lirc.org/; license = licenses.gpl2; - platforms = platforms.linux + platforms = platforms.linux; maintainers = with maintainers; [ pSub ]; }; } From 9073a30ceecf750012a22983289ee74cdf0372e2 Mon Sep 17 00:00:00 2001 From: Suvash Thapaliya Date: Sun, 31 Aug 2014 03:01:55 +0200 Subject: [PATCH 0396/2163] Add `extraConfig` option for SLiM so that various configuration options can be set without having to expose every single configurable parameter --- nixos/modules/services/x11/display-managers/slim.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix index 9ee4e0dc7cb..c7fbfa85e33 100644 --- a/nixos/modules/services/x11/display-managers/slim.nix +++ b/nixos/modules/services/x11/display-managers/slim.nix @@ -19,6 +19,7 @@ let reboot_cmd ${config.systemd.package}/sbin/shutdown -r now ${optionalString (cfg.defaultUser != null) ("default_user " + cfg.defaultUser)} ${optionalString cfg.autoLogin "auto_login yes"} + ${cfg.extraConfig} ''; # Unpack the SLiM theme, or use the default. @@ -89,6 +90,15 @@ in ''; }; + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration options for SLiM login manager. Do not + add options that can be configured directly. + ''; + }; + }; }; From 0847250505aab535ecdc35c6b8f3c87d8f9dd0fe Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sat, 30 Aug 2014 23:48:45 -0300 Subject: [PATCH 0397/2163] Higan - a quick&dirty workaround Higan uses a lot of hardcoded paths when it looks for runtime files as shaders, icons and mainly BIOS files. So, we made a q&d wrapper script: it copies all these files to $HOME/.config/higan in the 1st invocation. --- pkgs/misc/emulators/higan/builder.sh | 22 ++++++++++++++++++++++ pkgs/misc/emulators/higan/default.nix | 3 ++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/pkgs/misc/emulators/higan/builder.sh b/pkgs/misc/emulators/higan/builder.sh index 144c23d39de..a99ccf26dbb 100644 --- a/pkgs/misc/emulators/higan/builder.sh +++ b/pkgs/misc/emulators/higan/builder.sh @@ -18,3 +18,25 @@ install -m 644 ananke/libananke.so $out/lib/libananke.so.1 (cd $out/lib && ln -s libananke.so.1 libananke.so) oldRPath=$(patchelf --print-rpath $out/bin/higan) patchelf --set-rpath $oldRPath:$out/lib $out/bin/higan + +# A dirty workaround, suggested by @cpages: +# we create a wrapper script to set up +# $HOME local configuration before higan runs + +mv $out/bin/higan $out/bin/.higan-wrapped +cat < $out/bin/higan + +#!/bin/bash +if [ ! -e \$HOME/.config/higan/.was_configured ] +then + cp --update --recursive $out/share/higan \$HOME/.config + chmod --recursive u+w \$HOME/.config/higan + touch \$HOME/.config/higan/.was_configured +fi +# LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$out/lib +$out/bin/.higan-wrapped "\$@" + +EOF + +patchShebangs $out/bin/higan +chmod +x $out/bin/higan diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix index aceb55b1396..532eeef2280 100644 --- a/pkgs/misc/emulators/higan/default.nix +++ b/pkgs/misc/emulators/higan/default.nix @@ -44,5 +44,6 @@ stdenv.mkDerivation rec { # TODO: # - options to choose profiles (accuracy, balanced, performance) # and different GUIs (gtk2, qt4) -# - fix the BML and BIOS paths - maybe a custom patch to Higan project? +# - fix the BML and BIOS paths - maybe submitting +# a custom patch to Higan project would not be a bad idea... # From 347dd52019d57ae15c25d56a36aa881c0badc05f Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 12:52:59 +0400 Subject: [PATCH 0398/2163] Fix K3D build --- pkgs/applications/graphics/k3d/default.nix | 5 +- .../graphics/k3d/libpng-1.4.patch | 53 +++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 pkgs/applications/graphics/k3d/libpng-1.4.patch diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix index eb45ae3d8e7..6a66685e42b 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { patches = [ ./k3d_gtkmm224.patch + ./libpng-1.4.patch ]; preConfigure = '' @@ -28,7 +29,9 @@ stdenv.mkDerivation rec { gtkmm glibmm gtkglext pangox_compat libXmu ]; - doCheck = false; + #doCheck = false; + + enableParallelBuilding = true; meta = { description = "A 3D editor with support for procedural editing"; diff --git a/pkgs/applications/graphics/k3d/libpng-1.4.patch b/pkgs/applications/graphics/k3d/libpng-1.4.patch new file mode 100644 index 00000000000..e67236617af --- /dev/null +++ b/pkgs/applications/graphics/k3d/libpng-1.4.patch @@ -0,0 +1,53 @@ +--- k3d-source-0.8.0.1/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp 2010-04-18 13:49:33.000000000 +0800 ++++ k3d-source-0.8.0.1-patched/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp 2010-06-10 21:17:51.555920268 +0800 +@@ -148,12 +148,12 @@ + // allocate/initialize the image information data + _info_ptr = png_create_info_struct(_png_ptr); + if (_info_ptr == NULL) { +- png_destroy_read_struct(&_png_ptr,png_infopp_NULL,png_infopp_NULL); ++ png_destroy_read_struct(&_png_ptr,NULL,NULL); + io_error("png_get_file_size: fail to call png_create_info_struct()"); + } + if (setjmp(png_jmpbuf(_png_ptr))) { + //free all of the memory associated with the png_ptr and info_ptr +- png_destroy_read_struct(&_png_ptr, &_info_ptr, png_infopp_NULL); ++ png_destroy_read_struct(&_png_ptr, &_info_ptr, NULL); + io_error("png_get_file_size: fail to call setjmp()"); + } + png_init_io(_png_ptr, get()); +@@ -165,7 +165,7 @@ + png_reader(const char* filename) : file_mgr(filename, "rb") { init(); } + + ~png_reader() { +- png_destroy_read_struct(&_png_ptr,&_info_ptr,png_infopp_NULL); ++ png_destroy_read_struct(&_png_ptr,&_info_ptr,NULL); + } + point2 get_dimensions() { + return point2(png_get_image_width(_png_ptr,_info_ptr), +@@ -177,7 +177,7 @@ + int bit_depth, color_type, interlace_type; + png_get_IHDR(_png_ptr, _info_ptr, + &width, &height,&bit_depth,&color_type,&interlace_type, +- int_p_NULL, int_p_NULL); ++ (int *) NULL, (int *) NULL); + io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height), + "png_read_view: input view size does not match PNG file size"); + +@@ -219,7 +219,7 @@ + int bit_depth, color_type, interlace_type; + png_get_IHDR(_png_ptr, _info_ptr, + &width, &height,&bit_depth,&color_type,&interlace_type, +- int_p_NULL, int_p_NULL); ++ (int *) NULL, (int *) NULL); + io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height), + "png_reader_color_convert::apply(): input view size does not match PNG file size"); + switch (color_type) { +@@ -308,7 +308,7 @@ + io_error_if(!_png_ptr,"png_write_initialize: fail to call png_create_write_struct()"); + _info_ptr = png_create_info_struct(_png_ptr); + if (!_info_ptr) { +- png_destroy_write_struct(&_png_ptr,png_infopp_NULL); ++ png_destroy_write_struct(&_png_ptr,NULL); + io_error("png_write_initialize: fail to call png_create_info_struct()"); + } + if (setjmp(png_jmpbuf(_png_ptr))) { From 94205f5f21c4d9942bb4205c06229438051b6853 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 12:58:37 +0400 Subject: [PATCH 0399/2163] Revert "Merge pull request #2449 from wkennington/master.grub" This reverts commit 469f22d717e53c48d13a66ca862942e8098accc5, reversing changes made to 0078bc5d8f87512104902eab00c8a44bef286067. Conflicts: nixos/modules/installer/tools/nixos-generate-config.pl nixos/modules/system/boot/loader/grub/install-grub.pl nixos/release.nix nixos/tests/installer.nix I tried to keep apparently-safe code in conflicts. --- .../installer/tools/nixos-generate-config.pl | 21 --- nixos/modules/installer/tools/tools.nix | 1 - nixos/modules/installer/virtualbox-demo.nix | 3 - .../modules/system/boot/loader/grub/grub.nix | 37 ++--- .../system/boot/loader/grub/install-grub.pl | 136 +++--------------- nixos/modules/tasks/filesystems/zfs.nix | 6 +- nixos/release-combined.nix | 4 - nixos/release.nix | 2 +- nixos/tests/installer.nix | 13 +- pkgs/tools/misc/grub/2.0x.nix | 60 ++++---- pkgs/top-level/all-packages.nix | 6 +- 11 files changed, 68 insertions(+), 221 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 73dd87cef5c..66a8152a3a6 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -20,13 +20,6 @@ sub uniq { return @res; } -sub runCommand { - my ($cmd) = @_; - open FILE, "$cmd 2>/dev/null |" or die "Failed to execute: $cmd\n"; - my @ret = ; - close FILE; - return ($?, @ret); -} # Process the command line. my $outDir = "/etc/nixos"; @@ -344,20 +337,6 @@ EOF } } - # Is this a btrfs filesystem? - if ($fsType eq "btrfs") { - my ($status, @info) = runCommand("btrfs subvol show $rootDir$mountPoint"); - if ($status != 0) { - die "Failed to retreive subvolume info for $mountPoint"; - } - my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; - if ($#subvols > 0) { - die "Btrfs subvol name for $mountPoint listed multiple times in mount\n" - } elsif ($#subvols == 0) { - push @extraOptions, "subvol=$subvols[0]"; - } - } - # Emit the filesystem. $fileSystems .= <df or - mount. Note, zfs zpools / datasets are ignored - and will always be mounted using their labels. - ''; - }; - - zfsSupport = mkOption { - default = false; - type = types.bool; - description = '' - Whether grub should be build against libzfs. + The relative path of /boot within the parent volume. Leave empty + if /boot is not a btrfs subvolume. ''; }; @@ -276,9 +260,6 @@ in ${pkgs.coreutils}/bin/cp -pf "${v}" "/boot/${n}" '') config.boot.loader.grub.extraFiles); - assertions = [{ assertion = !cfg.zfsSupport || cfg.version == 2; - message = "Only grub version 2 provides zfs support";}]; - }) ]; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 7ced51f57e1..2fb771b5edf 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -1,6 +1,5 @@ use strict; use warnings; -use Class::Struct; use XML::LibXML; use File::Basename; use File::Path; @@ -28,14 +27,6 @@ sub writeFile { close FILE or die; } -sub runCommand { - my ($cmd) = @_; - open FILE, "$cmd 2>/dev/null |" or die "Failed to execute: $cmd\n"; - my @ret = ; - close FILE; - return ($?, @ret); -} - my $grub = get("grub"); my $grubVersion = int(get("version")); my $extraConfig = get("extraConfig"); @@ -48,7 +39,7 @@ my $configurationLimit = int(get("configurationLimit")); my $copyKernels = get("copyKernels") eq "true"; my $timeout = int(get("timeout")); my $defaultEntry = int(get("default")); -my $fsIdentifier = get("fsIdentifier"); +my $explicitBootRoot = get("explicitBootRoot"); $ENV{'PATH'} = get("path"); die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2; @@ -57,108 +48,22 @@ print STDERR "updating GRUB $grubVersion menu...\n"; mkpath("/boot/grub", 0, 0700); + # Discover whether /boot is on the same filesystem as / and # /nix/store. If not, then all kernels and initrds must be copied to -# /boot. -if (stat("/boot")->dev != stat("/nix/store")->dev) { +# /boot, and all paths in the GRUB config file must be relative to the +# root of the /boot filesystem. `$bootRoot' is the path to be +# prepended to paths under /boot. +my $bootRoot = "/boot"; +if (stat("/")->dev != stat("/boot")->dev) { + $bootRoot = ""; + $copyKernels = 1; +} elsif (stat("/boot")->dev != stat("/nix/store")->dev) { $copyKernels = 1; } -# Discover information about the location of /boot -struct(Fs => { - device => '$', - type => '$', - mount => '$', -}); -sub GetFs { - my ($dir) = @_; - my ($status, @dfOut) = runCommand("df -T $dir"); - if ($status != 0 || $#dfOut != 1) { - die "Failed to retrieve output about $dir from `df`"; - } - my @boot = split(/[ \n\t]+/, $dfOut[1]); - return Fs->new(device => $boot[0], type => $boot[1], mount => $boot[6]); -} -struct (Grub => { - path => '$', - search => '$', -}); -my $driveid = 1; -sub GrubFs { - my ($dir) = @_; - my $fs = GetFs($dir); - my $path = "/" . substr($dir, length($fs->mount)); - my $search = ""; - - if ($grubVersion > 1) { - # ZFS is completely separate logic as zpools are always identified by a label - # or custom UUID - if ($fs->type eq 'zfs') { - my $sid = index($fs->device, '/'); - - if ($sid < 0) { - $search = '--label ' . $fs->device; - $path = '/@' . $path; - } else { - $search = '--label ' . substr($fs->device, 0, $sid); - $path = '/' . substr($fs->device, $sid) . '/@' . $path; - } - } else { - my %types = ('uuid' => '--fs-uuid', 'label' => '--label'); - - if ($fsIdentifier eq 'provided') { - # If the provided dev is identifying the partition using a label or uuid, - # we should get the label / uuid and do a proper search - my @matches = $fs->device =~ m/\/dev\/disk\/by-(label|uuid)\/(.*)/; - if ($#matches > 1) { - die "Too many matched devices" - } elsif ($#matches == 1) { - $search = "$types{$matches[0]} $matches[1]" - } - } else { - # Determine the identifying type - $search = $types{$fsIdentifier} . ' '; - - # Based on the type pull in the identifier from the system - my ($status, @devInfo) = runCommand("blkid -o export @{[$fs->device]}"); - if ($status != 0) { - die "Failed to get blkid info for @{[$fs->device]}"; - } - my @matches = join("", @devInfo) =~ m/@{[uc $fsIdentifier]}=([^\n]*)/; - if ($#matches != 0) { - die "Couldn't find a $types{$fsIdentifier} for @{[$fs->device]}\n" - } - $search .= $matches[0]; - } - - # BTRFS is a special case in that we need to fix the referrenced path based on subvolumes - if ($fs->type eq 'btrfs') { - my ($status, @info) = runCommand("btrfs subvol show @{[$fs->mount]}"); - if ($status != 0) { - die "Failed to retreive subvolume info for @{[$fs->mount]}"; - } - my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; - if ($#subvols > 0) { - die "Btrfs subvol name for @{[$fs->device]} listed multiple times in mount\n" - } elsif ($#subvols == 0) { - $path = "/$subvols[0]$path"; - } - } - } - if (not $search eq "") { - $search = "search --set=drive$driveid " . $search; - $path = "(\$drive$driveid)$path"; - $driveid += 1; - } - } - return Grub->new(path => $path, search => $search); -} -my $grubBoot = GrubFs("/boot"); -my $grubStore = GrubFs("/nix"); - -# We don't need to copy if we can read the kernels directly -if ($grubStore->search ne "") { - $copyKernels = 0; +if ($explicitBootRoot ne "") { + $bootRoot = $explicitBootRoot; } # Generate the header. @@ -171,14 +76,12 @@ if ($grubVersion == 1) { "; if ($splashImage) { copy $splashImage, "/boot/background.xpm.gz" or die "cannot copy $splashImage to /boot\n"; - $conf .= "splashimage " . $grubBoot->path . "/background.xpm.gz\n"; + $conf .= "splashimage $bootRoot/background.xpm.gz\n"; } } else { $conf .= " - " . $grubBoot->search . " - " . $grubStore->search . " if [ -s \$prefix/grubenv ]; then load_env fi @@ -199,7 +102,7 @@ else { set timeout=$timeout fi - if loadfont " . $grubBoot->path . "/grub/fonts/unicode.pf2; then + if loadfont $bootRoot/grub/fonts/unicode.pf2; then set gfxmode=640x480 insmod gfxterm insmod vbe @@ -213,7 +116,7 @@ else { copy $splashImage, "/boot/background.png" or die "cannot copy $splashImage to /boot\n"; $conf .= " insmod png - if background_image " . $grubBoot->path . "/background.png; then + if background_image $bootRoot/background.png; then set color_normal=white/black set color_highlight=black/white else @@ -235,7 +138,7 @@ mkpath("/boot/kernels", 0, 0755) if $copyKernels; sub copyToKernelsDir { my ($path) = @_; - return $grubStore->path . substr($path, length("/nix")) unless $copyKernels; + return $path unless $copyKernels; $path =~ /\/nix\/store\/(.*)/ or die; my $name = $1; $name =~ s/\//-/g; my $dst = "/boot/kernels/$name"; @@ -248,7 +151,7 @@ sub copyToKernelsDir { rename $tmp, $dst or die "cannot rename $tmp to $dst\n"; } $copied{$dst} = 1; - return $grubBoot->path . "/kernels/$name"; + return "$bootRoot/kernels/$name"; } sub addEntry { @@ -275,8 +178,11 @@ sub addEntry { $conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n\n"; } else { $conf .= "menuentry \"$name\" {\n"; +<<<<<<< HEAD $conf .= $grubBoot->search . "\n"; $conf .= $grubStore->search . "\n"; +======= +>>>>>>> parent of 469f22d... Merge pull request #2449 from wkennington/master.grub $conf .= " $extraPerEntryConfig\n" if $extraPerEntryConfig; $conf .= " multiboot $xen $xenParams\n" if $xen; $conf .= " " . ($xen ? "module" : "linux") . " $kernel $kernelParams\n"; @@ -294,7 +200,7 @@ addEntry("NixOS - Default", $defaultConfig); $conf .= "$extraEntries\n" unless $extraEntriesBeforeNixOS; # extraEntries could refer to @bootRoot@, which we have to substitute -$conf =~ s/\@bootRoot\@/$grubBoot->path/g; +$conf =~ s/\@bootRoot\@/$bootRoot/g; # Emit submenus for all system profiles. sub addProfile { diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 1c4bbc16b49..d7deb44c407 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -133,7 +133,7 @@ in }; boot.initrd = mkIf inInitrd { - kernelModules = [ "spl" "zfs" ]; + kernelModules = [ "spl" "zfs" ] ; extraUtilsCommands = '' cp -v ${zfsPkg}/sbin/zfs $out/bin @@ -148,10 +148,6 @@ in ''; }; - boot.loader.grub = mkIf inInitrd { - zfsSupport = true; - }; - systemd.services."zpool-import" = { description = "Import zpools"; after = [ "systemd-udev-settle.service" ]; diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 23348e1d089..dae3b9210a8 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -52,10 +52,6 @@ in rec { (all nixos.tests.installer.lvm) (all nixos.tests.installer.separateBoot) (all nixos.tests.installer.simple) - (all nixos.tests.installer.simpleLabels) - (all nixos.tests.installer.simpleProvided) - (all nixos.tests.installer.btrfsSimple) - (all nixos.tests.installer.btrfsSubvols) (all nixos.tests.ipv6) (all nixos.tests.kde4) (all nixos.tests.login) diff --git a/nixos/release.nix b/nixos/release.nix index f78ecb4383d..e2b93640f91 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -231,7 +231,7 @@ in rec { tests.installer.simpleLabels = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleLabels.test); tests.installer.simpleProvided = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleProvided.test); tests.installer.btrfsSimple = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSimple.test); - tests.installer.btrfsSubvols = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSubvols.test); + #tests.installer.btrfsSubvols = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSubvols.test); tests.influxdb = callTest tests/influxdb.nix {}; tests.ipv6 = callTest tests/ipv6.nix {}; tests.jenkins = callTest tests/jenkins.nix {}; diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 154f3323d29..6ee52fd63d8 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -35,8 +35,8 @@ let # The configuration to install. - makeConfig = { testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }: - pkgs.writeText "configuration.nix" '' + makeConfig = { testChannel, useEFI, grubVersion, grubDevice }: pkgs.writeText "configuration.nix" + '' { config, pkgs, modulesPath, ... }: { imports = @@ -54,7 +54,6 @@ let ''} boot.loader.grub.device = "${grubDevice}"; boot.loader.grub.extraConfig = "serial; terminal_output.serial"; - boot.loader.grub.fsIdentifier = "${grubIdentifier}"; ''} environment.systemPackages = [ ${optionalString testChannel "pkgs.rlwrap"} ]; @@ -94,7 +93,7 @@ let # disk, and then reboot from the hard disk. It's parameterized with # a test script fragment `createPartitions', which must create # partitions and filesystems. - testScriptFun = { createPartitions, testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }: + testScriptFun = { createPartitions, testChannel, useEFI, grubVersion, grubDevice }: let # FIXME: OVMF doesn't boot from virtio http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg01501.html iface = if useEFI || grubVersion == 1 then "scsi" else "virtio"; @@ -162,7 +161,7 @@ let $machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2"); $machine->copyFileFromHost( - "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; } }", + "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice; } }", "/mnt/etc/nixos/configuration.nix"); # Perform the installation. @@ -217,13 +216,13 @@ let makeInstallerTest = name: - { createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid" }: + { createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda" }: makeTest { inherit iso; name = "installer-" + name; nodes = if testChannel then { inherit webserver; } else { }; testScript = testScriptFun { - inherit createPartitions testChannel useEFI grubVersion grubDevice grubIdentifier; + inherit createPartitions testChannel useEFI grubVersion grubDevice; }; }; diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index e3c07af759c..b1877bdcf98 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,45 +1,30 @@ -{ stdenv, fetchurl, autogen, flex, bison, python, autoconf, automake -, gettext, ncurses, libusb, freetype, qemu, devicemapper -, linuxPackages ? null -, efiSupport ? false -, zfsSupport ? false -}: +{ fetchurl, stdenv, flex, bison, gettext, ncurses, libusb, freetype, qemu +, devicemapper, EFIsupport ? false }: -with stdenv.lib; let - efiSystems = { - "i686-linux".target = "i386"; - "x86_64-linux".target = "x86_64"; - }; - canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems); + prefix = "grub${if EFIsupport then "-efi" else ""}"; - prefix = "grub${if efiSupport then "-efi" else ""}"; - - version = "2.02-beta2"; + version = "2.00"; unifont_bdf = fetchurl { url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz"; sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx"; }; -in ( -assert efiSupport -> canEfi; -assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null; +in stdenv.mkDerivation rec { name = "${prefix}-${version}"; src = fetchurl { - name = "grub-2.02-beta2.tar.xz"; - url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.xz"; - sha256 = "13a13fhc0wf473dn73zhga15mjvkg6vqp4h25dxg4n7am2r05izn"; + url = "mirror://gnu/grub/grub-${version}.tar.xz"; + sha256 = "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"; }; - nativeBuildInputs = [ autogen flex bison python autoconf automake ]; + nativeBuildInputs = [ flex bison ]; buildInputs = [ ncurses libusb freetype gettext devicemapper ] - ++ optional doCheck qemu - ++ optional zfsSupport linuxPackages.zfs; + ++ stdenv.lib.optional doCheck qemu; preConfigure = '' for i in "tests/util/"*.in @@ -58,19 +43,27 @@ stdenv.mkDerivation rec { # See . sed -i "tests/util/grub-shell.in" \ -e's/qemu-system-i386/qemu-system-x86_64 -nodefaults/g' + + # Fix for building on Glibc 2.16. Won't be needed once the + # gnulib in grub is updated. + sed -i '/gets is a security hole/d' grub-core/gnulib/stdio.in.h ''; prePatch = - '' sh autogen.sh - gunzip < "${unifont_bdf}" > "unifont.bdf" + '' gunzip < "${unifont_bdf}" > "unifont.bdf" sed -i "configure" \ -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g" ''; patches = [ ./fix-bash-completion.patch ]; - configureFlags = optional zfsSupport "--enable-libzfs" - ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystems.${stdenv.system}.target}" "--program-prefix=" ]; + configureFlags = + let arch = if stdenv.system == "i686-linux" then "i386" + else if stdenv.system == "x86_64-linux" then "x86_64" + else throw "unsupported EFI firmware architecture"; + in + stdenv.lib.optionals EFIsupport + [ "--with-platform=efi" "--target=${arch}" "--program-prefix=" ]; doCheck = false; enableParallelBuilding = true; @@ -79,7 +72,7 @@ stdenv.mkDerivation rec { paxmark pms $out/sbin/grub-{probe,bios-setup} ''; - meta = with stdenv.lib; { + meta = { description = "GNU GRUB, the Grand Unified Boot Loader (2.x beta)"; longDescription = @@ -96,8 +89,11 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/grub/; - license = licenses.gpl3Plus; + license = stdenv.lib.licenses.gpl3Plus; - platforms = platforms.gnu; + platforms = if EFIsupport then + [ "i686-linux" "x86_64-linux" ] + else + stdenv.lib.platforms.gnu; }; -}) +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e0e97c0fe3d..6ceca8e0c20 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1226,11 +1226,9 @@ let buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; }; - grub2 = callPackage ../tools/misc/grub/2.0x.nix { }; + grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; flex = flex_2_5_35; }; - grub2_efi = grub2.override { efiSupport = true; }; - - grub2_zfs = grub2.override { zfsSupport = true; }; + grub2_efi = grub2.override { EFIsupport = true; }; gssdp = callPackage ../development/libraries/gssdp { inherit (gnome) libsoup; From 2f697bf6931b24cdd428e22effbf6427a85afd42 Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Sun, 31 Aug 2014 10:58:50 +0200 Subject: [PATCH 0400/2163] Revert "Fix syntax error in nixos/lib/build-vms.nix, introduced by 86c0f8c" This reverts commit 704e91bab005eabe968a3b140222fb0cf7afd4db. --- nixos/lib/build-vms.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index 50b3b424166..ba189555409 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -52,7 +52,7 @@ rec { [ { address = "192.168.${toString first}.${toString m.second}"; prefixLength = 24; } ]; - }); + } in { key = "ip-address"; config = From ea8910652fcecbcd4f21aa1c66b1a0a239408b04 Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Sun, 31 Aug 2014 10:58:54 +0200 Subject: [PATCH 0401/2163] Revert "Merge pull request #3182 from wkennington/master.ipv6" This reverts commit b23fd6585481a42937e105d5fce630a549900e86, reversing changes made to 43654cba2c280ce17b81db44993d1c1bcae3a9c6. --- .../doc/manual/configuration/ipv4-config.xml | 5 +- nixos/lib/build-vms.nix | 11 +- nixos/modules/programs/virtualbox.nix | 2 +- nixos/modules/services/networking/dhcpcd.nix | 2 +- nixos/modules/tasks/network-interfaces.nix | 151 +++++------------- nixos/tests/bittorrent.nix | 6 +- nixos/tests/nat.nix | 2 +- 7 files changed, 59 insertions(+), 120 deletions(-) diff --git a/nixos/doc/manual/configuration/ipv4-config.xml b/nixos/doc/manual/configuration/ipv4-config.xml index 053501b1736..e2c51518349 100644 --- a/nixos/doc/manual/configuration/ipv4-config.xml +++ b/nixos/doc/manual/configuration/ipv4-config.xml @@ -12,9 +12,12 @@ interfaces. However, you can configure an interface manually as follows: -networking.interfaces.eth0.ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ]; +networking.interfaces.eth0 = { ipAddress = "192.168.1.2"; prefixLength = 24; }; +(The network prefix can also be specified using the option +subnetMask, +e.g. "255.255.255.0", but this is deprecated.) Typically you’ll also want to set a default gateway and set of name servers: diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index ba189555409..498c0a37783 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -48,11 +48,10 @@ rec { let interfacesNumbered = zipTwoLists config.virtualisation.vlans (range 1 255); interfaces = flip map interfacesNumbered ({ first, second }: - nameValuePair "eth${toString second}" { ip4 = - [ { address = "192.168.${toString first}.${toString m.second}"; - prefixLength = 24; - } ]; - } + nameValuePair "eth${toString second}" + { ipAddress = "192.168.${toString first}.${toString m.second}"; + subnetMask = "255.255.255.0"; + }); in { key = "ip-address"; config = @@ -61,7 +60,7 @@ rec { networking.interfaces = listToAttrs interfaces; networking.primaryIPAddress = - optionalString (interfaces != []) (head (head interfaces).value.ip4).address; + optionalString (interfaces != []) (head interfaces).value.ipAddress; # Put the IP addresses of all VMs in this machine's # /etc/hosts file. If a machine has multiple diff --git a/nixos/modules/programs/virtualbox.nix b/nixos/modules/programs/virtualbox.nix index fec1a7b61f3..e2dd76219eb 100644 --- a/nixos/modules/programs/virtualbox.nix +++ b/nixos/modules/programs/virtualbox.nix @@ -44,5 +44,5 @@ let virtualbox = config.boot.kernelPackages.virtualbox; in ''; }; - networking.interfaces.vboxnet0.ip4 = [ { address = "192.168.56.1"; prefixLength = 24; } ]; + networking.interfaces.vboxnet0 = { ipAddress = "192.168.56.1"; prefixLength = 24; }; } diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 7e0b00a3d7b..89aa9bdb6b6 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -11,7 +11,7 @@ let # Don't start dhcpcd on explicitly configured interfaces or on # interfaces that are part of a bridge, bond or sit device. ignoredInterfaces = - map (i: i.name) (filter (i: i.ip4 != [ ] || i.ipAddress != null) (attrValues config.networking.interfaces)) + map (i: i.name) (filter (i: i.ipAddress != null) (attrValues config.networking.interfaces)) ++ mapAttrsToList (i: _: i) config.networking.sits ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bridges)) ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bonds)) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index ac3a55332e4..7dabe70f00c 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -10,26 +10,6 @@ let hasSits = cfg.sits != { }; hasBonds = cfg.bonds != { }; - addrOpts = v: - assert v == 4 || v == 6; - { - address = mkOption { - type = types.str; - description = '' - IPv${toString v} address of the interface. Leave empty to configure the - interface using DHCP. - ''; - }; - - prefixLength = mkOption { - type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128)); - description = '' - Subnet mask of the interface, specified as the number of - bits in the prefix (${if v == 4 then "24" else "64"}). - ''; - }; - }; - interfaceOpts = { name, ... }: { options = { @@ -40,36 +20,10 @@ let description = "Name of the interface."; }; - ip4 = mkOption { - default = [ ]; - example = [ - { address = "10.0.0.1"; prefixLength = 16; } - { address = "192.168.1.1"; prefixLength = 24; } - ]; - type = types.listOf types.optionSet; - options = addrOpts 4; - description = '' - List of IPv4 addresses that will be statically assigned to the interface. - ''; - }; - - ip6 = mkOption { - default = [ ]; - example = [ - { address = "fdfd:b3f0:482::1"; prefixLength = 48; } - { address = "2001:1470:fffd:2098::e006"; prefixLength = 64; } - ]; - type = types.listOf types.optionSet; - options = addrOpts 6; - description = '' - List of IPv6 addresses that will be statically assigned to the interface. - ''; - }; - ipAddress = mkOption { default = null; example = "10.0.0.1"; - type = types.nullOr types.str; + type = types.nullOr (types.str); description = '' IP address of the interface. Leave empty to configure the interface using DHCP. @@ -87,16 +41,20 @@ let }; subnetMask = mkOption { - default = null; + default = ""; + example = "255.255.255.0"; + type = types.str; description = '' - Defunct, supply the prefix length instead. + Subnet mask of the interface, specified as a bitmask. + This is deprecated; use + instead. ''; }; ipv6Address = mkOption { default = null; example = "2001:1470:fffd:2098::e006"; - type = types.nullOr types.str; + type = types.nullOr types.string; description = '' IPv6 address of the interface. Leave empty to configure the interface using NDP. @@ -266,10 +224,10 @@ in networking.interfaces = mkOption { default = {}; example = - { eth0.ip4 = [ { - address = "131.211.84.78"; - prefixLength = 25; - } ]; + { eth0 = { + ipAddress = "131.211.84.78"; + subnetMask = "255.255.255.128"; + }; }; description = '' The configuration for each network interface. If @@ -480,12 +438,6 @@ in config = { - assertions = - flip map interfaces (i: { - assertion = i.subnetMask == null; - message = "The networking.interfaces.${i.name}.subnetMask option is defunct. Use prefixLength instead."; - }); - boot.kernelModules = [ ] ++ optional cfg.enableIPv6 "ipv6" ++ optional hasVirtuals "tun" @@ -582,18 +534,12 @@ in # network device, so it only gets started after the interface # has appeared, and it's stopped when the interface # disappears. - configureInterface = i: - let - ips = i.ip4 ++ optionals cfg.enableIPv6 i.ip6 - ++ optional (i.ipAddress != null) { - ipAddress = i.ipAddress; - prefixLength = i.prefixLength; - } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) { - ipAddress = i.ipv6Address; - prefixLength = i.ipv6PrefixLength; - }; + configureInterface = i: nameValuePair "${i.name}-cfg" + (let mask = + if i.prefixLength != null then toString i.prefixLength else + if i.subnetMask != "" then i.subnetMask else "32"; + staticIPv6 = cfg.enableIPv6 && i.ipv6Address != null; in - nameValuePair "${i.name}-cfg" { description = "Configuration of ${i.name}"; wantedBy = [ "network-interfaces.target" ]; bindsTo = [ "sys-subsystem-net-devices-${i.name}.device" ]; @@ -616,32 +562,36 @@ in echo "setting MTU to ${toString i.mtu}..." ip link set "${i.name}" mtu "${toString i.mtu}" '' - - # Ip Setup - + + + optionalString (i.ipAddress != null) '' - curIps=$(ip -o a show dev "${i.name}" | awk '{print $4}') - # Only do an add if it's necessary. This is + cur=$(ip -4 -o a show dev "${i.name}" | awk '{print $4}') + # Only do a flush/add if it's necessary. This is # useful when the Nix store is accessed via this # interface (e.g. in a QEMU VM test). - '' - + flip concatMapStrings (ips) (ip: - let - address = "${ip.address}/${toString ip.prefixLength}"; - in - '' - echo "checking ip ${address}..." - if ! echo "$curIps" | grep "${address}" >/dev/null 2>&1; then - if out=$(ip addr add "${address}" dev "${i.name}" 2>&1); then - echo "added ip ${address}..." - restart_network_setup=true - elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then - echo "failed to add ${address}" - exit 1 - fi + if [ "$cur" != "${i.ipAddress}/${mask}" ]; then + echo "configuring interface..." + ip -4 addr flush dev "${i.name}" + ip -4 addr add "${i.ipAddress}/${mask}" dev "${i.name}" + restart_network_setup=true + else + echo "skipping configuring interface" fi - '') - + optionalString (ips != [ ]) + '' + + optionalString (staticIPv6) + '' + # Only do a flush/add if it's necessary. This is + # useful when the Nix store is accessed via this + # interface (e.g. in a QEMU VM test). + if ! ip -6 -o a show dev "${i.name}" | grep "${i.ipv6Address}/${toString i.ipv6prefixLength}"; then + echo "configuring interface..." + ip -6 addr flush dev "${i.name}" + ip -6 addr add "${i.ipv6Address}/${toString i.ipv6prefixLength}" dev "${i.name}" + restart_network_setup=true + else + echo "skipping configuring interface" + fi + '' + + optionalString (i.ipAddress != null || staticIPv6) '' if [ restart_network_setup = true ]; then # Ensure that the default gateway remains set. @@ -658,20 +608,7 @@ in '' echo 1 > /proc/sys/net/ipv6/conf/${i.name}/proxy_ndp ''; - preStop = - '' - echo "releasing configured ip's..." - '' - + flip concatMapStrings (ips) (ip: - let - address = "${ip.address}/${toString ip.prefixLength}"; - in - '' - echo -n "Deleting ${address}..." - ip addr del "${address}" dev "${i.name}" >/dev/null 2>&1 || echo -n " Failed" - echo "" - ''); - }; + }); createTunDevice = i: nameValuePair "${i.name}" { description = "Virtual Network Interface ${i.name}"; diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 7eb9c215ee1..002e012f65f 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -16,7 +16,7 @@ let miniupnpdConf = nodes: pkgs.writeText "miniupnpd.conf" '' ext_ifname=eth1 - listening_ip=${(head nodes.router.config.networking.interfaces.eth2.ip4).address}/24 + listening_ip=${nodes.router.config.networking.interfaces.eth2.ipAddress}/24 allow 1024-65535 192.168.2.0/24 1024-65535 ''; @@ -53,7 +53,7 @@ in { environment.systemPackages = [ pkgs.transmission ]; virtualisation.vlans = [ 2 ]; networking.defaultGateway = - (head nodes.router.config.networking.interfaces.eth2.ip4).address; + nodes.router.config.networking.interfaces.eth2.ipAddress; networking.firewall.enable = false; }; @@ -81,7 +81,7 @@ in # Create the torrent. $tracker->succeed("mkdir /tmp/data"); $tracker->succeed("cp ${file} /tmp/data/test.tar.bz2"); - $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${(head nodes.tracker.config.networking.interfaces.eth1.ip4).address}:6969/announce -o /tmp/test.torrent"); + $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${nodes.tracker.config.networking.interfaces.eth1.ipAddress}:6969/announce -o /tmp/test.torrent"); $tracker->succeed("chmod 644 /tmp/test.torrent"); # Start the tracker. !!! use a less crappy tracker diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index 5a57cce6b67..5fdcc0e97ca 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -13,7 +13,7 @@ import ./make-test.nix { { virtualisation.vlans = [ 1 ]; networking.firewall.allowPing = true; networking.defaultGateway = - (head nodes.router.config.networking.interfaces.eth2.ip4).address; + nodes.router.config.networking.interfaces.eth2.ipAddress; }; router = From dba5fed12b4c7502f6dc6a541483f91193a081d4 Mon Sep 17 00:00:00 2001 From: Danyil Bohdan Date: Sun, 31 Aug 2014 11:48:51 +0300 Subject: [PATCH 0402/2163] add game 'tcl2048' --- pkgs/games/tcl2048/builder.sh | 5 +++++ pkgs/games/tcl2048/default.nix | 19 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 pkgs/games/tcl2048/builder.sh create mode 100644 pkgs/games/tcl2048/default.nix diff --git a/pkgs/games/tcl2048/builder.sh b/pkgs/games/tcl2048/builder.sh new file mode 100644 index 00000000000..b34441cdc99 --- /dev/null +++ b/pkgs/games/tcl2048/builder.sh @@ -0,0 +1,5 @@ +source $stdenv/setup + +mkdir -p $out/bin +cp $src $out/bin/2048 +chmod +x $out/bin/2048 diff --git a/pkgs/games/tcl2048/default.nix b/pkgs/games/tcl2048/default.nix new file mode 100644 index 00000000000..4f8818ac39a --- /dev/null +++ b/pkgs/games/tcl2048/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, tcl, tcllib }: + +stdenv.mkDerivation { + name = "tcl2048-0.2.5"; + + src = fetchurl { + url = https://raw.githubusercontent.com/dbohdan/2048-tcl/v0.2.5/2048.tcl; + sha256 = "b0d6e8a31dce8c1ca8dbbb8c513b50fbfb9cd6a313201941fa15531165bf68ce"; + }; + + builder = ./builder.sh; + + meta = { + homepage = https://github.com/dbohdan/2048-tcl; + description = "The game of 2048 implemented in Tcl."; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e0e97c0fe3d..fb08876f831 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2211,6 +2211,8 @@ let tboot = callPackage ../tools/security/tboot { }; + tcl2048 = callPackage ../games/tcl2048 { }; + tcpdump = callPackage ../tools/networking/tcpdump { }; tcpflow = callPackage ../tools/networking/tcpflow { }; @@ -9215,7 +9217,7 @@ let lynx = callPackage ../applications/networking/browsers/lynx { }; lyx = callPackage ../applications/misc/lyx { }; - + makeself = callPackage ../applications/misc/makeself { }; matchbox = callPackage ../applications/window-managers/matchbox { }; From 327cab298eae1928d4ec0662e570002244ea5846 Mon Sep 17 00:00:00 2001 From: Danyil Bohdan Date: Sun, 31 Aug 2014 12:32:14 +0300 Subject: [PATCH 0403/2163] tcl2048: update to 0.2.6 --- pkgs/games/tcl2048/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/games/tcl2048/default.nix b/pkgs/games/tcl2048/default.nix index 4f8818ac39a..7678242f433 100644 --- a/pkgs/games/tcl2048/default.nix +++ b/pkgs/games/tcl2048/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, tcl, tcllib }: stdenv.mkDerivation { - name = "tcl2048-0.2.5"; + name = "tcl2048-0.2.6"; src = fetchurl { - url = https://raw.githubusercontent.com/dbohdan/2048-tcl/v0.2.5/2048.tcl; - sha256 = "b0d6e8a31dce8c1ca8dbbb8c513b50fbfb9cd6a313201941fa15531165bf68ce"; + url = https://raw.githubusercontent.com/dbohdan/2048-tcl/v0.2.6/2048.tcl; + sha256 = "3a6466a214c538daec8e2d08e0c1467f10f770c74e5897bea642134e22016730"; }; builder = ./builder.sh; From 68917916eeecd9f01714784b2709a2110fe9f912 Mon Sep 17 00:00:00 2001 From: Danyil Bohdan Date: Sun, 31 Aug 2014 12:40:05 +0300 Subject: [PATCH 0404/2163] tcl2048: wrong sha256sum. --- pkgs/games/tcl2048/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/games/tcl2048/default.nix b/pkgs/games/tcl2048/default.nix index 7678242f433..01ffd27d5bb 100644 --- a/pkgs/games/tcl2048/default.nix +++ b/pkgs/games/tcl2048/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { src = fetchurl { url = https://raw.githubusercontent.com/dbohdan/2048-tcl/v0.2.6/2048.tcl; - sha256 = "3a6466a214c538daec8e2d08e0c1467f10f770c74e5897bea642134e22016730"; + sha256 = "481eac7cccc37d1122c3069da6186f584906bd27b86b8d4ae1a2d7e355c1b6b2"; }; builder = ./builder.sh; From 196c6260be03f41748c0599892718d2ec5a39b95 Mon Sep 17 00:00:00 2001 From: Longrin Wischnewski Date: Sun, 31 Aug 2014 12:29:13 +0200 Subject: [PATCH 0405/2163] grub: fix grub merge error --- nixos/modules/system/boot/loader/grub/install-grub.pl | 5 ----- 1 file changed, 5 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 2fb771b5edf..b4900358a5d 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -178,11 +178,6 @@ sub addEntry { $conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n\n"; } else { $conf .= "menuentry \"$name\" {\n"; -<<<<<<< HEAD - $conf .= $grubBoot->search . "\n"; - $conf .= $grubStore->search . "\n"; -======= ->>>>>>> parent of 469f22d... Merge pull request #2449 from wkennington/master.grub $conf .= " $extraPerEntryConfig\n" if $extraPerEntryConfig; $conf .= " multiboot $xen $xenParams\n" if $xen; $conf .= " " . ($xen ? "module" : "linux") . " $kernel $kernelParams\n"; From a555193ee934ef2921983b901857d29a8d9e70b0 Mon Sep 17 00:00:00 2001 From: Longrin Wischnewski Date: Sun, 31 Aug 2014 12:44:29 +0200 Subject: [PATCH 0406/2163] gource: update to version 0.42 --- pkgs/applications/version-management/gource/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix index 13c55476774..afe0ac71ea4 100644 --- a/pkgs/applications/version-management/gource/default.nix +++ b/pkgs/applications/version-management/gource/default.nix @@ -3,11 +3,12 @@ }: stdenv.mkDerivation rec { - name = "gource-0.40"; + version = "0.42"; + name = "gource-${version}"; src = fetchurl { - url = "http://gource.googlecode.com/files/${name}.tar.gz"; - sha256 = "04nirh07xjslqsph557as4s50nlf91bi6v2l7vmbifmkdf90m2cw"; + url = "https://github.com/acaudwell/Gource/releases/download/${name}/${name}.tar.gz"; + sha256 = "08ab57z44y8b5wxg1193j6hiy50njbpi6dwafjh6nb0apcq8ziz5"; }; buildInputs = [ From a5a92fdd53ca36b85010ca26e239db30884ec22b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Sun, 31 Aug 2014 11:50:35 +0100 Subject: [PATCH 0407/2163] emulationstation: 1.0.2 -> 2.0.0-rc1 --- .../emulators/emulationstation/default.nix | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix index 5767786e814..6ff0a21135a 100644 --- a/pkgs/misc/emulators/emulationstation/default.nix +++ b/pkgs/misc/emulators/emulationstation/default.nix @@ -1,25 +1,22 @@ -{ stdenv, fetchurl, pkgconfig, cmake, boost, eigen, freeimage, freetype -, mesa, SDL, dejavu_fonts }: +{ stdenv, fetchFromGitHub, pkgconfig, cmake, curl, boost, eigen +, freeimage, freetype, mesa, SDL2, alsaLib, libarchive }: stdenv.mkDerivation rec { name = "emulationstation-${version}"; - version = "1.0.2"; - src = fetchurl { - url = "https://github.com/Aloshi/EmulationStation/archive/v${version}.tar.gz"; - sha256 = "809d67aaa727809c1426fb543e36bb788ca6a3404f8c46dd1917088b57ab5f50"; + version = "2.0.0-rc1"; + + src = fetchFromGitHub { + owner = "Aloshi"; + repo = "EmulationStation"; + rev = "8739519e1591819cab85e1d2056804d20c197dac"; + sha256 = "1psq5cqyq2yy1lqxrcj7pfp8szfmzhamxf3111l97w2h2zzcgvq9"; }; - buildInputs = [ pkgconfig cmake boost eigen freeimage freetype mesa SDL ]; - - prePatch = '' - sed -i \ - -e 's,/usr\(.*\)/ttf-dejavu\(.*\),${dejavu_fonts}\1\2,' src/Font.cpp - ''; + buildInputs = [ pkgconfig cmake alsaLib boost curl eigen freeimage freetype libarchive mesa SDL2 ]; buildPhase = "cmake . && make"; installPhase = '' - mkdir -p $out/bin - mv ../emulationstation $out/bin/. + install -D ../emulationstation $out/bin/emulationstation ''; meta = { From 59ed27db2da3867339befaa6da17778da862973b Mon Sep 17 00:00:00 2001 From: Dmitry Malikov Date: Sun, 31 Aug 2014 13:16:48 +0200 Subject: [PATCH 0408/2163] haskell-xml-html-conduit-lens 0.3.2.0 -> 0.3.2.1 --- .../libraries/haskell/xml-html-conduit-lens/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix b/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix index 3dded2dcb44..7a53fb456f7 100644 --- a/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix +++ b/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "xml-html-conduit-lens"; - version = "0.3.2.0"; - sha256 = "150b772wkl2k8xcrcbqj3qhndjkl35qzwqdjbgs9mxp867aihiv0"; + version = "0.3.2.1"; + sha256 = "0iy58nq5b6ixdky2xr4r8xxk3c8wqp1y3jbpsk3dr1qawzjbzp12"; buildDepends = [ htmlConduit lens text xmlConduit ]; testDepends = [ doctest hspec hspecExpectationsLens lens xmlConduit @@ -17,7 +17,5 @@ cabal.mkDerivation (self: { description = "Optics for xml-conduit and html-conduit"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; - broken = true; }; }) From 9103b8b512d634f53873fa7c652e870b5eaa3795 Mon Sep 17 00:00:00 2001 From: Aycan iRiCAN Date: Sun, 31 Aug 2014 14:27:15 +0300 Subject: [PATCH 0409/2163] Bump snort and daq --- pkgs/applications/networking/ids/daq/default.nix | 6 +++--- pkgs/applications/networking/ids/snort/default.nix | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/ids/daq/default.nix b/pkgs/applications/networking/ids/daq/default.nix index 36571809a37..c80d55f9412 100644 --- a/pkgs/applications/networking/ids/daq/default.nix +++ b/pkgs/applications/networking/ids/daq/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, flex, bison, libpcap}: stdenv.mkDerivation rec { - name = "daq-2.0.0"; + name = "daq-2.0.2"; src = fetchurl { name = "${name}.tar.gz"; - url = http://www.snort.org/downloads/2311; - sha256 = "0f0w5jfmx0n2sms4f2mfg984a27r7qh927vkd7fclvx9cbiwibzv"; + url = "http://www.snort.org/downloads/snort/${name}.tar.gz"; + sha256 = "1a39qbm9nc05yr8llawl7mz0ny1fci4acj9c2k1h4klrqikiwpfn"; }; buildInputs = [ flex bison libpcap ]; diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix index 580591c18ad..65e46176fcb 100644 --- a/pkgs/applications/networking/ids/snort/default.nix +++ b/pkgs/applications/networking/ids/snort/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison}: stdenv.mkDerivation rec { - name = "snort-2.9.4.6"; + name = "snort-2.9.6.2"; src = fetchurl { name = "${name}.tar.gz"; - url = http://www.snort.org/downloads/2320; - sha256 = "1g5kn36l67a5m95h2shqwqbbjb6rgl3sf1bciakal2l4n6857ang"; + url = "http://www.snort.org/downloads/snort/${name}.tar.gz"; + sha256 = "0xsxbd5h701ncnhn9sf7zkmzravlqhn1182whinphfjjw72py7cf"; }; buildInputs = [ libpcap pcre libdnet daq zlib flex bison ]; From 66f525c8d6b5c00401044d800f50ade40fa45a79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 31 Aug 2014 13:33:04 +0200 Subject: [PATCH 0410/2163] pypyPackages.pycryptopp: mark as not supported on pypy --- pkgs/top-level/python-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2ee854bdc9c..095d5eb3c06 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6089,6 +6089,7 @@ rec { pycryptopp = buildPythonPackage (rec { name = "pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958"; + disabled = isPy3k || isPyPy; # see https://bitbucket.org/pypy/pypy/issue/1190/ src = fetchurl { url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz"; From b497011da9bcf4c7791565d81b26c919aeb2b03d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 31 Aug 2014 13:33:18 +0200 Subject: [PATCH 0411/2163] pythonPackages.cffi: 0.7.2 -> 0.8.6 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 095d5eb3c06..55944225a18 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1521,11 +1521,11 @@ rec { }; cffi = buildPythonPackage rec { - name = "cffi-0.8.6"; + name = "cffi-0.7.2"; src = fetchurl { url = "http://pypi.python.org/packages/source/c/cffi/${name}.tar.gz"; - md5 = "474b5a68299a6f05009171de1dc91be6"; + md5 = "d329f5cb2053fd31dafc02e2c9ef0299"; }; propagatedBuildInputs = [ pkgs.libffi pycparser ]; From 7327e3f808a5e2fa2eb239947580c5892f5f75e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 31 Aug 2014 13:41:27 +0200 Subject: [PATCH 0412/2163] PyPy ships with cffi, so don't use external cffi for packages --- pkgs/top-level/python-packages.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 55944225a18..31c30678ec0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -730,7 +730,8 @@ rec { }; buildInputs = [ pkgs.btrfsProgs ]; - propagatedBuildInputs = with pkgs; [ contextlib2 sqlalchemy9 pyxdg pycparser cffi alembic ]; + propagatedBuildInputs = with pkgs; [ contextlib2 sqlalchemy9 pyxdg pycparser alembic ] + ++ optionals (!isPyPy) [ cffi ]; meta = { description = "Deduplication for Btrfs"; @@ -1513,7 +1514,7 @@ rec { md5 = "c5df008669d17dd6eeb5e2042d5e136f"; }; - buildInputs = [ cffi pycparser mock pytest py ]; + buildInputs = [ pycparser mock pytest py ] ++ optionals (!isPyPy) [ cffi ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -5998,7 +5999,7 @@ rec { export DYLD_LIBRARY_PATH="${pkgs.libgit2}/lib" '' else "" ); - propagatedBuildInputs = [ pkgs.libgit2 cffi ]; + propagatedBuildInputs = [ pkgs.libgit2 ] ++ optionals (!isPyPy) [ cffi ]; preCheck = '' # disable tests that require networking From 47ebc25c627d2e03826dadb804b099be0199f89f Mon Sep 17 00:00:00 2001 From: Longrin Wischnewski Date: Sun, 31 Aug 2014 13:43:24 +0200 Subject: [PATCH 0413/2163] audacious: update to version 3.5.1 --- pkgs/applications/audio/audacious/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix index 409a831727b..49b02f46e9b 100644 --- a/pkgs/applications/audio/audacious/default.nix +++ b/pkgs/applications/audio/audacious/default.nix @@ -1,28 +1,29 @@ { stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs , gettext, dbus_glib, libxml2, libmad, xlibs, alsaLib, libogg , libvorbis, libcdio, libcddb, flac, ffmpeg, makeWrapper +, mpg123, neon, faad2 }: let - version = "3.4.3"; + version = "3.5.1"; in stdenv.mkDerivation { name = "audacious-${version}"; src = fetchurl { url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2"; - sha256 = "04lzwdr1lx6ghbfxzygvnbmdl420w6rm453ds5lyb0hlvzs58d0q"; + sha256 = "01wmlvpp540gdjw759wif3byh98h3b3q6f5wawzp0b0ivqd0wf6z"; }; pluginsSrc = fetchurl { url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2"; - sha256 = "00r88q9fs9a0gicdmk2svcans7igcqgacrw303a5bn44is7pmrmy"; + sha256 = "09lyvi15hbn3pvb2izyz2bm4021917mhcdrwxrn3q3sjvx337np6"; }; buildInputs = [ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio - libcddb ffmpeg makeWrapper + libcddb ffmpeg makeWrapper mpg123 neon faad2 ]; # Here we build bouth audacious and audacious-plugins in one From 6ad299460caccd4c4ab928d7988f7a1f0460fea8 Mon Sep 17 00:00:00 2001 From: Longrin Wischnewski Date: Sun, 31 Aug 2014 13:59:29 +0200 Subject: [PATCH 0414/2163] rdesktop: update to version 1.8.2 rdesktop: add meta fields --- pkgs/applications/networking/remote/rdesktop/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/remote/rdesktop/default.nix b/pkgs/applications/networking/remote/rdesktop/default.nix index 09c20618d66..7d2b7990d3f 100644 --- a/pkgs/applications/networking/remote/rdesktop/default.nix +++ b/pkgs/applications/networking/remote/rdesktop/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation (rec { pname = "rdesktop"; - version = "1.8.1"; + version = "1.8.2"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.gz"; - sha256 = "0il248cdsxvwjsl4bswf27ld9r1a7d48jf6bycr86kf3i55q7k3n"; + sha256 = "0y0s0qjfsflp4drcn75ykx6as7mn13092bcvlp2ibhilkpa27gzv"; }; buildInputs = [openssl libX11]; @@ -20,5 +20,8 @@ stdenv.mkDerivation (rec { meta = { description = "Open source client for Windows Terminal Services"; + homepage = http://www.rdesktop.org/; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.gpl2; }; }) From 57b667fe65ecd06a788f2b1d7e659747248d7e8b Mon Sep 17 00:00:00 2001 From: Michael Fellinger Date: Sat, 30 Aug 2014 13:01:02 +0200 Subject: [PATCH 0415/2163] ruby: add version 2.1.2 --- .../interpreters/ruby/ruby-2.1.2.nix | 72 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 73 insertions(+) create mode 100644 pkgs/development/interpreters/ruby/ruby-2.1.2.nix diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.2.nix b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix new file mode 100644 index 00000000000..430bf4f1665 --- /dev/null +++ b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix @@ -0,0 +1,72 @@ +{ stdenv, fetchurl +, zlib, zlibSupport ? true +, openssl, opensslSupport ? true +, gdbm, gdbmSupport ? true +, ncurses, readline, cursesSupport ? false +, groff, docSupport ? false +, libyaml, yamlSupport ? true +}: + +let + op = stdenv.lib.optional; + ops = stdenv.lib.optionals; +in + +stdenv.mkDerivation rec { + name = "ruby-2.1.2"; + src = fetchurl { + url = "http://cache.ruby-lang.org/pub/ruby/2.1/${name}.tar.bz2"; + sha256 = "6948b02570cdfb89a8313675d4aa665405900e27423db408401473f30fc6e901"; + }; + + # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds. + NROFF = "${groff}/bin/nroff"; + + buildInputs = (ops cursesSupport [ ncurses readline ] ) + ++ (op docSupport groff ) + ++ (op zlibSupport zlib) + ++ (op opensslSupport openssl) + ++ (op gdbmSupport gdbm) + ++ (op yamlSupport libyaml) + # Looks like ruby fails to build on darwin without readline even if curses + # support is not enabled, so add readline to the build inputs if curses + # support is disabled (if it's enabled, we already have it) and we're + # running on darwin + ++ (op (!cursesSupport && stdenv.isDarwin) readline); + + enableParallelBuilding = true; + + configureFlags = ["--enable-shared" ] + # on darwin, we have /usr/include/tk.h -- so the configure script detects + # that tk is installed + ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]); + + installFlags = stdenv.lib.optionalString docSupport "install-doc"; + # Bundler tries to create this directory + postInstall = '' + # Bundler tries to create this directory + mkdir -pv $out/${passthru.gemPath} + mkdir -p $out/nix-support + cat > $out/nix-support/setup-hook < Date: Sun, 31 Aug 2014 14:31:02 +0200 Subject: [PATCH 0416/2163] deluge: update to version 1.3.7 --- pkgs/top-level/python-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2ee854bdc9c..56e8ffbbd8e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2948,11 +2948,11 @@ rec { }; deluge = buildPythonPackage rec { - name = "deluge-1.3.6"; + name = "deluge-1.3.7"; src = fetchurl { - url = "http://download.deluge-torrent.org/source/${name}.tar.gz"; - md5 = "33557678bf2f320de670ddaefaea009d"; + url = "http://download.deluge-torrent.org/source/${name}.tar.bz2"; + sha256 = "07m5lgkqymlh0810bk2f5l0k83n51xb3gszj11sr509jgbnxjnmm"; }; propagatedBuildInputs = with pkgs; [ From f5f4bf1a25464e03441c852c791f7ee8780536a1 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sun, 31 Aug 2014 09:45:44 -0300 Subject: [PATCH 0417/2163] Higan: Updating builder.sh script Now builder.sh will install a higan-config.sh script to write auxiliary stuff on $HOME/.config/higan directory. That way, higan searches locally and runs cleanly. Obviously it's a hack, but the only other way is to do a huge patch on upstream sources; personally I think it is better to work that type of thing directly on higan sources. --- pkgs/misc/emulators/higan/builder.sh | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/pkgs/misc/emulators/higan/builder.sh b/pkgs/misc/emulators/higan/builder.sh index a99ccf26dbb..0d01f7dc971 100644 --- a/pkgs/misc/emulators/higan/builder.sh +++ b/pkgs/misc/emulators/higan/builder.sh @@ -20,23 +20,16 @@ oldRPath=$(patchelf --print-rpath $out/bin/higan) patchelf --set-rpath $oldRPath:$out/lib $out/bin/higan # A dirty workaround, suggested by @cpages: -# we create a wrapper script to set up -# $HOME local configuration before higan runs +# we create a first-run script to populate +# the local $HOME with all the auxiliary +# stuff needed by higan at runtime -mv $out/bin/higan $out/bin/.higan-wrapped -cat < $out/bin/higan +cat < $out/bin/higan-config.sh +#!${shell} -#!/bin/bash -if [ ! -e \$HOME/.config/higan/.was_configured ] -then - cp --update --recursive $out/share/higan \$HOME/.config - chmod --recursive u+w \$HOME/.config/higan - touch \$HOME/.config/higan/.was_configured -fi -# LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$out/lib -$out/bin/.higan-wrapped "\$@" +cp --update --recursive $out/share/higan \$HOME/.config +chmod --recursive u+w \$HOME/.config/higan EOF -patchShebangs $out/bin/higan -chmod +x $out/bin/higan +chmod +x $out/bin/higan-config.sh From d4de312452c60bb1f60b31ac9d9aafa90bb8bdfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 31 Aug 2014 15:07:01 +0200 Subject: [PATCH 0418/2163] pypyPackages: use pypy internal greenlet module --- pkgs/top-level/python-packages.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7632af13c65..dc8f70d936c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3324,7 +3324,7 @@ rec { buildInputs = [ nose httplib2 ]; - propagatedBuildInputs = [ greenlet ]; + propagatedBuildInputs = optionals (!isPyPy) [ greenlet ]; PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; @@ -3615,7 +3615,7 @@ rec { gevent = buildPythonPackage rec { name = "gevent-1.0.1"; - disabled = isPy3k; + disabled = isPy3k || isPyPy; # see https://github.com/surfly/gevent/issues/248 src = fetchurl { url = "https://pypi.python.org/packages/source/g/gevent/${name}.tar.gz"; @@ -3623,7 +3623,7 @@ rec { }; buildInputs = [ pkgs.libev ]; - propagatedBuildInputs = [ greenlet ]; + propagatedBuildInputs = optionals (!isPyPy) [ greenlet ]; meta = with stdenv.lib; { description = "Coroutine-based networking library"; @@ -8699,6 +8699,7 @@ rec { pyuv = buildPythonPackage rec { name = "pyuv-0.11.5"; + disabled = isPyPy; # see https://github.com/saghul/pyuv/issues/49 src = fetchurl { url = "https://github.com/saghul/pyuv/archive/${name}.tar.gz"; From b63496ba6b03080f99fb56671ec6ef60b340e6a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 31 Aug 2014 15:12:17 +0200 Subject: [PATCH 0419/2163] Revert "h5py: New package, version 2.3.1" This reverts commit 3c6afb34967a241e2c2e106cb02bad55b5389b94. Doesn't build. --- .../python-modules/h5py/default.nix | 43 ------------------- pkgs/top-level/python-packages.nix | 13 ------ 2 files changed, 56 deletions(-) delete mode 100644 pkgs/development/python-modules/h5py/default.nix diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix deleted file mode 100644 index 9ab68ac4cd2..00000000000 --- a/pkgs/development/python-modules/h5py/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ stdenv, fetchurl, python, buildPythonPackage -, numpy, hdf5, cython -, mpiSupport ? false, mpi4py ? null, mpi ? null }: - -assert mpiSupport == hdf5.mpiSupport; -assert mpiSupport -> mpi != null - && mpi4py != null - && mpi == mpi4py.mpi - && mpi == hdf5.mpi - ; - -with stdenv.lib; - -buildPythonPackage rec { - name = "h5py-2.3.1"; - - src = fetchurl { - url = "https://pypi.python.org/packages/source/h/h5py/${name}.tar.gz"; - md5 = "8f32f96d653e904d20f9f910c6d9dd91"; - }; - - setupPyBuildFlags = [ "--hdf5=${hdf5}" ] - ++ optional mpiSupport "--mpi" - ; - setupPyInstallFlags = setupPyBuildFlags; - - preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else ""; - - buildInputs = [ hdf5 cython ] - ++ optional mpiSupport mpi - ; - propagatedBuildInputs = [ numpy ] - ++ optional mpiSupport mpi4py - ; - - meta = { - description = " - The h5py package is a Pythonic interface to the HDF5 binary data format. - "; - homepage = "http://www.h5py.org/"; - license = stdenv.lib.licenses.bsd2; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dc8f70d936c..dad9da5324d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -90,19 +90,6 @@ rec { ''; }; - h5py = callPackage ../development/python-modules/h5py { - inherit (pkgs) stdenv fetchurl; - inherit python buildPythonPackage cython numpy; - hdf5 = pkgs.hdf5.override { mpi = null; }; - }; - - h5py-mpi = h5py.override { - mpiSupport = true; - mpi = pkgs.openmpi; - hdf5 = pkgs.hdf5.override { mpi = pkgs.openmpi; enableShared = true; }; - inherit mpi4py; - }; - ipython = import ../shells/ipython { inherit (pkgs) stdenv fetchurl sip pyqt4; inherit buildPythonPackage pythonPackages; From 7e91d1c8a1a4c822562dd058e0efebbc99aca2d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 31 Aug 2014 15:12:34 +0200 Subject: [PATCH 0420/2163] Revert "mpi4py: New package, version 1.3.1" This reverts commit 63c062947eb765e4a02bc892e1891da7057fdfec. Doesn't build. --- .../python-modules/mpi4py/default.nix | 45 ------------------- pkgs/top-level/python-packages.nix | 6 --- 2 files changed, 51 deletions(-) delete mode 100644 pkgs/development/python-modules/mpi4py/default.nix diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix deleted file mode 100644 index 74d46def907..00000000000 --- a/pkgs/development/python-modules/mpi4py/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ stdenv, fetchurl, python, buildPythonPackage, mpi, openssh }: - -buildPythonPackage rec { - name = "mpi4py-1.3.1"; - - src = fetchurl { - url = "https://bitbucket.org/mpi4py/mpi4py/downloads/${name}.tar.gz"; - sha256 = "e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507"; - }; - - passthru = { - inherit mpi; - }; - - configurePhase = ""; - - installPhase = '' - mkdir -p "$out/lib/${python.libPrefix}/site-packages" - export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" - - ${python}/bin/${python.executable} setup.py install \ - --install-lib=$out/lib/${python.libPrefix}/site-packages \ - --prefix="$out" - - # --install-lib: - # sometimes packages specify where files should be installed outside the usual - # python lib prefix, we override that back so all infrastructure (setup hooks) - # work as expected - ''; - - setupPyBuildFlags = ["--mpicc=${mpi}/bin/mpicc"]; - - buildInputs = [ mpi ]; - # Requires openssh for tests. Tests of dependent packages will also fail, - # if openssh is not present. E.g. h5py with mpi support. - propagatedBuildInputs = [ openssh ]; - - meta = { - description = " - Provides Python bindings for the Message Passing Interface standard. - "; - homepage = "http://code.google.com/p/mpi4py/"; - license = stdenv.lib.licenses.bsd3; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dad9da5324d..6ec68d5537e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -106,12 +106,6 @@ rec { pylabQtSupport = false; }); - mpi4py = callPackage ../development/python-modules/mpi4py { - inherit (pkgs) stdenv fetchurl openssh; - inherit python buildPythonPackage; - mpi = pkgs.openmpi; - }; - nixpart = callPackage ../tools/filesystems/nixpart { }; # This is used for NixOps to make sure we won't break it with the next major From 9447a855f2996d9e462665c9985343aadc0fdcaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 31 Aug 2014 12:11:15 +0200 Subject: [PATCH 0421/2163] lv2: update from 1.8.0 to 1.10.0 --- pkgs/development/libraries/audio/lv2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix index 25d19d089a5..f03f6b3d371 100644 --- a/pkgs/development/libraries/audio/lv2/default.nix +++ b/pkgs/development/libraries/audio/lv2/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "lv2-${version}"; - version = "1.8.0"; + version = "1.10.0"; src = fetchurl { url = "http://lv2plug.in/spec/${name}.tar.bz2"; - sha256 = "1mxkp7gajh1alw6s358cqwf3qkpr1ld9wfxwswnqrxcd9a7hxjd4"; + sha256 = "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378"; }; buildInputs = [ gtk libsndfile pkgconfig python ]; From b820c284d7f1fb4f298e60395659dedb4f351e60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 31 Aug 2014 12:11:36 +0200 Subject: [PATCH 0422/2163] sratom: update from 0.4.4 to 0.4.6 --- pkgs/development/libraries/audio/sratom/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix index ac0b9d233fa..a4ba4c16c87 100644 --- a/pkgs/development/libraries/audio/sratom/default.nix +++ b/pkgs/development/libraries/audio/sratom/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sratom-${version}"; - version = "0.4.4"; + version = "0.4.6"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1q4044md8nmqah8ay5mf4lgdl6x0sfa4cjqyqk9da8nqzvs2j37s"; + sha256 = "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4"; }; buildInputs = [ lv2 pkgconfig python serd sord ]; From dcbfff28f31b354ecb033c43b9fef3c84ddd9e44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 31 Aug 2014 12:13:25 +0200 Subject: [PATCH 0423/2163] jalv: update from 1.4.4 to 1.4.6 --- pkgs/applications/audio/jalv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix index 70ef5bdec5c..bf01fe1a935 100644 --- a/pkgs/applications/audio/jalv/default.nix +++ b/pkgs/applications/audio/jalv/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "jalv-${version}"; - version = "1.4.4"; + version = "1.4.6"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1iql1r52rmf87q6jkxhcxa3lpq7idzzg55ma91wphywyvh29q7lf"; + sha256 = "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"; }; buildInputs = [ From 2bfe0a5d38ad56b20e99342c3cf546b7fa3c7884 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 31 Aug 2014 15:22:05 +0200 Subject: [PATCH 0424/2163] guitarix: update from 0.28.3 to 0.30.0 --- pkgs/applications/audio/guitarix/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix index 777c0ddb2e3..46237a6c1c7 100644 --- a/pkgs/applications/audio/guitarix/default.nix +++ b/pkgs/applications/audio/guitarix/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "guitarix-${version}"; - version = "0.28.3"; + version = "0.30.0"; src = fetchurl { url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2"; - sha256 = "0ks5avylyicqfj9l1wf4gj62i8m6is2jmp0h11h5l2wbg3xiwxjd"; + sha256 = "0fbapd1pcixzlqxgzb2s2q1c64g9z9lf4hz3vy73z55cnpk72vdx"; }; buildInputs = [ From 80da458388154a64279b0e4992c3f4058a6246fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 31 Aug 2014 15:44:44 +0200 Subject: [PATCH 0425/2163] guitarix: fix 0.30.0 build by adding new dependencies --- pkgs/applications/audio/guitarix/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix index 46237a6c1c7..e593ddf41e6 100644 --- a/pkgs/applications/audio/guitarix/default.nix +++ b/pkgs/applications/audio/guitarix/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, avahi, boost, fftw, gettext, glib, glibmm, gtk -, gtkmm, intltool, jack2, ladspaH, librdf, libsndfile, lv2 -, pkgconfig, python }: +{ stdenv, fetchurl, avahi, boost, eigen, fftw, gettext, glib, glibmm, gtk +, gtkmm, intltool, jack2, ladspaH, librdf, libsndfile, lilv, lv2 +, pkgconfig, python, serd, sord, sratom }: stdenv.mkDerivation rec { name = "guitarix-${version}"; @@ -12,8 +12,8 @@ stdenv.mkDerivation rec { }; buildInputs = [ - avahi boost fftw gettext glib glibmm gtk gtkmm intltool jack2 - ladspaH librdf libsndfile lv2 pkgconfig python + avahi boost eigen fftw gettext glib glibmm gtk gtkmm intltool jack2 + ladspaH librdf libsndfile lilv lv2 pkgconfig python serd sord sratom ]; configurePhase = "python waf configure --prefix=$out"; From cdb3e6fa2fcc988b61251e5db714dad361db70e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 31 Aug 2014 15:51:54 +0200 Subject: [PATCH 0426/2163] python33Packages.sqlalchemy(8): fix build --- pkgs/top-level/python-packages.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6ec68d5537e..7b39b083eea 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8027,6 +8027,9 @@ rec { # waiting for 0.7.11 release ../development/python-modules/sqlalchemy-0.7.10-test-failures.patch ]; + preConfigure = optionalString isPy3k '' + python3 sa2to3.py --no-diffs -w lib test examples + ''; }); sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { @@ -8035,6 +8038,9 @@ rec { url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; md5 = "4f3377306309e46739696721b1785335"; }; + preConfigure = optionalString isPy3k '' + python3 sa2to3.py --no-diffs -w lib test examples + ''; }); sqlalchemy9 = buildPythonPackage rec { From 933bca648fca37bf8516c34a81cfbec1d81dd040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 31 Aug 2014 16:09:08 +0200 Subject: [PATCH 0427/2163] hydrogen: 0.9.5.1 -> 0.9.6 --- pkgs/applications/audio/hydrogen/default.nix | 28 ++++--------------- .../audio/hydrogen/scons-env.patch | 28 ------------------- 2 files changed, 6 insertions(+), 50 deletions(-) delete mode 100644 pkgs/applications/audio/hydrogen/scons-env.patch diff --git a/pkgs/applications/audio/hydrogen/default.nix b/pkgs/applications/audio/hydrogen/default.nix index 10f15f5882c..72e546246d5 100644 --- a/pkgs/applications/audio/hydrogen/default.nix +++ b/pkgs/applications/audio/hydrogen/default.nix @@ -1,35 +1,19 @@ -{ stdenv, fetchurl, alsaLib, boost, glib, jack2, ladspaPlugins -, libarchive, liblrdf , libsndfile, pkgconfig, qt4, scons, subversion }: +{ stdenv, fetchurl, alsaLib, boost, cmake, glib, jack2, libarchive +, liblrdf, libsndfile, pkgconfig, qt4 }: stdenv.mkDerivation rec { - version = "0.9.5.1"; + version = "0.9.6"; name = "hydrogen-${version}"; src = fetchurl { - url = "mirror://sourceforge/hydrogen/hydrogen-${version}.tar.gz"; - sha256 = "1fvyp6gfzcqcc90dmaqbm11p272zczz5pfz1z4lj33nfr7z0bqgb"; + url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz"; + sha256 = "1z7j8aq158mp41iv78j0w6fyx98y1y51z592b4x5hkvicabgck5w"; }; buildInputs = [ - alsaLib boost glib jack2 ladspaPlugins libarchive liblrdf - libsndfile pkgconfig qt4 scons subversion + alsaLib boost cmake glib jack2 libarchive liblrdf libsndfile pkgconfig qt4 ]; - patches = [ ./scons-env.patch ]; - - postPatch = '' - sed -e 's#/usr/lib/ladspa#${ladspaPlugins}/lib/ladspa#' -i libs/hydrogen/src/preferences.cpp - sed '/\/usr/d' -i libs/hydrogen/src/preferences.cpp - sed "s#pkg_ver.rstrip().split('.')#pkg_ver.rstrip().split('.')[:3]#" -i Sconstruct - ''; - - # why doesn't scons find librdf? - buildPhase = '' - scons prefix=$out libarchive=1 lrdf=0 install - ''; - - installPhase = ":"; - meta = with stdenv.lib; { description = "Advanced drum machine"; homepage = http://www.hydrogen-music.org; diff --git a/pkgs/applications/audio/hydrogen/scons-env.patch b/pkgs/applications/audio/hydrogen/scons-env.patch deleted file mode 100644 index ebc17f67872..00000000000 --- a/pkgs/applications/audio/hydrogen/scons-env.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- hydrogen-0.9.5/Sconstruct 2011-03-15 13:22:35.000000000 +0100 -+++ hydrogen-0.9.5/Sconstruct 2011-04-17 16:06:54.000000000 +0200 -@@ -178,7 +178,7 @@ - - includes.append( "libs/hydrogen/include" ) - -- env = Environment( options = opts ) -+ env = Environment( options = opts, ENV = os.environ ) - - - #location of qt4.py -@@ -298,7 +298,6 @@ - - for N in glob.glob('./data/i18n/hydrogen.*'): - env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/data/i18n', source=N)) -- env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/data', source="./data/img")) - - #add every img in ./data/img to the install list. - os.path.walk("./data/img/",install_images,env) -@@ -379,7 +379,7 @@ - - includes, a , b = get_platform_flags( opts ) - --env = Environment(options = opts, CPPPATH = includes) -+env = Environment(options = opts, ENV = os.environ) - - - Help(opts.GenerateHelpText(env)) From 9785c31c9800a821bc2c92a04d2c532cc71c40f1 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 17:18:35 +0400 Subject: [PATCH 0428/2163] Update ASDF --- pkgs/development/lisp-modules/asdf/default.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix index 97e1661544b..100577b3a7f 100644 --- a/pkgs/development/lisp-modules/asdf/default.nix +++ b/pkgs/development/lisp-modules/asdf/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="asdf"; - version="3.1.2"; + version="3.1.3"; name="${baseName}-${version}"; - hash="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki"; - url="http://common-lisp.net/project/asdf/archives/asdf-3.1.2.tar.gz"; - sha256="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki"; + hash="11jgbl2ys98i7lir0z76g0msm89zmz1b91gwkdz0gnxr6gavj6cn"; + url="http://common-lisp.net/project/asdf/archives/asdf-3.1.3.tar.gz"; + sha256="11jgbl2ys98i7lir0z76g0msm89zmz1b91gwkdz0gnxr6gavj6cn"; }; buildInputs = [ texinfo texLive @@ -29,7 +29,6 @@ stdenv.mkDerivation { cp -r ./* "$out"/lib/common-lisp/asdf/ cp -r doc/* "$out"/share/doc/asdf/ ''; - sourceRoot="."; meta = { inherit (s) version; description = ''Standard software-system definition library for Common Lisp''; From fe549d89be7df890d9403c2ad77fabc28950e292 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 17:22:23 +0400 Subject: [PATCH 0429/2163] Update CL-Launch --- pkgs/development/tools/misc/cl-launch/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix index d66ca9868f5..085af9df3a3 100644 --- a/pkgs/development/tools/misc/cl-launch/default.nix +++ b/pkgs/development/tools/misc/cl-launch/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="cl-launch"; - version="4.0.5"; + version="4.1"; name="${baseName}-${version}"; - hash="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj"; - url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.5.tar.gz"; - sha256="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj"; + hash="0fmxa8013sgxmbfmh1wqffywg72zynzlw5yyrdvy9qpx1my36pwb"; + url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.1.tar.gz"; + sha256="0fmxa8013sgxmbfmh1wqffywg72zynzlw5yyrdvy9qpx1my36pwb"; }; buildInputs = [ ]; From b28d7974fb5e8e3a117ee81c066d5632bcdf030e Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 17:27:03 +0400 Subject: [PATCH 0430/2163] Update SysDig --- pkgs/os-specific/linux/sysdig/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index d5e2ed3ff94..4abbb4c45b4 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -3,10 +3,10 @@ let inherit (stdenv.lib) optional optionalString; s = rec { baseName="sysdig"; - version="0.1.87"; + version = "0.1.88"; name="${baseName}-${version}"; url="https://github.com/draios/sysdig/archive/${version}.tar.gz"; - sha256="0xfildaj8kzbngpza47zqm363i6q87m97a18qlmdisrxmz11s32b"; + sha256 = "1a4ij3qpk1h7xnyhic6p21jp46p9lpnagfl46ky46snflld4bz96"; }; buildInputs = [ cmake zlib luajit From bddcee774715efe189857c19228d18639fa04952 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 17:28:05 +0400 Subject: [PATCH 0431/2163] Update Firejail --- pkgs/os-specific/linux/firejail/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix index c1fa2c26205..d7f3d293c48 100644 --- a/pkgs/os-specific/linux/firejail/default.nix +++ b/pkgs/os-specific/linux/firejail/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="firejail"; - version="0.9.8.1"; + version="0.9.10"; name="${baseName}-${version}"; - hash="0wjanz42k301zdwv06ylnzqrabxy424j0k9dh4i4aqhvihvxr83x"; - url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.8.1.tar.bz2"; - sha256="0wjanz42k301zdwv06ylnzqrabxy424j0k9dh4i4aqhvihvxr83x"; + hash="0pjzs77r86nnhddpfm39f0a4lrzahq0cwi8d2wsg35gxvb19w1jg"; + url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.10.tar.bz2"; + sha256="0pjzs77r86nnhddpfm39f0a4lrzahq0cwi8d2wsg35gxvb19w1jg"; }; buildInputs = [ ]; From 3bbf64b6d08bd0b3cf3ac8564f8f79c5d51b22eb Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 17:40:20 +0400 Subject: [PATCH 0432/2163] Update unstable Wine --- pkgs/misc/emulators/wine/unstable.nix | 4 ++-- pkgs/misc/emulators/wine/unstable.upstream | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix index cd5c5a8b479..a7d52f2bca4 100644 --- a/pkgs/misc/emulators/wine/unstable.nix +++ b/pkgs/misc/emulators/wine/unstable.nix @@ -7,12 +7,12 @@ assert stdenv.isLinux; assert stdenv.gcc.gcc != null; let - version = "1.7.23"; + version = "1.7.25"; name = "wine-${version}"; src = fetchurl { url = "mirror://sourceforge/wine/${name}.tar.bz2"; - sha256 = "012ww1yifayakw9n2m23sx83dc3i2xiq3bn5n9iprppdhwxpp76v"; + sha256 = "0h7mijxv5nhn0nn5knr8arq9bl7chi3diaa668yyhjbxwn15xqzm"; }; gecko = fetchurl { diff --git a/pkgs/misc/emulators/wine/unstable.upstream b/pkgs/misc/emulators/wine/unstable.upstream index e3616df7680..fa78360c76a 100644 --- a/pkgs/misc/emulators/wine/unstable.upstream +++ b/pkgs/misc/emulators/wine/unstable.upstream @@ -1,5 +1,5 @@ url http://sourceforge.net/projects/wine/files/Source/ -attribute_name wine_unstable +attribute_name wineUnstable version_link '[.]tar[.][^./]+/download$' SF_redirect do_overwrite () { From 27ffa4093da85274cd7efe63db86ebaac2c5ca63 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 17:42:14 +0400 Subject: [PATCH 0433/2163] Update libgphoto2 --- pkgs/development/libraries/libgphoto2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix index ca8073fbe30..dc041490f78 100644 --- a/pkgs/development/libraries/libgphoto2/default.nix +++ b/pkgs/development/libraries/libgphoto2/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; - sha256 = "1h0bwrbc69yq561pw4fjyclwvk0g6rrj3pw6zrdx33isipi15d2z"; + sha256 = "1w2bfy6619fgrigasgmx3lnill8c99lq7blmy2bpp0qqqqwdb93d"; }; nativeBuildInputs = [ pkgconfig gettext ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { MTP, and other vendor specific protocols for controlling and transferring data from digital cameras. ''; - version = "2.5.4"; + version = "2.5.5"; # XXX: the homepage claims LGPL, but several src files are lgpl21Plus license = stdenv.lib.licenses.lgpl21Plus; platforms = with stdenv.lib.platforms; unix; From 7b4f0e2265a098a452bd7c74d95c7789cbd8c702 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 17:43:52 +0400 Subject: [PATCH 0434/2163] Update Sodiuum library --- pkgs/development/libraries/sodium/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix index be52725f2c8..266675614ce 100644 --- a/pkgs/development/libraries/sodium/default.nix +++ b/pkgs/development/libraries/sodium/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="sodium"; - version="0.6.1"; + version="0.7.0"; name="${baseName}-${version}"; - hash="151nril3kzkpmy6khvqphk4zk15ri0dqv0isyyhz6n9nsbmzxk04"; - url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.6.1.tar.gz"; - sha256="151nril3kzkpmy6khvqphk4zk15ri0dqv0isyyhz6n9nsbmzxk04"; + hash="0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc"; + url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.7.0.tar.gz"; + sha256="0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc"; }; buildInputs = [ ]; From 7a998aca73423bee82b983e8fd34ce1da6e076f6 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 17:44:47 +0400 Subject: [PATCH 0435/2163] Update SlimerJS --- pkgs/development/tools/slimerjs/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix index 9741b0930d2..23b7d9e692c 100644 --- a/pkgs/development/tools/slimerjs/default.nix +++ b/pkgs/development/tools/slimerjs/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="slimerjs"; - version="0.9.1"; + version="0.9.2"; name="${baseName}-${version}"; - hash="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k"; - url="http://download.slimerjs.org/v0.9/0.9.1/slimerjs-0.9.1.zip"; - sha256="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k"; + hash="0817f3aq0gn04q4hq43xk4av02d86s2001lg5s5p38phd2jvh703"; + url="http://download.slimerjs.org/releases/0.9.2/slimerjs-0.9.2.zip"; + sha256="0817f3aq0gn04q4hq43xk4av02d86s2001lg5s5p38phd2jvh703"; }; buildInputs = [ unzip zip From 1bfcc7b4774bb58ceb05e0536b5b86a4a7977607 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 17:47:03 +0400 Subject: [PATCH 0436/2163] Update SCons --- pkgs/development/tools/build-managers/scons/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix index 93f7699481c..e173f827664 100644 --- a/pkgs/development/tools/build-managers/scons/default.nix +++ b/pkgs/development/tools/build-managers/scons/default.nix @@ -2,7 +2,7 @@ let name = "scons"; - version = "2.3.2"; + version = "2.3.3"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/scons/${name}-${version}.tar.gz"; - sha256 = "1m29lhwz7p6k4f8wc8qjpwa89058lzq3vrycgxbfc5cmbq6354zr"; + sha256 = "1qn0gk4k796a6vwsq62w80d6w96r9xh6kz7aa14xb6md2884x9v3"; }; buildInputs = [python makeWrapper]; From 5fc69283f51daae7811755f24073b18c995e3efb Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 17:52:07 +0400 Subject: [PATCH 0437/2163] Update SBCL --- pkgs/development/compilers/sbcl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index d3892d43d15..535f2697fea 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sbcl-${version}"; - version = "1.2.0"; + version = "1.2.3"; src = fetchurl { url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; - sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2"; + sha256 = "0lz2a79dlxxyw05s14l6xp35zjsazgbp1dmqygqi0cmd8dc5vj6j"; }; buildInputs = [ ] From 8bc60391c65bd7e37c9bb1b5206b76ac67a4f55a Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 18:24:41 +0400 Subject: [PATCH 0438/2163] Remove old version of LibreOffice dependencies: we now have fresh LibreOffice, the old versions of deps are not used otherwise, and they require old versions of more packages --- pkgs/development/libraries/libe-book/0.0.nix | 30 ------------------- .../libraries/libe-book/0.0.upstream | 4 --- pkgs/development/libraries/libmwaw/0.2.nix | 29 ------------------ .../libraries/libmwaw/0.2.upstream | 4 --- pkgs/top-level/all-packages.nix | 2 -- 5 files changed, 69 deletions(-) delete mode 100644 pkgs/development/libraries/libe-book/0.0.nix delete mode 100644 pkgs/development/libraries/libe-book/0.0.upstream delete mode 100644 pkgs/development/libraries/libmwaw/0.2.nix delete mode 100644 pkgs/development/libraries/libmwaw/0.2.upstream diff --git a/pkgs/development/libraries/libe-book/0.0.nix b/pkgs/development/libraries/libe-book/0.0.nix deleted file mode 100644 index 2dc8de67039..00000000000 --- a/pkgs/development/libraries/libe-book/0.0.nix +++ /dev/null @@ -1,30 +0,0 @@ -{stdenv, fetchurl, gperf, pkgconfig, librevenge, libxml2, boost, icu, cppunit -, libwpd}: -let - s = # Generated upstream information - rec { - baseName="libe-book"; - version="0.0.3"; - name="${baseName}-${version}"; - hash="06xhg319wbqrkj8914npasv5lr7k2904mmy7wa78063mkh31365i"; - url="mirror://sourceforge/project/libebook/libe-book-0.0.3/libe-book-0.0.3.tar.xz"; - sha256="06xhg319wbqrkj8914npasv5lr7k2904mmy7wa78063mkh31365i"; - }; - buildInputs = [ - gperf pkgconfig librevenge libxml2 boost icu cppunit libwpd - ]; -in -stdenv.mkDerivation { - inherit (s) name version; - inherit buildInputs; - src = fetchurl { - inherit (s) url sha256; - }; - meta = { - inherit (s) version; - description = ''Library for import of reflowable e-book formats''; - license = stdenv.lib.licenses.lgpl21Plus ; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/libraries/libe-book/0.0.upstream b/pkgs/development/libraries/libe-book/0.0.upstream deleted file mode 100644 index e2994f52691..00000000000 --- a/pkgs/development/libraries/libe-book/0.0.upstream +++ /dev/null @@ -1,4 +0,0 @@ -url http://sourceforge.net/projects/libebook/files/ -SF_version_dir libe-book-0.0. -version_link '[.]tar.xz/download$' -SF_redirect diff --git a/pkgs/development/libraries/libmwaw/0.2.nix b/pkgs/development/libraries/libmwaw/0.2.nix deleted file mode 100644 index d66414b6814..00000000000 --- a/pkgs/development/libraries/libmwaw/0.2.nix +++ /dev/null @@ -1,29 +0,0 @@ -{stdenv, fetchurl, boost, pkgconfig, cppunit, zlib, libwpg, libwpd, librevenge}: -let - s = # Generated upstream information - rec { - baseName="libmwaw"; - version="0.2.1"; - name="${baseName}-${version}"; - hash="1fil1ll84pq0k3g6rcc2xfg1yrigkljp4ay5p2wpwd9qlmfvvvqn"; - url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-0.2.1/libmwaw-0.2.1.tar.xz"; - sha256="1fil1ll84pq0k3g6rcc2xfg1yrigkljp4ay5p2wpwd9qlmfvvvqn"; - }; - buildInputs = [ - boost pkgconfig cppunit zlib libwpg libwpd librevenge - ]; -in -stdenv.mkDerivation { - inherit (s) name version; - inherit buildInputs; - src = fetchurl { - inherit (s) url sha256; - }; - meta = { - inherit (s) version; - description = ''Import library for some old mac text documents''; - license = stdenv.lib.licenses.mpl20 ; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/libraries/libmwaw/0.2.upstream b/pkgs/development/libraries/libmwaw/0.2.upstream deleted file mode 100644 index 8ce00ecf767..00000000000 --- a/pkgs/development/libraries/libmwaw/0.2.upstream +++ /dev/null @@ -1,4 +0,0 @@ -url http://sourceforge.net/projects/libmwaw/files/libmwaw/ -SF_version_dir libmwaw-0.2. -version_link '[.]tar.xz/download$' -SF_redirect diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ec8f9c00b2c..2478d881182 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5235,7 +5235,6 @@ let liblscp = callPackage ../development/libraries/liblscp { }; libe-book = callPackage ../development/libraries/libe-book {}; - libe-book_00 = callPackage ../development/libraries/libe-book/0.0.nix {}; libev = builderDefsPackage ../development/libraries/libev { }; @@ -5452,7 +5451,6 @@ let libmusicbrainz = libmusicbrainz3; libmwaw = callPackage ../development/libraries/libmwaw { }; - libmwaw_02 = callPackage ../development/libraries/libmwaw/0.2.nix { }; libmx = callPackage ../development/libraries/libmx { }; From a3d0fcda139d42f0cd72e00bef90d3d94f77ccb6 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 18:36:07 +0400 Subject: [PATCH 0439/2163] Update serf --- pkgs/development/libraries/serf/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix index 409b5db0104..873f59dba3a 100644 --- a/pkgs/development/libraries/serf/default.nix +++ b/pkgs/development/libraries/serf/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig }: stdenv.mkDerivation rec { - name = "serf-1.3.6"; + version = "1.3.7"; + name = "serf-${version}"; src = fetchurl { url = "http://serf.googlecode.com/svn/src_releases/${name}.tar.bz2"; - sha256 = "1wk3cplazs8jznjc9ylpd63rrk9k2y05xa7zqx7psycr0gmpnqya"; + sha256 = "1bphz616dv1svc50kkm8xbgyszhg3ni2dqbij99sfvjycr7bgk7c"; }; buildInputs = [ apr scons openssl aprutil zlib krb5 pkgconfig ]; @@ -30,5 +31,8 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.asl20 ; maintainers = [stdenv.lib.maintainers.raskin]; hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + inherit version; + downloadPage = "http://serf.googlecode.com/svn/src_releases/"; + updateWalker = true; }; } From f70acd25847e1d18012acecb0923a024e7ff45d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 31 Aug 2014 16:53:29 +0200 Subject: [PATCH 0440/2163] munin: fix test --- pkgs/servers/monitoring/munin/default.nix | 2 +- pkgs/tools/misc/rrdtool/default.nix | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix index 245c838607f..0ce58e64015 100644 --- a/pkgs/servers/monitoring/munin/default.nix +++ b/pkgs/servers/monitoring/munin/default.nix @@ -105,7 +105,7 @@ stdenv.mkDerivation rec { *.jar) continue;; esac wrapProgram "$file" \ - --set PERL5LIB "$out/lib/perl5/site_perl:${with perlPackages; stdenv.lib.makePerlPath [ + --set PERL5LIB "$out/lib/perl5/site_perl:${rrdtool}/lib/perl:${with perlPackages; stdenv.lib.makePerlPath [ Log4Perl IOSocketInet6 Socket6 URI DBFile DateManip HTMLTemplate FileCopyRecursive FCGI NetSNMP NetServer ListMoreUtils TimeHiRes DBDPg LWPUserAgent diff --git a/pkgs/tools/misc/rrdtool/default.nix b/pkgs/tools/misc/rrdtool/default.nix index aa14087dfc8..29d98284ccf 100644 --- a/pkgs/tools/misc/rrdtool/default.nix +++ b/pkgs/tools/misc/rrdtool/default.nix @@ -7,6 +7,11 @@ stdenv.mkDerivation { sha256 = "07fgn0y4yj7p2vh6a37q273hf98gkfw2sdam5r1ldn1k0m1ayrqj"; }; buildInputs = [ gettext perl pkgconfig libxml2 pango cairo ]; + + postInstall = '' + # for munin support + mv $out/lib/perl/5*/*/*.pm $out/lib/perl/5*/ + ''; meta = { homepage = http://oss.oetiker.ch/rrdtool/; From 979f0e1d6731d915141d8bda628420cd3aec9d63 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 19:25:23 +0400 Subject: [PATCH 0441/2163] Update TPTP --- pkgs/applications/science/logic/tptp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix index ef00b135c27..d4c62858753 100644 --- a/pkgs/applications/science/logic/tptp/default.nix +++ b/pkgs/applications/science/logic/tptp/default.nix @@ -11,14 +11,14 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="TPTP"; - version="6.0.0"; + version="6.1.0"; name="${baseName}-${version}"; urls= [ "http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz" "http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}/TPTP-v${version}.tgz" ]; - hash="0jnjkqdz937c7mkxvh9wc3byw5h1k19jss058fbzdxxc2hkwq1af"; + hash="054p0kx9qh619ixslxpb4qcwvcqr4kan154b3a87b546b78k7kv4"; }; in rec { From 92ad86bb5e42c93430e82fc5d3f6b341896fd297 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 19:32:21 +0400 Subject: [PATCH 0442/2163] Allow search for updates for GNU Barcode --- pkgs/tools/graphics/barcode/default.nix | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/graphics/barcode/default.nix b/pkgs/tools/graphics/barcode/default.nix index 60dc5a285da..052dc8f9cb2 100644 --- a/pkgs/tools/graphics/barcode/default.nix +++ b/pkgs/tools/graphics/barcode/default.nix @@ -9,17 +9,16 @@ let buildInputs = map (n: builtins.getAttr n x) (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { - version="0.99"; + version = "0.99"; baseName="barcode"; name="${baseName}-${version}"; url="mirror://gnu/${baseName}/${name}.tar.gz"; - hash="0r2b2lwg7a9i9ic5spkbnavy1ynrppmrldv46vsl44l1xgriq0vw"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "1indapql5fjz0bysyc88cmc54y8phqrbi7c76p71fgjp45jcyzp8"; }; inherit (sourceInfo) name version; @@ -35,11 +34,9 @@ rec { raskin ]; platforms = with a.lib.platforms; allBut darwin; - }; - passthru = { - updateInfo = { - downloadPage = "ftp://ftp.gnu.org/gnu/barcode/"; - }; + downloadPage = "http://ftp.gnu.org/gnu/barcode/"; + updateWalker = true; + inherit version; }; }) x From 965cf1b9fbc735c2903ecf6b23236d7e34194802 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 19:59:14 +0400 Subject: [PATCH 0443/2163] Update CGAL; NB: updating requires going through a formto get the fresh links --- pkgs/development/libraries/CGAL/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix index 12273f84566..4c2739d00ec 100644 --- a/pkgs/development/libraries/CGAL/default.nix +++ b/pkgs/development/libraries/CGAL/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, cmake, boost, gmp, mpfr }: stdenv.mkDerivation rec { - version = "4.3"; + version = "4.4"; name = "cgal-${version}"; src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/32995/CGAL-${version}.tar.xz"; - sha256 = "015vw57dmy43bf63mg3916cgcsbv9dahwv24bnmiajyanj2mhiyc"; + url = "https://gforge.inria.fr/frs/download.php/33526/CGAL-${version}.tar.xz"; + sha256 = "1s0ylyrx74vgw6vsg6xxk4b07jrxh8pqcmxcbkx46v01nczv3ixj"; }; buildInputs = [ cmake boost gmp mpfr ]; From 242ae9c38c8f4a44692fed6ed64d57ae866b901f Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sun, 31 Aug 2014 18:04:51 +0200 Subject: [PATCH 0444/2163] backintime: Definition improvement --- .../networking/sync/backintime/common.nix | 46 +++++++++++ .../networking/sync/backintime/default.nix | 78 ------------------- .../networking/sync/backintime/gnome.nix | 37 +++++++++ pkgs/top-level/all-packages.nix | 6 +- 4 files changed, 88 insertions(+), 79 deletions(-) create mode 100644 pkgs/applications/networking/sync/backintime/common.nix delete mode 100644 pkgs/applications/networking/sync/backintime/default.nix create mode 100644 pkgs/applications/networking/sync/backintime/gnome.nix diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix new file mode 100644 index 00000000000..fa722747e5f --- /dev/null +++ b/pkgs/applications/networking/sync/backintime/common.nix @@ -0,0 +1,46 @@ +{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages }: + +stdenv.mkDerivation rec { + version = "1.0.36"; + + name = "backintime-common-${version}"; + + src = fetchurl { + url = "https://launchpad.net/backintime/1.0/${version}/+download/backintime-${version}.tar.gz"; + md5 = "28630bc7bd5f663ba8fcfb9ca6a742d8"; + }; + + # because upstream tarball has no top-level directory. + # https://bugs.launchpad.net/backintime/+bug/1359076 + sourceRoot = "."; + + buildInputs = [ makeWrapper gettext python2 python2Packages.dbus ]; + + installFlags = [ "DEST=$(out)" ]; + + preConfigure = "cd common"; + + dontAddPrefix = true; + + preFixup = + '' + substituteInPlace "$out/bin/backintime" \ + --replace "=\"/usr/share" "=\"$prefix/share" + wrapProgram "$out/bin/backintime" \ + --prefix PYTHONPATH : "$PYTHONPATH" \ + --prefix PATH : "$prefix/bin:$PATH" + ''; + + meta = { + homepage = https://launchpad.net/backintime; + description = "Simple backup tool for Linux"; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.DamienCassou ]; + platforms = stdenv.lib.platforms.all; + longDescription = '' + Back In Time is a simple backup tool (on top of rsync) for Linux + inspired from “flyback project” and “TimeVault”. The backup is + done by taking snapshots of a specified set of directories. + ''; + }; +} \ No newline at end of file diff --git a/pkgs/applications/networking/sync/backintime/default.nix b/pkgs/applications/networking/sync/backintime/default.nix deleted file mode 100644 index 9b9e355f828..00000000000 --- a/pkgs/applications/networking/sync/backintime/default.nix +++ /dev/null @@ -1,78 +0,0 @@ -{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages, gnome2, pkgconfig, pygobject, glib, libtool }: - -let - version = "1.0.36"; - - src = fetchurl { - url = "https://launchpad.net/backintime/1.0/${version}/+download/backintime-${version}.tar.gz"; - md5 = "28630bc7bd5f663ba8fcfb9ca6a742d8"; - }; - - # because upstream tarball has no top-level directory. - # https://bugs.launchpad.net/backintime/+bug/1359076 - sourceRoot = "."; - - genericBuildInputs = [ makeWrapper gettext python2 python2Packages.dbus ]; - - installFlagsArray = [ "DEST=$(out)" ]; - - meta = { - homepage = https://launchpad.net/backintime; - description = "Simple backup tool for Linux"; - license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.DamienCassou ]; - platforms = stdenv.lib.platforms.linux; - longDescription = '' - Back In Time is a simple backup tool (on top of rsync) for Linux - inspired from “flyback project” and “TimeVault”. The backup is - done by taking snapshots of a specified set of directories. - ''; - }; - - common = stdenv.mkDerivation rec { - inherit version src sourceRoot installFlagsArray meta; - - name = "backintime-common-${version}"; - - buildInputs = genericBuildInputs; - - preConfigure = "cd common"; - - dontAddPrefix = true; - - preFixup = - '' - substituteInPlace "$out/bin/backintime" \ - --replace "=\"/usr/share" "=\"$prefix/share" - wrapProgram "$out/bin/backintime" \ - --prefix PYTHONPATH : "$PYTHONPATH" - ''; - }; - -in -stdenv.mkDerivation rec { - inherit version src sourceRoot installFlagsArray meta; - - name = "backintime-gnome-${version}"; - - buildInputs = genericBuildInputs ++ [ common python2Packages.pygtk python2Packages.notify gnome2.gnome_python ]; - - preConfigure = "cd gnome"; - configureFlagsArray = [ "--no-check" ]; - - preFixup = - '' - substituteInPlace "$out/share/backintime/gnome/app.py" \ - --replace "glade_file = os.path.join(self.config.get_app_path()," \ - "glade_file = os.path.join('$prefix/share/backintime'," - substituteInPlace "$out/share/backintime/gnome/settingsdialog.py" \ - --replace "glade_file = os.path.join(self.config.get_app_path()," \ - "glade_file = os.path.join('$prefix/share/backintime'," - substituteInPlace "$out/bin/backintime-gnome" \ - --replace "=\"/usr/share" "=\"$prefix/share" - wrapProgram "$out/bin/backintime-gnome" \ - --prefix PYTHONPATH : "${gnome2.gnome_python}/lib/python2.7/site-packages/gtk-2.0:${common}/share/backintime/common:$PYTHONPATH" \ - --prefix PATH : "$PATH" - ''; - -} diff --git a/pkgs/applications/networking/sync/backintime/gnome.nix b/pkgs/applications/networking/sync/backintime/gnome.nix new file mode 100644 index 00000000000..56d0f6c5481 --- /dev/null +++ b/pkgs/applications/networking/sync/backintime/gnome.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages, gnome2, pkgconfig, pygobject, glib, libtool, backintime-common }: + +stdenv.mkDerivation rec { + inherit (backintime-common) version src sourceRoot installFlags meta; + + name = "backintime-gnome-${version}"; + + buildInputs = [ makeWrapper gettext python2 python2Packages.dbus backintime-common python2Packages.pygtk python2Packages.notify gnome2.gnome_python ]; + + preConfigure = "cd gnome"; + configureFlags = [ "--no-check" ]; + + preFixup = + '' + # Make sure all Python files refer to $prefix/share/backintime + # instead of config.get_app_path() which returns the path of the + # 'common' module, not the path of the 'gnome' module. + filelist=$(mktemp) + find "$out/share/backintime/gnome" -name "*.py" -print0 > $filelist + while IFS="" read -r -d "" file <&9; do + substituteInPlace "$file" \ + --replace "glade_file = os.path.join(config.get_app_path()," \ + "glade_file = os.path.join('$prefix/share/backintime'," \ + --replace "glade_file = os.path.join(self.config.get_app_path()," \ + "glade_file = os.path.join('$prefix/share/backintime'," + done 9< "$filelist" + rm "$filelist" + + substituteInPlace "$out/bin/backintime-gnome" \ + --replace "=\"/usr/share" "=\"$prefix/share" + + wrapProgram "$out/bin/backintime-gnome" \ + --prefix PYTHONPATH : "${gnome2.gnome_python}/lib/python2.7/site-packages/gtk-2.0:${backintime-common}/share/backintime/common:$PYTHONPATH" \ + --prefix PATH : "${backintime-common}/bin:$PATH" + ''; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8c2961e1a61..7bef44f15bf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8264,7 +8264,11 @@ let inherit (gnome3) baobab; - backintime = callPackage ../applications/networking/sync/backintime { }; + backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { }; + + backintime-gnome = callPackage ../applications/networking/sync/backintime/gnome.nix { }; + + backintime = backintime-gnome; bar = callPackage ../applications/window-managers/bar { }; From 5599a2959ea1bd26111ec2efdf6afb5dee4f8994 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 20:11:55 +0400 Subject: [PATCH 0445/2163] Update CM-Unicode font; note its migration to SF.net --- pkgs/data/fonts/cm-unicode/default.nix | 14 +++++--------- pkgs/data/fonts/cm-unicode/default.upstream | 7 +++++++ 2 files changed, 12 insertions(+), 9 deletions(-) create mode 100644 pkgs/data/fonts/cm-unicode/default.upstream diff --git a/pkgs/data/fonts/cm-unicode/default.nix b/pkgs/data/fonts/cm-unicode/default.nix index b8f7f7c6d3e..d8f6f7f8351 100644 --- a/pkgs/data/fonts/cm-unicode/default.nix +++ b/pkgs/data/fonts/cm-unicode/default.nix @@ -9,17 +9,16 @@ let buildInputs = map (n: builtins.getAttr n x) (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { - version="0.6.3a"; + version = "0.7.0"; baseName="cm-unicode"; name="${baseName}-${version}"; - url="ftp://canopus.iacp.dvo.ru/pub/Font/cm_unicode/${name}-otf.tar.gz"; - hash="1018gmvh7wl7sm6f3fqd917syd1yy0gz3pxmrc9lkxckcr7wz0zp"; + url="mirror://sourceforge/${baseName}/${baseName}/${version}/${name}-otf.tar.xz"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "0a0w9qm9g8qz2xh3lr61bj1ymqslqsvk4w2ybc3v2qa89nz7x2jl"; }; inherit (sourceInfo) name version; @@ -34,11 +33,8 @@ rec { ]; platforms = with a.lib.platforms; all; - }; - passthru = { - updateInfo = { - downloadPage = "http://canopus.iacp.dvo.ru/~panov/cm-unicode/download.html"; - }; + downloadPage = "http://sourceforge.net/projects/cm-unicode/files/cm-unicode/"; + inherit version; }; }) x diff --git a/pkgs/data/fonts/cm-unicode/default.upstream b/pkgs/data/fonts/cm-unicode/default.upstream new file mode 100644 index 00000000000..bc24cd919b2 --- /dev/null +++ b/pkgs/data/fonts/cm-unicode/default.upstream @@ -0,0 +1,7 @@ +attribute_name cm_unicode +url http://sourceforge.net/projects/cm-unicode/files/cm-unicode/ +SF_version_dir +version_link '[-]otf[.]tar[.][a-z0-9]+/download$' +SF_redirect +ensure_hash +do_overwrite() { do_overwrite_just_version; } From 8fe8cb204e054da2848fd3ef0f8d9f786b3103b6 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 20:18:53 +0400 Subject: [PATCH 0446/2163] Update conspy; note the project move to SF.net --- pkgs/os-specific/linux/conspy/default.nix | 8 ++++---- pkgs/os-specific/linux/conspy/default.upstream | 6 +++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/conspy/default.nix b/pkgs/os-specific/linux/conspy/default.nix index d252d9ce162..78d403a3afc 100644 --- a/pkgs/os-specific/linux/conspy/default.nix +++ b/pkgs/os-specific/linux/conspy/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="conspy"; - version="1.9"; + version="1.10"; name="${baseName}-${version}"; - hash="1ndwdx8x5lnjl6cddy1d8g8m7ndxyj3wrs100w2bp9gnvbxbb8vv"; - url="http://ace-host.stuart.id.au/russell/files/conspy/conspy-1.9.tar.gz"; - sha256="1ndwdx8x5lnjl6cddy1d8g8m7ndxyj3wrs100w2bp9gnvbxbb8vv"; + hash="1vnph4xa1qp4sr52jc9zldmbdpkr6z5j7hk2vgyhfn7m1vc5g0qw"; + url="mirror://sourceforge/project/conspy/conspy-1.10-1/conspy-1.10.tar.gz"; + sha256="1vnph4xa1qp4sr52jc9zldmbdpkr6z5j7hk2vgyhfn7m1vc5g0qw"; }; buildInputs = [ autoconf automake ncurses diff --git a/pkgs/os-specific/linux/conspy/default.upstream b/pkgs/os-specific/linux/conspy/default.upstream index db0c0fd9680..3eeacf34694 100644 --- a/pkgs/os-specific/linux/conspy/default.upstream +++ b/pkgs/os-specific/linux/conspy/default.upstream @@ -1 +1,5 @@ -url http://ace-host.stuart.id.au/russell/files/conspy/ +url http://sourceforge.net/projects/conspy/files/ +version_link 'conspy-[-0-9.]+/$' +version_link '[-0-9.]+[.]tar[.][a-z0-9]+/download$' +SF_redirect +version '.*-([-0-9.]+)[.]tar[.].*' '\1' From b259dde85374342321a6e0b21ee251cc3dcfba36 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:12:52 +0200 Subject: [PATCH 0447/2163] haskell-codex: update to version 0.1.0.4 --- pkgs/development/tools/haskell/codex/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/haskell/codex/default.nix b/pkgs/development/tools/haskell/codex/default.nix index fac145b14c2..a2f9c119700 100644 --- a/pkgs/development/tools/haskell/codex/default.nix +++ b/pkgs/development/tools/haskell/codex/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "codex"; - version = "0.1.0.3"; - sha256 = "0sbkri6y9f4wws120kbb93sv1z0z75hjw9pw5r3wadmmd0lygsn9"; + version = "0.1.0.4"; + sha256 = "1wnrjmf2iypnmdsmjxbjg7kqn8802yhd9vbdc4vg19pqspir87wz"; isLibrary = true; isExecutable = true; buildDepends = [ From c04507ea3eb200ae019216e7981541111ed09402 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:12:57 +0200 Subject: [PATCH 0448/2163] haskell-idris: update to version 0.9.14.2 --- pkgs/development/compilers/idris/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix index f0b07f9d0fa..0761f189bc8 100644 --- a/pkgs/development/compilers/idris/default.nix +++ b/pkgs/development/compilers/idris/default.nix @@ -11,8 +11,8 @@ cabal.mkDerivation (self: { pname = "idris"; - version = "0.9.14.1"; - sha256 = "11x4f0hvd51m9rlf9r0i5xsjmc73kjsayny4xyv0wgb88v9v737b"; + version = "0.9.14.2"; + sha256 = "0j64kx357l16z9y9j20i7mvxgqff94bfssbhh1shb13c0pk5lmi6"; isLibrary = true; isExecutable = true; buildDepends = [ From 5f46cfdfcd374beb9f61351a2d801659349fc59d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:12:59 +0200 Subject: [PATCH 0449/2163] haskell-IntervalMap: update to version 0.4.0.1 --- pkgs/development/libraries/haskell/IntervalMap/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/IntervalMap/default.nix b/pkgs/development/libraries/haskell/IntervalMap/default.nix index 774cbd8a19e..65b53d91b52 100644 --- a/pkgs/development/libraries/haskell/IntervalMap/default.nix +++ b/pkgs/development/libraries/haskell/IntervalMap/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "IntervalMap"; - version = "0.3.0.3"; - sha256 = "11lxsjq9nw9mmj5ga0x03d8rgcx2s85kzi17d9cm7m28mq4dqdag"; + version = "0.4.0.1"; + sha256 = "0cq0dmmawrss4jjkz3br0lhp37d4k7rd3cinbcyf0bf39dfk6mrf"; buildDepends = [ deepseq ]; testDepends = [ Cabal deepseq QuickCheck ]; meta = { From b0c34028ba75f0b3f48c1fc78711edf0910d625f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:00 +0200 Subject: [PATCH 0450/2163] haskell-JuicyPixels: update to version 3.1.7.1 --- pkgs/development/libraries/haskell/JuicyPixels/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix index fcd2689c548..2305756f93b 100644 --- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix +++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "JuicyPixels"; - version = "3.1.6.1"; - sha256 = "1v560y0l1zpznbpw8zgb2j6zlcwi8i207xgzggzzd3p0v2m8955c"; + version = "3.1.7.1"; + sha256 = "0mhsknqdrhxnm622mgrswvj4kvksh87x18s5ddgk4ylf0s2fjlap"; buildDepends = [ binary deepseq mtl primitive transformers vector zlib ]; From 7c5c6d0750f1e5eb082ee6a92b5e036b18d2988e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:02 +0200 Subject: [PATCH 0451/2163] haskell-MFlow: update to version 0.4.5.8 --- pkgs/development/libraries/haskell/MFlow/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/MFlow/default.nix b/pkgs/development/libraries/haskell/MFlow/default.nix index a0e4b787ec9..f5e088a4238 100644 --- a/pkgs/development/libraries/haskell/MFlow/default.nix +++ b/pkgs/development/libraries/haskell/MFlow/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "MFlow"; - version = "0.4.5.7"; - sha256 = "0faw082z8yyzf0k1vrgpqa8kvwb2zwmasy1p1vvj3a7lhhnlr20s"; + version = "0.4.5.8"; + sha256 = "1gfv5ky68dyn8gjjg60c5s9x3dl9xn6j9q43w7vaj9sd1q12wk3c"; buildDepends = [ blazeHtml blazeMarkup caseInsensitive clientsession conduit conduitExtra extensibleExceptions httpTypes monadloc mtl parsec From fe2cc9870a4204396a052f5afdeb7a8a91313359 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:03 +0200 Subject: [PATCH 0452/2163] haskell-Yampa: update to version 0.9.6 --- pkgs/development/libraries/haskell/Yampa/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/Yampa/default.nix b/pkgs/development/libraries/haskell/Yampa/default.nix index a4d1ea666a2..5ae451f8163 100644 --- a/pkgs/development/libraries/haskell/Yampa/default.nix +++ b/pkgs/development/libraries/haskell/Yampa/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "Yampa"; - version = "0.9.5"; - sha256 = "0r6fm2ccls7gbc5s0vbrzrqv6marnzlzc7zr4afkgfk9jsqfmqjh"; + version = "0.9.6"; + sha256 = "0a1m0sb0i3kkxbp10vpqd6iw83ksm4alavrg04arzrv71p3skyg0"; buildDepends = [ random ]; meta = { homepage = "http://www.haskell.org/haskellwiki/Yampa"; From 86264d9b52f81c82551800ec743dfcf9a3ce870e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:05 +0200 Subject: [PATCH 0453/2163] haskell-cabal-cargs: update to version 0.7.2 --- pkgs/development/libraries/haskell/cabal-cargs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/cabal-cargs/default.nix b/pkgs/development/libraries/haskell/cabal-cargs/default.nix index a74e54f7e43..2f2b59b597a 100644 --- a/pkgs/development/libraries/haskell/cabal-cargs/default.nix +++ b/pkgs/development/libraries/haskell/cabal-cargs/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "cabal-cargs"; - version = "0.7.1"; - sha256 = "0y6v663mw4giwypdv34qr2l2fy1q7zdjvgw39m16sjna5lbwvm1n"; + version = "0.7.2"; + sha256 = "03095w08ff3g57qzx9dziv61q9x1rvqyph4lvxkccd1is2g1wywb"; isLibrary = true; isExecutable = true; buildDepends = [ From 0c817d5bcf2ab7f7ac92b2c0255fcff8e1ff6478 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:07 +0200 Subject: [PATCH 0454/2163] haskell-cabal-lenses: update to version 0.4 --- pkgs/development/libraries/haskell/cabal-lenses/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/cabal-lenses/default.nix b/pkgs/development/libraries/haskell/cabal-lenses/default.nix index b5427b3b747..8bf0148ba6b 100644 --- a/pkgs/development/libraries/haskell/cabal-lenses/default.nix +++ b/pkgs/development/libraries/haskell/cabal-lenses/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "cabal-lenses"; - version = "0.3.1"; - sha256 = "17piwqyzd33shp12qa6j4s579rrs34l44x19p2nzz69anhc4g1j7"; + version = "0.4"; + sha256 = "19ryd1qvsc301kdpk0zvw89aqhvk26ccbrgddm9j5m31mn62jl2d"; buildDepends = [ Cabal lens unorderedContainers ]; meta = { description = "Lenses and traversals for the Cabal library"; From 0b537d24cff62f19fccc2510a289f1dce78680f4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:15 +0200 Subject: [PATCH 0455/2163] haskell-either: update to version 4.3.0.2 --- pkgs/development/libraries/haskell/either/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/either/default.nix b/pkgs/development/libraries/haskell/either/default.nix index 6d55afd41d6..72f3bff14df 100644 --- a/pkgs/development/libraries/haskell/either/default.nix +++ b/pkgs/development/libraries/haskell/either/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "either"; - version = "4.3.0.1"; - sha256 = "1ib6288gxzqfm2y198dzhhq588mlwqxm07pcrj4h66g1mcy54q1f"; + version = "4.3.0.2"; + sha256 = "01n4jkf6py00841cyf3fiwiay736dpbhda8ia2qgm26q4r4h58gd"; buildDepends = [ exceptions free monadControl MonadRandom mtl semigroupoids semigroups transformers transformersBase From 3ab26e53a56dee567c1d596414a079273439bba6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:17 +0200 Subject: [PATCH 0456/2163] haskell-haste-compiler: update to version 0.4.1 --- .../haskell/haste-compiler/default.nix | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/haskell/haste-compiler/default.nix b/pkgs/development/libraries/haskell/haste-compiler/default.nix index 0b5f4875a75..962bf758a1e 100644 --- a/pkgs/development/libraries/haskell/haste-compiler/default.nix +++ b/pkgs/development/libraries/haskell/haste-compiler/default.nix @@ -1,22 +1,21 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! { cabal, binary, blazeBuilder, bzlib, dataBinaryIeee754 -, dataDefault, executablePath, filepath, ghcPaths, HTTP, monadsTf -, mtl, network, random, shellmate, systemFileio, tar, temporary -, time, transformers, utf8String, websockets, zipArchive +, dataDefault, either, filepath, ghcPaths, HTTP, monadsTf, mtl +, network, random, shellmate, systemFileio, tar, transformers +, utf8String, websockets }: cabal.mkDerivation (self: { pname = "haste-compiler"; - version = "0.3"; - sha256 = "0a0hyra1h484c404d95d411l7gddaazy1ikwzlgkgzaqzd7j7dbd"; + version = "0.4.1"; + sha256 = "15v4c6rxz4n0wmiys6mam8xprcdq8kxnhpwcqnljshr8wlyihn8b"; isLibrary = true; isExecutable = true; buildDepends = [ - binary blazeBuilder bzlib dataBinaryIeee754 dataDefault - executablePath filepath ghcPaths HTTP monadsTf mtl network random - shellmate systemFileio tar temporary time transformers utf8String - websockets zipArchive + binary blazeBuilder bzlib dataBinaryIeee754 dataDefault either + filepath ghcPaths HTTP monadsTf mtl network random shellmate + systemFileio tar transformers utf8String websockets ]; meta = { homepage = "http://github.com/valderman/haste-compiler"; From ba190e40a1b759a2af0b40cd12dc6152aae65919 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:18 +0200 Subject: [PATCH 0457/2163] haskell-hsimport: update to version 0.5.2 --- pkgs/development/libraries/haskell/hsimport/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hsimport/default.nix b/pkgs/development/libraries/haskell/hsimport/default.nix index 96bcecddc30..3093cbb2038 100644 --- a/pkgs/development/libraries/haskell/hsimport/default.nix +++ b/pkgs/development/libraries/haskell/hsimport/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "hsimport"; - version = "0.5.1"; - sha256 = "17yzfikfl8qvm6vp3d472l6p0kzzw694ng19xn3fmrb43qvki4jj"; + version = "0.5.2"; + sha256 = "00kzc7hiwsidwvjnbvc01yh6c8n135ypwsiyvcnf2g179pwmnzkc"; isLibrary = true; isExecutable = true; buildDepends = [ From 4a04820bcf8855ae0b2126a186055b9c79c54c43 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:20 +0200 Subject: [PATCH 0458/2163] haskell-hspec-wai: update to version 0.3.0.2 --- .../libraries/haskell/hspec-wai/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/haskell/hspec-wai/default.nix b/pkgs/development/libraries/haskell/hspec-wai/default.nix index 8bc6776fd84..5937b0a417c 100644 --- a/pkgs/development/libraries/haskell/hspec-wai/default.nix +++ b/pkgs/development/libraries/haskell/hspec-wai/default.nix @@ -1,21 +1,21 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, aeson, aesonQq, caseInsensitive, doctest, hspec2 -, hspecMeta, httpTypes, markdownUnlit, scotty, text, transformers -, wai, waiExtra +{ cabal, aeson, aesonQq, caseInsensitive, hspec2, hspecMeta +, httpTypes, markdownUnlit, scotty, text, transformers, wai +, waiExtra }: cabal.mkDerivation (self: { pname = "hspec-wai"; - version = "0.3.0.1"; - sha256 = "0c04gh32xnvyz0679n7jhp1kdcn7lbkb7248j6lh28irsh84dvp8"; + version = "0.3.0.2"; + sha256 = "13jf8vw1mx5zg8diklbc4hbil9mkjdbg2azdsdfxp286wh718mna"; buildDepends = [ aeson aesonQq caseInsensitive hspec2 httpTypes text transformers wai waiExtra ]; testDepends = [ - aeson caseInsensitive doctest hspec2 hspecMeta httpTypes - markdownUnlit scotty text transformers wai waiExtra + aeson caseInsensitive hspec2 hspecMeta httpTypes markdownUnlit + scotty text transformers wai waiExtra ]; meta = { description = "Experimental Hspec support for testing WAI applications (depends on hspec2!)"; From 536fd769bf8afb6615206e18a0ef4a082fed1061 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:23 +0200 Subject: [PATCH 0459/2163] haskell-http-client: update to version 0.3.8 --- pkgs/development/libraries/haskell/http-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix index 7f032c3f675..7015c9446e8 100644 --- a/pkgs/development/libraries/haskell/http-client/default.nix +++ b/pkgs/development/libraries/haskell/http-client/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "http-client"; - version = "0.3.7.2"; - sha256 = "1llrf2bfbh5z01pwg40zdgmz93h45h60mg2pv1k6b8pmzlwr6aaz"; + version = "0.3.8"; + sha256 = "0v5j6fcigjpksj1m0n15g3j680k7qkms3cqd0b1w0ma7k63kcibc"; buildDepends = [ base64Bytestring blazeBuilder caseInsensitive cookie dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes From 9733b5660955d5000ff0688b90c59422a5b24f2d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:13:27 +0200 Subject: [PATCH 0460/2163] haskell-cabal-bounds: update to version 0.8.6 --- pkgs/development/tools/haskell/cabal-bounds/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/haskell/cabal-bounds/default.nix b/pkgs/development/tools/haskell/cabal-bounds/default.nix index 97dac34af3b..368c421221b 100644 --- a/pkgs/development/tools/haskell/cabal-bounds/default.nix +++ b/pkgs/development/tools/haskell/cabal-bounds/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "cabal-bounds"; - version = "0.8.5"; - sha256 = "19lai2gdxs76mrvcz77sjsx7hh87cf1f4qmy7z1zcd130z11q04a"; + version = "0.8.6"; + sha256 = "0q7fpblhxba4np5a9igwmcvmkkvka9f85nccxw0m2lvwbjrs51xq"; isLibrary = true; isExecutable = true; buildDepends = [ From 6059abeea7e02b534c3b6fb5a00cc36f299c1917 Mon Sep 17 00:00:00 2001 From: Dmitry Malikov Date: Sun, 31 Aug 2014 00:23:50 +0200 Subject: [PATCH 0461/2163] Add haskell-meep package --- .../libraries/haskell/meep/default.nix | 21 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/development/libraries/haskell/meep/default.nix diff --git a/pkgs/development/libraries/haskell/meep/default.nix b/pkgs/development/libraries/haskell/meep/default.nix new file mode 100644 index 00000000000..f8ad537938c --- /dev/null +++ b/pkgs/development/libraries/haskell/meep/default.nix @@ -0,0 +1,21 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, bifunctors, doctest, hspec, hspecExpectationsLens, lens +, QuickCheck, semigroups +}: + +cabal.mkDerivation (self: { + pname = "meep"; + version = "0.1.1.0"; + sha256 = "1rk5mrvmk07m5zdayfvxirak58d1bxwb04sgg0gcx07w8q8k4yyq"; + buildDepends = [ bifunctors lens semigroups ]; + testDepends = [ + bifunctors doctest hspec hspecExpectationsLens lens QuickCheck + semigroups + ]; + meta = { + description = "A silly container"; + 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 7c88f1cee5f..884f3f5bb05 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1557,6 +1557,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in MaybeT = callPackage ../development/libraries/haskell/MaybeT {}; + meep = callPackage ../development/libraries/haskell/meep {}; + MemoTrie = callPackage ../development/libraries/haskell/MemoTrie {}; mersenneRandomPure64 = callPackage ../development/libraries/haskell/mersenne-random-pure64 {}; From e4555d80c8facbc419ab9ad495097cfcfbe91950 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:17:18 +0200 Subject: [PATCH 0462/2163] haskell-Rasterific: re-generate with cabal2nix --- pkgs/development/libraries/haskell/Rasterific/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/Rasterific/default.nix b/pkgs/development/libraries/haskell/Rasterific/default.nix index f8f843236a6..c53e9f72858 100644 --- a/pkgs/development/libraries/haskell/Rasterific/default.nix +++ b/pkgs/development/libraries/haskell/Rasterific/default.nix @@ -12,15 +12,15 @@ cabal.mkDerivation (self: { buildDepends = [ dlist FontyFruity free JuicyPixels mtl vector vectorAlgorithms ]; - doCheck = false; # depends on criterion < 0.9 testDepends = [ binary criterion deepseq filepath FontyFruity JuicyPixels QuickCheck statistics vector ]; + doCheck = false; meta = { description = "A pure haskell drawing engine"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.bergey ]; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; }; }) From f5527b2594045dec1c2be8a8faeb399ade55ba40 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:17:42 +0200 Subject: [PATCH 0463/2163] haskell-FontyFruity: update to version 0.3 --- pkgs/development/libraries/haskell/FontyFruity/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/haskell/FontyFruity/default.nix b/pkgs/development/libraries/haskell/FontyFruity/default.nix index eaa8a5f3824..1a613492f43 100644 --- a/pkgs/development/libraries/haskell/FontyFruity/default.nix +++ b/pkgs/development/libraries/haskell/FontyFruity/default.nix @@ -11,6 +11,6 @@ cabal.mkDerivation (self: { description = "A true type file format loader"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.bergey ]; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; }; }) From 8e307572d25260f98afe28a1514fc68218b985b1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:17:44 +0200 Subject: [PATCH 0464/2163] haskell-diagrams-rasterific: update to version 0.1.0.1 --- pkgs/development/libraries/haskell/diagrams/rasterific.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/haskell/diagrams/rasterific.nix b/pkgs/development/libraries/haskell/diagrams/rasterific.nix index a49c98f988a..c2e85058a90 100644 --- a/pkgs/development/libraries/haskell/diagrams/rasterific.nix +++ b/pkgs/development/libraries/haskell/diagrams/rasterific.nix @@ -19,6 +19,6 @@ cabal.mkDerivation (self: { description = "Rasterific backend for diagrams"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.bergey ]; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; }; }) From dfcf682c215937963bc0fc9d3680ef6f2c347376 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:17:45 +0200 Subject: [PATCH 0465/2163] haskell-monad-journal: update to version 0.2.3.1 --- pkgs/development/libraries/haskell/monad-journal/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/monad-journal/default.nix b/pkgs/development/libraries/haskell/monad-journal/default.nix index 3afce21810c..5cbfed976d1 100644 --- a/pkgs/development/libraries/haskell/monad-journal/default.nix +++ b/pkgs/development/libraries/haskell/monad-journal/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "monad-journal"; - version = "0.2.3.0"; - sha256 = "1k0da0fwk05k8530rlys3n2s1z8glnfdivx93isy6cjr8amndc6b"; + version = "0.2.3.1"; + sha256 = "11p7qdga26wz82x6a1fl57iij4swsr1d1aly76sjrlvl8maqlf7d"; buildDepends = [ either monadControl mtl transformers transformersBase ]; From b253792e06da0274fb1eebfcfaca49e989e1d77a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:17:47 +0200 Subject: [PATCH 0466/2163] haskell-pandoc-citeproc: update to version 0.5 --- .../development/libraries/haskell/pandoc-citeproc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix index e567bd82059..76ab2fc41b4 100644 --- a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix +++ b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "pandoc-citeproc"; - version = "0.4.0.1"; - sha256 = "1z21mdxa2hrwqdclriyn3s1qqij3ccbkg7hb0acxrk3pzgidcinx"; + version = "0.5"; + sha256 = "00azhpll0xnb9nnkh7c3hbfk0fzmvh5cgdxlgx7jvaglrmsnvzw3"; isLibrary = true; isExecutable = true; buildDepends = [ From fd4927d25e4c19176860d642d39bcd6a60b51601 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:17:49 +0200 Subject: [PATCH 0467/2163] haskell-pandoc: update to version 1.13.1 --- .../libraries/haskell/pandoc/default.nix | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix index 1b2571563c3..c8ef8ba2271 100644 --- a/pkgs/development/libraries/haskell/pandoc/default.nix +++ b/pkgs/development/libraries/haskell/pandoc/default.nix @@ -4,26 +4,27 @@ , blazeHtml, blazeMarkup, dataDefault, deepseqGenerics, Diff , executablePath, extensibleExceptions, filepath, haddockLibrary , happy, highlightingKate, hslua, HTTP, httpClient, httpClientTls -, httpTypes, HUnit, JuicyPixels, mtl, network, pandocTypes, parsec -, QuickCheck, random, scientific, SHA, syb, tagsoup, temporary -, testFramework, testFrameworkHunit, testFrameworkQuickcheck2 -, texmath, text, time, unorderedContainers, vector, wai, waiExtra -, xml, yaml, zipArchive, zlib +, httpTypes, HUnit, JuicyPixels, mtl, network, networkUri +, pandocTypes, parsec, QuickCheck, random, scientific, SHA, syb +, tagsoup, temporary, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2, texmath, text, time +, unorderedContainers, vector, xml, yaml, zipArchive, zlib }: cabal.mkDerivation (self: { pname = "pandoc"; - version = "1.13.0.1"; - sha256 = "0pjyxsr93gv0vrdxlr5i0c56mg6rf21qxf1141cb8l0hl0b416d6"; + version = "1.13.1"; + sha256 = "0vvysa70xp4pskxrvslmddwdsalc479zb8wn6z1vmpvfssvvj6vv"; isLibrary = true; isExecutable = true; buildDepends = [ aeson alex base64Bytestring binary blazeHtml blazeMarkup dataDefault deepseqGenerics extensibleExceptions filepath haddockLibrary happy highlightingKate hslua HTTP httpClient - httpClientTls httpTypes JuicyPixels mtl network pandocTypes parsec - random scientific SHA syb tagsoup temporary texmath text time - unorderedContainers vector wai waiExtra xml yaml zipArchive zlib + httpClientTls httpTypes JuicyPixels mtl network networkUri + pandocTypes parsec random scientific SHA syb tagsoup temporary + texmath text time unorderedContainers vector xml yaml zipArchive + zlib ]; testDepends = [ ansiTerminal Diff executablePath filepath highlightingKate HUnit From 2f25d295b95b18eafc0c610d5f67afffbd7f9793 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:17:59 +0200 Subject: [PATCH 0468/2163] haskell-robots-txt: update to version 0.4.1.1 --- pkgs/development/libraries/haskell/robots-txt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/robots-txt/default.nix b/pkgs/development/libraries/haskell/robots-txt/default.nix index c6534ff0cf4..0ebf6dac301 100644 --- a/pkgs/development/libraries/haskell/robots-txt/default.nix +++ b/pkgs/development/libraries/haskell/robots-txt/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "robots-txt"; - version = "0.4.1.0"; - sha256 = "1q18pgilrwppmd8d7pby3p6qgk47alzmd8izqspk7n4h4agrscn4"; + version = "0.4.1.1"; + sha256 = "16r6j96iay1r6435ym34dp9iggwlfigmzmqq5k5f5ss5bljfc72f"; buildDepends = [ attoparsec time ]; testDepends = [ attoparsec heredoc hspec QuickCheck transformers ]; meta = { From 6e8fd49909e932b638b041390e44012803880134 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:18:01 +0200 Subject: [PATCH 0469/2163] haskell-simple-sendfile: update to version 0.2.17 --- .../libraries/haskell/simple-sendfile/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix index 3e8381bf34b..fc41353d357 100644 --- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix +++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix @@ -1,16 +1,14 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, conduit, conduitExtra, hspec, HUnit, network -, networkConduit, resourcet -}: +{ cabal, conduit, conduitExtra, hspec, HUnit, network, resourcet }: cabal.mkDerivation (self: { pname = "simple-sendfile"; - version = "0.2.15"; - sha256 = "1fa20h2zcvxwdb5j5a0nnhl38bry1p5ckya1l7lrxx9r2bvjkyj9"; + version = "0.2.17"; + sha256 = "1xxzw916v5zwn8i5i61z6p1wa2rm95sa6ry9z3yg2b2ybpyagw5g"; buildDepends = [ network resourcet ]; testDepends = [ - conduit conduitExtra hspec HUnit network networkConduit resourcet + conduit conduitExtra hspec HUnit network resourcet ]; doCheck = false; meta = { From 6641887a7c44a271e7dd50fc4865b1546b17cabd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:18:25 +0200 Subject: [PATCH 0470/2163] haskell-zeromq4-haskell: update to version 0.6.1 --- .../development/libraries/haskell/zeromq4-haskell/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix index 0e2cf67a19f..e4519c47358 100644 --- a/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix +++ b/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "zeromq4-haskell"; - version = "0.6"; - sha256 = "1n8vvlwnmvi2hlqhkmzsqgpbpxnhdcs8jy3rj1srsg729m2aqc8y"; + version = "0.6.1"; + sha256 = "14ai6sp39qv6kmj33basnvvfqhzbiqxskv3crjwfdaxbijh23mif"; buildDepends = [ async exceptions semigroups transformers ]; testDepends = [ async QuickCheck tasty tastyHunit tastyQuickcheck From 8aa476f4ff2dbaf2301be1c85ee9c4db8760d898 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:19:13 +0200 Subject: [PATCH 0471/2163] haskell-vcsgui: update to version 0.1.0.0 --- pkgs/development/libraries/haskell/vcsgui/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/vcsgui/default.nix b/pkgs/development/libraries/haskell/vcsgui/default.nix index 318f369fc3e..08605391fc2 100644 --- a/pkgs/development/libraries/haskell/vcsgui/default.nix +++ b/pkgs/development/libraries/haskell/vcsgui/default.nix @@ -1,20 +1,18 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, filepath, gtk3, mtl, vcswrapper }: +{ cabal, filepath, gtk3, mtl, text, vcswrapper }: cabal.mkDerivation (self: { pname = "vcsgui"; - version = "0.0.4"; - sha256 = "12hfdhnv3xc2dyqk76lyx5ggiygyap4hm50sd6qmwfjj3f2w6b98"; + version = "0.1.0.0"; + sha256 = "0wxalzil8ypvwp0z754m7g3848963znwwrjysdxp5q33imzbp60z"; isLibrary = true; isExecutable = true; - buildDepends = [ filepath gtk3 mtl vcswrapper ]; + buildDepends = [ filepath gtk3 mtl text vcswrapper ]; meta = { homepage = "https://github.com/forste/haskellVCSGUI"; description = "GUI library for source code management systems"; license = "GPL"; platforms = self.stdenv.lib.platforms.linux; - hydraPlatforms = self.stdenv.lib.platforms.none; - broken = true; }; }) From 7eac7c3d572cf72104a01496b680790f40bdaf3b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:20:28 +0200 Subject: [PATCH 0472/2163] haskell-fay: update to version 0.20.1.3 --- .../libraries/haskell/fay/default.nix | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix index edbf19bda62..c00b009c51d 100644 --- a/pkgs/development/libraries/haskell/fay/default.nix +++ b/pkgs/development/libraries/haskell/fay/default.nix @@ -1,24 +1,23 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, aeson, attoparsec, dataDefault, filepath, ghcPaths, groom -, haskellNames, haskellPackages, haskellSrcExts, languageEcmascript -, mtl, optparseApplicative, safe, sourcemap, split, spoon, syb -, tasty, tastyHunit, tastyTh, text, time, transformers, uniplate -, unorderedContainers, utf8String, vector +{ cabal, aeson, dataDefault, filepath, ghcPaths, haskellNames +, haskellPackages, haskellSrcExts, languageEcmascript, mtl +, optparseApplicative, safe, sourcemap, split, spoon, syb, text +, time, transformers, uniplate, unorderedContainers, utf8String +, vector }: cabal.mkDerivation (self: { pname = "fay"; - version = "0.20.1.2"; - sha256 = "1ssii9wkml8jn8kcdq8h6sxrq4gap4asyglakvif2zawl3sqrdji"; + version = "0.20.1.3"; + sha256 = "1r9a1my8wydxx92xg04kacw90s1r4bms84fvs1w52r73knp5kb6r"; isLibrary = true; isExecutable = true; buildDepends = [ - aeson attoparsec dataDefault filepath ghcPaths groom haskellNames - haskellPackages haskellSrcExts languageEcmascript mtl - optparseApplicative safe sourcemap split spoon syb tasty tastyHunit - tastyTh text time transformers uniplate unorderedContainers - utf8String vector + aeson dataDefault filepath ghcPaths haskellNames haskellPackages + haskellSrcExts languageEcmascript mtl optparseApplicative safe + sourcemap split spoon syb text time transformers uniplate + unorderedContainers utf8String vector ]; meta = { homepage = "https://github.com/faylang/fay/wiki"; From 2f6b3ed7efd3052f1f6acf1c4a23536d774add90 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:20:30 +0200 Subject: [PATCH 0473/2163] haskell-vcswrapper: update to version 0.1.0 --- pkgs/development/libraries/haskell/vcswrapper/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/vcswrapper/default.nix b/pkgs/development/libraries/haskell/vcswrapper/default.nix index 75336ef8816..8c2653c66f5 100644 --- a/pkgs/development/libraries/haskell/vcswrapper/default.nix +++ b/pkgs/development/libraries/haskell/vcswrapper/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "vcswrapper"; - version = "0.0.4"; - sha256 = "130pmzxdsqv703k2g197vd5rl60fwkqqv2xck66ygb932wsq3fnk"; + version = "0.1.0"; + sha256 = "058xbfgxsp3g4x4rwbp57dqgr9mwnmj623js39dbmiqkixsda31a"; isLibrary = true; isExecutable = true; buildDepends = [ filepath hxt mtl parsec split text ]; From 6ea21ad737cf4dffdc0cbaaf1d7539c05ef7cfd3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:22:23 +0200 Subject: [PATCH 0474/2163] haskell-Agda: update to version 2.4.2 I had to disable the Haddock phase because of lots of errors: http://hydra.cryp.to/build/181564/nixlog/1/raw --- pkgs/development/compilers/agda/default.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/development/compilers/agda/default.nix b/pkgs/development/compilers/agda/default.nix index 6705419add9..db160c652cf 100644 --- a/pkgs/development/compilers/agda/default.nix +++ b/pkgs/development/compilers/agda/default.nix @@ -1,15 +1,16 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, alex, binary, boxes, dataHash, deepseq, emacs, equivalence -, filepath, geniplate, happy, hashable, hashtables, haskeline -, haskellSrcExts, mtl, parallel, QuickCheck, STMonadTrans, strict -, text, time, transformers, unorderedContainers, xhtml, zlib +{ cabal, alex, binary, boxes, cpphs, dataHash, deepseq, emacs +, equivalence, filepath, geniplate, happy, hashable, hashtables +, haskeline, haskellSrcExts, mtl, parallel, QuickCheck +, STMonadTrans, strict, text, time, transformers +, unorderedContainers, xhtml, zlib }: cabal.mkDerivation (self: { pname = "Agda"; - version = "2.4.0.2"; - sha256 = "13c4ipscnlnbv94k93yajrp32mwzikqa8rhc95h8pmqzhjgwyh8b"; + version = "2.4.2"; + sha256 = "0pgwx79y02a08xn5f6lghw7fsc6wilab5q2gdm9r51yi9gm32aw5"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -18,7 +19,8 @@ cabal.mkDerivation (self: { QuickCheck STMonadTrans strict text time transformers unorderedContainers xhtml zlib ]; - buildTools = [ alex emacs happy ]; + buildTools = [ alex cpphs emacs happy ]; + noHaddock = true; postInstall = '' $out/bin/agda -c --no-main $(find $out/share -name Primitive.agda) $out/bin/agda-mode compile From e81977172a5f1fc1e9578a943f54732714d2d229 Mon Sep 17 00:00:00 2001 From: Dmitry Malikov Date: Sun, 31 Aug 2014 00:03:49 +0200 Subject: [PATCH 0475/2163] Add haskell-directory-layout 0.7.4 --- .../haskell/directory-layout/default.nix | 25 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/development/libraries/haskell/directory-layout/default.nix diff --git a/pkgs/development/libraries/haskell/directory-layout/default.nix b/pkgs/development/libraries/haskell/directory-layout/default.nix new file mode 100644 index 00000000000..44f5a7635f6 --- /dev/null +++ b/pkgs/development/libraries/haskell/directory-layout/default.nix @@ -0,0 +1,25 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, commandQq, doctest, filepath, free, hspec, lens +, semigroups, temporary, text, transformers, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "directory-layout"; + version = "0.7.4"; + sha256 = "1nrbv9mzl817d6c494sxd4jg15winpp9624n84av9vdxb8x1n14d"; + buildDepends = [ + commandQq filepath free hspec lens semigroups text transformers + unorderedContainers + ]; + testDepends = [ + commandQq doctest filepath free hspec lens semigroups temporary + text transformers unorderedContainers + ]; + meta = { + description = "Directory layout DSL"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; + doCheck = false; # issue https://github.com/supki/directory-layout/issues/8 +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 884f3f5bb05..c4798a6cbae 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -670,6 +670,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in directSqlite = callPackage ../development/libraries/haskell/direct-sqlite {}; + directoryLayout = callPackage ../development/libraries/haskell/directory-layout {}; + directoryTree = callPackage ../development/libraries/haskell/directory-tree {}; distributedStatic = callPackage ../development/libraries/haskell/distributed-static {}; From 903e273afb5718fff3974b4b39ac06b109b7b55d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:24:18 +0200 Subject: [PATCH 0476/2163] haskell-scotty: update to version 0.9.0 --- .../development/libraries/haskell/scotty/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix index 91876f7e318..6dfbb25def7 100644 --- a/pkgs/development/libraries/haskell/scotty/default.nix +++ b/pkgs/development/libraries/haskell/scotty/default.nix @@ -1,20 +1,20 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, aeson, blazeBuilder, caseInsensitive, conduit, dataDefault -, hspec, httpTypes, liftedBase, monadControl, mtl, regexCompat +{ cabal, aeson, blazeBuilder, caseInsensitive, dataDefault, hspec2 +, hspecWai, httpTypes, liftedBase, monadControl, mtl, regexCompat , text, transformers, transformersBase, wai, waiExtra, warp }: cabal.mkDerivation (self: { pname = "scotty"; - version = "0.8.2"; - sha256 = "07vjdj26380inlyi350mdifm7v1dpbc56041vi2czf5zzhx97qb0"; + version = "0.9.0"; + sha256 = "0gx00k5w4cs68bh3ciplkwhzh2412y6wqg0qdsslnnsb41l5kb1d"; buildDepends = [ - aeson blazeBuilder caseInsensitive conduit dataDefault httpTypes + aeson blazeBuilder caseInsensitive dataDefault httpTypes monadControl mtl regexCompat text transformers transformersBase wai waiExtra warp ]; - testDepends = [ hspec httpTypes liftedBase wai waiExtra ]; + testDepends = [ hspec2 hspecWai httpTypes liftedBase text wai ]; jailbreak = true; meta = { homepage = "https://github.com/scotty-web/scotty"; From 7910aef42c9652d5c53c20c284cf13a3a06f80a7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:29:39 +0200 Subject: [PATCH 0477/2163] haskell-llvm-general: update to version 3.4.4.x --- .../llvm-general-pure/{3.4.2.2.nix => 3.4.4.0.nix} | 4 ++-- .../haskell/llvm-general/{3.4.2.2.nix => 3.4.4.0.nix} | 4 ++-- pkgs/top-level/haskell-packages.nix | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) rename pkgs/development/libraries/haskell/llvm-general-pure/{3.4.2.2.nix => 3.4.4.0.nix} (87%) rename pkgs/development/libraries/haskell/llvm-general/{3.4.2.2.nix => 3.4.4.0.nix} (89%) diff --git a/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix b/pkgs/development/libraries/haskell/llvm-general-pure/3.4.4.0.nix similarity index 87% rename from pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix rename to pkgs/development/libraries/haskell/llvm-general-pure/3.4.4.0.nix index c8601d844ca..cd92b67b16a 100644 --- a/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix +++ b/pkgs/development/libraries/haskell/llvm-general-pure/3.4.4.0.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "llvm-general-pure"; - version = "3.4.2.2"; - sha256 = "0grbw0lamp0w4jzxg97jccl3jqdgqfgldpb4llvhr1l70591b0s8"; + version = "3.4.4.0"; + sha256 = "0x43yfcss3f5v5mlzyv7d13fvajbdgv4cmkx5yx1904xsiddg27v"; buildDepends = [ mtl parsec setenv transformers ]; testDepends = [ HUnit mtl QuickCheck testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix b/pkgs/development/libraries/haskell/llvm-general/3.4.4.0.nix similarity index 89% rename from pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix rename to pkgs/development/libraries/haskell/llvm-general/3.4.4.0.nix index 25993bb9fd0..aec66b12723 100644 --- a/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix +++ b/pkgs/development/libraries/haskell/llvm-general/3.4.4.0.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "llvm-general"; - version = "3.4.2.2"; - sha256 = "1dqdvv8pslblavyi14xy0bgrr1ca8d1jqp60x16zgbzkk3f2jx6a"; + version = "3.4.4.0"; + sha256 = "10x7qb2svw0gz0sqf4vn14hpzks3rk29g4i2pzfdi5qk11j8jd9b"; buildDepends = [ llvmGeneralPure mtl parsec setenv transformers utf8String ]; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c4798a6cbae..2fe4a7ee829 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1512,14 +1512,14 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in llvmConfig = pkgs.llvm_33; llvmGeneralPure = self.llvmGeneralPure_3_3_8_2; }; - llvmGeneral_3_4_2_2 = callPackage ../development/libraries/haskell/llvm-general/3.4.2.2.nix { + llvmGeneral_3_4_4_0 = callPackage ../development/libraries/haskell/llvm-general/3.4.4.0.nix { llvmConfig = pkgs.llvm; }; - llvmGeneral = self.llvmGeneral_3_4_2_2; + llvmGeneral = self.llvmGeneral_3_4_4_0; - llvmGeneralPure_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.3.8.2.nix { }; - llvmGeneralPure_3_4_2_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.4.2.2.nix {}; - llvmGeneralPure = self.llvmGeneralPure_3_4_2_2; + llvmGeneralPure_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.3.8.2.nix {}; + llvmGeneralPure_3_4_4_0 = callPackage ../development/libraries/haskell/llvm-general-pure/3.4.4.0.nix {}; + llvmGeneralPure = self.llvmGeneralPure_3_4_4_0; lrucache = callPackage ../development/libraries/haskell/lrucache {}; From 544eceebf491fe00bbaabe20fb0c616653acc2bf Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:29:48 +0200 Subject: [PATCH 0478/2163] haskell-packages.nix: cosmetic --- pkgs/top-level/haskell-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 2fe4a7ee829..50ca0b97637 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -775,7 +775,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in eventList = callPackage ../development/libraries/haskell/event-list {}; - exPool = callPackage ../development/libraries/haskell/ex-pool { }; + exPool = callPackage ../development/libraries/haskell/ex-pool {}; exceptionMtl = callPackage ../development/libraries/haskell/exception-mtl {}; @@ -1737,7 +1737,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in networkProtocolXmpp = callPackage ../development/libraries/haskell/network-protocol-xmpp {}; - networkSimple = callPackage ../development/libraries/haskell/network-simple { }; + networkSimple = callPackage ../development/libraries/haskell/network-simple {}; networkTransport = callPackage ../development/libraries/haskell/network-transport {}; @@ -2971,7 +2971,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in pointful = callPackage ../development/tools/haskell/pointful {}; - ShellCheck = callPackage ../development/tools/misc/ShellCheck { }; + ShellCheck = callPackage ../development/tools/misc/ShellCheck {}; SourceGraph = callPackage ../development/tools/haskell/SourceGraph {}; From fb16c61577aa86d59299253e90e758f805a8502d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:37:13 +0200 Subject: [PATCH 0479/2163] haskell-scotty: disable test suite to break infinite recursion with hspec-wai --- pkgs/development/libraries/haskell/scotty/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix index 6dfbb25def7..4985f09b38e 100644 --- a/pkgs/development/libraries/haskell/scotty/default.nix +++ b/pkgs/development/libraries/haskell/scotty/default.nix @@ -16,6 +16,7 @@ cabal.mkDerivation (self: { ]; testDepends = [ hspec2 hspecWai httpTypes liftedBase text wai ]; jailbreak = true; + doCheck = false; meta = { homepage = "https://github.com/scotty-web/scotty"; description = "Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp"; From 807e68c8c0af6361676b1868c85e2ada56593478 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 13:44:55 +0200 Subject: [PATCH 0480/2163] haskell-binary-conduit: jailbreak to fix build with conduit 1.2.x --- pkgs/development/libraries/haskell/binary-conduit/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/binary-conduit/default.nix b/pkgs/development/libraries/haskell/binary-conduit/default.nix index 37774c1a16a..848004ca6af 100644 --- a/pkgs/development/libraries/haskell/binary-conduit/default.nix +++ b/pkgs/development/libraries/haskell/binary-conduit/default.nix @@ -12,6 +12,7 @@ cabal.mkDerivation (self: { testDepends = [ binary conduit hspec QuickCheck quickcheckAssertions resourcet ]; + jailbreak = true; meta = { homepage = "http://github.com/qnikst/binary-conduit"; description = "data serialization/deserialization conduit library"; From c3c03a0cdb4ec707756c1b64c0538d20d605faf7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 31 Aug 2014 18:16:39 +0200 Subject: [PATCH 0481/2163] haskell-hakyll: jailbreak to fix build with pandoc-citeproc 0.5 --- pkgs/development/libraries/haskell/hakyll/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix index e38eadad057..7ebc0de734a 100644 --- a/pkgs/development/libraries/haskell/hakyll/default.nix +++ b/pkgs/development/libraries/haskell/hakyll/default.nix @@ -27,6 +27,9 @@ cabal.mkDerivation (self: { snapCore snapServer systemFilepath tagsoup testFramework testFrameworkHunit testFrameworkQuickcheck2 text time utillinux ]; + patchPhase = '' + sed -i -e 's|pandoc-citeproc .*,|pandoc-citeproc,|' hakyll.cabal + ''; meta = { homepage = "http://jaspervdj.be/hakyll"; description = "A static website compiler library"; From a1814ea2b093f9d6579dd43ace5549e61c035fa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 31 Aug 2014 18:33:31 +0200 Subject: [PATCH 0482/2163] pinfo: resurrect, update, add meta --- pkgs/applications/misc/pinfo/default.nix | 27 +++++++++++++++++------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix index d8dba39ccb5..658ff410d37 100644 --- a/pkgs/applications/misc/pinfo/default.nix +++ b/pkgs/applications/misc/pinfo/default.nix @@ -1,12 +1,23 @@ -{stdenv, fetchurl, ncurses, readline}: +{ stdenv, fetchurl, autoreconfHook, gettext, texinfo, ncurses, readline }: stdenv.mkDerivation { - name = "pinfo-0.6.9"; - src = fetchurl { - url = https://alioth.debian.org/frs/download.php/1498/pinfo-0.6.9.tar.bz2; - sha256 = "1rbsz1y7nyz6ax9xfkw5wk6pnrhvwz2xcm0wnfnk4sb2wwq760q3"; - }; - buildInputs = [ncurses readline]; + name = "pinfo-0.6.10"; - configureFlags = "--with-curses=${ncurses} --with-readline=${readline}"; + src = fetchurl { + # homepage needed you to login to download the tarball + url = "http://pkgs.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2" + + "/fe3d3da50371b1773dfe29bf870dbc5b/pinfo-0.6.10.tar.bz2"; + sha256 = "0p8wyrpz9npjcbx6c973jspm4c3xz4zxx939nngbq49xqah8088j"; + }; + + buildInputs = [ autoreconfHook gettext texinfo ncurses readline ]; + + configureFlags = [ "--with-curses=${ncurses}" "--with-readline=${readline}" ]; + + meta = with stdenv.lib; { + description = "A viewer for info files"; + homepage = https://alioth.debian.org/projects/pinfo/; + license = licenses.gpl2Plus; + }; } + From 8152e66da54cd99e45ae4aa0001e879357677214 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 20:21:45 +0400 Subject: [PATCH 0483/2163] update dd_rescue --- pkgs/tools/system/dd_rescue/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/dd_rescue/default.nix b/pkgs/tools/system/dd_rescue/default.nix index 9c7f0413421..7b3e62a1bc0 100644 --- a/pkgs/tools/system/dd_rescue/default.nix +++ b/pkgs/tools/system/dd_rescue/default.nix @@ -1,10 +1,11 @@ { stdenv, fetchurl, autoconf }: stdenv.mkDerivation rec { - name = "dd_rescue-1.42.1"; + version = "1.46"; + name = "dd_rescue-${version}"; src = fetchurl { - sha256 = "0g2d292m1cnp8syy19hh5jvly3zy7lcvcj563wgjnf20ppm2diaq"; + sha256 = "1fhs4jl5pkyn4aq75fxczrgnsj2m0kz9hfa7dhxy93vp7xcba2cy"; url="http://www.garloff.de/kurt/linux/ddrescue/${name}.tar.gz"; }; @@ -33,5 +34,8 @@ stdenv.mkDerivation rec { description = "A tool to copy data from a damaged block device"; maintainers = with maintainers; [ raskin iElectric ]; platforms = with platforms; linux; + downloadPage = "http://www.garloff.de/kurt/linux/ddrescue/"; + inherit version; + updateWalker = true; }; } From c5168debe863a923d85fe156f535ef37b0841833 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 20:42:00 +0400 Subject: [PATCH 0484/2163] Update eigen --- pkgs/development/libraries/eigen/default.nix | 11 ++++++----- pkgs/development/libraries/eigen/default.upstream | 4 ++++ 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/libraries/eigen/default.upstream diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix index 72a140ed371..c6650928458 100644 --- a/pkgs/development/libraries/eigen/default.nix +++ b/pkgs/development/libraries/eigen/default.nix @@ -1,15 +1,15 @@ {stdenv, fetchurl, cmake}: let - v = "3.2.1"; + version = "3.2.2"; in stdenv.mkDerivation { - name = "eigen-${v}"; + name = "eigen-${version}"; src = fetchurl { - url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2"; - name = "eigen-${v}.tar.bz2"; - sha256 = "12ljdirih9n3cf8hy00in285c2ccah7mgalmmr8gc3ldwznz5rk6"; + url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.bz2"; + name = "eigen-${version}.tar.bz2"; + sha256 = "0pwykjkz5n8wfyg9cjj7smgs54a9zc80m9gi106w43n2m72ni39i"; }; nativeBuildInputs = [ cmake ]; @@ -19,5 +19,6 @@ stdenv.mkDerivation { license = licenses.lgpl3Plus; homepage = http://eigen.tuxfamily.org ; maintainers = with stdenv.lib.maintainers; [ sander urkud raskin ]; + inherit version; }; } diff --git a/pkgs/development/libraries/eigen/default.upstream b/pkgs/development/libraries/eigen/default.upstream new file mode 100644 index 00000000000..c0c05efc466 --- /dev/null +++ b/pkgs/development/libraries/eigen/default.upstream @@ -0,0 +1,4 @@ +url http://eigen.tuxfamily.org/ +ensure_choice +version '.*/([-0-9.]+)[.]tar[.].*' '\1' +do_overwrite() { do_overwrite_just_version; } From 0667d67c9540604738c8d5c5a5c872e70bcf2b3b Mon Sep 17 00:00:00 2001 From: Sam Griffin Date: Wed, 20 Aug 2014 22:57:41 -0400 Subject: [PATCH 0485/2163] Adding vpnc configuration module --- nixos/modules/config/vpnc.nix | 41 +++++++++++++++++++++++++++++++++++ nixos/modules/module-list.nix | 1 + 2 files changed, 42 insertions(+) create mode 100644 nixos/modules/config/vpnc.nix diff --git a/nixos/modules/config/vpnc.nix b/nixos/modules/config/vpnc.nix new file mode 100644 index 00000000000..956a4c7d3fd --- /dev/null +++ b/nixos/modules/config/vpnc.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.networking.vpnc; + mkServiceDef = name: value: + { + source = builtins.toFile "${name}.conf" value; + target = "vpnc/${name}.conf"; + }; + +in +{ + options = { + networking.vpnc = { + services = mkOption { + type = types.attrsOf types.str; + default = []; + example = { + test = + '' + IPSec gateway 192.168.1.1 + IPSec ID someID + IPSec secret secretKey + Xauth username name + Xauth password pass + ''; + }; + description = + '' + The names of cisco VPNs and their associated definitions + ''; + }; + }; + }; + + config.environment.etc = mapAttrsToList mkServiceDef cfg.services; +} + + diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 6754c8a4f1a..297ca0d1be4 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -21,6 +21,7 @@ ./config/system-environment.nix ./config/system-path.nix ./config/timezone.nix + ./config/vpnc.nix ./config/unix-odbc-drivers.nix ./config/users-groups.nix ./config/zram.nix From 655e5c01b4754c73d323cd8ad1b7671875e6d4f0 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 20:44:17 +0400 Subject: [PATCH 0486/2163] Oops; a mistake with src --- pkgs/development/libraries/eigen/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix index c6650928458..14308dc0eb0 100644 --- a/pkgs/development/libraries/eigen/default.nix +++ b/pkgs/development/libraries/eigen/default.nix @@ -7,8 +7,8 @@ stdenv.mkDerivation { name = "eigen-${version}"; src = fetchurl { - url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.bz2"; - name = "eigen-${version}.tar.bz2"; + url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz"; + name = "eigen-${version}.tar.gz"; sha256 = "0pwykjkz5n8wfyg9cjj7smgs54a9zc80m9gi106w43n2m72ni39i"; }; From 3d037ebb94f7c28dc7019a3332bf5d27f2cd9ebb Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 31 Aug 2014 09:46:16 -0700 Subject: [PATCH 0487/2163] Revert "Revert "Merge pull request #3182 from wkennington/master.ipv6"" This reverts commit ea8910652fcecbcd4f21aa1c66b1a0a239408b04. --- .../doc/manual/configuration/ipv4-config.xml | 5 +- nixos/lib/build-vms.nix | 11 +- nixos/modules/programs/virtualbox.nix | 2 +- nixos/modules/services/networking/dhcpcd.nix | 2 +- nixos/modules/tasks/network-interfaces.nix | 151 +++++++++++++----- nixos/tests/bittorrent.nix | 6 +- nixos/tests/nat.nix | 2 +- 7 files changed, 120 insertions(+), 59 deletions(-) diff --git a/nixos/doc/manual/configuration/ipv4-config.xml b/nixos/doc/manual/configuration/ipv4-config.xml index e2c51518349..053501b1736 100644 --- a/nixos/doc/manual/configuration/ipv4-config.xml +++ b/nixos/doc/manual/configuration/ipv4-config.xml @@ -12,12 +12,9 @@ interfaces. However, you can configure an interface manually as follows: -networking.interfaces.eth0 = { ipAddress = "192.168.1.2"; prefixLength = 24; }; +networking.interfaces.eth0.ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ]; -(The network prefix can also be specified using the option -subnetMask, -e.g. "255.255.255.0", but this is deprecated.) Typically you’ll also want to set a default gateway and set of name servers: diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index 498c0a37783..ba189555409 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -48,10 +48,11 @@ rec { let interfacesNumbered = zipTwoLists config.virtualisation.vlans (range 1 255); interfaces = flip map interfacesNumbered ({ first, second }: - nameValuePair "eth${toString second}" - { ipAddress = "192.168.${toString first}.${toString m.second}"; - subnetMask = "255.255.255.0"; - }); + nameValuePair "eth${toString second}" { ip4 = + [ { address = "192.168.${toString first}.${toString m.second}"; + prefixLength = 24; + } ]; + } in { key = "ip-address"; config = @@ -60,7 +61,7 @@ rec { networking.interfaces = listToAttrs interfaces; networking.primaryIPAddress = - optionalString (interfaces != []) (head interfaces).value.ipAddress; + optionalString (interfaces != []) (head (head interfaces).value.ip4).address; # Put the IP addresses of all VMs in this machine's # /etc/hosts file. If a machine has multiple diff --git a/nixos/modules/programs/virtualbox.nix b/nixos/modules/programs/virtualbox.nix index e2dd76219eb..fec1a7b61f3 100644 --- a/nixos/modules/programs/virtualbox.nix +++ b/nixos/modules/programs/virtualbox.nix @@ -44,5 +44,5 @@ let virtualbox = config.boot.kernelPackages.virtualbox; in ''; }; - networking.interfaces.vboxnet0 = { ipAddress = "192.168.56.1"; prefixLength = 24; }; + networking.interfaces.vboxnet0.ip4 = [ { address = "192.168.56.1"; prefixLength = 24; } ]; } diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 89aa9bdb6b6..7e0b00a3d7b 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -11,7 +11,7 @@ let # Don't start dhcpcd on explicitly configured interfaces or on # interfaces that are part of a bridge, bond or sit device. ignoredInterfaces = - map (i: i.name) (filter (i: i.ipAddress != null) (attrValues config.networking.interfaces)) + map (i: i.name) (filter (i: i.ip4 != [ ] || i.ipAddress != null) (attrValues config.networking.interfaces)) ++ mapAttrsToList (i: _: i) config.networking.sits ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bridges)) ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bonds)) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 7dabe70f00c..ac3a55332e4 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -10,6 +10,26 @@ let hasSits = cfg.sits != { }; hasBonds = cfg.bonds != { }; + addrOpts = v: + assert v == 4 || v == 6; + { + address = mkOption { + type = types.str; + description = '' + IPv${toString v} address of the interface. Leave empty to configure the + interface using DHCP. + ''; + }; + + prefixLength = mkOption { + type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128)); + description = '' + Subnet mask of the interface, specified as the number of + bits in the prefix (${if v == 4 then "24" else "64"}). + ''; + }; + }; + interfaceOpts = { name, ... }: { options = { @@ -20,10 +40,36 @@ let description = "Name of the interface."; }; + ip4 = mkOption { + default = [ ]; + example = [ + { address = "10.0.0.1"; prefixLength = 16; } + { address = "192.168.1.1"; prefixLength = 24; } + ]; + type = types.listOf types.optionSet; + options = addrOpts 4; + description = '' + List of IPv4 addresses that will be statically assigned to the interface. + ''; + }; + + ip6 = mkOption { + default = [ ]; + example = [ + { address = "fdfd:b3f0:482::1"; prefixLength = 48; } + { address = "2001:1470:fffd:2098::e006"; prefixLength = 64; } + ]; + type = types.listOf types.optionSet; + options = addrOpts 6; + description = '' + List of IPv6 addresses that will be statically assigned to the interface. + ''; + }; + ipAddress = mkOption { default = null; example = "10.0.0.1"; - type = types.nullOr (types.str); + type = types.nullOr types.str; description = '' IP address of the interface. Leave empty to configure the interface using DHCP. @@ -41,20 +87,16 @@ let }; subnetMask = mkOption { - default = ""; - example = "255.255.255.0"; - type = types.str; + default = null; description = '' - Subnet mask of the interface, specified as a bitmask. - This is deprecated; use - instead. + Defunct, supply the prefix length instead. ''; }; ipv6Address = mkOption { default = null; example = "2001:1470:fffd:2098::e006"; - type = types.nullOr types.string; + type = types.nullOr types.str; description = '' IPv6 address of the interface. Leave empty to configure the interface using NDP. @@ -224,10 +266,10 @@ in networking.interfaces = mkOption { default = {}; example = - { eth0 = { - ipAddress = "131.211.84.78"; - subnetMask = "255.255.255.128"; - }; + { eth0.ip4 = [ { + address = "131.211.84.78"; + prefixLength = 25; + } ]; }; description = '' The configuration for each network interface. If @@ -438,6 +480,12 @@ in config = { + assertions = + flip map interfaces (i: { + assertion = i.subnetMask == null; + message = "The networking.interfaces.${i.name}.subnetMask option is defunct. Use prefixLength instead."; + }); + boot.kernelModules = [ ] ++ optional cfg.enableIPv6 "ipv6" ++ optional hasVirtuals "tun" @@ -534,12 +582,18 @@ in # network device, so it only gets started after the interface # has appeared, and it's stopped when the interface # disappears. - configureInterface = i: nameValuePair "${i.name}-cfg" - (let mask = - if i.prefixLength != null then toString i.prefixLength else - if i.subnetMask != "" then i.subnetMask else "32"; - staticIPv6 = cfg.enableIPv6 && i.ipv6Address != null; + configureInterface = i: + let + ips = i.ip4 ++ optionals cfg.enableIPv6 i.ip6 + ++ optional (i.ipAddress != null) { + ipAddress = i.ipAddress; + prefixLength = i.prefixLength; + } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) { + ipAddress = i.ipv6Address; + prefixLength = i.ipv6PrefixLength; + }; in + nameValuePair "${i.name}-cfg" { description = "Configuration of ${i.name}"; wantedBy = [ "network-interfaces.target" ]; bindsTo = [ "sys-subsystem-net-devices-${i.name}.device" ]; @@ -562,36 +616,32 @@ in echo "setting MTU to ${toString i.mtu}..." ip link set "${i.name}" mtu "${toString i.mtu}" '' - + optionalString (i.ipAddress != null) + + # Ip Setup + + '' - cur=$(ip -4 -o a show dev "${i.name}" | awk '{print $4}') - # Only do a flush/add if it's necessary. This is + curIps=$(ip -o a show dev "${i.name}" | awk '{print $4}') + # Only do an add if it's necessary. This is # useful when the Nix store is accessed via this # interface (e.g. in a QEMU VM test). - if [ "$cur" != "${i.ipAddress}/${mask}" ]; then - echo "configuring interface..." - ip -4 addr flush dev "${i.name}" - ip -4 addr add "${i.ipAddress}/${mask}" dev "${i.name}" - restart_network_setup=true - else - echo "skipping configuring interface" + '' + + flip concatMapStrings (ips) (ip: + let + address = "${ip.address}/${toString ip.prefixLength}"; + in + '' + echo "checking ip ${address}..." + if ! echo "$curIps" | grep "${address}" >/dev/null 2>&1; then + if out=$(ip addr add "${address}" dev "${i.name}" 2>&1); then + echo "added ip ${address}..." + restart_network_setup=true + elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then + echo "failed to add ${address}" + exit 1 + fi fi - '' - + optionalString (staticIPv6) - '' - # Only do a flush/add if it's necessary. This is - # useful when the Nix store is accessed via this - # interface (e.g. in a QEMU VM test). - if ! ip -6 -o a show dev "${i.name}" | grep "${i.ipv6Address}/${toString i.ipv6prefixLength}"; then - echo "configuring interface..." - ip -6 addr flush dev "${i.name}" - ip -6 addr add "${i.ipv6Address}/${toString i.ipv6prefixLength}" dev "${i.name}" - restart_network_setup=true - else - echo "skipping configuring interface" - fi - '' - + optionalString (i.ipAddress != null || staticIPv6) + '') + + optionalString (ips != [ ]) '' if [ restart_network_setup = true ]; then # Ensure that the default gateway remains set. @@ -608,7 +658,20 @@ in '' echo 1 > /proc/sys/net/ipv6/conf/${i.name}/proxy_ndp ''; - }); + preStop = + '' + echo "releasing configured ip's..." + '' + + flip concatMapStrings (ips) (ip: + let + address = "${ip.address}/${toString ip.prefixLength}"; + in + '' + echo -n "Deleting ${address}..." + ip addr del "${address}" dev "${i.name}" >/dev/null 2>&1 || echo -n " Failed" + echo "" + ''); + }; createTunDevice = i: nameValuePair "${i.name}" { description = "Virtual Network Interface ${i.name}"; diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 002e012f65f..7eb9c215ee1 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -16,7 +16,7 @@ let miniupnpdConf = nodes: pkgs.writeText "miniupnpd.conf" '' ext_ifname=eth1 - listening_ip=${nodes.router.config.networking.interfaces.eth2.ipAddress}/24 + listening_ip=${(head nodes.router.config.networking.interfaces.eth2.ip4).address}/24 allow 1024-65535 192.168.2.0/24 1024-65535 ''; @@ -53,7 +53,7 @@ in { environment.systemPackages = [ pkgs.transmission ]; virtualisation.vlans = [ 2 ]; networking.defaultGateway = - nodes.router.config.networking.interfaces.eth2.ipAddress; + (head nodes.router.config.networking.interfaces.eth2.ip4).address; networking.firewall.enable = false; }; @@ -81,7 +81,7 @@ in # Create the torrent. $tracker->succeed("mkdir /tmp/data"); $tracker->succeed("cp ${file} /tmp/data/test.tar.bz2"); - $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${nodes.tracker.config.networking.interfaces.eth1.ipAddress}:6969/announce -o /tmp/test.torrent"); + $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${(head nodes.tracker.config.networking.interfaces.eth1.ip4).address}:6969/announce -o /tmp/test.torrent"); $tracker->succeed("chmod 644 /tmp/test.torrent"); # Start the tracker. !!! use a less crappy tracker diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index 5fdcc0e97ca..5a57cce6b67 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -13,7 +13,7 @@ import ./make-test.nix { { virtualisation.vlans = [ 1 ]; networking.firewall.allowPing = true; networking.defaultGateway = - nodes.router.config.networking.interfaces.eth2.ipAddress; + (head nodes.router.config.networking.interfaces.eth2.ip4).address; }; router = From 9a697d775adae3524a5ee214644c637c272ffc41 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 31 Aug 2014 09:46:26 -0700 Subject: [PATCH 0488/2163] Revert "Revert "Fix syntax error in nixos/lib/build-vms.nix, introduced by 86c0f8c"" This reverts commit 2f697bf6931b24cdd428e22effbf6427a85afd42. --- nixos/lib/build-vms.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index ba189555409..50b3b424166 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -52,7 +52,7 @@ rec { [ { address = "192.168.${toString first}.${toString m.second}"; prefixLength = 24; } ]; - } + }); in { key = "ip-address"; config = From 02ecc98e87dd35afe5a07299a9d0674ed1533ace Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 31 Aug 2014 09:47:18 -0700 Subject: [PATCH 0489/2163] nixos/network-interfaces: Fix bug in converting old ipAddresses --- nixos/modules/tasks/network-interfaces.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index ac3a55332e4..2adb4bcfaba 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -586,10 +586,10 @@ in let ips = i.ip4 ++ optionals cfg.enableIPv6 i.ip6 ++ optional (i.ipAddress != null) { - ipAddress = i.ipAddress; + address = i.ipAddress; prefixLength = i.prefixLength; } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) { - ipAddress = i.ipv6Address; + address = i.ipv6Address; prefixLength = i.ipv6PrefixLength; }; in From ec8e4d23f11132e2433fcb4d976f646b3164bf61 Mon Sep 17 00:00:00 2001 From: Sam Griffin Date: Sun, 31 Aug 2014 13:00:54 -0400 Subject: [PATCH 0490/2163] cleanup per Lethalman's suggestions --- nixos/modules/config/vpnc.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/config/vpnc.nix b/nixos/modules/config/vpnc.nix index 956a4c7d3fd..e79e4d1c20f 100644 --- a/nixos/modules/config/vpnc.nix +++ b/nixos/modules/config/vpnc.nix @@ -6,8 +6,8 @@ let cfg = config.networking.vpnc; mkServiceDef = name: value: { - source = builtins.toFile "${name}.conf" value; - target = "vpnc/${name}.conf"; + name = "vpnc/${name}.conf"; + value = { text = value; }; }; in @@ -35,7 +35,7 @@ in }; }; - config.environment.etc = mapAttrsToList mkServiceDef cfg.services; + config.environment.etc = mapAttrs' mkServiceDef cfg.services; } From eb66d3654fe5b3aa2696fe8e9862e1a382069d84 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 21:08:56 +0400 Subject: [PATCH 0491/2163] Update and adopt LVM2. --- pkgs/os-specific/linux/lvm2/default.nix | 11 +++++++---- pkgs/os-specific/linux/lvm2/default.upstream | 4 ++++ 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 pkgs/os-specific/linux/lvm2/default.upstream diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 9e2b0c90079..96f8dbf5784 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }: let - v = "2.02.106"; + version = "2.02.110"; in stdenv.mkDerivation { - name = "lvm2-${v}"; + name = "lvm2-${version}"; src = fetchurl { - url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${v}.tgz"; - sha256 = "0nr833bl0q4zq52drjxmmpf7bs6kqxwa5kahwwxm9411khkxz0vc"; + url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz"; + sha256 = "04fdzvv5431d1i4p701zkm9kc50087q56k7l2l5l5f3i9ah1mb9x"; }; configureFlags = @@ -54,5 +54,8 @@ stdenv.mkDerivation { homepage = http://sourceware.org/lvm2/; descriptions = "Tools to support Logical Volume Management (LVM) on Linux"; platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [raskin]; + inherit version; + downloadPage = "ftp://sources.redhat.com/pub/lvm2/"; }; } diff --git a/pkgs/os-specific/linux/lvm2/default.upstream b/pkgs/os-specific/linux/lvm2/default.upstream new file mode 100644 index 00000000000..1e5aaf5ab5c --- /dev/null +++ b/pkgs/os-specific/linux/lvm2/default.upstream @@ -0,0 +1,4 @@ +url ftp://sources.redhat.com/pub/lvm2/ +version_link '[.]tgz$' +version '.*[^0-9.][^.]*[.]([0-9.]+)[.].*' '\1' +do_overwrite () { do_overwrite_just_version; } From 7c40939c3a15180926ae6d8be060c9adc5ef405d Mon Sep 17 00:00:00 2001 From: Dmitry Malikov Date: Sun, 31 Aug 2014 19:09:44 +0200 Subject: [PATCH 0492/2163] haskell-directory-layout: 0.7.4 -> 0.7.4.1, doCheck = true --- .../libraries/haskell/directory-layout/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/directory-layout/default.nix b/pkgs/development/libraries/haskell/directory-layout/default.nix index 44f5a7635f6..610b1a5ec63 100644 --- a/pkgs/development/libraries/haskell/directory-layout/default.nix +++ b/pkgs/development/libraries/haskell/directory-layout/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "directory-layout"; - version = "0.7.4"; - sha256 = "1nrbv9mzl817d6c494sxd4jg15winpp9624n84av9vdxb8x1n14d"; + version = "0.7.4.1"; + sha256 = "0hj7dfv5i2s1dk0rws2fg84crpxz1kgvrq68f373a6hwkbfhv89b"; buildDepends = [ commandQq filepath free hspec lens semigroups text transformers unorderedContainers @@ -21,5 +21,4 @@ cabal.mkDerivation (self: { license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; - doCheck = false; # issue https://github.com/supki/directory-layout/issues/8 }) From eecfa6d657380ec52d34017da0fde37332a182a8 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 21:15:57 +0400 Subject: [PATCH 0493/2163] Enable dmeventd --- pkgs/os-specific/linux/lvm2/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 96f8dbf5784..739b47bf91d 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { }; configureFlags = - "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib"; + "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib --enable-dmeventd --enable-cmdlib"; buildInputs = [ pkgconfig udev ]; From 5f22bc48cdbe8e4e42f0f2cecfc3ea15b0742421 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 21:16:07 +0400 Subject: [PATCH 0494/2163] Update dmraid --- pkgs/os-specific/linux/dmraid/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/dmraid/default.nix b/pkgs/os-specific/linux/dmraid/default.nix index 35efa8533ab..ec4621e6957 100644 --- a/pkgs/os-specific/linux/dmraid/default.nix +++ b/pkgs/os-specific/linux/dmraid/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, devicemapper }: stdenv.mkDerivation rec { - name = "dmraid-1.0.0.rc15"; + name = "dmraid-1.0.0.rc16"; src = fetchurl { url = "http://people.redhat.com/~heinzm/sw/dmraid/src/old/${name}.tar.bz2"; - sha256 = "01bcaq0sc329ghgj7f182xws7jgjpdc41bvris8fsiprnxc7511h"; + sha256 = "0m92971gyqp61darxbiri6a48jz3wq3gkp8r2k39320z0i6w8jgq"; }; preConfigure = "cd */"; From 44d772d1e03dbfbd2d0125e9b574ce813819f3d2 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sun, 31 Aug 2014 14:25:39 -0300 Subject: [PATCH 0495/2163] Stella 4.0: New Package Stella is an Atari 2600 VCS emulator --- pkgs/misc/emulators/stella/default.nix | 37 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 39 insertions(+) create mode 100644 pkgs/misc/emulators/stella/default.nix diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/misc/emulators/stella/default.nix new file mode 100644 index 00000000000..154a5d02a80 --- /dev/null +++ b/pkgs/misc/emulators/stella/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl +, pkgconfig, SDL2 +}: + +stdenv.mkDerivation rec { + + name = "stella-${version}"; + version = "4.0"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/project/stella/stella/${version}/${name}-src.tar.gz"; + sha256 = "1j96sj2qflq3agb7fvb08ih3pxy8nsvlkwj40q3n00q9k884ad5w"; + }; + + buildInputs = with stdenv.lib; + [ pkgconfig SDL2 ]; + + configureFlags = '' + ''; + + NIX_CFLAGS_COMPILE=""; + + meta = with stdenv.lib; { + description = "An open-source Atari 2600 VCS emulator"; + longDescription = '' + Stella is a multi-platform Atari 2600 VCS emulator released under + the GNU General Public License (GPL). Stella was originally + developed for Linux by Bradford W. Mott, and is currently + maintained by Stephen Anthony. + As of its 3.5 release, Stella is officialy donationware. + ''; + homepage = http://stella.sourceforge.net/; + license = licenses.gpl2; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2478d881182..5ef7987a476 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9709,6 +9709,8 @@ let conf = config.st.conf or null; }; + stella = callPackage ../misc/emulators/stella { }; + linuxstopmotion = callPackage ../applications/video/linuxstopmotion { }; sweethome3d = recurseIntoAttrs ( (callPackage ../applications/misc/sweethome3d { }) From 14f417ce9b114da2507f792e92b05840fc605583 Mon Sep 17 00:00:00 2001 From: Dmitry Malikov Date: Sun, 31 Aug 2014 19:54:02 +0200 Subject: [PATCH 0496/2163] haskell-wordexp: add 0.2.0.0 --- .../libraries/haskell/wordexp/default.nix | 16 ++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 18 insertions(+) create mode 100644 pkgs/development/libraries/haskell/wordexp/default.nix diff --git a/pkgs/development/libraries/haskell/wordexp/default.nix b/pkgs/development/libraries/haskell/wordexp/default.nix new file mode 100644 index 00000000000..7d03b1adea5 --- /dev/null +++ b/pkgs/development/libraries/haskell/wordexp/default.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, c2hs, semigroups }: + +cabal.mkDerivation (self: { + pname = "wordexp"; + version = "0.2.0.0"; + sha256 = "1hfpvzbyyh47ai166xyrhmhvg2shrqcswsfalwa16wab6hcg32ki"; + buildDepends = [ semigroups ]; + buildTools = [ c2hs ]; + meta = { + description = "wordexp(3) wrappers"; + 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 50ca0b97637..b074a6ab48d 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2753,6 +2753,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in word8 = callPackage ../development/libraries/haskell/word8 {}; + wordexp = callPackage ../development/libraries/haskell/wordexp {}; + Workflow = callPackage ../development/libraries/haskell/Workflow {}; wreq = callPackage ../development/libraries/haskell/wreq {}; From d1a8a8d76d16f756920fc2b84b64c0e1efba07e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 31 Aug 2014 20:02:41 +0200 Subject: [PATCH 0497/2163] pythonPackages.rainbowstream: 0.9.3 -> 0.9.5, fix build on py3k --- pkgs/top-level/python-packages.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7b39b083eea..57032cf2ec4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4590,25 +4590,25 @@ rec { rainbowstream = buildPythonPackage rec { name = "rainbowstream-${version}"; - version = "0.9.3"; + version = "0.9.5"; src = fetchurl { url = "https://pypi.python.org/packages/source/r/rainbowstream/${name}.tar.gz"; - sha256 = "1xgfxk3qwbfdl2fwabcppi43dxmv8pik0wb9jsbszwxz9xv3fcpk"; + sha256 = "0v79xiihgsfjipxkzzi92l8y1f8vxxachpv71gyzyhxdsl2zfj57"; }; doCheck = false; + preBuild = '' + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + export LC_ALL="en_US.UTF-8" + ''; + buildInputs = [ pkgs.libjpeg pkgs.freetype pkgs.zlib pillow twitter pyfiglet requests arrow dateutil modules.readline ]; - postInstall = '' - wrapProgram "$out/bin/rainbowstream" \ - --prefix PYTHONPATH : "$PYTHONPATH" - ''; - meta = { description = "Streaming command-line twitter client"; homepage = "http://www.rainbowstream.org/"; From b1e388cefbf30872a9d9e567da0598c24e61027a Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Sun, 31 Aug 2014 19:26:05 +0100 Subject: [PATCH 0498/2163] agda-stdlib: update to 0.8.1 This is necessary after the Agda-2.4.2 bump --- pkgs/development/compilers/agda/stdlib.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix index 913ae5cd90f..d0ae1394f89 100644 --- a/pkgs/development/compilers/agda/stdlib.nix +++ b/pkgs/development/compilers/agda/stdlib.nix @@ -2,11 +2,11 @@ cabal.mkDerivation (self: rec { pname = "Agda-stdlib"; - version = "0.8"; + version = "0.8.1"; src = fetchurl { url = "https://github.com/agda/agda-stdlib/archive/v${version}.tar.gz"; - sha256 = "03gdcy2gar46qlmd6w91y05cm1x304ig6bda90ryww9qn05kif78"; + sha256 = "0ij4rg4lk0pq01ing285gbmnn23dcf2rhihdcs8bbdpjg52vl4gf"; }; buildDepends = [ filemanip Agda ]; From 6b962e6e9e47f20f9dc4d3b2dc456aa8e82d8b6b Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 22:47:28 +0400 Subject: [PATCH 0499/2163] Update FPC binary expression --- pkgs/development/compilers/fpc/binary-builder.sh | 1 + pkgs/development/compilers/fpc/binary.nix | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/fpc/binary-builder.sh b/pkgs/development/compilers/fpc/binary-builder.sh index 8be36dec73e..4308c1ed211 100755 --- a/pkgs/development/compilers/fpc/binary-builder.sh +++ b/pkgs/development/compilers/fpc/binary-builder.sh @@ -1,6 +1,7 @@ source $stdenv/setup tar xf $src +cd */ tarballdir=$(pwd) for i in *.tar; do tar xvf $i; done echo "Deploying binaries.." diff --git a/pkgs/development/compilers/fpc/binary.nix b/pkgs/development/compilers/fpc/binary.nix index 88f0ab91067..57e670750db 100644 --- a/pkgs/development/compilers/fpc/binary.nix +++ b/pkgs/development/compilers/fpc/binary.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl }: stdenv.mkDerivation { - name = "fpc-2.4.0-binary"; + name = "fpc-2.6.0-binary"; src = if stdenv.system == "i686-linux" then fetchurl { - url = "ftp://ftp.chg.ru/pub/lang/pascal/fpc/dist/2.4.0/i386-linux/fpc-2.4.0.i386-linux.tar"; - sha256 = "1zas9kp0b36zxqvb9i4idh2l0nb6qpmgah038l77w6las7ghh0dv"; + url = "http://sourceforge.net/projects/freepascal/files/Linux/2.6.0/fpc-2.6.0.i386-linux.tar"; + sha256 = "08yklvrfxvk59bxsd4rh1i6s3cjn0q06dzjs94h9fbq3n1qd5zdf"; } else if stdenv.system == "x86_64-linux" then fetchurl { - url = "ftp://ftp.chg.ru/pub/lang/pascal/fpc/dist/2.4.0/x86_64-linux/fpc-2.4.0.x86_64-linux.tar"; - sha256 = "111d11g5ra55hjywx64ldwwflpimsy8zryvap68v0309nyd23f0z"; + url = "http://sourceforge.net/projects/freepascal/files/Linux/2.6.0/fpc-2.6.0.x86_64-linux.tar"; + sha256 = "0k9vi75k39y735fng4jc2vppdywp82j4qhzn7x4r6qjkad64d8lx"; } else throw "Not supported on ${stdenv.system}."; From 2406a892196695a5faf15fb4c27745a9cf53f962 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 22:47:45 +0400 Subject: [PATCH 0500/2163] Update FPC to 2.6.4 --- pkgs/development/compilers/fpc/default.nix | 11 ++++++++--- pkgs/development/compilers/fpc/default.upstream | 6 ++++++ 2 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/compilers/fpc/default.upstream diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix index 6be976783bc..b34b5e8a446 100644 --- a/pkgs/development/compilers/fpc/default.nix +++ b/pkgs/development/compilers/fpc/default.nix @@ -3,12 +3,12 @@ let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in stdenv.mkDerivation rec { - version = "2.6.0"; + version = "2.6.4"; name = "fpc-${version}"; src = fetchurl { url = "mirror://sourceforge/freepascal/fpcbuild-${version}.tar.gz"; - sha256 = "1vxy2y8pm0ribhpdhqlwwz696ncnz4rk2dafbn1mjgipm97qb26p"; + sha256 = "1akdlp4n9ai1gnn4yq236i5rx03rs5sjfgk60myb7nb9lk7kp74d"; }; buildInputs = [ startFPC gawk ]; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { sed -e "s@'/lib64/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas '' else ""; - makeFlags = "NOGDB=1"; + makeFlags = "NOGDB=1 FPC=${startFPC}/bin/fpc"; installFlags = "INSTALL_PREFIX=\${out}"; @@ -31,9 +31,14 @@ stdenv.mkDerivation rec { $out/lib/fpc/*/samplecfg $out/lib/fpc/${version} $out/lib/fpc/etc/ ''; + passthru = { + bootstrap = startFPC; + }; + meta = { description = "Free Pascal Compiler from a source distribution"; maintainers = [stdenv.lib.maintainers.raskin]; platforms = stdenv.lib.platforms.linux; + inherit version; }; } diff --git a/pkgs/development/compilers/fpc/default.upstream b/pkgs/development/compilers/fpc/default.upstream new file mode 100644 index 00000000000..7c11fb4761e --- /dev/null +++ b/pkgs/development/compilers/fpc/default.upstream @@ -0,0 +1,6 @@ +url http://sourceforge.net/projects/freepascal/files/Source/ +SF_version_dir +version_link 'fpcbuild-[0-9.]+[.]tar[.]gz/download$' +SF_redirect +version '.*-([0-9.]+)[.]tar[.]gz' '\1' +do_overwrite () { do_overwrite_just_version; } From fc83dfbc49cb3b1d1430eaa4d6fe787ed3f65952 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 22:54:37 +0400 Subject: [PATCH 0501/2163] Update smbnetfs --- pkgs/tools/filesystems/smbnetfs/default.nix | 13 +++++-------- pkgs/tools/filesystems/smbnetfs/default.upstream | 6 ++++++ 2 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 pkgs/tools/filesystems/smbnetfs/default.upstream diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix index 616f61e6c84..e9d9b27d751 100644 --- a/pkgs/tools/filesystems/smbnetfs/default.nix +++ b/pkgs/tools/filesystems/smbnetfs/default.nix @@ -12,17 +12,16 @@ let sourceInfo = rec { baseName="smbnetfs"; dirBaseName="SMBNetFS"; - version="0.5.3a"; + version = "0.5.3b"; name="${baseName}-${version}"; project="${baseName}"; url="mirror://sourceforge/project/${project}/${baseName}/${dirBaseName}-${version}/${name}.tar.bz2"; - hash="0fzlw11y2vkxmjzz3qcypqlvz074v6a3pl4pyffbniqal64qgrsw"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "1j9b30kh4ymv4nr8c1qc7hfg6pscgyj75ib16pqa0zljjk1klx18"; }; inherit (sourceInfo) name version; @@ -40,11 +39,9 @@ rec { platforms = with a.lib.platforms; linux; license = a.lib.licenses.gpl2; - }; - passthru = { - updateInfo = { - downloadPage = "http://sourceforge.net/projects/smbnetfs/files/smbnetfs"; - }; + downloadPage = "http://sourceforge.net/projects/smbnetfs/files/smbnetfs"; + updateWalker = true; + inherit version; }; }) x diff --git a/pkgs/tools/filesystems/smbnetfs/default.upstream b/pkgs/tools/filesystems/smbnetfs/default.upstream new file mode 100644 index 00000000000..9e2ba2bd59b --- /dev/null +++ b/pkgs/tools/filesystems/smbnetfs/default.upstream @@ -0,0 +1,6 @@ +url http://sourceforge.net/projects/smbnetfs/files/smbnetfs/ +version_link '[-][0-9.]+[a-z]*/$' +version_link '[.]tar[.][a-z0-9]+/download$' +SF_redirect +version '.*[-]([0-9.]+[a-z]*)[.]tar[.].*' '\1' +do_overwrite () { do_overwrite_just_version; } From 3da42c811ffd082f92a82fb8f2f0ce0016e31fd7 Mon Sep 17 00:00:00 2001 From: Philip Horger Date: Sat, 30 Aug 2014 23:41:46 -0700 Subject: [PATCH 0502/2163] hawkthorne: Initial commit, license issue still unresolved --- pkgs/games/hawkthorne/default.nix | 38 ++++++++++++++++++++++++++++ pkgs/games/hawkthorne/makefile.patch | 33 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 73 insertions(+) create mode 100644 pkgs/games/hawkthorne/default.nix create mode 100644 pkgs/games/hawkthorne/makefile.patch diff --git a/pkgs/games/hawkthorne/default.nix b/pkgs/games/hawkthorne/default.nix new file mode 100644 index 00000000000..4a99ec44764 --- /dev/null +++ b/pkgs/games/hawkthorne/default.nix @@ -0,0 +1,38 @@ +{ fetchgit, stdenv, love, curl, zip }: + +stdenv.mkDerivation rec { + version = "0.9.1"; + name = "hawkthorne-${version}"; + + src = fetchgit { + url = "https://github.com/hawkthorne/hawkthorne-journey.git"; + rev = "e48b5eef0058f63bb8ee746bc00b47b3e03f0854"; + sha256 = "0rvcpv8fsi450xs2cglv4w6m5iqbhsr2n09pcvhh0krhg7xay538"; + }; + + buildInputs = [ + love curl zip + ]; + + patches = [ + ./makefile.patch + ]; + + enableParallelBuilding = true; + + meta = { + description = "Journey to the Center of Hawkthorne - A fan-made retro-style game based on the show Community"; + longDescription = '' + Journey to the Center of Hawkthorne is an open source game written in Love2D. + It's based on the show Community, starring Jim Rash and Joel McHale as + the primary will-they-or-won't-they relationship. + + This game has been entirely developed by fans of the show, who were inspired + to bring to life the video game used to determine the winner of Pierce + Hawthorne's inheritance. + ''; + homepage = "http://www.reddit.com/r/hawkthorne"; + license = stdenv.lib.licenses.mit; + maintainers = with stdenv.lib.maintainers; [ campadrenalin ]; + }; +} diff --git a/pkgs/games/hawkthorne/makefile.patch b/pkgs/games/hawkthorne/makefile.patch new file mode 100644 index 00000000000..16a79683149 --- /dev/null +++ b/pkgs/games/hawkthorne/makefile.patch @@ -0,0 +1,33 @@ +diff --git a/Makefile b/Makefile +index 55eb817..f3406aa 100644 +--- a/Makefile ++++ b/Makefile +@@ -18,10 +18,14 @@ endif + + tilemaps := $(patsubst %.tmx,%.lua,$(wildcard src/maps/*.tmx)) + +-maps: $(tilemaps) +- + love: build/hawkthorne.love + ++shebang: build/hawkthorne.love ++ cat <(echo '#!/usr/bin/env love') build/hawkthorne.love > build/hawkthorne ++ chmod +x build/hawkthorne ++ ++maps: $(tilemaps) ++ + build/hawkthorne.love: $(tilemaps) src/* + mkdir -p build + cd src && zip --symlinks -q -r ../build/hawkthorne.love . -x ".*" \ +@@ -30,6 +34,12 @@ build/hawkthorne.love: $(tilemaps) src/* + run: $(tilemaps) $(LOVE) + $(LOVE) src + ++check: test ++ ++install: shebang ++ mkdir -p $(out)/bin ++ cp build/hawkthorne $(out)/bin ++ + src/maps/%.lua: src/maps/%.tmx bin/tmx2lua + bin/tmx2lua $< diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2478d881182..4a63b75bb54 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1278,6 +1278,8 @@ let haveged = callPackage ../tools/security/haveged { }; + hawkthorne = callPackage ../games/hawkthorne { love = love_0_9; }; + hardlink = callPackage ../tools/system/hardlink { }; hashcat = callPackage ../tools/security/hashcat { }; From 5588ad472b2ce83ba6f0854b1a6491569ec51509 Mon Sep 17 00:00:00 2001 From: Vladimir Still Date: Sun, 31 Aug 2014 21:12:15 +0200 Subject: [PATCH 0503/2163] vpnc: Fix building of system config. --- nixos/modules/config/vpnc.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/config/vpnc.nix b/nixos/modules/config/vpnc.nix index e79e4d1c20f..68d755232eb 100644 --- a/nixos/modules/config/vpnc.nix +++ b/nixos/modules/config/vpnc.nix @@ -16,7 +16,7 @@ in networking.vpnc = { services = mkOption { type = types.attrsOf types.str; - default = []; + default = {}; example = { test = '' From 3c8ddf78816d25fd057f0c0f03e7e63c9af35c86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 31 Aug 2014 21:51:49 +0200 Subject: [PATCH 0504/2163] lmms: 0.4.15 -> 1.0.3, fix ogg vorbis and fluidsynth support --- pkgs/applications/audio/lmms/default.nix | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix index dd0649811bb..ee47d607c2b 100644 --- a/pkgs/applications/audio/lmms/default.nix +++ b/pkgs/applications/audio/lmms/default.nix @@ -1,24 +1,22 @@ -{ stdenv, fetchurl, SDL, alsaLib, cmake, fftwSinglePrec, jack2, libogg -, libsamplerate, libsndfile, pkgconfig, pulseaudio, qt4, freetype +{ stdenv, fetchurl, SDL, alsaLib, cmake, fftwSinglePrec, fluidsynth +, fltk13, jack2, libvorbis , libsamplerate, libsndfile, pkgconfig +, pulseaudio, qt4, freetype }: stdenv.mkDerivation rec { name = "lmms-${version}"; - version = "0.4.15"; + version = "1.0.3"; src = fetchurl { - url = "mirror://sourceforge/lmms/${name}.tar.bz2"; - sha256 = "02q2gbsqwk3hf9kvzz58a5bxmlb4cfr2mzy41wdvbxxdm2pcl101"; + url = "https://github.com/LMMS/lmms/archive/v${version}.tar.gz"; + sha256 = "191mfld3gspnxlgwcszp9kls58kdwrplj0rfw4zqsz90zdbsjnx3"; }; buildInputs = [ - SDL alsaLib cmake fftwSinglePrec jack2 libogg libsamplerate - libsndfile pkgconfig pulseaudio qt4 + SDL alsaLib cmake fftwSinglePrec fltk13 fluidsynth jack2 + libsamplerate libsndfile libvorbis pkgconfig pulseaudio qt4 ]; - # work around broken build system of 0.4.* - NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; - enableParallelBuilding = true; meta = with stdenv.lib; { From a735c308b69f4809eada30622279ae9fff03b016 Mon Sep 17 00:00:00 2001 From: Vladimir Still Date: Wed, 30 Jul 2014 23:47:52 +0200 Subject: [PATCH 0505/2163] nfsd: Make it possible to fix rpc.{mountd,statd,lockd} ports. --- .../services/network-filesystems/nfsd.nix | 13 ++++++- nixos/modules/tasks/filesystems/nfs.nix | 37 +++++++++++++++++-- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/network-filesystems/nfsd.nix b/nixos/modules/services/network-filesystems/nfsd.nix index 2217fec3b0f..57d56cd7287 100644 --- a/nixos/modules/services/network-filesystems/nfsd.nix +++ b/nixos/modules/services/network-filesystems/nfsd.nix @@ -56,6 +56,14 @@ in default = false; description = "Whether to create the mount points in the exports file at startup time."; }; + + mountdPort = mkOption { + default = null; + example = 4002; + description = '' + Use fixed port for rpc.mountd, usefull if server is behind firewall. + ''; + }; }; }; @@ -138,7 +146,10 @@ in restartTriggers = [ exports ]; serviceConfig.Type = "forking"; - serviceConfig.ExecStart = "@${pkgs.nfsUtils}/sbin/rpc.mountd rpc.mountd"; + serviceConfig.ExecStart = '' + @${pkgs.nfsUtils}/sbin/rpc.mountd rpc.mountd \ + ${if cfg.mountdPort != null then "-p ${toString cfg.mountdPort}" else ""} + ''; serviceConfig.Restart = "always"; }; diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix index e8c3d8ab56d..c902b9e0790 100644 --- a/nixos/modules/tasks/filesystems/nfs.nix +++ b/nixos/modules/tasks/filesystems/nfs.nix @@ -24,13 +24,37 @@ let Method = nsswitch ''; + cfg = config.services.nfs; + in { + ###### interface + + options = { + + services.nfs = { + statdPort = mkOption { + default = null; + example = 4000; + description = '' + Use fixed port for rpc.statd, usefull if NFS server is behind firewall. + ''; + }; + lockdPort = mkOption { + default = null; + example = 4001; + description = '' + Use fixed port for NFS lock manager kernel module (lockd/nlockmgr), + usefull if NFS server is behind firewall. + ''; + }; + }; + }; ###### implementation - config = mkIf (any (fs: fs == "nfs" || fs == "nfs4") config.boot.supportedFilesystems) { + config = mkIf (any (fs: fs == "nfs" || fs == "nfs4") config.boot.supportedFilesystems) ({ services.rpcbind.enable = true; @@ -60,7 +84,10 @@ in ''; serviceConfig.Type = "forking"; - serviceConfig.ExecStart = "@${pkgs.nfsUtils}/sbin/rpc.statd rpc.statd --no-notify"; + serviceConfig.ExecStart = '' + @${pkgs.nfsUtils}/sbin/rpc.statd rpc.statd --no-notify \ + ${if cfg.statdPort != null then "-p ${toString statdPort}" else ""} + ''; serviceConfig.Restart = "always"; }; @@ -90,5 +117,9 @@ in serviceConfig.Restart = "always"; }; - }; + } // mkIf (cfg.lockdPort != null) { + boot.extraModprobeConfig = '' + options lockd nlm_udpport=${toString cfg.lockdPort} nlm_tcpport=${toString cfg.lockdPort} + ''; + }); } From ba13808259753206c8c329676710b3c0d08b78ec Mon Sep 17 00:00:00 2001 From: Daniel Peebles Date: Sun, 31 Aug 2014 16:00:51 -0400 Subject: [PATCH 0506/2163] Fix byacc --- pkgs/development/tools/parsing/byacc/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix index ec302611053..f3ec8225f1c 100644 --- a/pkgs/development/tools/parsing/byacc/default.nix +++ b/pkgs/development/tools/parsing/byacc/default.nix @@ -4,15 +4,10 @@ stdenv.mkDerivation { name = "byacc-1.9"; src = fetchurl { - url = http://www.isc.org/sources/devel/tools/byacc-1.9.tar.gz; - sha256 = "d61a15ac4ac007c188d0c0e99365f016f8d327755f43032b58e400754846f736"; + url = http://invisible-island.net/datafiles/release/byacc.tar.gz; + sha256 = "1rbzx5ipkvih9rjfdfv6310wcr6mxjbdlsh9zcv5aaz6yxxxil7c"; }; - preConfigure = - ''mkdir -p $out/bin - sed -i "s@^DEST.*\$@DEST = $out/bin/yacc@" Makefile - ''; - meta = { description = "Berkeley YACC"; homepage = http://dickey.his.com/byacc/byacc.html; From e728e7cb6dce9ceede36215c312b603a6610bd91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 31 Aug 2014 22:03:48 +0200 Subject: [PATCH 0507/2163] petri-foo: use released version 0.1.87 --- pkgs/applications/audio/petrifoo/default.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/audio/petrifoo/default.nix b/pkgs/applications/audio/petrifoo/default.nix index 152ee442761..197a0aa1bbe 100644 --- a/pkgs/applications/audio/petrifoo/default.nix +++ b/pkgs/applications/audio/petrifoo/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchgit, alsaLib, cmake, gtk, jack2, libgnomecanvas +{ stdenv, fetchurl, alsaLib, cmake, gtk, jack2, libgnomecanvas , libpthreadstubs, libsamplerate, libsndfile, libtool, libxml2 , pkgconfig }: stdenv.mkDerivation rec { - name = "petri-foo"; + name = "petri-foo-${version}"; + version = "0.1.87"; - src = fetchgit { - url = https://github.com/licnep/Petri-Foo.git; - rev = "eef3b6efebe842d2fa18ed32b881fea4562b84e0"; - sha256 = "a20c3f1a633500a65c099c528c7dc2405daa60738b64d881bb8f2036ae59913c"; + src = fetchurl { + url = "mirror://sourceforge/petri-foo/${name}.tar.bz2"; + sha256 = "0b25iicgn8c42487fdw32ycfrll1pm2zjgy5djvgw6mfcaa4gizh"; }; buildInputs = @@ -16,8 +16,6 @@ stdenv.mkDerivation rec { libsamplerate libsndfile libtool libxml2 pkgconfig ]; - dontUseCmakeBuildDir=true; - meta = with stdenv.lib; { description = "MIDI controllable audio sampler"; longDescription = "a fork of Specimen"; From edbaf9497ba278e5e4cd20efc11f59f304ff9a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 31 Aug 2014 22:19:04 +0200 Subject: [PATCH 0508/2163] zynaddsubfx: 2.4.3 -> 2.4.4 --- pkgs/applications/audio/zynaddsubfx/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/audio/zynaddsubfx/default.nix b/pkgs/applications/audio/zynaddsubfx/default.nix index a5aa7d5c8d9..3a89b406742 100644 --- a/pkgs/applications/audio/zynaddsubfx/default.nix +++ b/pkgs/applications/audio/zynaddsubfx/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, alsaLib, cmake, jack2, fftw, fltk13, minixml -, pkgconfig, zlib +{ stdenv, fetchurl, alsaLib, cmake, jack2, fftw, fltk13, libjpeg +, minixml, pkgconfig, zlib }: stdenv.mkDerivation rec { name = "zynaddsubfx-${version}"; - version = "2.4.3"; + version = "2.4.4"; src = fetchurl { - url = "mirror://sourceforge/zynaddsubfx/ZynAddSubFX-${version}.tar.bz2"; - sha256 = "0kgmwyh4rhyqdfrdzhbzjjk2hzggkp9c4aac6sy3xv6cc1b5jjxq"; + url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.xz"; + sha256 = "15byz08p5maf3v8l1zz11xan6s0qcfasjf1b81xc8rffh13x5f53"; }; - buildInputs = [ alsaLib jack2 fftw fltk13 minixml zlib ]; + buildInputs = [ alsaLib jack2 fftw fltk13 libjpeg minixml zlib ]; nativeBuildInputs = [ cmake pkgconfig ]; meta = with stdenv.lib; { From 60d4216d01ce588372a0504266b2e09fd1a10032 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 31 Aug 2014 23:54:14 +0400 Subject: [PATCH 0509/2163] Update Graphviz --- pkgs/tools/graphics/graphviz/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix index 27883ca6037..e9a552e3300 100644 --- a/pkgs/tools/graphics/graphviz/default.nix +++ b/pkgs/tools/graphics/graphviz/default.nix @@ -3,11 +3,12 @@ }: stdenv.mkDerivation rec { - name = "graphviz-2.36.0"; + version = "2.38.0"; + name = "graphviz-${version}"; src = fetchurl { url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz"; - sha256 = "0qb30z5sxlbjni732ndad3j4x7l36vsxpxn4fmf5fn7ivvc6dz9p"; + sha256 = "17l5czpvv5ilmg17frg0w4qwf89jzh2aglm9fgx0l0aakn6j7al1"; }; buildInputs = @@ -52,6 +53,9 @@ stdenv.mkDerivation rec { ''; hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; - maintainers = with stdenv.lib.maintainers; [ simons bjornfor ]; + maintainers = with stdenv.lib.maintainers; [ simons bjornfor raskin ]; + downloadPage = "http://www.graphviz.org/pub/graphviz/ARCHIVE/"; + inherit version; + updateWalker = true; }; } From 08131bd5d5f627f03625cf28ca8afbd7eb83e7fa Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 1 Sep 2014 00:37:57 +0400 Subject: [PATCH 0510/2163] Update guitone --- .../version-management/guitone/default.nix | 8 +-- pkgs/tools/graphics/graphviz/2.32.nix | 61 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 12 +++- 3 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 pkgs/tools/graphics/graphviz/2.32.nix diff --git a/pkgs/applications/version-management/guitone/default.nix b/pkgs/applications/version-management/guitone/default.nix index a396765e918..135e7c7e1ef 100644 --- a/pkgs/applications/version-management/guitone/default.nix +++ b/pkgs/applications/version-management/guitone/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchmtn, qt4 }: +{ stdenv, fetchurl, fetchmtn, qt4, pkgconfig, graphviz }: let version = "1.0-mtn-head"; in stdenv.mkDerivation rec { @@ -11,12 +11,12 @@ stdenv.mkDerivation rec { src = fetchmtn { dbs = ["mtn://code.monotone.ca/guitone"]; - selector = "2777cdef424c65df93fa1ff181f02ee30d4901ab"; - sha256 = "918d36a83060b84efa0ee0fe0fd058f1c871c91156d91366e2e979c886ff4271"; + selector = "3a728afdbd3943b1d86c2a249b1e2ede7bf64c27"; + sha256 = "01vs8m00phs5pl75mjkpdarynfpkqrg0qf4rsn95czi3q6nxiaq5"; branch = "net.venge.monotone.guitone"; }; - buildInputs = [ qt4 ]; + buildInputs = [ qt4 pkgconfig graphviz ]; prefixKey="PREFIX="; configureScript = "qmake guitone.pro"; diff --git a/pkgs/tools/graphics/graphviz/2.32.nix b/pkgs/tools/graphics/graphviz/2.32.nix new file mode 100644 index 00000000000..0a86a892417 --- /dev/null +++ b/pkgs/tools/graphics/graphviz/2.32.nix @@ -0,0 +1,61 @@ +{ stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw +, yacc, libtool, fontconfig, pango, gd, xlibs, gts, gettext, cairo +}: + +stdenv.mkDerivation rec { + version = "2.32.0"; + name = "graphviz-${version}"; + + src = fetchurl { + url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz"; + sha256 = "0ym7lw3xnkcgbk32vfmm3329xymca60gzn90rq6dv8887qqv4lyq"; + }; + + buildInputs = + [ pkgconfig libpng libjpeg expat libXaw yacc libtool fontconfig + pango gd gts + ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ] + ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext; + + CPPFLAGS = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "-I${cairo}/include/cairo"; + + configureFlags = + [ "--with-pngincludedir=${libpng}/include" + "--with-pnglibdir=${libpng}/lib" + "--with-jpegincludedir=${libjpeg}/include" + "--with-jpeglibdir=${libjpeg}/lib" + "--with-expatincludedir=${expat}/include" + "--with-expatlibdir=${expat}/lib" + "--with-cgraph=no" + "--with-sparse=no" + ] + ++ stdenv.lib.optional (xlibs == null) "--without-x"; + + preBuild = '' + sed -e 's@am__append_5 *=.*@am_append_5 =@' -i lib/gvc/Makefile + ''; + + # "command -v" is POSIX, "which" is not + postInstall = '' + sed -i 's|`which lefty`|"'$out'/bin/lefty"|' $out/bin/dotty + sed -i 's|which|command -v|' $out/bin/vimdot + ''; + + meta = { + homepage = "http://www.graphviz.org/"; + description = "Open source graph visualization software"; + + longDescription = '' + Graphviz is open source graph visualization software. Graph + visualization is a way of representing structural information as + diagrams of abstract graphs and networks. It has important + applications in networking, bioinformatics, software engineering, + database and web design, machine learning, and in visual + interfaces for other technical domains. + ''; + + hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ simons bjornfor raskin ]; + inherit version; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4a63b75bb54..d0b12a1e24f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1210,9 +1210,15 @@ let /* Readded by Michael Raskin. There are programs in the wild * that do want 2.0 but not 2.22. Please give a day's notice for - * objections before removal. + * objections before removal. The feature is integer coordinates */ graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { }; + + /* Readded by Michael Raskin. There are programs in the wild + * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for + * objections before removal. The feature is libgraph. + */ + graphviz_2_32 = callPackage ../tools/graphics/graphviz/2.32.nix { }; grive = callPackage ../tools/filesystems/grive { json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable @@ -8984,7 +8990,9 @@ let gpsd = callPackage ../servers/gpsd { }; - guitone = callPackage ../applications/version-management/guitone { }; + guitone = callPackage ../applications/version-management/guitone { + graphviz = graphviz_2_32; + }; gv = callPackage ../applications/misc/gv { }; From 622bdca26c55872ef8870ff3316360fade96f056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 31 Aug 2014 22:45:37 +0200 Subject: [PATCH 0511/2163] processing: keep processing-java and patch it to make it work --- pkgs/applications/graphics/processing/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix index ce3d639d1a3..7d0595134e9 100644 --- a/pkgs/applications/graphics/processing/default.nix +++ b/pkgs/applications/graphics/processing/default.nix @@ -19,10 +19,11 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cp -r linux/work/* $out/ - rm $out/processing-java sed -e "s#APPDIR=\`dirname \"\$APPDIR\"\`#APPDIR=$out#" -i $out/processing - mv $out/processing $out/bin/ + sed -e "s#APPDIR=\`dirname \"\$APPDIR\"\`#APPDIR=$out#" -i $out/processing-java + mv $out/processing{,-java} $out/bin/ wrapProgram $out/bin/processing --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib + wrapProgram $out/bin/processing-java --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib mkdir $out/java ln -s ${jre}/bin $out/java/ ''; From d9b13c1eb1b6834461c43f378c0b9ba9318c0225 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 1 Sep 2014 02:06:41 +0400 Subject: [PATCH 0512/2163] Make dmeventd support in lvm2 optional; use it for dmraid --- pkgs/os-specific/linux/lvm2/default.nix | 6 ++++-- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 739b47bf91d..ee6165bfc9a 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }: +{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils, enable_dmeventd ? false }: let version = "2.02.110"; @@ -13,7 +13,9 @@ stdenv.mkDerivation { }; configureFlags = - "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib --enable-dmeventd --enable-cmdlib"; + "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib --enable-cmdlib" + + (stdenv.lib.optionalString enable_dmeventd " --enable-dmeventd") + ; buildInputs = [ pkgconfig udev ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d0b12a1e24f..cfc93a8cf45 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7259,7 +7259,9 @@ let inherit (xlibs) xproto; }; - dmraid = callPackage ../os-specific/linux/dmraid { }; + dmraid = callPackage ../os-specific/linux/dmraid { + devicemapper = devicemapper.override {enable_dmeventd = true;}; + }; drbd = callPackage ../os-specific/linux/drbd { }; From f60ac82cac0c4c94da76d294114955c8185752ff Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sun, 31 Aug 2014 15:42:38 -0400 Subject: [PATCH 0513/2163] cjdns: new declarative service expression systemd service wants network-interfaces.target rather than network.target assertion on config.networking.enableIPv6 --- nixos/modules/services/networking/cjdns.nix | 314 +++++++++++--------- 1 file changed, 166 insertions(+), 148 deletions(-) diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix index 9306ffd5a18..0519172db91 100644 --- a/nixos/modules/services/networking/cjdns.nix +++ b/nixos/modules/services/networking/cjdns.nix @@ -1,13 +1,3 @@ -# You may notice the commented out sections in this file, -# it would be great to configure cjdns from nix, but cjdns -# reads its configuration from stdin, including the private -# key and admin password, all nested in a JSON structure. -# -# Until a good method of storing the keys outside the nix -# store and mixing them back into a string is devised -# (without too much shell hackery), a skeleton of the -# configuration building lies commented out. - { config, lib, pkgs, ... }: with lib; @@ -16,41 +6,35 @@ let cfg = config.services.cjdns; - /* - # can't keep keys and passwords in the nix store, - # but don't want to deal with this stdin quagmire. + # would be nice to merge 'cfg' with a //, + # but the json nesting is wacky. + cjdrouteConf = builtins.toJSON ( { + admin = { + bind = cfg.admin.bind; + password = "@CJDNS_ADMIN_PASSWORD@"; + }; + authorizedPasswords = map (p: { password = p; }) cfg.authorizedPasswords; + interfaces = { + ETHInterface = if (cfg.ETHInterface.bind != "") then [ cfg.ETHInterface ] else [ ]; + UDPInterface = if (cfg.UDPInterface.bind != "") then [ cfg.UDPInterface ] else [ ]; + }; - cjdrouteConf = '' { - "admin": {"bind": "${cfg.admin.bind}", "password": "\${CJDNS_ADMIN}" }, - "privateKey": "\${CJDNS_KEY}", + privateKey = "@CJDNS_PRIVATE_KEY@"; - "interfaces": { - '' + resetAfterInactivitySeconds = 100; - + optionalString (cfg.interfaces.udp.bind.address != null) '' - "UDPInterface": [ { - "bind": "${cfg.interfaces.udp.bind.address}:"'' - ${if cfg.interfaces.upd.bind.port != null - then ${toString cfg.interfaces.udp.bind.port} - else ${RANDOM} - fi) - + '' } ]'' + router = { + interface = { type = "TUNInterface"; }; + ipTunnel = { + allowedConnections = []; + outgoingConnections = []; + }; + }; - + (if cfg.interfaces.eth.bind != null then '' - "ETHInterface": [ { - "bind": "${cfg.interfaces.eth.bind}", - "beacon": ${toString cfg.interfaces.eth.beacon} - } ] - '' fi ) - + '' - }, - "router": { "interface": { "type": "TUNInterface" }, }, - "security": [ { "setuser": "nobody" } ] - } - ''; + security = [ { exemptAngel = 1; setuser = "nobody"; } ]; + + }); - cjdrouteConfFile = pkgs.writeText "cjdroute.conf" cjdrouteConf - */ in { @@ -62,146 +46,180 @@ in type = types.bool; default = false; description = '' - Enable this option to start a instance of the - cjdns network encryption and and routing engine. - Configuration will be read from confFile. + Whether to enable the cjdns network encryption + and routing engine. A file at /etc/cjdns.keys will + be created if it does not exist to contain a random + secret key that your IPv6 address will be derived from. ''; }; - confFile = mkOption { - default = "/etc/cjdroute.conf"; - description = '' - Configuration file to pipe to cjdroute. + authorizedPasswords = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "snyrfgkqsc98qh1y4s5hbu0j57xw5s0" + "z9md3t4p45mfrjzdjurxn4wuj0d8swv" + "49275fut6tmzu354pq70sr5b95qq0vj" + ]; + description = '' + Any remote cjdns nodes that offer these passwords on + connection will be allowed to route through this node. ''; }; - - /* + admin = { bind = mkOption { + type = types.string; default = "127.0.0.1:11234"; description = '' Bind the administration port to this address and port. ''; }; + }; - passwordFile = mkOption { - example = "/root/cjdns.adminPassword"; + UDPInterface = { + bind = mkOption { + type = types.string; + default = ""; + example = "192.168.1.32:43211"; + description = '' + Address and port to bind UDP tunnels to. + ''; + }; + connectTo = mkOption { + type = types.attrsOf ( types.submodule ( + { options, ... }: + { options = { + # TODO make host an option, and add it to networking.extraHosts + password = mkOption { + type = types.str; + description = "Authorized password to the opposite end of the tunnel."; + }; + publicKey = mkOption { + type = types.str; + description = "Public key at the opposite end of the tunnel."; + }; + }; + } + )); + default = { }; + example = { + "192.168.1.1:27313" = { + password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM"; + publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k"; + }; + }; + description = '' + Credentials for making UDP tunnels. + ''; + }; + }; + + ETHInterface = { + bind = mkOption { + default = ""; + example = "eth0"; description = '' - File containing a password to the administration port. + Bind to this device for native ethernet operation. ''; - }; - }; - - keyFile = mkOption { - type = types.str; - example = "/root/cjdns.key"; - description = '' - Path to a file containing a cjdns private key on a single line. - ''; - }; - - passwordsFile = mkOption { - type = types.str; - default = null; - example = "/root/cjdns.authorizedPasswords"; - description = '' - A file containing a list of json dictionaries with passwords. - For example: - {"password": "s8xf5z7znl4jt05g922n3wpk75wkypk"}, - { "name": "nice guy", - "password": "xhthk1mglz8tpjrbbvdlhyc092rhpx5"}, - {"password": "3qfxyhmrht7uwzq29pmhbdm9w4bnc8w"} - ''; - }; - - interfaces = { - udp = { - bind = { - address = mkOption { - default = "0.0.0.0"; - description = '' - Address to bind UDP tunnels to; disable by setting to null; - ''; - }; - port = mkOption { - type = types.int; - default = null; - description = '' - Port to bind UDP tunnels to. - A port will be choosen at random if this is not set. - This option is required to act as the server end of - a tunnel. - ''; - }; - }; - }; - - eth = { - bind = mkOption { - default = null; - example = "eth0"; - description = '' - Bind to this device and operate with native wire format. - ''; - }; - - beacon = mkOption { - default = 2; - description = '' - Auto-connect to other cjdns nodes on the same network. - Options: - 0 -- Disabled. - - 1 -- Accept beacons, this will cause cjdns to accept incoming - beacon messages and try connecting to the sender. - - 2 -- Accept and send beacons, this will cause cjdns to broadcast - messages on the local network which contain a randomly - generated per-session password, other nodes which have this - set to 1 or 2 will hear the beacon messages and connect - automatically. - ''; - }; - - connectTo = mkOption { - type = types.listOf types.str; - default = []; - description = '' - Credentials for connecting look similar to UDP credientials - except they begin with the mac address, for example: - "01:02:03:04:05:06":{"password":"a","publicKey":"b"} - ''; - }; }; + + beacon = mkOption { + type = types.int; + default = 2; + description = '' + Auto-connect to other cjdns nodes on the same network. + Options: + 0: Disabled. + 1: Accept beacons, this will cause cjdns to accept incoming + beacon messages and try connecting to the sender. + 2: Accept and send beacons, this will cause cjdns to broadcast + messages on the local network which contain a randomly + generated per-session password, other nodes which have this + set to 1 or 2 will hear the beacon messages and connect + automatically. + ''; + }; + + connectTo = mkOption { + type = types.attrsOf ( types.submodule ( + { options, ... }: + { options = { + password = mkOption { + type = types.str; + description = "Authorized password to the opposite end of the tunnel."; + }; + publicKey = mkOption { + type = types.str; + description = "Public key at the opposite end of the tunnel."; + }; + }; + } + )); + default = { }; + example = { + "01:02:03:04:05:06" = { + password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM"; + publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k"; + }; + }; + description = '' + Credentials for connecting look similar to UDP credientials + except they begin with the mac address. + ''; + }; }; - */ + }; + }; config = mkIf config.services.cjdns.enable { boot.kernelModules = [ "tun" ]; - /* - networking.firewall.allowedUDPPorts = mkIf (cfg.udp.bind.port != null) [ - cfg.udp.bind.port - ]; - */ + # networking.firewall.allowedUDPPorts = ... systemd.services.cjdns = { description = "encrypted networking for everybody"; wantedBy = [ "multi-user.target" ]; - wants = [ "network.target" ]; - before = [ "network.target" ]; - path = [ pkgs.cjdns ]; + after = [ "network-interfaces.target" ]; + + script = '' + source /etc/cjdns.keys + echo '${cjdrouteConf}' | sed \ + -e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \ + -e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \ + | ${pkgs.cjdns}/sbin/cjdroute + ''; serviceConfig = { Type = "forking"; - ExecStart = '' - ${pkgs.stdenv.shell} -c "${pkgs.cjdns}/sbin/cjdroute < ${cfg.confFile}" - ''; Restart = "on-failure"; }; }; + + system.activationScripts.cjdns = '' + grep -q "CJDNS_PRIVATE_KEY=" /etc/cjdns.keys || \ + echo "CJDNS_PRIVATE_KEY=$(${pkgs.cjdns}/sbin/makekey)" \ + >> /etc/cjdns.keys + + grep -q "CJDNS_ADMIN_PASSWORD=" /etc/cjdns.keys || \ + echo "CJDNS_ADMIN_PASSWORD=$(${pkgs.coreutils}/bin/head -c 96 /dev/urandom | ${pkgs.coreutils}/bin/tr -dc A-Za-z0-9)" \ + >> /etc/cjdns.keys + + chmod 600 /etc/cjdns.keys + ''; + + assertions = [ + { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" ); + message = "Neither cjdns.ETHInterface.bind nor cjdns.UDPInterface.bind defined."; + } + { assertion = config.networking.enableIPv6; + message = "networking.enableIPv6 must be enabled for CJDNS to work"; + } + ]; + }; -} + +} \ No newline at end of file From fc6ccd1080918a433d03f9e0762296b0e486aef8 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sun, 31 Aug 2014 15:44:42 -0400 Subject: [PATCH 0514/2163] cjdns: package update from 20140303 to 20140829 --- pkgs/tools/networking/cjdns/default.nix | 16 ++++-- pkgs/tools/networking/cjdns/makekey.patch | 64 +++++++++++++++++++++++ 2 files changed, 75 insertions(+), 5 deletions(-) create mode 100644 pkgs/tools/networking/cjdns/makekey.patch diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix index 48e21f4507e..be107dfa81e 100644 --- a/pkgs/tools/networking/cjdns/default.nix +++ b/pkgs/tools/networking/cjdns/default.nix @@ -1,21 +1,27 @@ { stdenv, fetchgit, nodejs, which, python27 }: let - date = "20140303"; - rev = "f11ce1fd4795b0173ac0ef18c8a6f752aa824adb"; + date = "20140829"; + rev = "9595d67f9edd759054c5bd3aaee0968ff55e361a"; in stdenv.mkDerivation { name = "cjdns-${date}-${stdenv.lib.strings.substring 0 7 rev}"; src = fetchgit { - url = "git://github.com/cjdelisle/cjdns.git"; + url = "https://github.com/cjdelisle/cjdns.git"; inherit rev; - sha256 = "1bxhf9f1v0slf9mz3ll6jf45mkwvwxlf3yqxx9k23kjyr1nsc8s8"; + sha256 = "519c549c42ae26c5359ae13a4548c44b51e36db403964b4d9f78c19b749dfb83"; }; buildInputs = [ which python27 nodejs]; - builder = ./builder.sh; + patches = [ ./makekey.patch ]; + + buildPhase = "bash do"; + installPhase = '' + mkdir -p $out/sbin + cp cjdroute makekey $out/sbin + ''; meta = { homepage = https://github.com/cjdelisle/cjdns; diff --git a/pkgs/tools/networking/cjdns/makekey.patch b/pkgs/tools/networking/cjdns/makekey.patch new file mode 100644 index 00000000000..fcce5e3e728 --- /dev/null +++ b/pkgs/tools/networking/cjdns/makekey.patch @@ -0,0 +1,64 @@ +diff --git a/contrib/c/makekey.c b/contrib/c/makekey.c +new file mode 100644 +index 0000000..c7184e5 +--- /dev/null ++++ b/contrib/c/makekey.c +@@ -0,0 +1,46 @@ ++/* vim: set expandtab ts=4 sw=4: */ ++/* ++ * You may redistribute this program and/or modify it under the terms of ++ * the GNU General Public License as published by the Free Software Foundation, ++ * either version 3 of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see . ++ */ ++#include "crypto/random/Random.h" ++#include "memory/MallocAllocator.h" ++#include "crypto/AddressCalc.h" ++#include "util/AddrTools.h" ++#include "util/Hex.h" ++ ++#include "crypto_scalarmult_curve25519.h" ++ ++#include ++ ++int main(int argc, char** argv) ++{ ++ struct Allocator* alloc = MallocAllocator_new(1<<22); ++ struct Random* rand = Random_new(alloc, NULL, NULL); ++ ++ uint8_t privateKey[32]; ++ uint8_t publicKey[32]; ++ uint8_t ip[16]; ++ uint8_t hexPrivateKey[65]; ++ ++ for (;;) { ++ Random_bytes(rand, privateKey, 32); ++ crypto_scalarmult_curve25519_base(publicKey, privateKey); ++ if (AddressCalc_addressForPublicKey(ip, publicKey)) { ++ Hex_encode(hexPrivateKey, 65, privateKey, 32); ++ printf(hexPrivateKey); ++ return 0; ++ } ++ } ++ return 0; ++} ++ +diff --git a/node_build/make.js b/node_build/make.js +index 5e51645..11465e3 100644 +--- a/node_build/make.js ++++ b/node_build/make.js +@@ -339,6 +339,7 @@ Builder.configure({ + builder.buildExecutable('contrib/c/privatetopublic.c'); + builder.buildExecutable('contrib/c/sybilsim.c'); + builder.buildExecutable('contrib/c/makekeys.c'); ++ builder.buildExecutable('contrib/c/makekey.c'); + + builder.buildExecutable('crypto/random/randombytes.c'); + From d54b62ca6073efd99f1018c768214a2b9483f61e Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Sun, 31 Aug 2014 18:40:11 +0100 Subject: [PATCH 0515/2163] Add a builder for Agda packages. --- pkgs/build-support/agda/default.nix | 95 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 8 +++ 2 files changed, 103 insertions(+) create mode 100644 pkgs/build-support/agda/default.nix diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix new file mode 100644 index 00000000000..f8130b423a2 --- /dev/null +++ b/pkgs/build-support/agda/default.nix @@ -0,0 +1,95 @@ +# Builder for Agda packages. Mostly inspired by the cabal builder. +# +# Contact: stdenv.lib.maintainers.fuuzetsu + +{ stdenv, Agda, glibcLocales +, writeScriptBin +, extension ? (self: super: {}) +}: + +let + optionalString = stdenv.lib.optionalString; + filter = stdenv.lib.filter; + concatMapStringsSep = stdenv.lib.strings.concatMapStringsSep; + concatMapStrings = stdenv.lib.strings.concatMapStrings; + unwords = stdenv.lib.strings.concatStringsSep " "; + mapInside = xs: unwords (map (x: x + "/*") xs); +in +{ mkDerivation = args: + let + postprocess = x: x // { + sourceDirectories = filter (y: !(y == null)) x.sourceDirectories; + propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs; + propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs; + extraBuildFlags = filter (y : ! (y == null)) x.extraBuildFlags; + everythingFile = if x.everythingFile == "" then "Everything.agda" else x.everythingFile; + }; + + defaults = self : { + # There is no Hackage for Agda so we require src. + inherit (self) src name; + + buildInputs = [ Agda ] ++ self.buildDepends; + buildDepends = []; + # Not much choice here ;) + LANG = "en_US.UTF-8"; + LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive"; + + everythingFile = "Everything.agda"; + + propagatedBuildInputs = self.buildDepends ++ self.buildTools; + propagatedUserEnvPkgs = self.buildDepends; + + # Immediate source directories under which modules can be found. + sourceDirectories = [ ]; + + # This is used if we have a top-level element that only serves + # as the container for the source and we only care about its + # contents. The directories put here will have their + # *contents* copied over as opposed to sourceDirectories which + # would make a direct copy of the whole thing. + topSourceDirectories = [ "src" ]; + + buildTools = []; + + # Extra stuff to pass to the Agda binary. + extraBuildFlags = [ "-i ." ]; + buildFlags = let r = map (x: "-i " + x + "/share/agda") self.buildDepends; + d = map (x : "-i " + x) (self.sourceDirectories ++ self.topSourceDirectories); + in unwords (r ++ d ++ self.extraBuildFlags); + + # We expose this as a mere convenience for any tools. + AGDA_PACKAGE_PATH = concatMapStrings (x: x + ":") self.buildDepends; + + # Makes a wrapper available to the user. Very useful in + # nix-shell where all dependencies are -i'd. + agdaWrapper = writeScriptBin "agda" '' + ${Agda}/bin/agda ${self.buildFlags} "$@" + ''; + + # configurePhase is idempotent + configurePhase = '' + eval "$preConfigure" + export AGDA_PACKAGE_PATH=${self.AGDA_PACKAGE_PATH}; + export PATH="${self.agdaWrapper}/bin:$PATH" + eval "$postConfigure" + ''; + + buildPhase = '' + eval "$preBuild" + ${Agda}/bin/agda ${self.buildFlags} ${self.everythingFile} + eval "$postBuild" + ''; + + installPhase = '' + eval "$preInstall" + mkdir -p $out/share/agda + cp -pR ${unwords self.sourceDirectories} ${mapInside self.topSourceDirectories} $out/share/agda + eval "$postInstall" + ''; + }; + in stdenv.mkDerivation + (postprocess (let super = defaults self // args self; + self = super // extension self super; + in self)); +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cfc93a8cf45..9770b178e44 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6526,6 +6526,14 @@ let zziplib = callPackage ../development/libraries/zziplib { }; + ### DEVELOPMENT / LIBRARIES / AGDA + + agda = callPackage ../build-support/agda { + glibcLocales = if pkgs.stdenv.isLinux then pkgs.glibcLocales else null; + extension = self : super : {}; + Agda = haskellPackages.Agda; + inherit writeScriptBin; + }; ### DEVELOPMENT / LIBRARIES / JAVA From 61c17e326f9c0f6fd742889c1b8743df83b79c0f Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Mon, 1 Sep 2014 01:31:17 +0100 Subject: [PATCH 0516/2163] Use agda builder for stdlib. mv to all-packages --- pkgs/development/compilers/agda/stdlib.nix | 26 +++++++++------------- pkgs/top-level/all-packages.nix | 4 ++++ pkgs/top-level/haskell-packages.nix | 1 - 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix index d0ae1394f89..2857a7d3d71 100644 --- a/pkgs/development/compilers/agda/stdlib.nix +++ b/pkgs/development/compilers/agda/stdlib.nix @@ -1,7 +1,10 @@ -{ cabal, fetchurl, filemanip, Agda }: +{ stdenv, agda, fetchurl, ghcWithPackages }: -cabal.mkDerivation (self: rec { - pname = "Agda-stdlib"; +let + ghc = ghcWithPackages (s: [ s.filemanip ]); +in +agda.mkDerivation (self: rec { + name = "Agda-stdlib"; version = "0.8.1"; src = fetchurl { @@ -9,23 +12,16 @@ cabal.mkDerivation (self: rec { sha256 = "0ij4rg4lk0pq01ing285gbmnn23dcf2rhihdcs8bbdpjg52vl4gf"; }; - buildDepends = [ filemanip Agda ]; - - preConfigure = "cd ffi"; - - postInstall = '' - mkdir -p $out/share - cd .. - ${self.ghc.ghc}/bin/runhaskell GenerateEverything - ${Agda}/bin/agda -i . -i src Everything.agda - cp -pR src $out/share/agda + preConfigure = '' + ${ghc}/bin/runhaskell GenerateEverything.hs ''; + topSourceDirectories = [ "src" ]; + meta = { homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary"; description = "A standard library for use with the Agda compiler."; license = "unknown"; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.jwiegley ]; + maintainers = with stdenv.lib.maintaianers; [ jwiegley ]; }; }) \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9770b178e44..6a0fd08cca7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6535,6 +6535,10 @@ let inherit writeScriptBin; }; + AgdaStdlib = callPackage ../development/compilers/agda/stdlib.nix { + ghcWithPackages = haskellPackages.ghcWithPackages; + }; + ### DEVELOPMENT / LIBRARIES / JAVA atermjava = callPackage ../development/libraries/java/aterm { diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index b074a6ab48d..9afe4b715aa 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2888,7 +2888,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in # Compilers. Agda = callPackage ../development/compilers/agda {}; - AgdaStdlib = callPackage ../development/compilers/agda/stdlib.nix {}; uhc = callPackage ../development/compilers/uhc {}; From a20b4cbbbae652153764697252b4904edb7ec6e4 Mon Sep 17 00:00:00 2001 From: "Jason \"Don\" O'Conal" Date: Mon, 1 Sep 2014 13:55:46 +1000 Subject: [PATCH 0517/2163] openldap: fix build on darwin --- pkgs/development/libraries/openldap/default.nix | 7 ++++--- pkgs/top-level/all-packages.nix | 6 +++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix index cfbbce2f559..01a4e2e21da 100644 --- a/pkgs/development/libraries/openldap/default.nix +++ b/pkgs/development/libraries/openldap/default.nix @@ -18,9 +18,10 @@ stdenv.mkDerivation rec { dontPatchELF = 1; # !!! - meta = { - homepage = "http://www.openldap.org/"; + meta = with stdenv.lib; { + homepage = http://www.openldap.org/; description = "An open source implementation of the Lightweight Directory Access Protocol"; - maintainers = stdenv.lib.maintainers.mornfall; + maintainers = with maintainers; [ lovek323 mornfall ]; + platforms = platforms.unix; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1f9487ab4a..8baa450f805 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5899,7 +5899,11 @@ let openexr = callPackage ../development/libraries/openexr { }; - openldap = callPackage ../development/libraries/openldap { }; + openldap = callPackage ../development/libraries/openldap { + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; openlierox = callPackage ../games/openlierox { }; From 24b4105ed7747bf19f129a988206858c9c81a0cb Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 1 Sep 2014 08:56:37 +0400 Subject: [PATCH 0518/2163] Remove fpc 2.4.0: lazarus doesn't need it and it doesn't like .2.6.0 as bootstrap compiler --- pkgs/development/compilers/fpc/2.4.0.nix | 39 ------------------------ pkgs/top-level/all-packages.nix | 1 - 2 files changed, 40 deletions(-) delete mode 100644 pkgs/development/compilers/fpc/2.4.0.nix diff --git a/pkgs/development/compilers/fpc/2.4.0.nix b/pkgs/development/compilers/fpc/2.4.0.nix deleted file mode 100644 index 30081c9d805..00000000000 --- a/pkgs/development/compilers/fpc/2.4.0.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ stdenv, fetchurl, gawk }: - -let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in - -stdenv.mkDerivation rec { - version = "2.4.0"; - name = "fpc-${version}"; - - src = fetchurl { - url = "http://downloads.sourceforge.net/sourceforge/freepascal/fpcbuild-${version}.tar.gz"; - sha256 = "1m2g2bafjixbwl5b9lna5h7r56y1rcayfnbp8kyjfd1c1ymbxaxk"; - }; - - buildInputs = [ startFPC gawk ]; - - preConfigure = - if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then '' - sed -e "s@'/lib/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas - sed -e "s@'/lib64/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas - '' else ""; - - makeFlags = "NOGDB=1"; - - installFlags = "INSTALL_PREFIX=\${out}"; - - postInstall = '' - for i in $out/lib/fpc/*/ppc*; do - ln -fs $i $out/bin/$(basename $i) - done - mkdir -p $out/lib/fpc/etc/ - $out/lib/fpc/*/samplecfg $out/lib/fpc/${version} $out/lib/fpc/etc/ - ''; - - meta = { - description = "Free Pascal Compiler from a source distribution"; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cfc93a8cf45..e6809fc45c6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2690,7 +2690,6 @@ let adobe_flex_sdk = callPackage ../development/compilers/adobe-flex-sdk { }; fpc = callPackage ../development/compilers/fpc { }; - fpc_2_4_0 = callPackage ../development/compilers/fpc/2.4.0.nix { }; gambit = callPackage ../development/compilers/gambit { }; From a27e27c1f94c020e29ae72eca50de0d3ac7bbdc0 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 1 Sep 2014 09:07:54 +0400 Subject: [PATCH 0519/2163] Fix barcode src --- pkgs/tools/graphics/barcode/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/graphics/barcode/default.nix b/pkgs/tools/graphics/barcode/default.nix index 052dc8f9cb2..23a2e6dd78f 100644 --- a/pkgs/tools/graphics/barcode/default.nix +++ b/pkgs/tools/graphics/barcode/default.nix @@ -12,7 +12,7 @@ let version = "0.99"; baseName="barcode"; name="${baseName}-${version}"; - url="mirror://gnu/${baseName}/${name}.tar.gz"; + url="mirror://gnu/${baseName}/${name}.tar.xz"; }; in rec { From ef22c5390577127cb2e243898a8187916d509db8 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 1 Sep 2014 09:11:32 +0400 Subject: [PATCH 0520/2163] Update ACL2 --- pkgs/development/interpreters/acl2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix index 6d074ac9f27..568551bb5ba 100644 --- a/pkgs/development/interpreters/acl2/default.nix +++ b/pkgs/development/interpreters/acl2/default.nix @@ -2,7 +2,7 @@ a : let fetchurl = a.fetchurl; - version = a.lib.attrByPath ["version"] "v3-5" a; + version = a.lib.attrByPath ["version"] "v6-5" a; buildInputs = with a; [ sbcl ]; @@ -10,7 +10,7 @@ in rec { src = fetchurl { url = "http://www.cs.utexas.edu/users/moore/acl2/${version}/distrib/acl2.tar.gz"; - sha256 = "0zmh1njpp7n7azcyjlygr0h0k51d18s1jkj0dr1jn2bh7mpysajk"; + sha256 = "19kfclgpdyms016s06pjf3icj3mx9jlcj8vfgpbx2ac4ls0ir36g"; name = "acl2-${version}.tar.gz"; }; From 8f50d803ef9c94fb82909e22b603982a0a522aea Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Tue, 15 Apr 2014 14:46:35 +0000 Subject: [PATCH 0521/2163] nixos: add support for mkhomedir in PAM --- nixos/modules/security/pam.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index b1b75a0068d..2a1606e42f3 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -126,6 +126,16 @@ let description = "Whether to show the message of the day."; }; + makeHomeDir = mkOption { + default = false; + type = types.bool; + description = '' + Whether to try to create home directories for users + with $HOMEs pointing to nonexistent + locations on session login. + ''; + }; + updateWtmp = mkOption { default = false; type = types.bool; @@ -192,6 +202,8 @@ let "session ${ if config.boot.isContainer then "optional" else "required" } pam_loginuid.so"} + ${optionalString cfg.makeHomeDir + "session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=/etc/skel umask=0022"} ${optionalString cfg.updateWtmp "session required ${pkgs.pam}/lib/security/pam_lastlog.so silent"} ${optionalString config.users.ldap.enable From 99243a5c514c888e09bbc13214a6ba23ea03d392 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 12 Jun 2014 05:36:16 +0000 Subject: [PATCH 0522/2163] nixos: add atftpd service --- nixos/modules/module-list.nix | 1 + nixos/modules/services/networking/atftpd.nix | 51 ++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 nixos/modules/services/networking/atftpd.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 297ca0d1be4..f7ab4a474b8 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -192,6 +192,7 @@ ./services/network-filesystems/rsyncd.nix ./services/network-filesystems/samba.nix ./services/networking/amuled.nix + ./services/networking/atftpd.nix ./services/networking/avahi-daemon.nix ./services/networking/bind.nix ./services/networking/bitlbee.nix diff --git a/nixos/modules/services/networking/atftpd.nix b/nixos/modules/services/networking/atftpd.nix new file mode 100644 index 00000000000..ab9f8650f0f --- /dev/null +++ b/nixos/modules/services/networking/atftpd.nix @@ -0,0 +1,51 @@ +# NixOS module for atftpd TFTP server + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.atftpd; + +in + +{ + + options = { + + services.atftpd = { + + enable = mkOption { + default = false; + type = types.uniq types.bool; + description = '' + Whenever to enable the atftpd TFTP server. + ''; + }; + + root = mkOption { + default = "/var/empty"; + type = types.uniq types.string; + description = '' + Document root directory for the atftpd. + ''; + }; + + }; + + }; + + config = mkIf cfg.enable { + + systemd.services.atftpd = { + description = "atftpd TFTP server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + # runs as nobody + serviceConfig.ExecStart = "${pkgs.atftp}/sbin/atftpd --daemon --no-fork --bind-address 0.0.0.0 ${cfg.root}"; + }; + + }; + +} From 8c9b6d932a7b8ce5feca240abbe8b2232c699b05 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 12 Jun 2014 23:34:40 +0000 Subject: [PATCH 0523/2163] nixos: add dhcpcd.persistent option --- nixos/modules/services/networking/dhcpcd.nix | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 89aa9bdb6b6..09c271bfbfb 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -64,7 +64,7 @@ let # ${config.systemd.package}/bin/systemctl start ip-down.target #fi - ${config.networking.dhcpcd.runHook} + ${cfg.runHook} ''; in @@ -75,6 +75,18 @@ in options = { + networking.dhcpcd.persistent = mkOption { + type = types.bool; + default = false; + description = '' + Whenever to leave interfaces configured on dhcpcd daemon + shutdown. Set to true if you have your root or store mounted + over the network or this machine accepts SSH connections + through DHCP interfaces and clients should be notified when + it shuts down. + ''; + }; + networking.dhcpcd.denyInterfaces = mkOption { type = types.listOf types.str; default = []; @@ -139,7 +151,7 @@ in serviceConfig = { Type = "forking"; PIDFile = "/run/dhcpcd.pid"; - ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet --config ${dhcpcdConf}"; + ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet ${optionalString cfg.persistent "--persistent"} --config ${dhcpcdConf}"; ExecReload = "${dhcpcd}/sbin/dhcpcd --rebind"; Restart = "always"; }; From 26a4001a98322ab903b8186b97f33c5b282828a5 Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Thu, 12 Jun 2014 23:45:42 +0000 Subject: [PATCH 0524/2163] nixos: add setuid wrappers for some networked filesystems' helpers So that `user` mount option would work allowing normal users to mount and umount stuff marked with it in `fileSystems..options`. --- nixos/modules/security/setuid-wrappers.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/security/setuid-wrappers.nix b/nixos/modules/security/setuid-wrappers.nix index 373afffd3fb..22dbdf6a6bf 100644 --- a/nixos/modules/security/setuid-wrappers.nix +++ b/nixos/modules/security/setuid-wrappers.nix @@ -77,7 +77,9 @@ in config = { security.setuidPrograms = - [ "fusermount" "wodim" "cdrdao" "growisofs" ]; + [ "mount.nfs" "mount.nfs4" "mount.cifs" + "fusermount" "umount" + "wodim" "cdrdao" "growisofs" ]; system.activationScripts.setuid = let From a49caa77e7e5e861e5b8d0b614157fe9c42ac7e2 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 1 Sep 2014 10:53:00 +0400 Subject: [PATCH 0525/2163] Add IDs for uhub service --- nixos/modules/misc/ids.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 513da5d50a1..efd8b253cd4 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -149,6 +149,7 @@ radvd = 139; zookeeper = 140; dnsmasq = 141; + uhub = 142; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -268,6 +269,7 @@ mlmmj = 135; riemann = 137; riemanndash = 138; + uhub = 142; # When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399! From 9aa9345a5a5fda36ed0ce4dd1081494ea2391b3a Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 18 Jul 2014 13:02:53 -0400 Subject: [PATCH 0526/2163] uhub: initial package for version 0.4.1 --- pkgs/servers/uhub/default.nix | 43 ++++++++ pkgs/servers/uhub/plugin-dir.patch | 23 ++++ pkgs/servers/uhub/systemd.patch | 164 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 232 insertions(+) create mode 100644 pkgs/servers/uhub/default.nix create mode 100644 pkgs/servers/uhub/plugin-dir.patch create mode 100644 pkgs/servers/uhub/systemd.patch diff --git a/pkgs/servers/uhub/default.nix b/pkgs/servers/uhub/default.nix new file mode 100644 index 00000000000..a6e0d474d89 --- /dev/null +++ b/pkgs/servers/uhub/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, cmake, openssl, sqlite, pkgconfig, systemd +, tlsSupport ? false }: + +assert tlsSupport -> openssl != null; + +let version = "0.4.1"; in +stdenv.mkDerivation { + name = "uhub-${version}"; + + src = fetchurl { + url = "http://www.extatic.org/downloads/uhub/uhub-${version}-src.tar.bz2"; + sha256 = "1q0n74fb0h5w0k9fhfkznxb4r46qyfb8g2ss3wflivx4l0m1f9x2"; + }; + + buildInputs = [ cmake sqlite pkgconfig systemd ] ++ stdenv.lib.optional tlsSupport openssl; + + outputs = [ "out" + "mod_example" + "mod_welcome" + "mod_logging" + "mod_auth_simple" + "mod_auth_sqlite" + "mod_chat_history" + "mod_chat_only" + "mod_topic" + "mod_no_guest_downloads" + ]; + + patches = [ ./plugin-dir.patch ./systemd.patch ]; + + cmakeFlags = '' + -DSYSTEMD_SUPPORT=ON + ${if tlsSupport then "-DSSL_SUPPORT=ON" else "-DSSL_SUPPORT=OFF"} + ''; + + meta = with stdenv.lib; { + description = "High performance peer-to-peer hub for the ADC network"; + homepage = https://www.uhub.org/; + license = licenses.gpl3; + maintainers = [ maintainers.emery ]; + platforms = platforms.unix; + }; +} \ No newline at end of file diff --git a/pkgs/servers/uhub/plugin-dir.patch b/pkgs/servers/uhub/plugin-dir.patch new file mode 100644 index 00000000000..95ebfd6706f --- /dev/null +++ b/pkgs/servers/uhub/plugin-dir.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 40e996e..d3b7e6d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -185,10 +185,16 @@ else() + # add_definitions(-DDEBUG) + endif() + ++set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads ) ++ + if (UNIX) + install( TARGETS uhub RUNTIME DESTINATION bin ) +- install( TARGETS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads DESTINATION /usr/lib/uhub/ OPTIONAL ) +- install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION /etc/uhub OPTIONAL ) ++ ++ foreach( PLUGIN ${PLUGINS} ) ++ install( TARGETS ${PLUGIN} DESTINATION $ENV{${PLUGIN}} OPTIONAL ) ++ endforeach( PLUGIN ) ++ ++ install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION doc/ OPTIONAL ) + + if (SQLITE_SUPPORT) + install( TARGETS uhub-passwd RUNTIME DESTINATION bin ) diff --git a/pkgs/servers/uhub/systemd.patch b/pkgs/servers/uhub/systemd.patch new file mode 100644 index 00000000000..05e7571d18d --- /dev/null +++ b/pkgs/servers/uhub/systemd.patch @@ -0,0 +1,164 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 40e996e..fc4fb01 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,6 +19,7 @@ option(LINK_SUPPORT "Allow hub linking" OFF) + option(SSL_SUPPORT "Enable SSL support" ON) + option(USE_OPENSSL "Use OpenSSL's SSL support" ON ) + option(SQLITE_SUPPORT "Enable SQLite support" ON) ++option(SYSTEMD_SUPPORT "Enable systemd notify and journal logging" OFF) + option(ADC_STRESS "Enable the stress tester client" OFF) + + find_package(Git) +@@ -34,6 +35,12 @@ if (SSL_SUPPORT) + endif() + endif() + ++if (SYSTEMD_SUPPORT) ++ INCLUDE(FindPkgConfig) ++ pkg_search_module(SD_DAEMON REQUIRED libsystemd-daemon) ++ pkg_search_module(SD_JOURNAL REQUIRED libsystemd-journal) ++endif() ++ + if (MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + endif() +@@ -175,6 +182,18 @@ if(SSL_SUPPORT) + endif() + endif() + ++if (SYSTEMD_SUPPORT) ++ target_link_libraries(uhub ${SD_DAEMON_LIBRARIES}) ++ target_link_libraries(uhub ${SD_JOURNAL_LIBRARIES}) ++ target_link_libraries(test ${SD_DAEMON_LIBRARIES}) ++ target_link_libraries(test ${SD_JOURNAL_LIBRARIES}) ++ target_link_libraries(uhub-passwd ${SD_JOURNAL_LIBRARIES}) ++ target_link_libraries(uhub-admin ${SD_JOURNAL_LIBRARIES}) ++ include_directories(${SD_DAEMON_INCLUDE_DIRS}) ++ include_directories(${SD_JOURNAL_INCLUDE_DIRS}) ++ add_definitions(-DSYSTEMD) ++endif() ++ + configure_file ("${PROJECT_SOURCE_DIR}/version.h.in" "${PROJECT_SOURCE_DIR}/version.h") + + mark_as_advanced(FORCE CMAKE_BUILD_TYPE) +diff --git a/src/core/main.c b/src/core/main.c +index bb78672..ac2d2a8 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -19,6 +19,10 @@ + + #include "uhub.h" + ++#ifdef SYSTEMD ++#include ++#endif ++ + static int arg_verbose = 5; + static int arg_fork = 0; + static int arg_check_config = 0; +@@ -145,7 +149,16 @@ int main_loop() + } + #if !defined(WIN32) + setup_signal_handlers(hub); +-#endif ++#ifdef SYSTEMD ++ /* Notify the service manager that this daemon has ++ * been successfully initalized and shall enter the ++ * main loop. ++ */ ++ sd_notifyf(0, "READY=1\n" ++ "MAINPID=%lu", (unsigned long) getpid()); ++#endif /* SYSTEMD */ ++ ++#endif /* ! WIN32 */ + } + + hub_set_variables(hub, &acl); +@@ -216,13 +229,17 @@ void print_usage(char* program) + " -q Quiet mode - no output\n" + " -f Fork to background\n" + " -l Log messages to given file (default: stderr)\n" +- " -L Log messages to syslog\n" + " -c Specify configuration file (default: " SERVER_CONFIG ")\n" + " -C Check configuration and return\n" + " -s Show configuration parameters\n" + " -S Show configuration parameters, but ignore defaults\n" + " -h This message\n" + #ifndef WIN32 ++#ifdef SYSTEMD ++ " -L Log messages to journal\n" ++#else ++ " -L Log messages to syslog\n" ++#endif + " -u Run as given user\n" + " -g Run with given group permissions\n" + " -p Store pid in file (process id)\n" +diff --git a/src/util/log.c b/src/util/log.c +index 42badb3..2d97528 100644 +--- a/src/util/log.c ++++ b/src/util/log.c +@@ -21,7 +21,15 @@ + #include + + #ifndef WIN32 ++ ++#ifdef SYSTEMD ++#define SD_JOURNAL_SUPPRESS_LOCATION ++#include ++ ++#else + #include ++#endif ++ + static int use_syslog = 0; + #endif + +@@ -83,7 +91,9 @@ void hub_log_initialize(const char* file, int syslog) + if (syslog) + { + use_syslog = 1; ++ #ifndef SYSTEMD + openlog("uhub", LOG_PID, LOG_USER); ++ #endif + } + #endif + +@@ -132,7 +142,9 @@ void hub_log_shutdown() + if (use_syslog) + { + use_syslog = 0; ++ #ifndef SYSTEMD + closelog(); ++ #endif + } + #endif + } +@@ -212,7 +224,12 @@ void hub_log(int log_verbosity, const char *format, ...) + case log_fatal: level = LOG_CRIT; break; + case log_error: level = LOG_ERR; break; + case log_warning: level = LOG_WARNING; break; +- case log_user: level = LOG_INFO | LOG_AUTH; break; ++ #ifdef SYSTEMD ++ case log_user: level = LOG_INFO; break; ++ ++ #else ++ case log_user: level = LOG_INFO | LOG_AUTH; break; ++ #endif + case log_info: level = LOG_INFO; break; + case log_debug: level = LOG_DEBUG; break; + +@@ -224,8 +241,13 @@ void hub_log(int log_verbosity, const char *format, ...) + if (level == 0) + return; + ++ #ifdef SYSTEMD ++ sd_journal_print(level, "%s", logmsg); ++ ++ #else + level |= (LOG_USER | LOG_DAEMON); + syslog(level, "%s", logmsg); ++ #endif + } + #endif + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e6809fc45c6..965a7c45f87 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2407,6 +2407,8 @@ let inherit (pkgs.kde4) kdelibs; }; + uhub = callPackage ../servers/uhub { }; + unclutter = callPackage ../tools/misc/unclutter { }; unbound = callPackage ../tools/networking/unbound { }; From f5b4eacad609b43f5fcb4a88f0057ae8621d6c49 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 18 Jul 2014 13:27:55 -0400 Subject: [PATCH 0527/2163] uhub: initial service expression --- nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/uhub.nix | 186 +++++++++++++++++++++++++++ 2 files changed, 187 insertions(+) create mode 100644 nixos/modules/services/misc/uhub.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index f7ab4a474b8..a2862a6d609 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -170,6 +170,7 @@ ./services/misc/siproxd.nix ./services/misc/svnserve.nix ./services/misc/synergy.nix + ./services/misc/uhub.nix ./services/misc/zookeeper.nix ./services/monitoring/apcupsd.nix ./services/monitoring/dd-agent.nix diff --git a/nixos/modules/services/misc/uhub.nix b/nixos/modules/services/misc/uhub.nix new file mode 100644 index 00000000000..15071202b9c --- /dev/null +++ b/nixos/modules/services/misc/uhub.nix @@ -0,0 +1,186 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.uhub; + + uhubPkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; }; + + pluginConfig = "" + + optionalString cfg.plugins.authSqlite.enable '' + plugin ${uhubPkg.mod_auth_sqlite}/mod_auth_sqlite.so "file=${cfg.plugins.authSqlite.file}" + '' + + optionalString cfg.plugins.logging.enable '' + plugin ${uhubPkg.mod_logging}/mod_logging.so ${if cfg.plugins.logging.syslog then "syslog=true" else "file=${cfg.plugins.logging.file}"} + '' + + optionalString cfg.plugins.welcome.enable '' + plugin ${uhubPkg.mod_welcome}/mod_welcome.so "motd=${pkgs.writeText "motd.txt" cfg.plugins.welcome.motd} rules=${pkgs.writeText "rules.txt" cfg.plugins.welcome.rules}" + '' + + optionalString cfg.plugins.history.enable '' + plugin ${uhubPkg.mod_chat_history}/mod_chat_history.so "history_max=${toString cfg.plugins.history.max} history_default=${toString cfg.plugins.history.default} history_connect=${toString cfg.plugins.history.connect}" + ''; + + uhubConfigFile = pkgs.writeText "uhub.conf" '' + file_acl=${pkgs.writeText "users.conf" cfg.aclConfig} + file_plugins=${pkgs.writeText "plugins.conf" pluginConfig} + server_bind_addr=${cfg.address} + server_port=${toString cfg.port} + ${lib.optionalString cfg.enableTLS "tls_enable=yes"} + ${cfg.hubConfig} + ''; + +in + +{ + options = { + + services.uhub = { + + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the uhub ADC hub."; + }; + + port = mkOption { + type = types.int; + default = 1511; + description = "TCP port to bind the hub to."; + }; + + address = mkOption { + type = types.string; + default = "any"; + description = "Address to bind the hub to."; + }; + + enableTLS = mkOption { + type = types.bool; + default = false; + description = "Whether to enable TLS support."; + }; + + hubConfig = mkOption { + type = types.lines; + default = ""; + description = "Contents of uhub configuration file."; + }; + + aclConfig = mkOption { + type = types.lines; + default = ""; + description = "Contents of user ACL configuration file."; + }; + + plugins = { + + authSqlite = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the Sqlite authentication database plugin"; + }; + file = mkOption { + type = types.string; + example = "/var/db/uhub-users"; + description = "Path to user database. Use the uhub-passwd utility to create the database and add/remove users."; + }; + }; + + logging = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the logging plugin."; + }; + file = mkOption { + type = types.string; + default = ""; + description = "Path of log file."; + }; + syslog = mkOption { + type = types.bool; + default = false; + description = "If true then the system log is used instead of writing to file."; + }; + }; + + welcome = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the welcome plugin."; + }; + motd = mkOption { + default = ""; + type = types.lines; + description = '' + Welcome message displayed to clients after connecting + and with the !motd command. + ''; + }; + rules = mkOption { + default = ""; + type = types.lines; + description = '' + Rules message, displayed to clients with the !rules command. + ''; + }; + }; + + history = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the history plugin."; + }; + max = mkOption { + type = types.int; + default = 200; + description = "The maximum number of messages to keep in history"; + }; + default = mkOption { + type = types.int; + default = 10; + description = "When !history is provided without arguments, then this default number of messages are returned."; + }; + connect = mkOption { + type = types.int; + default = 5; + description = "The number of chat history messages to send when users connect (0 = do not send any history)."; + }; + }; + + }; + }; + + }; + + config = mkIf cfg.enable { + + users = { + extraUsers = singleton { + name = "uhub"; + uid = config.ids.uids.uhub; + }; + extraGroups = singleton { + name = "uhub"; + gid = config.ids.gids.uhub; + }; + }; + + systemd.services.uhub = { + description = "high performance peer-to-peer hub for the ADC network"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "notify"; + ExecStart = "${uhubPkg}/bin/uhub -c ${uhubConfigFile} -u uhub -g uhub -L"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + }; + }; + +} \ No newline at end of file From 28fd7ea19019685b1330dac5118ab412ff25bdc2 Mon Sep 17 00:00:00 2001 From: Longrin Wischnewski Date: Mon, 1 Sep 2014 09:41:19 +0200 Subject: [PATCH 0528/2163] clamav: run freshclam in daemon mode --- nixos/modules/services/security/clamav.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix index 057891a6047..a4d54301fc1 100644 --- a/nixos/modules/services/security/clamav.nix +++ b/nixos/modules/services/security/clamav.nix @@ -71,10 +71,10 @@ in mkdir -m 0755 -p ${stateDir} chown ${clamavUser}:${clamavGroup} ${stateDir} ''; - exec = "${pkgs.clamav}/bin/freshclam --config-file=${pkgs.writeText "freshclam.conf" cfg.updater.config}"; + exec = "${pkgs.clamav}/bin/freshclam --daemon --config-file=${pkgs.writeText "freshclam.conf" cfg.updater.config}"; }; }; }; -} \ No newline at end of file +} From 38f2c19324436878ee69f913881df83704df438b Mon Sep 17 00:00:00 2001 From: Longrin Wischnewski Date: Mon, 1 Sep 2014 09:44:00 +0200 Subject: [PATCH 0529/2163] clamav: update to version 0.98.4 --- pkgs/tools/security/clamav/default.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix index fc43f01b344..f5c4a4e9b4e 100644 --- a/pkgs/tools/security/clamav/default.nix +++ b/pkgs/tools/security/clamav/default.nix @@ -1,19 +1,23 @@ -{ stdenv, fetchurl, zlib, bzip2, libiconv }: +{ stdenv, fetchurl, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl }: stdenv.mkDerivation rec { name = "clamav-${version}"; - version = "0.98.1"; + version = "0.98.4"; src = fetchurl { url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz"; - sha256 = "1p13n8g3b88cxwxj07if9z1d2cav1ib94v6cq4r4bpacfd6yix9m"; + sha256 = "071yzamalj3rf7kl2jvc35ipnk1imdkq5ylbb8whyxfgmd3nf06k"; }; - buildInputs = [ zlib bzip2 libiconv ]; + buildInputs = [ zlib bzip2 libiconv libxml2 openssl ncurses curl ]; configureFlags = [ "--with-zlib=${zlib}" "--with-libbz2-prefix=${bzip2}" "--with-iconv-dir=${libiconv}" + "--with-xml=${libxml2}" + "--with-openssl=${openssl}" + "--with-libncurses-prefix=${ncurses}" + "--with-libcurl=${curl}" "--disable-clamav" ]; meta = with stdenv.lib; { From bc7f1b058ab54889ea162153c150f1661cf63cf3 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Mon, 1 Sep 2014 00:47:42 -0700 Subject: [PATCH 0530/2163] spice-protocol: 0.12.6 -> 0.12.7 --- .../libraries/spice-protocol/default.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix index 162a832c93a..79fe47ff476 100644 --- a/pkgs/development/libraries/spice-protocol/default.nix +++ b/pkgs/development/libraries/spice-protocol/default.nix @@ -1,19 +1,18 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "spice-protocol-0.12.6"; + name = "spice-protocol-0.12.7"; src = fetchurl { url = "http://www.spice-space.org/download/releases/${name}.tar.bz2"; - sha256 = "16r5x2sppiaa6pzawkrvk5q4hmw7ynmlp2xr38f1vaxj5rh4aiwx"; + sha256 = "1hhn94bw2l76h09sy05a15bs6zalsijnylyqpwcys5hq6rrwpiln"; }; - meta = { + meta = with stdenv.lib; { description = "Protocol headers for the SPICE protocol"; homepage = http://www.spice-space.org; - license = stdenv.lib.licenses.bsd3; - - maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.bsd3; + maintainers = with maintainers; [ bluescreen303 ]; + platforms = platforms.linux; }; } From b0d13c5400c31e12737d387e54bd4414e19267b4 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Mon, 1 Sep 2014 00:53:30 -0700 Subject: [PATCH 0531/2163] spice: 0.12.4 -> 0.12.5 --- pkgs/development/libraries/spice/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix index 2af9565e0b4..2353eec7348 100644 --- a/pkgs/development/libraries/spice/default.nix +++ b/pkgs/development/libraries/spice/default.nix @@ -5,11 +5,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "spice-0.12.4"; + name = "spice-0.12.5"; src = fetchurl { url = "http://www.spice-space.org/download/releases/${name}.tar.bz2"; - sha256 = "11xkdz26b39syynxm3iyjsr8q7x0v09zdli9an1ilcrfyiykw1ng"; + sha256 = "10gmqaanfg929aamf11n4si4r3d1g7z9qjdclsl9kjv7iw6s42a2"; }; buildInputs = [ pixman celt alsaLib openssl libjpeg zlib From 3a663f679f0ecad309abe2b78720ec02d3c6a2b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Mon, 1 Sep 2014 11:34:19 +0200 Subject: [PATCH 0532/2163] duplicity: update to 0.6.24. --- pkgs/tools/backup/duplicity/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index 45d6cb83739..0f8c46e2dc3 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -1,14 +1,15 @@ -{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper, lockfile }: +{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper +, lockfile, setuptools }: let - version = "0.6.23"; + version = "0.6.24"; in stdenv.mkDerivation { name = "duplicity-${version}"; src = fetchurl { url = "http://code.launchpad.net/duplicity/0.6-series/${version}/+download/duplicity-${version}.tar.gz"; - sha256 = "0q0ckkmyq9z7xfbb1jajflmbzjwxpcjkkiab43rxrplm0ghz25vs"; + sha256 = "0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x"; }; installPhase = '' @@ -20,7 +21,7 @@ stdenv.mkDerivation { --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \ ''; - buildInputs = [ python librsync makeWrapper ]; + buildInputs = [ python librsync makeWrapper setuptools ]; meta = { description = "Encrypted bandwidth-efficient backup using the rsync algorithm"; From b2887c0b5ea3943a8dd5d99ddba6123428c8bfde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 1 Sep 2014 11:33:48 +0200 Subject: [PATCH 0533/2163] readline5: recover, as it was still used Partial revert of 30fef8a3cffbc1. I probably confused that with unused readline62. --- pkgs/development/libraries/readline/readline5.nix | 15 +++++++++++++++ .../libraries/readline/shobj-darwin.patch | 11 +++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 28 insertions(+) create mode 100644 pkgs/development/libraries/readline/readline5.nix create mode 100644 pkgs/development/libraries/readline/shobj-darwin.patch diff --git a/pkgs/development/libraries/readline/readline5.nix b/pkgs/development/libraries/readline/readline5.nix new file mode 100644 index 00000000000..ad9860d855e --- /dev/null +++ b/pkgs/development/libraries/readline/readline5.nix @@ -0,0 +1,15 @@ +{ stdenv, fetchurl, ncurses }: + +stdenv.mkDerivation { + name = "readline-5.2"; + + src = fetchurl { + url = mirror://gnu/readline/readline-5.2.tar.gz; + sha256 = "0icz4hqqq8mlkwrpczyaha94kns0am9z0mh3a2913kg2msb8vs0j"; + }; + + propagatedBuildInputs = [ncurses]; + + patches = stdenv.lib.optional stdenv.isDarwin ./shobj-darwin.patch; +} + diff --git a/pkgs/development/libraries/readline/shobj-darwin.patch b/pkgs/development/libraries/readline/shobj-darwin.patch new file mode 100644 index 00000000000..a9199ca3e89 --- /dev/null +++ b/pkgs/development/libraries/readline/shobj-darwin.patch @@ -0,0 +1,11 @@ +--- a/support/shobj-conf.orig 2006-04-11 06:15:43.000000000 -0700 ++++ b/support/shobj-conf 2007-11-08 01:15:43.000000000 -0800 +@@ -171,7 +171,7 @@ + SHLIB_LIBSUFF='dylib' + + case "${host_os}" in +- darwin[78]*) SHOBJ_LDFLAGS='' ++ darwin[789]*) SHOBJ_LDFLAGS='' + SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + ;; + *) SHOBJ_LDFLAGS='-dynamic' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 48a4f8b1ba9..7d89e4b4292 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6104,6 +6104,8 @@ let readline = readline6; readline6 = readline63; + readline5 = callPackage ../development/libraries/readline/readline5.nix { }; + readline62 = callPackage ../development/libraries/readline/readline6.nix { }; readline63 = callPackage ../development/libraries/readline/readline6.3.nix { }; From 624e98e78e011014ba204ed414314836f15a1415 Mon Sep 17 00:00:00 2001 From: vbgl Date: Mon, 1 Sep 2014 11:59:16 +0200 Subject: [PATCH 0534/2163] ocaml-javalib, ocaml-sawja: removes wrong path to bash in configure scripts --- pkgs/development/ocaml-modules/javalib/configure.sh.patch | 6 ++++++ pkgs/development/ocaml-modules/sawja/configure.sh.patch | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/pkgs/development/ocaml-modules/javalib/configure.sh.patch b/pkgs/development/ocaml-modules/javalib/configure.sh.patch index 67e019b277a..77a2a5ba4ae 100644 --- a/pkgs/development/ocaml-modules/javalib/configure.sh.patch +++ b/pkgs/development/ocaml-modules/javalib/configure.sh.patch @@ -1,5 +1,11 @@ --- javalib-2.3-orig/configure.sh 2013-10-30 08:35:30.000000000 +0100 +++ javalib-2.3/configure.sh 2014-07-06 17:28:39.025066199 +0200 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + ### + ### A configuration script for Javalib @@ -44,7 +44,7 @@ DESTDIR= # The ocamlpath variable for the compiler to locate the locally-installed diff --git a/pkgs/development/ocaml-modules/sawja/configure.sh.patch b/pkgs/development/ocaml-modules/sawja/configure.sh.patch index 8165de242f5..e01df32bbde 100644 --- a/pkgs/development/ocaml-modules/sawja/configure.sh.patch +++ b/pkgs/development/ocaml-modules/sawja/configure.sh.patch @@ -1,5 +1,11 @@ --- sawja-1.5-orig/configure.sh 2013-10-30 08:35:29.000000000 +0100 +++ sawja-1.5/configure.sh 2014-07-05 18:50:26.833798254 +0200 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + ### + ### A configuration script for Sawja @@ -39,7 +39,7 @@ DESTDIR= # The ocamlpath variable for the compiler to locate the locally-installed From ba0c5e7b9eb20325a086ae594a4622fac807b690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Mon, 1 Sep 2014 12:59:34 +0200 Subject: [PATCH 0535/2163] Updating homebank to 4.6.3. --- pkgs/applications/office/homebank/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix index 007e093378d..0fbd2e39812 100644 --- a/pkgs/applications/office/homebank/default.nix +++ b/pkgs/applications/office/homebank/default.nix @@ -2,7 +2,7 @@ let download_root = "http://homebank.free.fr/public/"; - name = "homebank-4.5.5"; + name = "homebank-4.6.3"; lastrelease = download_root + name + ".tar.gz"; oldrelease = download_root + "old/" + name + ".tar.gz"; in @@ -12,7 +12,7 @@ stdenv.mkDerivation { src = fetchurl { urls = [ lastrelease oldrelease ]; - sha256 = "05k4497qsb6fzr662h9yxz1amsavd287wh0sabrpr9jdbh3jcfkg"; + sha256 = "0j39788xz9m7ic277phffznbl35c1dm1g7dgq83va9nni6vipqzn"; }; buildInputs = [ pkgconfig gtk libofx intltool ]; From 3e834e17839a0e0c79050ad6cb4269d636077674 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Mon, 1 Sep 2014 04:39:45 -0700 Subject: [PATCH 0536/2163] nixos/tests: Fix usage of head function without pkgs.lib --- nixos/tests/bittorrent.nix | 6 +++--- nixos/tests/nat.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 7eb9c215ee1..b12a861f723 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -16,7 +16,7 @@ let miniupnpdConf = nodes: pkgs.writeText "miniupnpd.conf" '' ext_ifname=eth1 - listening_ip=${(head nodes.router.config.networking.interfaces.eth2.ip4).address}/24 + listening_ip=${(pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address}/24 allow 1024-65535 192.168.2.0/24 1024-65535 ''; @@ -53,7 +53,7 @@ in { environment.systemPackages = [ pkgs.transmission ]; virtualisation.vlans = [ 2 ]; networking.defaultGateway = - (head nodes.router.config.networking.interfaces.eth2.ip4).address; + (pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address; networking.firewall.enable = false; }; @@ -81,7 +81,7 @@ in # Create the torrent. $tracker->succeed("mkdir /tmp/data"); $tracker->succeed("cp ${file} /tmp/data/test.tar.bz2"); - $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${(head nodes.tracker.config.networking.interfaces.eth1.ip4).address}:6969/announce -o /tmp/test.torrent"); + $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${(pkgs.lib.head nodes.tracker.config.networking.interfaces.eth1.ip4).address}:6969/announce -o /tmp/test.torrent"); $tracker->succeed("chmod 644 /tmp/test.torrent"); # Start the tracker. !!! use a less crappy tracker diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index 5a57cce6b67..87ed974edad 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -13,7 +13,7 @@ import ./make-test.nix { { virtualisation.vlans = [ 1 ]; networking.firewall.allowPing = true; networking.defaultGateway = - (head nodes.router.config.networking.interfaces.eth2.ip4).address; + (pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address; }; router = From cfed33ce2b8678fe7683992b3d56093b0eff85c7 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Sat, 30 Aug 2014 19:31:42 +0200 Subject: [PATCH 0537/2163] flashplayer: Update from 11.2.202.394 -> 11.2.202.400 --- .../browsers/mozilla-plugins/flashplayer-11/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 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 d39dfe3582e..55521a13f9c 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix @@ -36,7 +36,7 @@ let # -> http://get.adobe.com/flashplayer/ - version = "11.2.202.394"; + version = "11.2.202.400"; src = if stdenv.system == "x86_64-linux" then @@ -47,7 +47,7 @@ let else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; - sha256 = "1w82kmda91xdsrqpkrbcbrzswnbfszy0x9hvf9wf2h14isimdknx"; + sha256 = "043bzjcqxjkjk68kba5nk77m59k6g71h32bypjpnwaigdgbhafyl"; } else if stdenv.system == "i686-linux" then if debug then { @@ -58,7 +58,7 @@ let } else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; - sha256 = "0c8wp4qn6k224krihxb08g7727wlklk9bl4h7nqp3cpp85x9hg97"; + sha256 = "1xvfzm926rj0l2mq2kybrvykrv7bjfl3m7p5mvhj1586a3x1gb6h"; } else throw "Flash Player is not supported on this platform"; From f9e63ca20dfeeaf95837b22f7baa1ca8904338af Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Sun, 31 Aug 2014 14:46:24 +0200 Subject: [PATCH 0538/2163] inotify-tools: Fix hash The hash wasn't updated when the version was bumped. --- pkgs/development/tools/misc/inotify-tools/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/inotify-tools/default.nix b/pkgs/development/tools/misc/inotify-tools/default.nix index 3402c2060e7..4c1cd5bd7bd 100644 --- a/pkgs/development/tools/misc/inotify-tools/default.nix +++ b/pkgs/development/tools/misc/inotify-tools/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-${version}.tar.gz"; - sha256 = "0icl4bx041axd5dvhg89kilfkysjj86hjakc7bk8n49cxjn4cha6"; + sha256 = "0by9frv1k59f76cx08sn06sk6lmdxsfb6zr0rshzhyrxi6lcqar2"; }; meta = with stdenv.lib; { From 3fbb9f05026900ec2d760574f15de16ba3ac536e Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 1 Sep 2014 14:51:50 +0200 Subject: [PATCH 0539/2163] Add new openntpd package in version 20080406p-10. It's actually a fork from Debian who are providing cross-platform compatibility fixes for it. A big advantage is that it is far more minimal than the ntpd reference implementation and especially useful if you don't want to run an NTP service. Signed-off-by: aszlig --- pkgs/tools/networking/openntpd/default.nix | 32 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/tools/networking/openntpd/default.nix diff --git a/pkgs/tools/networking/openntpd/default.nix b/pkgs/tools/networking/openntpd/default.nix new file mode 100644 index 00000000000..c90582a7547 --- /dev/null +++ b/pkgs/tools/networking/openntpd/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchgit, openssl +, privsepPath ? "/var/empty" +, privsepUser ? "ntp" +}: + +stdenv.mkDerivation rec { + name = "openntpd-${version}"; + version = "20080406p-10"; + + src = fetchgit { + url = "git://git.debian.org/collab-maint/openntpd.git"; + rev = "refs/tags/debian/${version}"; + sha256 = "0gd6j4sw4x4adlz0jzbp6lblx5vlnk6l1034hzbj2xd95k8hjhh8"; + }; + + postPatch = '' + sed -i -e '/^install:/,/^$/{/@if.*PRIVSEP_PATH/,/^$/d}' Makefile.in + ''; + + configureFlags = [ + "--with-privsep-path=${privsepPath}" + "--with-privsep-user=${privsepUser}" + ]; + + buildInputs = [ openssl ]; + + meta = { + homepage = "http://www.openntpd.org/"; + license = stdenv.lib.licenses.bsd3; + description = "OpenBSD NTP daemon (Debian port)"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 965a7c45f87..b58114113bb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1752,6 +1752,8 @@ let openjade = callPackage ../tools/text/sgml/openjade { }; + openntpd = callPackage ../tools/networking/openntpd { }; + openobex = callPackage ../tools/bluetooth/openobex { }; openopc = callPackage ../tools/misc/openopc { From 29f46422844b8f18f4905fc3f730abe0b5b494da Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 1 Sep 2014 15:14:00 +0200 Subject: [PATCH 0540/2163] nixos: Add new service for OpenNTPd. This conflicts with the existing reference NTP daemon, so we're using services.ntp.enable = mkForce false here to make sure both services aren't enabled in par. I was already trying to merge the module with services.ntp, but it would have been quite a mess with a bunch of conditions on the package name. They both have a bit in common if it comes to the configuration files, but differ in handling of the state dir (for example, OpenNTPd doesn't allow it to be owned by anything other than root). Signed-off-by: aszlig --- nixos/modules/module-list.nix | 1 + .../modules/services/networking/openntpd.nix | 49 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 nixos/modules/services/networking/openntpd.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a2862a6d609..045eb469de9 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -231,6 +231,7 @@ ./services/networking/ntpd.nix ./services/networking/oidentd.nix ./services/networking/openfire.nix + ./services/networking/openntpd.nix ./services/networking/openvpn.nix ./services/networking/polipo.nix ./services/networking/prayer.nix diff --git a/nixos/modules/services/networking/openntpd.nix b/nixos/modules/services/networking/openntpd.nix new file mode 100644 index 00000000000..bd8a7a04a2a --- /dev/null +++ b/nixos/modules/services/networking/openntpd.nix @@ -0,0 +1,49 @@ +{ pkgs, lib, config, options, ... }: + +with lib; + +let + cfg = config.services.openntpd; + + package = pkgs.openntpd.override { + privsepUser = "ntp"; + privsepPath = "/var/empty"; + }; + + cfgFile = pkgs.writeText "openntpd.conf" '' + ${concatStringsSep "\n" (map (s: "server ${s}") cfg.servers)} + ''; +in +{ + ###### interface + + options.services.openntpd = { + enable = mkEnableOption "OpenNTP time synchronization server"; + + servers = mkOption { + default = config.services.ntp.servers; + type = types.listOf types.str; + inherit (options.services.ntp.servers) description; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + services.ntp.enable = mkForce false; + + users.extraUsers = singleton { + name = "ntp"; + uid = config.ids.uids.ntp; + description = "OpenNTP daemon user"; + home = "/var/empty"; + }; + + systemd.services.openntpd = { + description = "OpenNTP Server"; + wantedBy = [ "ip-up.target" ]; + partOf = [ "ip-up.target" ]; + serviceConfig.ExecStart = "${package}/sbin/ntpd -d -f ${cfgFile}"; + }; + }; +} From 31b7cae0188a569867626068580d96dfbf3b3219 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 1 Sep 2014 16:08:44 +0200 Subject: [PATCH 0541/2163] nixos/znc: fix immutable config. Fix references to coreutils echo and rm. Make config writable even if immutable because of https://github.com/znc/znc/blob/master/src/znc.cpp#L964 . --- nixos/modules/services/networking/znc.nix | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/nixos/modules/services/networking/znc.nix b/nixos/modules/services/networking/znc.nix index 5aed20ee3e0..9b26b2b3244 100644 --- a/nixos/modules/services/networking/znc.nix +++ b/nixos/modules/services/networking/znc.nix @@ -274,20 +274,16 @@ in # If mutable, regenerate conf file every time. ${optionalString (!cfg.mutable) '' - ${pkgs.coreutils}/echo "znc is set to be system-managed. Now deleting old znc.conf file to be regenerated." - ${pkgs.coreutils}/rm -f ${cfg.dataDir}/configs/znc.conf + ${pkgs.coreutils}/bin/echo "znc is set to be system-managed. Now deleting old znc.conf file to be regenerated." + ${pkgs.coreutils}/bin/rm -f ${cfg.dataDir}/configs/znc.conf ''} # Ensure essential files exist. if [[ ! -f ${cfg.dataDir}/configs/znc.conf ]]; then - ${pkgs.coreutils}/bin/echo "No znc.conf file found in ${cfg.dataDir}. Creating one now." - ${if (!cfg.mutable) - then "${pkgs.coreutils}/bin/ln --force -s ${zncConfFile} ${cfg.dataDir}/.znc/configs/znc.conf" - else '' - ${pkgs.coreutils}/bin/cp --no-clobber ${zncConfFile} ${cfg.dataDir}/configs/znc.conf - ${pkgs.coreutils}/bin/chmod u+rw ${cfg.dataDir}/configs/znc.conf - ${pkgs.coreutils}/bin/chown ${cfg.user} ${cfg.dataDir}/configs/znc.conf - ''} + ${pkgs.coreutils}/bin/echo "No znc.conf file found in ${cfg.dataDir}. Creating one now." + ${pkgs.coreutils}/bin/cp --no-clobber ${zncConfFile} ${cfg.dataDir}/configs/znc.conf + ${pkgs.coreutils}/bin/chmod u+rw ${cfg.dataDir}/configs/znc.conf + ${pkgs.coreutils}/bin/chown ${cfg.user} ${cfg.dataDir}/configs/znc.conf fi if [[ ! -f ${cfg.dataDir}/znc.pem ]]; then From 41cd2d870ab7dc76913ba1cc2dc21e313732b4f1 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Mon, 1 Sep 2014 17:07:37 +0100 Subject: [PATCH 0542/2163] haskell-saltine: add 0.0.0.3 --- .../libraries/haskell/saltine/default.nix | 22 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/development/libraries/haskell/saltine/default.nix diff --git a/pkgs/development/libraries/haskell/saltine/default.nix b/pkgs/development/libraries/haskell/saltine/default.nix new file mode 100644 index 00000000000..acb4066fb2e --- /dev/null +++ b/pkgs/development/libraries/haskell/saltine/default.nix @@ -0,0 +1,22 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, libsodium, profunctors, QuickCheck, testFramework +, testFrameworkQuickcheck2, vector +}: + +cabal.mkDerivation (self: { + pname = "saltine"; + version = "0.0.0.3"; + sha256 = "1xjpjblxlpziyyz74ldaqh04shvy2qi34sc6b3232wpc0kyl5s8y"; + buildDepends = [ profunctors ]; + testDepends = [ + QuickCheck testFramework testFrameworkQuickcheck2 vector + ]; + extraLibraries = [ libsodium ]; + meta = { + description = "Cryptography that's easy to digest (NaCl/libsodium bindings)"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index b074a6ab48d..cfb06b0880d 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2134,6 +2134,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in RSA = callPackage ../development/libraries/haskell/RSA {}; + saltine = callPackage ../development/libraries/haskell/saltine {}; + sampleFrame = callPackage ../development/libraries/haskell/sample-frame {}; safe = callPackage ../development/libraries/haskell/safe {}; From 933ac5e9f8cd1f09e649621200dc7053675fe4c1 Mon Sep 17 00:00:00 2001 From: Daniel Peebles Date: Mon, 1 Sep 2014 14:23:43 -0400 Subject: [PATCH 0543/2163] Use a more permanent URL for the byacc version we're using The other one is likely to change with every new release. --- pkgs/development/tools/parsing/byacc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix index f3ec8225f1c..8842c8723b1 100644 --- a/pkgs/development/tools/parsing/byacc/default.nix +++ b/pkgs/development/tools/parsing/byacc/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation { name = "byacc-1.9"; src = fetchurl { - url = http://invisible-island.net/datafiles/release/byacc.tar.gz; + url = ftp://invisible-island.net/byacc/byacc-20140715.tgz; sha256 = "1rbzx5ipkvih9rjfdfv6310wcr6mxjbdlsh9zcv5aaz6yxxxil7c"; }; From e15aa51f2f419bf5e08d9afdfbcced8407733288 Mon Sep 17 00:00:00 2001 From: Vladimir Kirillov Date: Mon, 1 Sep 2014 21:28:14 +0300 Subject: [PATCH 0544/2163] sysdig: cheat nix into not capturing linux-dev as a runtime dependency --- pkgs/os-specific/linux/sysdig/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index 4abbb4c45b4..80677a52a32 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -10,7 +10,7 @@ let }; buildInputs = [ cmake zlib luajit - ] ++ optional (kernel != null) kernel; + ]; in stdenv.mkDerivation { inherit (s) name version; @@ -30,6 +30,10 @@ stdenv.mkDerivation { ''; postInstall = optionalString (kernel != null) '' make install_driver + kernel_dev=${kernel.dev} + kernel_dev=''${kernel_dev#/nix/store/} + kernel_dev=''${kernel_dev%%-linux*dev*} + sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko ''; meta = with stdenv.lib; { From b21ac6029041a5fb0feb9c8d2428c59f2923085b Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 1 Sep 2014 22:20:59 +0200 Subject: [PATCH 0545/2163] nixos/nat: add forwardPorts for external->internal DNAT --- nixos/modules/services/networking/nat.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index e8d9d00cc0a..b6fa3b79eb2 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -75,6 +75,17 @@ in ''; }; + networking.nat.forwardPorts = mkOption { + type = types.listOf types.attrs; + default = []; + example = [ { sourcePort = 8080; destination = "10.0.0.1:80"; } ]; + description = + '' + List of forwarded ports from the external interface to + internal destinations by using DNAT. + ''; + }; + }; @@ -118,6 +129,14 @@ in -s '${range}' -o ${cfg.externalInterface} ${dest} '') cfg.internalIPs} + # NAT from external ports to internal ports. + ${concatMapStrings (fwd: '' + iptables -w -t nat -A PREROUTING \ + -i ${cfg.externalInterface} -p tcp \ + --dport ${builtins.toString fwd.sourcePort} \ + -j DNAT --to-destination ${fwd.destination} + '') cfg.forwardPorts} + echo 1 > /proc/sys/net/ipv4/ip_forward ''; From 5b9110233d47d892bb6db759681c39da23420839 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 00:55:54 +0400 Subject: [PATCH 0546/2163] Update atftp --- pkgs/tools/networking/atftp/default.nix | 57 ++++++++++++++----------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix index acd71ea893d..b6bdfc7fabc 100644 --- a/pkgs/tools/networking/atftp/default.nix +++ b/pkgs/tools/networking/atftp/default.nix @@ -1,27 +1,34 @@ -{ stdenv, fetchurl, pcre, readline }: - +{ lib, stdenv, fetchurl, readline, tcp_wrappers, pcre, makeWrapper }: +assert stdenv.isLinux; +assert stdenv.gcc.gcc != null; +let +version = "0.7"; +debianPatch = fetchurl { +url = "mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg-11.diff.gz"; +sha256 = "07g4qbmp0lnscg2dkj6nsj657jaghibvfysdm1cdxcn215n3zwqd"; +}; +in stdenv.mkDerivation { - name = "atftp-0.7.1"; - - src = fetchurl { - url = "mirror://sourceforge/atftp/atftp-0.7.1.tar.gz"; - sha256 = "0bgr31gbnr3qx4ixf8hz47l58sh3367xhcnfqd8233fvr84nyk5f"; - }; - - buildInputs = [ pcre readline ]; - - NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel - - configureFlags = [ - "--enable-libreadline" - "--enable-libpcre" - "--enable-mtftp" - ]; - - meta = with stdenv.lib; { - description = "Advanced TFTP server and client"; - homepage = http://sourceforge.net/projects/atftp/; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; +name = "atftp"; +inherit version; +src = fetchurl { +url = "mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg.orig.tar.gz"; +sha256 = "0nd5dl14d6z5abgcbxcn41rfn3syza6s57bbgh4aq3r9cxdmz08q"; +}; +buildInputs = [ readline tcp_wrappers pcre makeWrapper ]; +patches = [ debianPatch ]; +postInstall = '' +wrapProgram $out/sbin/atftpd --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib${if stdenv.system == "x86_64-linux" then "64" else ""} +''; +meta = { +description = "Advanced tftp tools"; +maintainers = lib.maintainers.raskin; +platforms = lib.platforms.linux; +license = lib.licenses.gpl2Plus; +passthru = { +updateInfo = { +downloadPage = "http://packages.debian.org/source/wheezy/atftp"; +}; +}; +}; } From 038c71a11a6800b89dce123b074837f8033126ba Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Mon, 1 Sep 2014 22:50:14 +0200 Subject: [PATCH 0547/2163] boinc: update from 7.2.42 to 7.4.14 (fixes CVE-2013-2298) --- pkgs/applications/science/misc/boinc/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix index 7020de0bca8..0898b458593 100644 --- a/pkgs/applications/science/misc/boinc/default.nix +++ b/pkgs/applications/science/misc/boinc/default.nix @@ -3,12 +3,12 @@ mesa, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK, xcbutil, sqlite, gtk, patchelf, libXScrnSaver, libnotify, libX11, libxcb }: stdenv.mkDerivation rec { - name = "boinc-7.2.42"; + name = "boinc-7.4.14"; src = fetchgit { url = "git://boinc.berkeley.edu/boinc-v2.git"; - rev = "dd0d630882547c123ca0f8fda7a62e058d60f6a9"; - sha256 = "1zifpi3mjgaj68fba6kammp3x7z8n2x164zz6fj91xfiapnan56j"; + rev = "fb31ab18f94f3b5141bea03e8537d76c606cd276"; + sha256 = "1465zl8l87fm1ps5f2may6mcc3pp40mpd6wphpxnwwk1lmv48x96"; }; buildInputs = [ libtool automake autoconf m4 pkgconfig curl mesa libXmu libXi From e12337156c35ed2bfd245a995e0e77a6192f94ee Mon Sep 17 00:00:00 2001 From: Vladimir Still Date: Sun, 31 Aug 2014 13:15:39 +0200 Subject: [PATCH 0548/2163] sshd: Allow to specify ListenAddress. --- .../modules/services/networking/ssh/sshd.nix | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index e4b29a0b909..3eb646f0750 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -144,6 +144,33 @@ in ''; }; + listenAddresses = mkOption { + type = types.listOf types.optionSet; + default = []; + example = [ { addr = "192.168.3.1"; port = 22; } { addr = "0.0.0.0"; port = 64022; } ]; + description = '' + List of addresses and ports to listen on (ListenAddress directive + in config). If port is not specified for address sshd will listen + on all ports specified by ports option. + ''; + options = { + addr = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Host, IPv4 or IPv6 address to listen to. + ''; + }; + port = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Port to listen to. + ''; + }; + }; + }; + passwordAuthentication = mkOption { type = types.bool; default = true; @@ -349,6 +376,10 @@ in Port ${toString port} '') cfg.ports} + ${concatMapStrings ({ port, addr }: '' + ListenAddress ${addr}${if port != null then ":" + toString port else ""} + '') cfg.listenAddresses} + ${optionalString cfgc.setXAuthLocation '' XAuthLocation ${pkgs.xorg.xauth}/bin/xauth ''} @@ -383,6 +414,10 @@ in assertion = (data.publicKey == null && data.publicKeyFile != null) || (data.publicKey != null && data.publicKeyFile == null); message = "knownHost ${name} must contain either a publicKey or publicKeyFile"; + }) + ++ flip map cfg.listenAddresses ({ addr, port }: { + assertion = addr != null; + message = "addr must be spefied in each listenAddresses entry"; }); }; From ac39d839c3dccb2890b64a3fbe1a28d8aba1007f Mon Sep 17 00:00:00 2001 From: Vladimir Still Date: Sun, 31 Aug 2014 17:21:14 +0200 Subject: [PATCH 0549/2163] sshd: Add note about firewall and listenAddresses. --- nixos/modules/services/networking/ssh/sshd.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index 3eb646f0750..9b2f56fa400 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -152,6 +152,8 @@ in List of addresses and ports to listen on (ListenAddress directive in config). If port is not specified for address sshd will listen on all ports specified by ports option. + NOTE: setting this option won't automatically enable given ports + in firewall configuration. ''; options = { addr = mkOption { From a2394f09c7003efc238eb065afdd57221f6ba257 Mon Sep 17 00:00:00 2001 From: Vladimir Still Date: Mon, 1 Sep 2014 13:02:39 +0200 Subject: [PATCH 0550/2163] sshd: Add note about listening on port 22 to listenAddresses. --- nixos/modules/services/networking/ssh/sshd.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index 9b2f56fa400..956c31a8ba3 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -151,7 +151,8 @@ in description = '' List of addresses and ports to listen on (ListenAddress directive in config). If port is not specified for address sshd will listen - on all ports specified by ports option. + on all ports specified by ports option. + NOTE: this will override default listening on all local addresses and port 22. NOTE: setting this option won't automatically enable given ports in firewall configuration. ''; From 82ed86dd7675e19a496ef15da10af73d12867490 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 01:03:39 +0400 Subject: [PATCH 0551/2163] Remove unneeded definitions --- pkgs/misc/emulators/stella/default.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/misc/emulators/stella/default.nix index 154a5d02a80..3f10d7afb6e 100644 --- a/pkgs/misc/emulators/stella/default.nix +++ b/pkgs/misc/emulators/stella/default.nix @@ -15,11 +15,6 @@ stdenv.mkDerivation rec { buildInputs = with stdenv.lib; [ pkgconfig SDL2 ]; - configureFlags = '' - ''; - - NIX_CFLAGS_COMPILE=""; - meta = with stdenv.lib; { description = "An open-source Atari 2600 VCS emulator"; longDescription = '' From f87c516a9135f6086b6c05d510a7ae8d3112bee7 Mon Sep 17 00:00:00 2001 From: "tv@shackspace.de" Date: Tue, 29 Jul 2014 22:13:47 +0200 Subject: [PATCH 0552/2163] urlwatch: add version 1.16 --- pkgs/tools/networking/urlwatch/default.nix | 21 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/tools/networking/urlwatch/default.nix diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix new file mode 100644 index 00000000000..4843f07c8f2 --- /dev/null +++ b/pkgs/tools/networking/urlwatch/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, python3Packages }: + +python3Packages.buildPythonPackage rec { + name = "urlwatch-1.16"; + + src = fetchurl { + url = "http://thp.io/2008/urlwatch/${name}.tar.gz"; + sha256 = "0yf1m909awfm06z7xwn20qxbbgslb1vjwwb6rygp6bn7sq022f1f"; + }; + + patchPhase = '' + ./convert-to-python3.sh + ''; + + meta = { + description = "A tool for monitoring webpages for updates"; + homepage = https://thp.io/2008/urlwatch/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.tv ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fb5cab51b45..0905a6a951d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2437,6 +2437,8 @@ let uptimed = callPackage ../tools/system/uptimed { }; + urlwatch = callPackage ../tools/networking/urlwatch { }; + varnish = callPackage ../servers/varnish { }; varnish2 = callPackage ../servers/varnish/2.1.nix { }; From a6dd9bd0cb3ef4896c41f70e37bc3a72d36aa569 Mon Sep 17 00:00:00 2001 From: "tv@shackspace.de" Date: Wed, 30 Jul 2014 19:44:21 +0200 Subject: [PATCH 0553/2163] python-wrapper: fix wrapped argv[0] w/o sed, maybe --- pkgs/build-support/setup-hooks/make-wrapper.sh | 5 ++++- pkgs/development/python-modules/generic/wrap.sh | 6 ------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index 41f2a59246d..95d1a519213 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -96,7 +96,10 @@ filterExisting() { # Syntax: wrapProgram wrapProgram() { local prog="$1" - local hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped + local progBasename=$(basename $prog) + local hiddenDir=$(dirname $prog)/.$progBasename-wrapped-bin + local hidden=$hiddenDir/$progBasename + mkdir $hiddenDir mv $prog $hidden makeWrapper $hidden $prog "$@" } diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh index 857f002cace..282aeca9ed1 100644 --- a/pkgs/development/python-modules/generic/wrap.sh +++ b/pkgs/development/python-modules/generic/wrap.sh @@ -26,12 +26,6 @@ wrapPythonProgramsIn() { # dont wrap EGG-INFO scripts since they are called from python if echo "$i" | grep -v EGG-INFO/scripts; then echo "wrapping \`$i'..." - sed -i "$i" -re '1 { - /^#!/!b; :r - /\\$/{N;b r} - /__future__|^ *(#.*)?$/{n;b r} - /^ *[^# ]/i import sys; sys.argv[0] = '"'$(basename "$i")'"' - }' wrapProgram "$i" \ --prefix PYTHONPATH ":" $program_PYTHONPATH \ --prefix PATH ":" $program_PATH From 2a1a814e5356a93a5c477352a31b6239ae481492 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 01:36:10 +0400 Subject: [PATCH 0554/2163] Make console-getty only used inside container by default --- nixos/modules/services/ttys/agetty.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix index 3878b02b1a8..3958be33df2 100644 --- a/nixos/modules/services/ttys/agetty.nix +++ b/nixos/modules/services/ttys/agetty.nix @@ -70,6 +70,7 @@ with lib; { serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login --keep-baud console 115200,38400,9600 $TERM"; serviceConfig.Restart = "always"; restartIfChanged = false; + enable = mkDefault config.boot.isContainer; }; environment.etc = singleton From 9deb7f8aae431ed7725cfaa13edf8645d19d91f2 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 01:45:15 +0400 Subject: [PATCH 0555/2163] Create wrapper directory outside of /bin/ for FHS chroots to be closer to FHS --- pkgs/build-support/setup-hooks/make-wrapper.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index 95d1a519213..dd43068be27 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -97,9 +97,9 @@ filterExisting() { wrapProgram() { local prog="$1" local progBasename=$(basename $prog) - local hiddenDir=$(dirname $prog)/.$progBasename-wrapped-bin - local hidden=$hiddenDir/$progBasename - mkdir $hiddenDir + local hiddenDir="$(dirname $prog)/../wrapped-bin/.$progBasename-wrapped-bin" + mkdir -p $hiddenDir + local hidden="$(cd "$hiddenDir"; pwd)/$progBasename" mv $prog $hidden makeWrapper $hidden $prog "$@" } From 8ef11bb0ee4567826d9a7509ea2c8f1e226bcebf Mon Sep 17 00:00:00 2001 From: Chris Farmiloe Date: Thu, 12 Jun 2014 15:16:38 +0200 Subject: [PATCH 0556/2163] add openvswitch package + basic nixos module to enable it --- nixos/modules/module-list.nix | 1 + nixos/modules/virtualisation/libvirtd.nix | 11 +- nixos/modules/virtualisation/openvswitch.nix | 120 ++++++++++++++++++ .../os-specific/linux/openvswitch/default.nix | 49 +++++++ pkgs/top-level/all-packages.nix | 2 + 5 files changed, 180 insertions(+), 3 deletions(-) create mode 100644 nixos/modules/virtualisation/openvswitch.nix create mode 100644 pkgs/os-specific/linux/openvswitch/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 045eb469de9..76d1ed8a9d4 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -365,6 +365,7 @@ ./virtualisation/docker.nix ./virtualisation/libvirtd.nix #./virtualisation/nova.nix + ./virtualisation/openvswitch.nix ./virtualisation/virtualbox-guest.nix #./virtualisation/xen-dom0.nix ] diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index d7d700d8841..ed157bba882 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -7,6 +7,7 @@ with lib; let cfg = config.virtualisation.libvirtd; + vswitch = config.virtualisation.vswitch; configFile = pkgs.writeText "libvirtd.conf" '' unix_sock_group = "libvirtd" unix_sock_rw_perms = "0770" @@ -75,10 +76,14 @@ in wantedBy = [ "multi-user.target" ]; after = [ "systemd-udev-settle.service" ]; - path = - [ pkgs.bridge_utils pkgs.dmidecode pkgs.dnsmasq + path = [ + pkgs.bridge_utils + pkgs.dmidecode + pkgs.dnsmasq pkgs.ebtables - ] ++ optional cfg.enableKVM pkgs.qemu_kvm; + ] + ++ optional cfg.enableKVM pkgs.qemu_kvm + ++ optional vswitch.enable vswitch.package; preStart = '' diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix new file mode 100644 index 00000000000..2070dd0f783 --- /dev/null +++ b/nixos/modules/virtualisation/openvswitch.nix @@ -0,0 +1,120 @@ +# Systemd services for openvswitch + +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.virtualisation.vswitch; + +in + +{ + # ------------------------------------------------------------ + + options = { + + virtualisation.vswitch.enable = mkOption { + type = types.bool; + default = false; + description = + '' + Enable Open vSwitch. A configuration + daemon (ovs-server) will be started. + ''; + }; + + + virtualisation.vswitch.package = mkOption { + type = types.package; + default = pkgs.openvswitch; + description = + '' + Open vSwitch package to use. + ''; + }; + + }; + + # ------------------------------------------------------------ + + config = mkIf cfg.enable (let + + # Where the communication sockets live + runDir = "/var/run/openvswitch"; + + # Where the config database live (can't be in nix-store) + stateDir = "/var/db/openvswitch"; + + # The path to the an initialized version of the database + db = pkgs.stdenv.mkDerivation { + name = "vswitch.db"; + unpackPhase = "true"; + buildPhase = "true"; + buildInputs = with pkgs; [ + cfg.package + ]; + installPhase = + '' + ensureDir $out/ + ''; + }; + + in { + + environment.systemPackages = [ cfg.package ]; + + boot.kernelModules = [ "tun" "openvswitch" ]; + + boot.extraModulePackages = [ cfg.package ]; + + systemd.services.ovsdb = { + description = "Open_vSwitch Database Server"; + wantedBy = [ "multi-user.target" ]; + after = [ "systemd-udev-settle.service" ]; + wants = [ "vswitchd.service" ]; + path = [ cfg.package ]; + restartTriggers = [ db cfg.package ]; + # Create the config database + preStart = + '' + mkdir -p ${runDir} + mkdir -p /var/db/openvswitch + chmod +w /var/db/openvswitch + if [[ ! -e /var/db/openvswitch/conf.db ]]; then + ${cfg.package}/bin/ovsdb-tool create \ + "/var/db/openvswitch/conf.db" \ + "${cfg.package}/share/openvswitch/vswitch.ovsschema" + fi + chmod -R +w /var/db/openvswitch + ''; + serviceConfig.ExecStart = + '' + ${cfg.package}/bin/ovsdb-server \ + --remote=punix:${runDir}/db.sock \ + --private-key=db:Open_vSwitch,SSL,private_key \ + --certificate=db:Open_vSwitch,SSL,certificate \ + --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \ + --unixctl=ovsdb.ctl.sock \ + /var/db/openvswitch/conf.db + ''; + serviceConfig.Restart = "always"; + serviceConfig.RestartSec = 3; + postStart = + '' + ${cfg.package}/bin/ovs-vsctl --timeout 3 --retry --no-wait init + ''; + + }; + + systemd.services.vswitchd = { + description = "Open_vSwitch Daemon"; + bindsTo = [ "ovsdb.service" ]; + after = [ "ovsdb.service" ]; + path = [ cfg.package ]; + serviceConfig.ExecStart = ''${cfg.package}/bin/ovs-vswitchd''; + }; + + }); + +} diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix new file mode 100644 index 00000000000..13b41ebe9c8 --- /dev/null +++ b/pkgs/os-specific/linux/openvswitch/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchurl, openssl, python27, iproute, perl510, kernel ? null}: +let + + version = "2.1.2"; + + skipKernelMod = kernel == null; + +in +stdenv.mkDerivation { + version = "2.1.2"; + name = "openvswitch-${version}"; + src = fetchurl { + url = "http://openvswitch.org/releases/openvswitch-2.1.2.tar.gz"; + sha256 = "16q7faqrj2pfchhn0x5s9ggi5ckcg9n62f6bnqaih064aaq2jm47"; + }; + kernel = if skipKernelMod then null else kernel.dev; + buildInputs = [ + openssl + python27 + perl510 + ]; + configureFlags = [ + "--localstatedir=/var" + "--sharedstatedir=/var" + "--sbindir=$(out)/bin" + ] ++ (if skipKernelMod then [] else ["--with-linux"]); + # Leave /var out of this! + installFlags = [ + "LOGDIR=$(TMPDIR)/dummy" + "RUNDIR=$(TMPDIR)/dummy" + "PKIDIR=$(TMPDIR)/dummy" + ]; + meta = { + platforms = stdenv.lib.platforms.linux; + description = "A multilayer virtual switch"; + longDescription = '' + Open vSwitch is a production quality, multilayer virtual switch + licensed under the open source Apache 2.0 license. It is + designed to enable massive network automation through + programmatic extension, while still supporting standard + management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, + RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to + support distribution across multiple physical servers similar + to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. + ''; + homepage = "http://openvswitch.org/"; + licence = "Apache 2.0"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0905a6a951d..9e94861e9f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1788,6 +1788,8 @@ let openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { }; + openvswitch = callPackage ../os-specific/linux/openvswitch { }; + optipng = callPackage ../tools/graphics/optipng { libpng = libpng12; }; From 76a4de68c17217e016043dc19b98a96ea5073b0f Mon Sep 17 00:00:00 2001 From: Chris Farmiloe Date: Thu, 12 Jun 2014 16:08:49 +0200 Subject: [PATCH 0557/2163] formatting/retab --- nixos/modules/virtualisation/openvswitch.nix | 195 +++++++++--------- .../os-specific/linux/openvswitch/default.nix | 83 ++++---- 2 files changed, 138 insertions(+), 140 deletions(-) diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix index 2070dd0f783..c1579d94657 100644 --- a/nixos/modules/virtualisation/openvswitch.nix +++ b/nixos/modules/virtualisation/openvswitch.nix @@ -5,116 +5,113 @@ with lib; let - cfg = config.virtualisation.vswitch; + cfg = config.virtualisation.vswitch; in { - # ------------------------------------------------------------ - options = { + options = { - virtualisation.vswitch.enable = mkOption { - type = types.bool; - default = false; - description = - '' - Enable Open vSwitch. A configuration - daemon (ovs-server) will be started. - ''; - }; + virtualisation.vswitch.enable = mkOption { + type = types.bool; + default = false; + description = + '' + Enable Open vSwitch. A configuration + daemon (ovs-server) will be started. + ''; + }; - virtualisation.vswitch.package = mkOption { - type = types.package; - default = pkgs.openvswitch; - description = - '' - Open vSwitch package to use. - ''; - }; + virtualisation.vswitch.package = mkOption { + type = types.package; + default = pkgs.openvswitch; + description = + '' + Open vSwitch package to use. + ''; + }; + + }; + + config = mkIf cfg.enable (let + + # Where the communication sockets live + runDir = "/var/run/openvswitch"; + + # Where the config database live (can't be in nix-store) + stateDir = "/var/db/openvswitch"; + + # The path to the an initialized version of the database + db = pkgs.stdenv.mkDerivation { + name = "vswitch.db"; + unpackPhase = "true"; + buildPhase = "true"; + buildInputs = with pkgs; [ + cfg.package + ]; + installPhase = + '' + ensureDir $out/ + ''; + }; + + in { + + environment.systemPackages = [ cfg.package ]; + + boot.kernelModules = [ "tun" "openvswitch" ]; + + boot.extraModulePackages = [ cfg.package ]; + + systemd.services.ovsdb = { + description = "Open_vSwitch Database Server"; + wantedBy = [ "multi-user.target" ]; + after = [ "systemd-udev-settle.service" ]; + wants = [ "vswitchd.service" ]; + path = [ cfg.package ]; + restartTriggers = [ db cfg.package ]; + # Create the config database + preStart = + '' + mkdir -p ${runDir} + mkdir -p /var/db/openvswitch + chmod +w /var/db/openvswitch + if [[ ! -e /var/db/openvswitch/conf.db ]]; then + ${cfg.package}/bin/ovsdb-tool create \ + "/var/db/openvswitch/conf.db" \ + "${cfg.package}/share/openvswitch/vswitch.ovsschema" + fi + chmod -R +w /var/db/openvswitch + ''; + serviceConfig.ExecStart = + '' + ${cfg.package}/bin/ovsdb-server \ + --remote=punix:${runDir}/db.sock \ + --private-key=db:Open_vSwitch,SSL,private_key \ + --certificate=db:Open_vSwitch,SSL,certificate \ + --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \ + --unixctl=ovsdb.ctl.sock \ + /var/db/openvswitch/conf.db + ''; + serviceConfig.Restart = "always"; + serviceConfig.RestartSec = 3; + postStart = + '' + ${cfg.package}/bin/ovs-vsctl --timeout 3 --retry --no-wait init + ''; }; - # ------------------------------------------------------------ + systemd.services.vswitchd = { + description = "Open_vSwitch Daemon"; + bindsTo = [ "ovsdb.service" ]; + after = [ "ovsdb.service" ]; + path = [ cfg.package ]; + serviceConfig.ExecStart = ''${cfg.package}/bin/ovs-vswitchd''; + }; - config = mkIf cfg.enable (let - - # Where the communication sockets live - runDir = "/var/run/openvswitch"; - - # Where the config database live (can't be in nix-store) - stateDir = "/var/db/openvswitch"; - - # The path to the an initialized version of the database - db = pkgs.stdenv.mkDerivation { - name = "vswitch.db"; - unpackPhase = "true"; - buildPhase = "true"; - buildInputs = with pkgs; [ - cfg.package - ]; - installPhase = - '' - ensureDir $out/ - ''; - }; - - in { - - environment.systemPackages = [ cfg.package ]; - - boot.kernelModules = [ "tun" "openvswitch" ]; - - boot.extraModulePackages = [ cfg.package ]; - - systemd.services.ovsdb = { - description = "Open_vSwitch Database Server"; - wantedBy = [ "multi-user.target" ]; - after = [ "systemd-udev-settle.service" ]; - wants = [ "vswitchd.service" ]; - path = [ cfg.package ]; - restartTriggers = [ db cfg.package ]; - # Create the config database - preStart = - '' - mkdir -p ${runDir} - mkdir -p /var/db/openvswitch - chmod +w /var/db/openvswitch - if [[ ! -e /var/db/openvswitch/conf.db ]]; then - ${cfg.package}/bin/ovsdb-tool create \ - "/var/db/openvswitch/conf.db" \ - "${cfg.package}/share/openvswitch/vswitch.ovsschema" - fi - chmod -R +w /var/db/openvswitch - ''; - serviceConfig.ExecStart = - '' - ${cfg.package}/bin/ovsdb-server \ - --remote=punix:${runDir}/db.sock \ - --private-key=db:Open_vSwitch,SSL,private_key \ - --certificate=db:Open_vSwitch,SSL,certificate \ - --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \ - --unixctl=ovsdb.ctl.sock \ - /var/db/openvswitch/conf.db - ''; - serviceConfig.Restart = "always"; - serviceConfig.RestartSec = 3; - postStart = - '' - ${cfg.package}/bin/ovs-vsctl --timeout 3 --retry --no-wait init - ''; - - }; - - systemd.services.vswitchd = { - description = "Open_vSwitch Daemon"; - bindsTo = [ "ovsdb.service" ]; - after = [ "ovsdb.service" ]; - path = [ cfg.package ]; - serviceConfig.ExecStart = ''${cfg.package}/bin/ovs-vswitchd''; - }; - - }); + }); } diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix index 13b41ebe9c8..6b82cc5f9b6 100644 --- a/pkgs/os-specific/linux/openvswitch/default.nix +++ b/pkgs/os-specific/linux/openvswitch/default.nix @@ -1,49 +1,50 @@ { stdenv, fetchurl, openssl, python27, iproute, perl510, kernel ? null}: let - version = "2.1.2"; + version = "2.1.2"; - skipKernelMod = kernel == null; + skipKernelMod = kernel == null; in stdenv.mkDerivation { - version = "2.1.2"; - name = "openvswitch-${version}"; - src = fetchurl { - url = "http://openvswitch.org/releases/openvswitch-2.1.2.tar.gz"; - sha256 = "16q7faqrj2pfchhn0x5s9ggi5ckcg9n62f6bnqaih064aaq2jm47"; - }; - kernel = if skipKernelMod then null else kernel.dev; - buildInputs = [ - openssl - python27 - perl510 - ]; - configureFlags = [ - "--localstatedir=/var" - "--sharedstatedir=/var" - "--sbindir=$(out)/bin" - ] ++ (if skipKernelMod then [] else ["--with-linux"]); - # Leave /var out of this! - installFlags = [ - "LOGDIR=$(TMPDIR)/dummy" - "RUNDIR=$(TMPDIR)/dummy" - "PKIDIR=$(TMPDIR)/dummy" - ]; - meta = { - platforms = stdenv.lib.platforms.linux; - description = "A multilayer virtual switch"; - longDescription = '' - Open vSwitch is a production quality, multilayer virtual switch - licensed under the open source Apache 2.0 license. It is - designed to enable massive network automation through - programmatic extension, while still supporting standard - management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, - RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to - support distribution across multiple physical servers similar - to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. - ''; - homepage = "http://openvswitch.org/"; - licence = "Apache 2.0"; - }; + version = "2.1.2"; + name = "openvswitch-${version}"; + src = fetchurl { + url = "http://openvswitch.org/releases/openvswitch-2.1.2.tar.gz"; + sha256 = "16q7faqrj2pfchhn0x5s9ggi5ckcg9n62f6bnqaih064aaq2jm47"; + }; + kernel = if skipKernelMod then null else kernel.dev; + buildInputs = [ + openssl + python27 + perl510 + ]; + configureFlags = [ + "--localstatedir=/var" + "--sharedstatedir=/var" + "--sbindir=$(out)/bin" + ] ++ (if skipKernelMod then [] else ["--with-linux"]); + # Leave /var out of this! + installFlags = [ + "LOGDIR=$(TMPDIR)/dummy" + "RUNDIR=$(TMPDIR)/dummy" + "PKIDIR=$(TMPDIR)/dummy" + ]; + meta = { + platforms = stdenv.lib.platforms.linux; + description = "A multilayer virtual switch"; + longDescription = + '' + Open vSwitch is a production quality, multilayer virtual switch + licensed under the open source Apache 2.0 license. It is + designed to enable massive network automation through + programmatic extension, while still supporting standard + management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, + RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to + support distribution across multiple physical servers similar + to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. + ''; + homepage = "http://openvswitch.org/"; + licence = "Apache 2.0"; + }; } From 08534000a4e845f0fc3c368f7195c3cebc0d5daf Mon Sep 17 00:00:00 2001 From: Chris Farmiloe Date: Mon, 16 Jun 2014 16:45:08 +0200 Subject: [PATCH 0558/2163] Ensure libvirtd is started after vswitch and add ability to configure how libvirtd guests are shutdown --- nixos/modules/virtualisation/libvirtd.nix | 24 +++++++++++++++++-- .../development/libraries/libvirt/default.nix | 1 + 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index ed157bba882..318460f4c2c 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -57,6 +57,20 @@ in ''; }; + virtualisation.libvirtd.onShutdown = + mkOption { + type = types.enum ["shutdown" "suspend" ]; + default = "suspend"; + description = + '' + When shutting down / restarting the host what method should + be used to gracefully halt the guests. Setting to "shutdown" + will cause an ACPI shutdown of each guest. "suspend" will + attempt to save the state of the guests ready to restore on boot. + ''; + }; + + }; @@ -74,7 +88,8 @@ in { description = "Libvirt Virtual Machine Management Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "systemd-udev-settle.service" ]; + after = [ "systemd-udev-settle.service" ] + ++ optional vswitch.enable "vswitchd.service"; path = [ pkgs.bridge_utils @@ -157,7 +172,12 @@ in ${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests start || true ''; - postStop = "${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests stop"; + postStop = + '' + export PATH=${pkgs.gettext}/bin:$PATH + export ON_SHUTDOWN=${cfg.onShutdown} + ${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests stop + ''; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index e2ff06fcd43..a4c8c167b39 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -39,6 +39,7 @@ stdenv.mkDerivation rec { ]; postInstall = '' + sed -i 's/ON_SHUTDOWN=suspend/ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}/' $out/libexec/libvirt-guests.sh substituteInPlace $out/libexec/libvirt-guests.sh \ --replace "$out/bin" "${gettext}/bin" wrapProgram $out/sbin/libvirtd \ From a0ea30c613f61831054b43fd3c6c73f9e9d7f2b0 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 01:53:42 +0400 Subject: [PATCH 0559/2163] Minor cleanup after merge --- pkgs/development/libraries/gmock/default.nix | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/pkgs/development/libraries/gmock/default.nix b/pkgs/development/libraries/gmock/default.nix index 33c6e00ef65..71ac281195b 100644 --- a/pkgs/development/libraries/gmock/default.nix +++ b/pkgs/development/libraries/gmock/default.nix @@ -11,12 +11,6 @@ stdenv.mkDerivation rec { buildInputs = [ unzip cmake ]; - configurePhase = '' - mkdir build - cd build - cmake ../ -DCMAKE_INSTALL_PREFIX=$out - ''; - buildPhase = '' # avoid building gtest make gmock gmock_main @@ -30,7 +24,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Google mock: Google's framework for writing C++ mock classes."; + description = "Google mock: Google's framework for writing C++ mock classes"; homepage = https://code.google.com/p/googlemock/; license = stdenv.lib.licenses.bsd3; maintainers = [ stdenv.lib.maintainers.auntie ]; From a1eefe1a949a8426150a12a7cd809c9f6b48da17 Mon Sep 17 00:00:00 2001 From: Thomas Strobel Date: Mon, 1 Sep 2014 23:55:21 +0200 Subject: [PATCH 0560/2163] Update: Haste-Compiler: 0.4.1 -> 0.4.2 --- pkgs/development/libraries/haskell/haste-compiler/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/haste-compiler/default.nix b/pkgs/development/libraries/haskell/haste-compiler/default.nix index 962bf758a1e..dfedd812a20 100644 --- a/pkgs/development/libraries/haskell/haste-compiler/default.nix +++ b/pkgs/development/libraries/haskell/haste-compiler/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "haste-compiler"; - version = "0.4.1"; - sha256 = "15v4c6rxz4n0wmiys6mam8xprcdq8kxnhpwcqnljshr8wlyihn8b"; + version = "0.4.2"; + sha256 = "0agbd21c7mgzxyg6lwjl3n8w2r7xcrv3811y0x86rg7q1m7z730m"; isLibrary = true; isExecutable = true; buildDepends = [ From e743d1ca85c582d7f8b3c0d2588e68c485515c94 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 02:04:59 +0400 Subject: [PATCH 0561/2163] Minor cleanup --- pkgs/applications/misc/namecoin/default.nix | 4 ++-- pkgs/applications/misc/namecoin/qt.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/misc/namecoin/default.nix b/pkgs/applications/misc/namecoin/default.nix index 1a26403e6f4..b1bd401b2eb 100644 --- a/pkgs/applications/misc/namecoin/default.nix +++ b/pkgs/applications/misc/namecoin/default.nix @@ -30,8 +30,8 @@ stdenv.mkDerivation rec { meta = { description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency"; homepage = "http://namecoin.info"; - license = "MIT"; - maintainers = [ "Chris Double " ]; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.doublec ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/misc/namecoin/qt.nix b/pkgs/applications/misc/namecoin/qt.nix index 08dbee26f0b..447a2b42b6b 100644 --- a/pkgs/applications/misc/namecoin/qt.nix +++ b/pkgs/applications/misc/namecoin/qt.nix @@ -26,8 +26,8 @@ stdenv.mkDerivation rec { meta = { description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency"; homepage = "http://namecoin.info"; - license = "MIT"; - maintainers = [ "Chris Double " ]; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.doublec ]; platforms = with stdenv.lib.platforms; linux; }; } From 4cf191a42530cce961b445b40243c3deb9fc4a7c Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Mon, 1 Sep 2014 23:58:43 +0200 Subject: [PATCH 0562/2163] miscfiles: update from 1.4.2 to 1.5 and adopt it --- pkgs/data/misc/miscfiles/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/data/misc/miscfiles/default.nix b/pkgs/data/misc/miscfiles/default.nix index db4d13b890f..a40856e5910 100644 --- a/pkgs/data/misc/miscfiles/default.nix +++ b/pkgs/data/misc/miscfiles/default.nix @@ -1,16 +1,17 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "miscfiles-1.4.2"; + name = "miscfiles-1.5"; src = fetchurl { url = "mirror://gnu/miscfiles/${name}.tar.gz"; - sha256 = "1rh10y63asyrqyp5mlmxy7y4kdp6svk2inws3y7mfx8lsrhcm6dn"; + sha256 = "005588vfrwx8ghsdv9p7zczj9lbc9a3r4m5aphcaqv8gif4siaka"; }; - meta = { + meta = with stdenv.lib; { homepage = http://www.gnu.org/software/miscfiles/; - license = stdenv.lib.licenses.gpl2Plus; + license = licenses.gpl2Plus; description = "Collection of files not of crucial importance for sysadmins"; + maintainers = with maintainers; [ pSub ]; }; } From 7727a3fe1dad9293eb58f5a7bf49bfb2cdf0daa9 Mon Sep 17 00:00:00 2001 From: Raymond Gauthier Date: Thu, 14 Aug 2014 07:00:00 +0200 Subject: [PATCH 0563/2163] Added support for minimal zim desktop wiki package. --- pkgs/applications/office/zim/default.nix | 82 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 86 insertions(+) create mode 100644 pkgs/applications/office/zim/default.nix diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix new file mode 100644 index 00000000000..cca52be1a17 --- /dev/null +++ b/pkgs/applications/office/zim/default.nix @@ -0,0 +1,82 @@ +{ stdenv, lib, fetchurl, buildPythonPackage, pythonPackages, pygtk, pygobject, python }: + +# +# TODO: Declare configuration options for the following optional dependencies: +# - File stores: hg, git, bzr +# - Included plugins depenencies: dot, ditaa, dia, any other? +# - pyxdg: Need to make it work first (see setupPyInstallFlags). +# + +buildPythonPackage rec { + name = "zim-${version}"; + version = "0.60"; + namePrefix = ""; + + src = fetchurl { + url = "http://zim-wiki.org/downloads/zim-0.61.tar.gz"; + sha256 = "0jncxkf83bwra3022jbvjfwhk5w8az0jlwr8nsvm7wa1zfrajhsq"; + }; + + propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk /*pythonPackages.pyxdg*/ pygobject ]; + + preBuild = '' + mkdir -p $tmp/home + export HOME="$tmp/home" + ''; + + setupPyInstallFlags = ["--skip-xdg-cmd"]; + + # + # Exactly identical to buildPythonPackage's version but for the + # `--old-and-unmanagable`, which I removed. This was removed because + # this is a setuptools specific flag and as zim is overriding + # the install step, setuptools could not perform its monkey + # patching trick for the command. Alternate solutions were to + # + # - Remove the custom install step (tested as working but + # also remove the possibility of performing the xdg-cmd + # stuff). + # - Explicitly replace distutils import(s) by their setuptools + # equivalent (untested). + # + # Both solutions were judged unsatisfactory as altering the code + # would be required. + # + # Note that a improved solution would be to expose the use of + # the `--old-and-unmanagable` flag as an option of passed to the + # buildPythonPackage function. + # + # Also note that I stripped all comments. + # + installPhase = '' + runHook preInstall + + mkdir -p "$out/lib/${python.libPrefix}/site-packages" + + export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + + ${python}/bin/${python.executable} setup.py install \ + --install-lib=$out/lib/${python.libPrefix}/site-packages \ + --prefix="$out" ${lib.concatStringsSep " " setupPyInstallFlags} + + eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth + if [ -e "$eapth" ]; then + # move colliding easy_install.pth to specifically named one + mv "$eapth" $(dirname "$eapth")/${name}.pth + fi + + rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py* + + runHook postInstall + ''; + + # Testing fails. + doCheck = false; + + meta = { + description = "A desktop wiki"; + homepage = http://zim-wiki.org; + license = stdenv.lib.licenses.gpl2Plus; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4fd7fc950ea..dc04bb7f7f3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10279,6 +10279,10 @@ let zgrviewer = callPackage ../applications/graphics/zgrviewer {}; + zim = callPackage ../applications/office/zim { + pygtk = pyGtkGlade; + }; + zotero = callPackage ../applications/office/zotero { xulrunner = xulrunner_30; }; From fa55a997015820ec54f9847f7d297c561e98629f Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 02:12:46 +0400 Subject: [PATCH 0564/2163] Load EHCI befor OHCI and UHCI; from patch by Mathnerd314 --- nixos/modules/system/boot/modprobe.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix index 652eb046f50..eaf8cf1ecd6 100644 --- a/nixos/modules/system/boot/modprobe.nix +++ b/nixos/modules/system/boot/modprobe.nix @@ -77,6 +77,11 @@ with lib; '')} ${config.boot.extraModprobeConfig} ''; + environment.etc."modprobe.d/usb-load-ehci-first.conf".text = + '' + softdep uhci_hcd pre: ehci_hcd + softdep ohci_hcd pre: ehci_hcd + ''; environment.systemPackages = [ config.system.sbin.modprobe pkgs.kmod ]; From d1db6465bbfdfc1b53d194da5783af5d77cd9025 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Tue, 2 Sep 2014 00:08:51 +0200 Subject: [PATCH 0565/2163] muparser: update from 2.2.2 to 2.2.3 --- pkgs/development/libraries/muparser/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/muparser/default.nix b/pkgs/development/libraries/muparser/default.nix index 9d9a524e86d..b68f04f642f 100644 --- a/pkgs/development/libraries/muparser/default.nix +++ b/pkgs/development/libraries/muparser/default.nix @@ -1,11 +1,14 @@ {stdenv, fetchurl, unzip}: -stdenv.mkDerivation { - name = "muparser-2.2.2"; - src = fetchurl { - url = mirror://sourceforge/muparser/muparser_v2_2_2.zip; - sha256 = "0pncvjzzbwcadgpwnq5r7sl9v5r2y9gjgfnlw0mrs9wj206dbhx9"; - }; +stdenv.mkDerivation rec { + name = "muparser-${version}"; + version = "2.2.3"; + url-version = stdenv.lib.replaceChars ["."] ["_"] version; + + src = fetchurl { + url = "mirror://sourceforge/muparser/muparser_v${url-version}.zip"; + sha256 = "00l92k231yb49wijzkspa2l58mapn6vh2dlxnlg0pawjjfv33s6z"; + }; buildInputs = [ unzip ]; From 416b20fbd5d44aea8ff76677ebf2e5ea36827724 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 03:04:17 +0400 Subject: [PATCH 0566/2163] Don't specify Perl version --- pkgs/os-specific/linux/openvswitch/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix index 6b82cc5f9b6..2e25c0383b7 100644 --- a/pkgs/os-specific/linux/openvswitch/default.nix +++ b/pkgs/os-specific/linux/openvswitch/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, python27, iproute, perl510, kernel ? null}: +{ stdenv, fetchurl, openssl, python27, iproute, perl, kernel ? null}: let version = "2.1.2"; @@ -17,7 +17,7 @@ stdenv.mkDerivation { buildInputs = [ openssl python27 - perl510 + perl ]; configureFlags = [ "--localstatedir=/var" From aaa7e89a93eb54babb8facfcd214263e907788d9 Mon Sep 17 00:00:00 2001 From: Ricky Elrod Date: Tue, 2 Sep 2014 02:51:24 -0400 Subject: [PATCH 0567/2163] [screenfetch] Bump to the stable release Signed-off-by: Ricky Elrod --- pkgs/tools/misc/screenfetch/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix index 0ebc712fcf0..826f4e4d869 100644 --- a/pkgs/tools/misc/screenfetch/default.nix +++ b/pkgs/tools/misc/screenfetch/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, xdpyinfo, xprop }: let - version = "2014-05-27"; + version = "3.6.2"; in stdenv.mkDerivation { name = "screenFetch-${version}"; @@ -9,8 +9,8 @@ stdenv.mkDerivation { src = fetchgit { url = git://github.com/KittyKatt/screenFetch.git; - rev = "69c46cb94b5765dbcb36905c5a35c42eb8e6e470"; - sha256 = "0479na831120bpyrg5nb3nb1jr8p8ahkixk1znwg730q3vdcjd6j"; + rev = "dec1cd6c2471defe4459967fbc8ae15b55714338"; + sha256 = "138a7g0za5dq27jx7x8gqg7gjkgyq0017v0nbcg68ys7dqlxsdl3"; }; installPhase = '' From cc1866eacb1a19b1d57f4737123721e797c9d9b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Tue, 2 Sep 2014 00:25:18 +0200 Subject: [PATCH 0568/2163] processing: apply patch from IRC to make it work without the IDE too --- .../graphics/processing/default.nix | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix index 7d0595134e9..ecce0e260bb 100644 --- a/pkgs/applications/graphics/processing/default.nix +++ b/pkgs/applications/graphics/processing/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, ant, jre, makeWrapper, libXxf86vm }: +{ fetchurl, stdenv, ant, jre, makeWrapper, libXxf86vm, which }: stdenv.mkDerivation rec { name = "processing-${version}"; @@ -12,20 +12,21 @@ stdenv.mkDerivation rec { # Stop it trying to download its own version of java patches = [ ./use-nixpkgs-jre.patch ]; - buildInputs = [ ant jre makeWrapper libXxf86vm ]; + buildInputs = [ ant jre makeWrapper libXxf86vm which ]; buildPhase = "cd build && ant build"; installPhase = '' + mkdir -p $out/${name} mkdir -p $out/bin - cp -r linux/work/* $out/ - sed -e "s#APPDIR=\`dirname \"\$APPDIR\"\`#APPDIR=$out#" -i $out/processing - sed -e "s#APPDIR=\`dirname \"\$APPDIR\"\`#APPDIR=$out#" -i $out/processing-java - mv $out/processing{,-java} $out/bin/ - wrapProgram $out/bin/processing --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib - wrapProgram $out/bin/processing-java --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib - mkdir $out/java - ln -s ${jre}/bin $out/java/ + cp -r linux/work/* $out/${name}/ + makeWrapper $out/${name}/processing $out/bin/processing \ + --prefix PATH : "${jre}/bin:${which}/bin" \ + --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib + makeWrapper $out/${name}/processing-java $out/bin/processing-java \ + --prefix PATH : "${jre}/bin:${which}/bin" \ + --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib + ln -s ${jre} $out/${name}/java ''; meta = with stdenv.lib; { From b56a348af7c08baa0ca46844e45d34ea67e5bfcf Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Tue, 2 Sep 2014 00:55:19 -0700 Subject: [PATCH 0569/2163] add retroarchMaster package --- pkgs/misc/emulators/retroarch/master.nix | 28 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 29 insertions(+) create mode 100644 pkgs/misc/emulators/retroarch/master.nix diff --git a/pkgs/misc/emulators/retroarch/master.nix b/pkgs/misc/emulators/retroarch/master.nix new file mode 100644 index 00000000000..44bd6649045 --- /dev/null +++ b/pkgs/misc/emulators/retroarch/master.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchgit, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit, freetype, libxml2, libv4l +, coreutils, python34, which, udev, alsaLib, libX11, libXext, libXxf86vm, libXdmcp, SDL +, pulseaudio ? null }: +stdenv.mkDerivation rec { + name = "retroarch-20140902"; + src = fetchgit { + url = git://github.com/libretro/RetroArch.git; + rev = "0856091296c2e47409f36e13007805d71db69483"; + sha256 = "152dfp6jd7yzvasqrqw4ydjbdcwq4khisia2dax3gydvxkq87nl4"; + }; + + buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils + python34 which udev alsaLib libX11 libXext libXxf86vm libXdmcp SDL pulseaudio ]; + + patchPhase = '' + export GLOBAL_CONFIG_DIR=$out/etc + sed -e 's#/bin/true#${coreutils}/bin/true#' -i qb/qb.libs.sh + ''; + + enableParallelBuilding = true; + + meta = { + homepage = http://libretro.org/; + description = "Multi-platform emulator frontend for libretro cores"; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ MP2E ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 901c80dc659..e20cd89b416 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11397,6 +11397,7 @@ let putty = callPackage ../applications/networking/remote/putty { }; retroarch = callPackage ../misc/emulators/retroarch { }; + retroarchMaster = callPackage ../misc/emulators/retroarch/master.nix { }; rssglx = callPackage ../misc/screensavers/rss-glx { }; From 13bbce96c3fefa68cb81f36e171512bf5c84fc31 Mon Sep 17 00:00:00 2001 From: Vladimir Still Date: Tue, 2 Sep 2014 10:06:04 +0200 Subject: [PATCH 0570/2163] sshd: Fix typo in assetion. --- nixos/modules/services/networking/ssh/sshd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index 956c31a8ba3..379dec2e92c 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -420,7 +420,7 @@ in }) ++ flip map cfg.listenAddresses ({ addr, port }: { assertion = addr != null; - message = "addr must be spefied in each listenAddresses entry"; + message = "addr must be specified in each listenAddresses entry"; }); }; From 73439c605320d82be97aad276329777d3689e481 Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Tue, 2 Sep 2014 01:19:44 -0700 Subject: [PATCH 0571/2163] add dolphinEmu and dolphinEmuMaster Dolphin is a high quality, open source Gamecube/Wii/Triforce emulator for Windows, Mac OS X and Linux --- pkgs/misc/emulators/dolphin-emu/default.nix | 33 ++++++++++++++++++++ pkgs/misc/emulators/dolphin-emu/master.nix | 34 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 ++ 3 files changed, 70 insertions(+) create mode 100644 pkgs/misc/emulators/dolphin-emu/default.nix create mode 100644 pkgs/misc/emulators/dolphin-emu/master.nix diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix new file mode 100644 index 00000000000..ff7a57723d3 --- /dev/null +++ b/pkgs/misc/emulators/dolphin-emu/default.nix @@ -0,0 +1,33 @@ +{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib +, gettext, git, libpthreadstubs, libXrandr, libXext, readline +, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchurl +, pulseaudio ? null }: + +stdenv.mkDerivation rec { + name = "dolphin-emu-4.0.2"; + src = fetchurl { + url = https://github.com/dolphin-emu/dolphin/archive/4.0.2.tar.gz; + sha256 = "0a8ikcxdify9d7lqz8fn2axk2hq4q1nvbcsi1b8vb9z0mdrhzw89"; + }; + + cmakeFlags = '' + -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include + -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include + -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0 + -DCMAKE_BUILD_TYPE=Release + -DENABLE_LTO=True + ''; + + enableParallelBuilding = true; + + buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib + gettext libpthreadstubs libXrandr libXext readline openal + git libXdmcp portaudio SDL wxGTK30 pulseaudio ]; + + meta = { + homepage = http://dolphin-emu.org/; + description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM"; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ MP2E ]; + }; +} diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix new file mode 100644 index 00000000000..4823d41d1ac --- /dev/null +++ b/pkgs/misc/emulators/dolphin-emu/master.nix @@ -0,0 +1,34 @@ +{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib +, gettext, git, libpthreadstubs, libXrandr, libXext, readline +, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchgit +, pulseaudio ? null }: + +stdenv.mkDerivation rec { + name = "dolphin-emu-20140902"; + src = fetchgit { + url = git://github.com/dolphin-emu/dolphin.git; + rev = "cc6db8cf26c1508ae382912bc25e64aaf12e0543"; + sha256 = "17pc4kk1v0p1llc12ifih02j2klfjz29qh8nhz5lapb0a1wr6lb3"; + }; + + cmakeFlags = '' + -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include + -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include + -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0 + -DCMAKE_BUILD_TYPE=Release + -DENABLE_LTO=True + ''; + + enableParallelBuilding = true; + + buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib + gettext libpthreadstubs libXrandr libXext readline openal + git libXdmcp portaudio SDL wxGTK30 pulseaudio ]; + + meta = { + homepage = http://dolphin-emu.org/; + description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM"; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ MP2E ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 901c80dc659..d2d0f69132c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -933,6 +933,9 @@ let dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { }; + dolphinEmu = callPackage ../misc/emulators/dolphin-emu { }; + dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix { }; + dropbear = callPackage ../tools/networking/dropbear { }; dtach = callPackage ../tools/misc/dtach { }; From f933ccd309a58d2a8fdddea3d9233bc66abc9d35 Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Tue, 2 Sep 2014 01:36:47 -0700 Subject: [PATCH 0572/2163] chocolateDoom and chocolateDoomMaster added chocolate doom is a port that aims to recreate the experience of Doom in the 1990s as accurately as possible --- pkgs/games/chocolate-doom/default.nix | 23 +++++++++++++++++++++++ pkgs/games/chocolate-doom/master.nix | 24 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 +++ 3 files changed, 50 insertions(+) create mode 100644 pkgs/games/chocolate-doom/default.nix create mode 100644 pkgs/games/chocolate-doom/master.nix diff --git a/pkgs/games/chocolate-doom/default.nix b/pkgs/games/chocolate-doom/default.nix new file mode 100644 index 00000000000..9cbc33dd955 --- /dev/null +++ b/pkgs/games/chocolate-doom/default.nix @@ -0,0 +1,23 @@ +{ stdenv, autoconf, automake, pkgconfig, SDL, SDL_mixer, SDL_net, fetchurl }: + +stdenv.mkDerivation rec { + name = "chocolate-doom-2.0.0"; + src = fetchurl { + url = https://github.com/chocolate-doom/chocolate-doom/archive/chocolate-doom-2.0.0.tar.gz; + sha256 = "1n9lkx97h987bq8z586jgissdhs07xyfr0xfdk7m2wpw4yhw10k1"; + }; + buildInputs = [ autoconf autoconf automake pkgconfig SDL SDL_mixer SDL_net ]; + patchPhase = '' + sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am + ./autogen.sh --prefix=$out + ''; + + enableParallelBuilding = true; + + meta = { + homepage = http://chocolate-doom.org/; + description = "Chocolate Doom is a Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s."; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [ MP2E ]; + }; +} diff --git a/pkgs/games/chocolate-doom/master.nix b/pkgs/games/chocolate-doom/master.nix new file mode 100644 index 00000000000..78db86ac059 --- /dev/null +++ b/pkgs/games/chocolate-doom/master.nix @@ -0,0 +1,24 @@ +{ stdenv, autoconf, automake, pkgconfig, SDL, SDL_mixer, SDL_net, git, fetchgit }: + +stdenv.mkDerivation rec { + name = "chocolate-doom-20140902"; + src = fetchgit { + url = git://github.com/fragglet/chocolate-doom.git; + rev = "204814c7bb16a8ad45435a15328072681978ea57"; + sha256 = "1xcdxpkgb9dk3zwqf4xcr3qn7dh5rx6hmniky67imbvi1h74p587"; + }; + buildInputs = [ autoconf autoconf automake pkgconfig SDL SDL_mixer SDL_net git ]; + patchPhase = '' + sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am + ./autogen.sh --prefix=$out + ''; + + enableParallelBuilding = true; + + meta = { + homepage = http://chocolate-doom.org/; + description = "Chocolate Doom is a Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s."; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [ MP2E ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 901c80dc659..b84e986b499 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -753,6 +753,9 @@ let chkrootkit = callPackage ../tools/security/chkrootkit { }; + chocolateDoom = callPackage ../games/chocolate-doom { }; + chocolateDoomMaster = callPackage ../games/chocolate-doom/master.nix { }; + chrony = callPackage ../tools/networking/chrony { }; chunkfs = callPackage ../tools/filesystems/chunkfs { }; From db64ebe167c653ef2b45bc253b6367b4e70666aa Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Tue, 2 Sep 2014 02:03:54 -0700 Subject: [PATCH 0573/2163] Add eternity engine, a Doom port by James Haley Eternity Engine is a limit removing port descended from BOOM --- pkgs/games/eternity-engine/default.nix | 29 +++++++++++++++++++++++++ pkgs/games/eternity-engine/master.nix | 30 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 +++ 3 files changed, 62 insertions(+) create mode 100644 pkgs/games/eternity-engine/default.nix create mode 100644 pkgs/games/eternity-engine/master.nix diff --git a/pkgs/games/eternity-engine/default.nix b/pkgs/games/eternity-engine/default.nix new file mode 100644 index 00000000000..2e04c76a990 --- /dev/null +++ b/pkgs/games/eternity-engine/default.nix @@ -0,0 +1,29 @@ +{ stdenv, cmake, mesa, SDL, SDL_mixer, SDL_net, fetchurl }: + +stdenv.mkDerivation rec { + name = "eternity-engine-3.40.46"; + src = fetchurl { + url = https://github.com/team-eternity/eternity/archive/3.40.46.tar.gz; + sha256 = "0jq8q0agw7lgab9q2h8wcaakvg913l9j3a6ss0hn9661plkw2yb4"; + }; + + cmakeFlags = '' + -DCMAKE_BUILD_TYPE=Release + ''; + + buildInputs = [ stdenv cmake mesa SDL SDL_mixer SDL_net ]; + + enableParallelBuilding = true; + + installPhase = '' + mkdir -p $out/bin + cp source/eternity $out/bin + ''; + + meta = { + homepage = http://doomworld.com/eternity; + description = "New school Doom port by James Haley"; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ MP2E ]; + }; +} diff --git a/pkgs/games/eternity-engine/master.nix b/pkgs/games/eternity-engine/master.nix new file mode 100644 index 00000000000..0d0f8e26b44 --- /dev/null +++ b/pkgs/games/eternity-engine/master.nix @@ -0,0 +1,30 @@ +{ stdenv, cmake, mesa, SDL, SDL_mixer, SDL_net, fetchgit }: + +stdenv.mkDerivation rec { + name = "eternity-engine-20140902"; + src = fetchgit { + url = git://github.com/team-eternity/eternity.git; + rev = "db21379abb33f6d92dc0e1665e527e4d49acc722"; + sha256 = "0k54yvxqxnd60az21b734ka3myxkqb7pjmdp3klrkfwp1kl02ysc"; + }; + + cmakeFlags = '' + -DCMAKE_BUILD_TYPE=Release + ''; + + buildInputs = [ stdenv cmake mesa SDL SDL_mixer SDL_net ]; + + enableParallelBuilding = true; + + installPhase = '' + mkdir -p $out/bin + cp source/eternity $out/bin + ''; + + meta = { + homepage = http://doomworld.com/eternity; + description = "New school Doom port by James Haley"; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ MP2E ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 901c80dc659..30f43d30059 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -993,6 +993,9 @@ let ethtool = callPackage ../tools/misc/ethtool { }; + eternity = callPackage ../games/eternity-engine { }; + eternityMaster = callPackage ../games/eternity-engine/master.nix { }; + ettercap = callPackage ../applications/networking/sniffers/ettercap { }; euca2ools = callPackage ../tools/virtualization/euca2ools { pythonPackages = python26Packages; }; From cc7fa316a4c3608cba955a4846fddcf21a2ff81b Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Tue, 2 Sep 2014 01:26:27 -0700 Subject: [PATCH 0574/2163] dolphinEmu doesn't need the git package --- pkgs/misc/emulators/dolphin-emu/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix index ff7a57723d3..812e20ebc06 100644 --- a/pkgs/misc/emulators/dolphin-emu/default.nix +++ b/pkgs/misc/emulators/dolphin-emu/default.nix @@ -1,5 +1,5 @@ { stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib -, gettext, git, libpthreadstubs, libXrandr, libXext, readline +, gettext, libpthreadstubs, libXrandr, libXext, readline , openal, libXdmcp, portaudio, SDL, wxGTK30, fetchurl , pulseaudio ? null }: From eaeee5748320ca07caad646de3e981ad9bfe8c58 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 11:20:26 +0200 Subject: [PATCH 0575/2163] gnome-tweak-tool: update 3.10.1 -> 3.12.0 --- .../desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix index 2eccb9a32cf..e424ab3635a 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix @@ -4,11 +4,11 @@ , gnome3, librsvg, gdk_pixbuf, file, libnotify }: stdenv.mkDerivation rec { - name = "gnome-tweak-tool-3.10.1"; + name = "gnome-tweak-tool-3.12.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz"; - sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec"; + url = "mirror://gnome/sources/gnome-tweak-tool/3.12/${name}.tar.xz"; + sha256 = "f8811d638797ef62500770a8dccc5bc689a427c8396a0dff8cbeddffdebf0e29"; }; doCheck = true; From 463585a5ecf33064747fe9720007416fdd6f68a5 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 11:20:26 +0200 Subject: [PATCH 0576/2163] gnome-tweak-tool: update 3.10.1 -> 3.12.0 --- .../desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix index 2eccb9a32cf..e424ab3635a 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix @@ -4,11 +4,11 @@ , gnome3, librsvg, gdk_pixbuf, file, libnotify }: stdenv.mkDerivation rec { - name = "gnome-tweak-tool-3.10.1"; + name = "gnome-tweak-tool-3.12.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz"; - sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec"; + url = "mirror://gnome/sources/gnome-tweak-tool/3.12/${name}.tar.xz"; + sha256 = "f8811d638797ef62500770a8dccc5bc689a427c8396a0dff8cbeddffdebf0e29"; }; doCheck = true; From aa8a728b047c3955f8bacda1016aeef39de90518 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 29 Aug 2014 18:18:02 +0200 Subject: [PATCH 0577/2163] Cache::Cache: Disable tests --- pkgs/top-level/perl-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a50a5617794..67accf016cc 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -480,6 +480,7 @@ let self = _self // overrides; _self = with self; { sha256 = "14s75bsm5irisp8wkbwl3ycw160srr1rks7x9jcbvcxh79wr6gbh"; }; propagatedBuildInputs = [ DigestSHA1 Error IPCShareLite ]; + doCheck = false; # randomly fails }; CacheFastMmap = buildPerlPackage rec { From ccd4a52f68479599f8bfaa2656d0c00acd1cc209 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:10:13 +0200 Subject: [PATCH 0578/2163] haskell-git-annex: update to version 5.20140831 --- .../version-management/git-and-tools/git-annex/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix index 62132271ec9..7224d8c6900 100644 --- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix @@ -17,8 +17,8 @@ cabal.mkDerivation (self: { pname = "git-annex"; - version = "5.20140817"; - sha256 = "0cly19rd250qiikzszgad2r5xz570kr00vcb8ij6icbm53pw3hxc"; + version = "5.20140831"; + sha256 = "0s2pc8bm3c79dsbafwp2pc5yghzh6vdzs9sj0mfq6rxiv27wrrwq"; isLibrary = false; isExecutable = true; buildDepends = [ From 1cac137bd799882b877778a69951cb023db80d4b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:10:24 +0200 Subject: [PATCH 0579/2163] haskell-Chart-cairo: update to version 1.3 --- pkgs/development/libraries/haskell/Chart-cairo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix index d2dea815819..28480a4d27d 100644 --- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix +++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "Chart-cairo"; - version = "1.2.4"; - sha256 = "1ggqh3v14mwv9q1pmz3hbx7g1dvibfwl1vzvag92q7432q4pqm2z"; + version = "1.3"; + sha256 = "1d8v4imbb2g30gbxj3xlm1vqc17cnqbiysxp78n3vrxnalr8s98l"; buildDepends = [ cairo Chart colour dataDefaultClass lens mtl operational time ]; From e76cc54f0c36bbfaff4e0e29d18d3cec5753f678 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:10:26 +0200 Subject: [PATCH 0580/2163] haskell-Chart-diagrams: update to version 1.3 --- .../development/libraries/haskell/Chart-diagrams/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix index 002b762fbac..ff4898eb1e7 100644 --- a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix +++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "Chart-diagrams"; - version = "1.2.4"; - sha256 = "099frqvfjqqc7h3zr52saqyg37di0klr0y649afzxd7lj3d67mvw"; + version = "1.3"; + sha256 = "1lfdv2bn942w4b0bjd6aw59wdc2jfk305ym5vm88liy9127b65bp"; buildDepends = [ blazeSvg Chart colour dataDefaultClass diagramsCore diagramsLib diagramsPostscript diagramsSvg lens mtl operational SVGFonts text @@ -20,6 +20,5 @@ cabal.mkDerivation (self: { description = "Diagrams backend for Charts"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; }; }) From ba1ccb4bf446970ad40e32e697d8cd832de63e39 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:10:29 +0200 Subject: [PATCH 0581/2163] haskell-Chart-gtk: update to version 1.3 --- pkgs/development/libraries/haskell/Chart-gtk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix index 9dbb3c8ae9a..0ce13bd8737 100644 --- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix +++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "Chart-gtk"; - version = "1.2.4"; - sha256 = "16dfmkls341cmk13j1z3rw2wxdvxr5rqsv1ff4qjhjak9j7hkqjq"; + version = "1.3"; + sha256 = "1bi7gim31w3xf6jsd2hkwhkhw1i9c4dmxnm3f46336k9rsxn59ph"; buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ]; meta = { homepage = "https://github.com/timbod7/haskell-chart/wiki"; From 7c8afa9d047f601dac68817830271c938d6bc20a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:10:31 +0200 Subject: [PATCH 0582/2163] haskell-Chart: update to version 1.3 --- pkgs/development/libraries/haskell/Chart/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix index d5696a562da..557721007ed 100644 --- a/pkgs/development/libraries/haskell/Chart/default.nix +++ b/pkgs/development/libraries/haskell/Chart/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "Chart"; - version = "1.2.4"; - sha256 = "0zizrkxsligvxs5x5r2j0pynf6ncjl4mgyzbh1zfqgnz29frylh7"; + version = "1.3"; + sha256 = "1xvr90x1kmnjfmbap47ffzi3xbawcwz7q6b76v2gbqp4gjlhiyx7"; buildDepends = [ colour dataDefaultClass lens mtl operational time ]; From 3bd01d920317564d110520f0c926007495382ddb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:10:34 +0200 Subject: [PATCH 0583/2163] haskell-c2hs: update to version 0.18.1 --- pkgs/development/libraries/haskell/c2hs/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix index 95ead17f01f..eaa91c51a23 100644 --- a/pkgs/development/libraries/haskell/c2hs/default.nix +++ b/pkgs/development/libraries/haskell/c2hs/default.nix @@ -1,18 +1,19 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, filepath, HUnit, languageC, shelly, testFramework -, testFrameworkHunit, text, yaml +{ cabal, dlist, filepath, HUnit, languageC, shelly, testFramework +, testFrameworkHunit, text, transformers, yaml }: cabal.mkDerivation (self: { pname = "c2hs"; - version = "0.17.2"; - sha256 = "1xrk0izdy5akjgmg9k4l9ccmmgv1avwh152pfpc1xm2rrwrg4bxk"; + version = "0.18.1"; + sha256 = "17miqihfidzd1nqdswnd7j0580jlv2pj19wxlx8vb3dc5wga58xd"; isLibrary = false; isExecutable = true; - buildDepends = [ filepath languageC ]; + buildDepends = [ dlist filepath languageC shelly text yaml ]; testDepends = [ - filepath HUnit shelly testFramework testFrameworkHunit text yaml + filepath HUnit shelly testFramework testFrameworkHunit text + transformers ]; jailbreak = true; doCheck = false; From 3c52c0c203de642b79deada54b5901e9d9bc682d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:10:37 +0200 Subject: [PATCH 0584/2163] haskell-doctest: update to version 0.9.11.1 --- pkgs/development/libraries/haskell/doctest/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/doctest/default.nix b/pkgs/development/libraries/haskell/doctest/default.nix index 018fac06670..af3f9e2d525 100644 --- a/pkgs/development/libraries/haskell/doctest/default.nix +++ b/pkgs/development/libraries/haskell/doctest/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "doctest"; - version = "0.9.11"; - sha256 = "04y6y5hixqh8awl37wrss20c2drvx070w7wd6icfx7r0jqds97jr"; + version = "0.9.11.1"; + sha256 = "1gzzzwr7f7281mlbfbk74nxr28l70lwfaws4xjfx2v06xazl99db"; isLibrary = true; isExecutable = true; buildDepends = [ deepseq filepath ghcPaths syb transformers ]; @@ -18,7 +18,7 @@ cabal.mkDerivation (self: { doCheck = false; noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.4"; meta = { - homepage = "https://github.com/sol/doctest-haskell#readme"; + homepage = "https://github.com/sol/doctest#readme"; description = "Test interactive Haskell examples"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; From ab5e6c2e5cf7f7539f6cd42fc890242a8ad13820 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:10:40 +0200 Subject: [PATCH 0585/2163] haskell-haddock-library: update to version 1.1.1 --- .../development/libraries/haskell/haddock-library/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/haddock-library/default.nix b/pkgs/development/libraries/haskell/haddock-library/default.nix index aece9e35873..a7041b3ba28 100644 --- a/pkgs/development/libraries/haskell/haddock-library/default.nix +++ b/pkgs/development/libraries/haskell/haddock-library/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "haddock-library"; - version = "1.1.0"; - sha256 = "0apqm9nxgxbpvcphaim93q4z67c1cd0vdjz0i1cbr67ymffl69nd"; + version = "1.1.1"; + sha256 = "0sjnmbmq1pss9ikcqnhvpf57rv78lzi1r99ywpmmvj1gyva2s31m"; buildDepends = [ deepseq ]; testDepends = [ baseCompat deepseq hspec QuickCheck ]; meta = { From 1e43fac17110c71871a11ee343397b03d295511a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:10:42 +0200 Subject: [PATCH 0586/2163] haskell-http-client: update to version 0.3.8.1 --- pkgs/development/libraries/haskell/http-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix index 7015c9446e8..6e41fb85e68 100644 --- a/pkgs/development/libraries/haskell/http-client/default.nix +++ b/pkgs/development/libraries/haskell/http-client/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "http-client"; - version = "0.3.8"; - sha256 = "0v5j6fcigjpksj1m0n15g3j680k7qkms3cqd0b1w0ma7k63kcibc"; + version = "0.3.8.1"; + sha256 = "1iy3wg88z1w0l5dzxkynlw0xd7np5xbxcrcdj3f2kzyfr39mw5v0"; buildDepends = [ base64Bytestring blazeBuilder caseInsensitive cookie dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes From 3c63776aa597c172cd2f01509fdd3c8337fc245b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:10:45 +0200 Subject: [PATCH 0587/2163] haskell-recaptcha: update to version 0.1.0.3 --- pkgs/development/libraries/haskell/recaptcha/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/recaptcha/default.nix b/pkgs/development/libraries/haskell/recaptcha/default.nix index dd92b7e79de..00fe58be4b1 100644 --- a/pkgs/development/libraries/haskell/recaptcha/default.nix +++ b/pkgs/development/libraries/haskell/recaptcha/default.nix @@ -1,12 +1,12 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, HTTP, network, xhtml }: +{ cabal, HTTP, network, networkUri, xhtml }: cabal.mkDerivation (self: { pname = "recaptcha"; - version = "0.1.0.2"; - sha256 = "04sdfp6bmcd3qkz1iqxijfiqa4qf78m5d16r9gjv90ckqf68kbih"; - buildDepends = [ HTTP network xhtml ]; + version = "0.1.0.3"; + sha256 = "18rqsqzni11nr2cvs7ah9k87w493d92c0gmc0n6fhfq6gay9ia19"; + buildDepends = [ HTTP network networkUri xhtml ]; meta = { homepage = "http://github.com/jgm/recaptcha/tree/master"; description = "Functions for using the reCAPTCHA service in web applications"; From 49c7b7040bc9cb8c989f9a0dea5ef6522bd3dc82 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:12:59 +0200 Subject: [PATCH 0588/2163] haskell-haddock: add version 2.15.0 --- .../libraries/haskell/haddock-api/default.nix | 19 ++++++++++++++++++ .../tools/documentation/haddock/2.15.0.nix | 20 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 5 ++++- 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/haskell/haddock-api/default.nix create mode 100644 pkgs/development/tools/documentation/haddock/2.15.0.nix diff --git a/pkgs/development/libraries/haskell/haddock-api/default.nix b/pkgs/development/libraries/haskell/haddock-api/default.nix new file mode 100644 index 00000000000..2f3afa32196 --- /dev/null +++ b/pkgs/development/libraries/haskell/haddock-api/default.nix @@ -0,0 +1,19 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, Cabal, deepseq, filepath, ghcPaths, haddockLibrary, xhtml +}: + +cabal.mkDerivation (self: { + pname = "haddock-api"; + version = "2.15.0"; + sha256 = "17h5h40ddn0kiqnz6rmz9p0jqvng11lq3xm6lnizwix9kcwl843b"; + buildDepends = [ + Cabal deepseq filepath ghcPaths haddockLibrary xhtml + ]; + meta = { + homepage = "http://www.haskell.org/haddock/"; + description = "A documentation-generation tool for Haskell libraries"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/documentation/haddock/2.15.0.nix b/pkgs/development/tools/documentation/haddock/2.15.0.nix new file mode 100644 index 00000000000..3b3d91a1f2f --- /dev/null +++ b/pkgs/development/tools/documentation/haddock/2.15.0.nix @@ -0,0 +1,20 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, Cabal, filepath, haddockApi }: + +cabal.mkDerivation (self: { + pname = "haddock"; + version = "2.15.0"; + sha256 = "1vay0v0a02xj2m40w71vmjadlm6pzv309r1jhr61xv1wnj88i75w"; + isLibrary = false; + isExecutable = true; + buildDepends = [ haddockApi ]; + testDepends = [ Cabal filepath ]; + preCheck = "unset GHC_PACKAGE_PATH"; + meta = { + homepage = "http://www.haskell.org/haddock/"; + description = "A documentation-generation tool for Haskell libraries"; + 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 cfb06b0880d..15f6ed71007 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2928,7 +2928,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in haddock_2_13_2 = callPackage ../development/tools/documentation/haddock/2.13.2.nix {}; haddock_2_14_2 = callPackage ../development/tools/documentation/haddock/2.14.2.nix {}; haddock_2_14_3 = callPackage ../development/tools/documentation/haddock/2.14.3.nix {}; - haddock = self.haddock_2_14_3; + haddock_2_15_0 = callPackage ../development/tools/documentation/haddock/2.15.0.nix {}; + haddock = self.haddock_2_15_0; + + haddockApi = callPackage ../development/libraries/haskell/haddock-api {}; haddockLibrary = callPackage ../development/libraries/haskell/haddock-library {}; From baa186c020edd5294d89f44e41aa6038c7e12189 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 15:19:19 +0200 Subject: [PATCH 0589/2163] haskell-directory-layout: disable test suite to fix https://github.com/supki/directory-layout/issues/9 --- pkgs/development/libraries/haskell/directory-layout/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/directory-layout/default.nix b/pkgs/development/libraries/haskell/directory-layout/default.nix index 610b1a5ec63..2cc9682dccb 100644 --- a/pkgs/development/libraries/haskell/directory-layout/default.nix +++ b/pkgs/development/libraries/haskell/directory-layout/default.nix @@ -16,6 +16,7 @@ cabal.mkDerivation (self: { commandQq doctest filepath free hspec lens semigroups temporary text transformers unorderedContainers ]; + doCheck = false; meta = { description = "Directory layout DSL"; license = self.stdenv.lib.licenses.bsd3; From 3129fb3a11051de5ace0ce25a21e02e8e481cfa8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 16:10:06 +0200 Subject: [PATCH 0590/2163] haskell-docs: broken by the recent update to Haddock 2.15 --- pkgs/development/tools/haskell/haskell-docs/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/tools/haskell/haskell-docs/default.nix b/pkgs/development/tools/haskell/haskell-docs/default.nix index b9cd34c716e..9cc92aafc21 100644 --- a/pkgs/development/tools/haskell/haskell-docs/default.nix +++ b/pkgs/development/tools/haskell/haskell-docs/default.nix @@ -20,5 +20,7 @@ cabal.mkDerivation (self: { description = "A program to find and display the docs and type of a name"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) From bf197d6f58627d8a10c11690f7e8a7b874296a00 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 1 Sep 2014 16:18:09 +0200 Subject: [PATCH 0591/2163] haskell-ncurses: broken by update of c2hs Upstream has been notified. --- pkgs/development/libraries/haskell/ncurses/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/ncurses/default.nix b/pkgs/development/libraries/haskell/ncurses/default.nix index 7e9ac0ddd95..f964af3c8b7 100644 --- a/pkgs/development/libraries/haskell/ncurses/default.nix +++ b/pkgs/development/libraries/haskell/ncurses/default.nix @@ -15,5 +15,7 @@ cabal.mkDerivation (self: { description = "Modernised bindings to GNU ncurses"; license = self.stdenv.lib.licenses.gpl3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) From 2fcbff576ad95922a66c73a7ba8551f1eab19410 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 2 Sep 2014 11:41:54 +0200 Subject: [PATCH 0592/2163] haskell-timeplot: broken by Chart update https://github.com/jkff/timeplot/issues/17 --- pkgs/development/tools/haskell/timeplot/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix index 4342b877a2e..a07383778ed 100644 --- a/pkgs/development/tools/haskell/timeplot/default.nix +++ b/pkgs/development/tools/haskell/timeplot/default.nix @@ -20,5 +20,7 @@ cabal.mkDerivation (self: { description = "A tool for visualizing time series from log files"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) From b8260f543597ab2b5a9afa5c4937934416a646a5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 2 Sep 2014 11:57:34 +0200 Subject: [PATCH 0593/2163] dolphin-emu: drop reference to git from buildInputs since it's no longer an argument to the expression after #3936 --- pkgs/misc/emulators/dolphin-emu/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix index 812e20ebc06..bf03e1e52aa 100644 --- a/pkgs/misc/emulators/dolphin-emu/default.nix +++ b/pkgs/misc/emulators/dolphin-emu/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib gettext libpthreadstubs libXrandr libXext readline openal - git libXdmcp portaudio SDL wxGTK30 pulseaudio ]; + libXdmcp portaudio SDL wxGTK30 pulseaudio ]; meta = { homepage = http://dolphin-emu.org/; From 44b58f4e7455124ec97f075755130def29a45734 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Tue, 2 Sep 2014 12:07:36 +0200 Subject: [PATCH 0594/2163] pythonPackages: add docker-py --- pkgs/top-level/python-packages.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 57032cf2ec4..3af1950f9b1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1835,6 +1835,27 @@ rec { }; }; + docker = buildPythonPackage rec { + name = "docker-py-0.4.0"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/d/docker-py/${name}.tar.gz"; + md5 = "21ab8fd729105487e6423b654d6c0860"; + }; + + propagatedBuildInputs = [ six requests ]; + + # Version conflict + doCheck = false; + + meta = { + description = "An API client for docker written in Python"; + homepage = https://github.com/docker/docker-py; + license = licenses.asl20; + }; + }; + + dogpile_cache = buildPythonPackage rec { name = "dogpile.cache-0.5.4"; From f6dd506372cf9501eb992849fd8e28ec12fa97b3 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 12:58:17 +0400 Subject: [PATCH 0595/2163] Update freeipmi --- pkgs/tools/system/freeipmi/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix index 48562adffeb..8f94b21a771 100644 --- a/pkgs/tools/system/freeipmi/default.nix +++ b/pkgs/tools/system/freeipmi/default.nix @@ -1,11 +1,12 @@ { fetchurl, stdenv, libgcrypt, readline }: stdenv.mkDerivation rec { - name = "freeipmi-1.3.4"; + version = "1.4.5"; + name = "freeipmi-${version}"; src = fetchurl { url = "mirror://gnu/freeipmi/${name}.tar.gz"; - sha256 = "0gadf3yj019y3rvgf34pxk502p0p6nrhy6nwldvvir5rknndxh63"; + sha256 = "033zakrk3kvi4y41kslicr90b3yb2kj052cl6nbja7ybn70y9nkz"; }; buildInputs = [ libgcrypt readline ]; @@ -30,10 +31,14 @@ stdenv.mkDerivation rec { ''; homepage = http://www.gnu.org/software/freeipmi/; + downloadPage = "http://www.gnu.org/software/freeipmi/download.html"; license = stdenv.lib.licenses.gpl3Plus; maintainers = with stdenv.lib.maintainers; [ raskin ]; platforms = stdenv.lib.platforms.gnu; # arbitrary choice + + updateWalker = true; + inherit version; }; } From 9668a7a63bf7f3f12404f9cd742c63a2b1e78cf4 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 12:58:32 +0400 Subject: [PATCH 0596/2163] Update getmail --- pkgs/tools/networking/getmail/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix index 6d9666506b8..8c9103790b9 100644 --- a/pkgs/tools/networking/getmail/default.nix +++ b/pkgs/tools/networking/getmail/default.nix @@ -1,12 +1,13 @@ { stdenv, fetchurl, buildPythonPackage }: buildPythonPackage rec { - name = "getmail-4.43.0"; + version = "4.46.0"; + name = "getmail-${version}"; namePrefix = ""; src = fetchurl { url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz"; - sha256 = "0abcj4d2jp9y56c85kq7265d8wcij91w9lpzib9q6j9lcs4la8hy"; + sha256 = "15rqmm25pq6ll8aaqh8h6pfdkpqs7y6yismb3h3w1bz8j292c8zl"; }; doCheck = false; @@ -15,5 +16,9 @@ buildPythonPackage rec { description = "A program for retrieving mail"; maintainers = [ stdenv.lib.maintainers.raskin stdenv.lib.maintainers.iElectric ]; platforms = stdenv.lib.platforms.linux; + + homepage = "http://pyropus.ca/software/getmail/"; + inherit version; + updateWalker = true; }; } From 23639a93fa0822168009033ae35ede874546d9cc Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 13:03:33 +0400 Subject: [PATCH 0597/2163] Update ioping --- pkgs/tools/system/ioping/default.nix | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/system/ioping/default.nix b/pkgs/tools/system/ioping/default.nix index 52d32b4e838..588da0624ce 100644 --- a/pkgs/tools/system/ioping/default.nix +++ b/pkgs/tools/system/ioping/default.nix @@ -10,16 +10,15 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="ioping"; - version="0.7"; + version = "0.8"; name="${baseName}-${version}"; url="http://ioping.googlecode.com/files/${name}.tar.gz"; - hash="1c0k9gsq7rr9fqh6znn3i196l84zsm44nq3pl1b7grsnnbp2hki3"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "0j7yal61nby1lkg9wnr6lxfljbd7wl3n0z8khqwvc9lf57bxngz2"; }; inherit (sourceInfo) name version; @@ -40,11 +39,8 @@ rec { platforms = with a.lib.platforms; linux; license = a.lib.licenses.gpl3Plus; - }; - passthru = { - updateInfo = { - downloadPage = "http://code.google.com/p/ioping/downloads/list"; - }; + downloadPage = "http://code.google.com/p/ioping/downloads/list"; + inherit version; }; }) x From 36e3de7646a8afd4a1cfc6f0b4b327f7bc9e2fb5 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 13:07:53 +0400 Subject: [PATCH 0598/2163] ioping auto-updater --- pkgs/tools/system/ioping/default.upstream | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 pkgs/tools/system/ioping/default.upstream diff --git a/pkgs/tools/system/ioping/default.upstream b/pkgs/tools/system/ioping/default.upstream new file mode 100644 index 00000000000..e51cb487852 --- /dev/null +++ b/pkgs/tools/system/ioping/default.upstream @@ -0,0 +1,5 @@ +url http://code.google.com/p/ioping/downloads/list +version_link '[.]tar[.][a-z0-9]+$' +process 'code[.]google[.]com//' '' + +do_overwrite() { do_overwrite_just_version; } From 5addaeb74f4dbb57220ebe8ad3bdd092fd48d768 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 13:08:18 +0400 Subject: [PATCH 0599/2163] More support for SF.net in auto-updater --- .../upstream-updater/update-walker-service-specific.sh | 4 ++++ pkgs/build-support/upstream-updater/update-walker.sh | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh index 28c28f69587..b66001073f2 100644 --- a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh +++ b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh @@ -8,6 +8,10 @@ SF_version_dir () { version_link 'http://sourceforge.net/.+/'"$1"'[0-9.]+/$' } +SF_version_tarball () { + version_link '[.]tar[.].*/download$' +} + GH_latest () { prefetch_command_rel ../fetchgit/nix-prefetch-git revision "$("$(dirname "$0")/urls-from-page.sh" "$CURRENT_URL/commits" | grep /commit/ | head -n 1 | xargs basename )" diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh index e11eb722e0e..e60499b60f2 100755 --- a/pkgs/build-support/upstream-updater/update-walker.sh +++ b/pkgs/build-support/upstream-updater/update-walker.sh @@ -280,6 +280,12 @@ do_overwrite_just_version () { set_var_value sha256 $CURRENT_HASH } +minimize_overwrite() { + do_overwrite(){ + do_overwrite_just_version + } +} + process_config () { CONFIG_DIR="$(directory_of "$1")" CONFIG_NAME="$(basename "$1")" @@ -297,9 +303,7 @@ process_config () { exit 1; } [ -z "$(retrieve_meta fullRegenerate)" ] && eval " - do_overwrite(){ - do_overwrite_just_version - } + minimize_overwrite " fi ensure_attribute_name From 1d7f18798ee74d9ad099d97f4cfbfce139b7b63f Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 13:09:44 +0400 Subject: [PATCH 0600/2163] Update ipmiutil --- pkgs/tools/system/ipmiutil/default.nix | 12 ++++-------- pkgs/tools/system/ipmiutil/default.upstream | 4 ++++ 2 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 pkgs/tools/system/ipmiutil/default.upstream diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix index c5f33c32359..6590b1ad209 100644 --- a/pkgs/tools/system/ipmiutil/default.nix +++ b/pkgs/tools/system/ipmiutil/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { baseName = "ipmiutil"; - version = "2.9.3"; + version = "2.7.3"; name = "${baseName}-${version}"; src = fetchurl { url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz"; - sha256 = "1dwyxp4jn5wxzyahd0x839kj1q7z6xin1wybpx9na4xsgscj6v27"; + sha256 = "0z6ykz5db4ws7hpi25waf9vznwsh0vp819h5s7s8r054vxslrfpq"; }; buildInputs = [ openssl ]; @@ -26,11 +26,7 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; license = licenses.bsd3; - }; - - passthru = { - updateInfo = { - downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/"; - }; + downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/"; + inherit version; }; } diff --git a/pkgs/tools/system/ipmiutil/default.upstream b/pkgs/tools/system/ipmiutil/default.upstream new file mode 100644 index 00000000000..18dc096a36b --- /dev/null +++ b/pkgs/tools/system/ipmiutil/default.upstream @@ -0,0 +1,4 @@ +url http://sourceforge.net/projects/ipmiutil/files/ipmiutil/ +SF_version_tarball +SF_redirect +minimize_overwrite From 6d7c2c785821b08f69f558049610d253fc777773 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 13:16:25 +0400 Subject: [PATCH 0601/2163] Update ised --- pkgs/tools/misc/ised/default.nix | 11 +++-------- pkgs/tools/misc/ised/default.upstream | 4 ++++ 2 files changed, 7 insertions(+), 8 deletions(-) create mode 100644 pkgs/tools/misc/ised/default.upstream diff --git a/pkgs/tools/misc/ised/default.nix b/pkgs/tools/misc/ised/default.nix index 02cb65b1060..96acc6c8ab9 100644 --- a/pkgs/tools/misc/ised/default.nix +++ b/pkgs/tools/misc/ised/default.nix @@ -10,16 +10,15 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="ised"; - version="2.5.0"; + version = "2.6.0"; name="${baseName}-${version}"; url="mirror://sourceforge/project/ised/${name}.tar.bz2"; - hash="1avfb4ivq6iz50rraci0pcxl0w94899sz6icdqc0l4954y4zs8qd"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "0rf9brqkrad8f3czpfc1bxq9ybv3nxci9276wdxas033c82cqkjs"; }; inherit (sourceInfo) name version; @@ -37,11 +36,7 @@ rec { platforms = with a.lib.platforms; linux; license = a.lib.licenses.gpl3Plus; - }; - passthru = { - updateInfo = { - downloadPage = "ised.sf.net"; - }; + inherit version; }; }) x diff --git a/pkgs/tools/misc/ised/default.upstream b/pkgs/tools/misc/ised/default.upstream new file mode 100644 index 00000000000..6539bf477e5 --- /dev/null +++ b/pkgs/tools/misc/ised/default.upstream @@ -0,0 +1,4 @@ +url http://ised.sourceforge.net/web_nav.html +SF_version_tarball +SF_redirect +minimize_overwrite From ee713859f4017aececc4025f11d1874d1e930690 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 13:25:05 +0400 Subject: [PATCH 0602/2163] Update libosip --- pkgs/development/libraries/osip/default.nix | 5 +++-- pkgs/development/libraries/osip/default.upstream | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/osip/default.upstream diff --git a/pkgs/development/libraries/osip/default.nix b/pkgs/development/libraries/osip/default.nix index cfa838f5a37..4db1cb5b524 100644 --- a/pkgs/development/libraries/osip/default.nix +++ b/pkgs/development/libraries/osip/default.nix @@ -1,9 +1,9 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - version = "4.0.0"; + version = "4.1.0"; src = fetchurl { url = "mirror://gnu/osip/libosip2-${version}.tar.gz"; - sha256 = "05dhj4s5k4qmhn2amca070xgh1gkcl42n040fhwsn3vm86524bdv"; + sha256 = "014503kqv7z63az6lgxr5fbajlrqylm5c4kgbf8p3a0n6cva0slr"; }; name = "libosip2-${version}"; @@ -13,5 +13,6 @@ stdenv.mkDerivation rec { description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)"; maintainers = with stdenv.lib.maintainers; [ raskin ]; platforms = stdenv.lib.platforms.linux; + inherit version; }; } diff --git a/pkgs/development/libraries/osip/default.upstream b/pkgs/development/libraries/osip/default.upstream new file mode 100644 index 00000000000..ba0ed2a9b29 --- /dev/null +++ b/pkgs/development/libraries/osip/default.upstream @@ -0,0 +1,3 @@ +url http://ftp.u-tx.net/gnu/osip/ +attribute_name libosip +minimize_overwrite From bacd3e852dbd11fd24f3013e0535ac9d1af19e36 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 13:41:46 +0400 Subject: [PATCH 0603/2163] Update pari --- pkgs/applications/science/math/pari/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix index 576a28b054f..e59bb9fe666 100644 --- a/pkgs/applications/science/math/pari/default.nix +++ b/pkgs/applications/science/math/pari/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, gmp, readline }: stdenv.mkDerivation rec { - name = "pari-2.5.5"; + version = "2.7.1"; + name = "pari-${version}"; src = fetchurl { url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz"; - sha256 = "058nw1fhggy7idii4f124ami521lv3izvngs9idfz964aks8cvvn"; + sha256 = "1gj1rddi22hinzwy7r6hljgbi252wwwyd6gapg4hvcn0ycc7jqyc"; }; buildInputs = [gmp readline]; @@ -21,5 +22,9 @@ stdenv.mkDerivation rec { license = "GPLv2+"; maintainers = with stdenv.lib.maintainers; [ertes raskin]; platforms = stdenv.lib.platforms.linux; + + inherit version; + downloadPage = "http://pari.math.u-bordeaux.fr/download.html"; + updateWalker = true; }; } From 3ba3ec0f8fb68f4c0f9b731af4dadf3f3686def5 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 13:48:05 +0400 Subject: [PATCH 0604/2163] Update Regina-REXX --- pkgs/development/interpreters/regina/default.nix | 12 ++++-------- .../development/interpreters/regina/default.upstream | 5 +++++ 2 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/interpreters/regina/default.upstream diff --git a/pkgs/development/interpreters/regina/default.nix b/pkgs/development/interpreters/regina/default.nix index d8b3558be4f..992f7281554 100644 --- a/pkgs/development/interpreters/regina/default.nix +++ b/pkgs/development/interpreters/regina/default.nix @@ -12,16 +12,15 @@ let sourceInfo = rec { baseName="Regina-REXX"; pname="regina-rexx"; - version="3.5"; + version = "3.8.2"; name="${baseName}-${version}"; url="mirror://sourceforge/${pname}/${pname}/${version}/${name}.tar.gz"; - hash="0gh0k6lbhfixs44adha7lxirl3a08jabdylzr6m7mh5q5fhzv5f8"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "06vr6p9pqr5zzsxm1l9iwb2w9z8qkm971c2knh0vf5bbm6znjz35"; }; inherit (sourceInfo) name version; @@ -43,11 +42,8 @@ rec { platforms = with a.lib.platforms; linux; license = a.lib.licenses.lgpl2; - }; - passthru = { - updateInfo = { - downloadPage = "http://sourceforge.net/projects/regina-rexx/files/regina-rexx/"; - }; + downloadPage = "http://sourceforge.net/projects/regina-rexx/files/regina-rexx/"; + inherit version; }; }) x diff --git a/pkgs/development/interpreters/regina/default.upstream b/pkgs/development/interpreters/regina/default.upstream new file mode 100644 index 00000000000..7b3c6905a1c --- /dev/null +++ b/pkgs/development/interpreters/regina/default.upstream @@ -0,0 +1,5 @@ +url http://sourceforge.net/projects/regina-rexx/files/regina-rexx/ +SF_version_dir +SF_version_tarball +SF_redirect +minimize_overwrite From f78afc0b27622372ad485466509a6cc377c172bf Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 14:15:10 +0400 Subject: [PATCH 0605/2163] Update libefw. Releases on Google Drive. Ouch --- pkgs/development/libraries/libewf/default.nix | 13 ++++++++----- pkgs/development/libraries/libewf/default.upstream | 7 +++++++ 2 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/libraries/libewf/default.upstream diff --git a/pkgs/development/libraries/libewf/default.nix b/pkgs/development/libraries/libewf/default.nix index 7c948aa9824..fad0170ade7 100644 --- a/pkgs/development/libraries/libewf/default.nix +++ b/pkgs/development/libraries/libewf/default.nix @@ -1,10 +1,11 @@ -{ fetchurl, stdenv, zlib, openssl, libuuid, file }: +{ fetchurl, stdenv, zlib, openssl, libuuid, file, fuse }: stdenv.mkDerivation rec { - name = "libewf-20100226"; + version = "20140608"; + name = "libewf-${version}"; src = fetchurl { - url = "mirror://sourceforge/libewf/${name}.tar.gz"; - sha256 = "aedd2a6b3df6525ff535ab95cd569ebb361a4022eb4163390f26257913c2941a"; + url = "https://googledrive.com/host/0B3fBvzttpiiSMTdoaVExWWNsRjg/libewf-20140608.tar.gz"; + sha256 = "0wfsffzxk934hl8cpwr14w8ixnh8d23x0xnnzcspjwi2c7730h6i"; }; preConfigure = ''sed -e 's@/usr/bin/file@file@g' -i configure''; @@ -14,6 +15,8 @@ stdenv.mkDerivation rec { meta = { description = "Library for support of the Expert Witness Compression Format"; homepage = http://sourceforge.net/projects/libewf/; - license = "free"; + license = stdenv.lib.licenses.lgpl3; + maintainers = [ stdenv.lib.maintainers.raskin ] ; + inherit version; }; } diff --git a/pkgs/development/libraries/libewf/default.upstream b/pkgs/development/libraries/libewf/default.upstream new file mode 100644 index 00000000000..a071132463f --- /dev/null +++ b/pkgs/development/libraries/libewf/default.upstream @@ -0,0 +1,7 @@ +url https://code.google.com/p/libewf/ +version_link 'googledrive[.]com' +version_link '[.]tar[.]' +do_overwrite () { + do_overwrite_just_version + set_var_value url "$CURRENT_URL" +} From 7b6d33a591a541af26564fd5e3312fbc4782d387 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 14:15:51 +0400 Subject: [PATCH 0606/2163] Update spandsp --- pkgs/development/libraries/spandsp/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix index f88ab48e027..24dc443ca70 100644 --- a/pkgs/development/libraries/spandsp/default.nix +++ b/pkgs/development/libraries/spandsp/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, audiofile, libtiff}: stdenv.mkDerivation rec { - version = "0.0.5"; + version = "0.0.6"; name = "spandsp-${version}"; src=fetchurl { - url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tgz"; - sha256 = "07f42a237c77b08fa765c3a148c83cdfa267bf24c0ab681d80b90d30dd0b3dbf"; + url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz"; + sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"; }; buildInputs = []; propagatedBuildInputs = [audiofile libtiff]; @@ -13,6 +13,9 @@ stdenv.mkDerivation rec { platforms = with stdenv.lib.platforms; linux; maintainers = with stdenv.lib.maintainers; [raskin]; license = with stdenv.lib.licenses; gpl2; + downloadPage = "http://www.soft-switch.org/downloads/spandsp/"; + inherit version; + updateWalker = true; }; } From 0d8c76057fa561407d4f23e1b903cd1927f56efa Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 14:17:59 +0400 Subject: [PATCH 0607/2163] Update Wavemon --- pkgs/tools/networking/wavemon/default.nix | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/networking/wavemon/default.nix b/pkgs/tools/networking/wavemon/default.nix index e9c102817e1..b5927fd2478 100644 --- a/pkgs/tools/networking/wavemon/default.nix +++ b/pkgs/tools/networking/wavemon/default.nix @@ -11,16 +11,15 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="wavemon"; - version="0.7.5"; + version = "0.7.6"; name="${baseName}-${version}"; url="http://eden-feed.erg.abdn.ac.uk/wavemon/stable-releases/${name}.tar.bz2"; - hash="0b1fx00aar2fsw49a10w5bpiyjpz8h8f4nrlwb1acfw36yi1pfkd"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "18cwlzgmwzy7z9dfr6lwd8kmkv0pqiihizm4gi0kkm52bzz6836y"; }; inherit (sourceInfo) name version; @@ -38,11 +37,9 @@ rec { platforms = with a.lib.platforms; linux; license = a.lib.licenses.gpl2Plus; - }; - passthru = { - updateInfo = { - downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/"; - }; + downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/"; + inherit version; + updateWalker = true; }; }) x From 85caa0942d2a468782d83e21d8cf4a6ed98e5415 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 14:18:19 +0400 Subject: [PATCH 0608/2163] Update SleuthKit --- pkgs/tools/system/sleuthkit/default.nix | 6 ++++-- pkgs/tools/system/sleuthkit/default.upstream | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 pkgs/tools/system/sleuthkit/default.upstream diff --git a/pkgs/tools/system/sleuthkit/default.nix b/pkgs/tools/system/sleuthkit/default.nix index 0148e3c699e..016e2ccda37 100644 --- a/pkgs/tools/system/sleuthkit/default.nix +++ b/pkgs/tools/system/sleuthkit/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, libewf, afflib, openssl, zlib }: stdenv.mkDerivation rec { - name = "sleuthkit-3.2.2"; + version = "4.1.3"; + name = "sleuthkit-${version}"; src = fetchurl { url = "mirror://sourceforge/sleuthkit/${name}.tar.gz"; - sha256 = "02hik5xvbgh1dpisvc3wlhhq1aprnlsk0spbw6h5khpbq9wqnmgj"; + sha256 = "09q3ky4rpv18jasf5gc2hlivzadzl70jy4nnk23db1483aix5yb7"; }; enableParallelBuilding = true; @@ -20,5 +21,6 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.raskin ]; platforms = stdenv.lib.platforms.linux; license = "IBM Public License"; + inherit version; }; } diff --git a/pkgs/tools/system/sleuthkit/default.upstream b/pkgs/tools/system/sleuthkit/default.upstream new file mode 100644 index 00000000000..f8ffe9352ed --- /dev/null +++ b/pkgs/tools/system/sleuthkit/default.upstream @@ -0,0 +1,5 @@ +url http://sourceforge.net/projects/sleuthkit/files/sleuthkit/ +SF_version_dir +SF_version_tarball +SF_redirect +minimize_overwrite From 10b4bc3c439c0d37c833d7a00f52673759d9b3b4 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 14:22:49 +0400 Subject: [PATCH 0609/2163] Update XDaliClock --- pkgs/tools/misc/xdaliclock/default.nix | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/misc/xdaliclock/default.nix b/pkgs/tools/misc/xdaliclock/default.nix index 79c6a743bce..df1a7eedeff 100644 --- a/pkgs/tools/misc/xdaliclock/default.nix +++ b/pkgs/tools/misc/xdaliclock/default.nix @@ -12,17 +12,16 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="xdaliclock"; - version="2.40"; + version = "2.41"; name="${baseName}-${version}"; project="${baseName}"; url="http://www.jwz.org/${project}/${name}.tar.gz"; - hash="03i8vwi9vz3gr938wr4miiymwv283mg11wgfaf2jhl6aqbmz4id7"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "1crkjvza692irkqm9vwgn58m8ps93n0rxigm6pasgl5dnx3p6d1d"; }; inherit (sourceInfo) name version; @@ -46,10 +45,8 @@ rec { platforms = with a.lib.platforms; linux ++ freebsd; license = "free"; #TODO BSD on Gentoo, looks like MIT - }; - passthru = { - updateInfo = { - downloadPage = "http://www.jwz.org/xdaliclock/"; - }; + downloadPage = "http://www.jwz.org/xdaliclock/"; + inherit version; + updateWalker = true; }; }) x From 48dce0642bef6481a934ae19c6db514f12cb5c10 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 14:25:04 +0400 Subject: [PATCH 0610/2163] Add auto-updater for XScreensaver --- pkgs/misc/screensavers/xscreensaver/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix index 04791749810..40fad768b16 100644 --- a/pkgs/misc/screensavers/xscreensaver/default.nix +++ b/pkgs/misc/screensavers/xscreensaver/default.nix @@ -41,5 +41,8 @@ stdenv.mkDerivation rec { description = "A set of screensavers"; maintainers = with stdenv.lib.maintainers; [ raskin urkud ]; platforms = with stdenv.lib.platforms; allBut cygwin; + inherit version; + downloadPage = "http://www.jwz.org/xscreensaver/download.html"; + updateWalker = true; }; } From 2fc76ea05417671306d27f9ba83ef1b8d4049f3d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 2 Sep 2014 12:28:56 +0200 Subject: [PATCH 0611/2163] haskell-auto-update: disable test suite to work around build failure https://github.com/yesodweb/wai/issues/285 --- pkgs/development/libraries/haskell/auto-update/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/auto-update/default.nix b/pkgs/development/libraries/haskell/auto-update/default.nix index e047e938dae..85f15b500ed 100644 --- a/pkgs/development/libraries/haskell/auto-update/default.nix +++ b/pkgs/development/libraries/haskell/auto-update/default.nix @@ -7,6 +7,7 @@ cabal.mkDerivation (self: { version = "0.1.1.2"; sha256 = "0901zqky70wyxl17vwz6smhnpsfjnsk0f2xqiyz902vl7apx66c6"; testDepends = [ hspec ]; + doCheck = false; meta = { homepage = "https://github.com/yesodweb/wai"; description = "Efficiently run periodic, on-demand actions"; From 6329b7ae600105227bf13498a23ce328a98554c0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 2 Sep 2014 12:44:44 +0200 Subject: [PATCH 0612/2163] Drop unnecessary attributes --- pkgs/development/libraries/serf/default.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix index 873f59dba3a..1e8eec6ae45 100644 --- a/pkgs/development/libraries/serf/default.nix +++ b/pkgs/development/libraries/serf/default.nix @@ -1,8 +1,7 @@ { stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig }: stdenv.mkDerivation rec { - version = "1.3.7"; - name = "serf-${version}"; + name = "serf-1.3.7"; src = fetchurl { url = "http://serf.googlecode.com/svn/src_releases/${name}.tar.bz2"; @@ -28,11 +27,8 @@ stdenv.mkDerivation rec { meta = { description = "HTTP client library based on APR"; - license = stdenv.lib.licenses.asl20 ; + license = stdenv.lib.licenses.asl20; maintainers = [stdenv.lib.maintainers.raskin]; hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; - inherit version; - downloadPage = "http://serf.googlecode.com/svn/src_releases/"; - updateWalker = true; }; } From ac9cb299355fb082c0b9ee1950606dcc5e82fc08 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:53:33 +0200 Subject: [PATCH 0613/2163] gnome3_12.clutter-gst: update from 2.0.10 to 2.0.12 --- pkgs/development/libraries/clutter-gst/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix index c73aac074e7..7cef673dbc6 100644 --- a/pkgs/development/libraries/clutter-gst/default.nix +++ b/pkgs/development/libraries/clutter-gst/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl }: stdenv.mkDerivation rec { - name = "clutter-gst-2.0.10"; + name = "clutter-gst-2.0.12"; src = fetchurl { url = "mirror://gnome/sources/clutter-gst/2.0/${name}.tar.xz"; - sha256 = "f00cf492a6d4f1036c70d8a0ebd2f0f47586ea9a9b49b1ffda79c9dc7eadca00"; + sha256 = "1dgzpd5l5ld622b8185c3khvvllm5hfvq4q1a1mgzhxhj8v4bwf2"; }; propagatedBuildInputs = [ clutter gtk3 glib cogl ]; From df6d65ad550f5f6dc76f4889dc74eb621744a663 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:53:41 +0200 Subject: [PATCH 0614/2163] gnome3_12.empathy: update from 3.12.2 to 3.12.5 --- pkgs/desktops/gnome-3/3.12/core/empathy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix index 7fb341948be..c6ac93b1074 100644 --- a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix @@ -11,11 +11,11 @@ # TODO: enable more features stdenv.mkDerivation rec { - name = "empathy-3.12.2"; + name = "empathy-3.12.5"; src = fetchurl { url = "mirror://gnome/sources/empathy/3.12/${name}.tar.xz"; - sha256 = "414d0c6b1a30b1afbf35ad04b0b9ff3ada3e06fab797a50a7147cdfe0905e7cd"; + sha256 = "0rhgpiv75aafmdh6r7d4ci59lnxqmmwg9hvsa5b3mk7j2d2pma86"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard From 64746e1f24d073e958ff16b42d17be73751c68fe Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:53:49 +0200 Subject: [PATCH 0615/2163] gnome3_12.evolution: update from 3.12.2 to 3.12.5 --- pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix index f9fbbbe56c6..8cba366faae 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix @@ -5,11 +5,11 @@ , libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit }: stdenv.mkDerivation rec { - name = "evolution-3.12.2"; + name = "evolution-3.12.5"; src = fetchurl { url = "mirror://gnome/sources/evolution/3.12/${name}.tar.xz"; - sha256 = "60742334aaf1e3b9f044c2003c44a37be5905b166e24580e9e6e6c5ae1b9f948"; + sha256 = "08y1qiydbbk4fq8rrql9sgbwsny8bwz6f7m5kbbj5zjqvf1baksj"; }; doCheck = true; From de51a490f5039b950b8742b8c2dd78089fb0b6a3 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:54:01 +0200 Subject: [PATCH 0616/2163] gnome3_12.folks: update from 0.9.6 to 0.9.8 --- pkgs/desktops/gnome-3/3.12/core/folks/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix index 47b958002a3..7e3af8405a4 100644 --- a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix @@ -5,11 +5,11 @@ # TODO: enable more folks backends stdenv.mkDerivation rec { - name = "folks-0.9.6"; + name = "folks-0.9.8"; src = fetchurl { url = "mirror://gnome/sources/folks/0.9/${name}.tar.xz"; - sha256 = "a67e055b5a2724a34a80946e2940c4c0ad708cb1f4e0a09407c6b69a5e40267f"; + sha256 = "09cbs3ihcswpi1wg8xbjmkqjbhnxa1idy1fbzmz0gah7l5mxmlfj"; }; propagatedBuildInputs = [ glib gnome3.libgee sqlite ]; From f3bc1dc2632ffa8b46055ea088a400f993b4830f Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:54:08 +0200 Subject: [PATCH 0617/2163] gnome3_12.geary: update from 0.6.0 to 0.6.2 --- pkgs/desktops/gnome-3/3.12/misc/geary/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix index 1eb6c0e3ed2..768e8bdb36e 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix @@ -5,11 +5,11 @@ , gnome3, librsvg, gnome_doc_utils, webkitgtk }: stdenv.mkDerivation rec { - name = "geary-0.6.0"; + name = "geary-0.6.2"; src = fetchurl { url = "mirror://gnome/sources/geary/0.6/${name}.tar.xz"; - sha256 = "44ad1dc2c81c50006c751f8e72aa817f07002188da4c29e158060524a1962715"; + sha256 = "0ap40mpj89sx82kcxlhl9gipq34ks2b70yhiv9s8zc5wg0nm7rpg"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; From f08c327ab2dc69b0151d6d589e7732c5655efdfd Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:54:14 +0200 Subject: [PATCH 0618/2163] gnome3_12.gedit: update from 3.12.1 to 3.12.2 --- pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix index 0909a4239db..c65a28c3446 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix @@ -4,11 +4,11 @@ , gnome3, librsvg, gdk_pixbuf, file }: stdenv.mkDerivation rec { - name = "gedit-3.12.1"; + name = "gedit-3.12.2"; src = fetchurl { url = "mirror://gnome/sources/gedit/3.12/${name}.tar.xz"; - sha256 = "8e3edc62102934a8be708b0fdf27b86368fa9ede885628283bf8e91b26bbb67f"; + sha256 = "0lxnswqa0ysr57cqh062wp41sd76p6q7y3mnkl7rligd5c8hnikm"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; From 95dffc12e8049b0caa8c8490fdfde6adbd154b22 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:54:22 +0200 Subject: [PATCH 0619/2163] gnome3_12.gnome-calculator: update from 3.12.1 to 3.12.3 --- pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix index 666032f56a7..19d0c9c10e8 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix @@ -3,11 +3,11 @@ , itstool, gnome3, librsvg, gdk_pixbuf }: stdenv.mkDerivation rec { - name = "gnome-calculator-3.12.1"; + name = "gnome-calculator-3.12.3"; src = fetchurl { url = "mirror://gnome/sources/gnome-calculator/3.12/${name}.tar.xz"; - sha256 = "15a75bbe19f6d2280d864f0504f6fc5b1f148fea9738b5548b64b7b8c0c64740"; + sha256 = "0bn3agh3g22iradfpzkc19a2b33b1mbf0ciy1hf2sijrczi24410"; }; NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; From ac7f0a8cf257f1f2dd589d57e332da47fb216f3b Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:54:30 +0200 Subject: [PATCH 0620/2163] gnome3_12.gnome-music: update from 3.12.2 to 3.12.2.1 --- pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix index d784544a183..c5f9bdb2774 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix @@ -4,11 +4,11 @@ , makeWrapper, itstool, gnome3, librsvg, gst_all_1 }: stdenv.mkDerivation rec { - name = "gnome-music-3.12.2"; + name = "gnome-music-3.12.2.1"; src = fetchurl { url = "mirror://gnome/sources/gnome-music/3.12/${name}.tar.xz"; - sha256 = "ec4807018166aabed0263cb3ffce672e1fc1a3e959f48a5ad48b8eb08ddb451a"; + sha256 = "1vwzjv5001pg37qc0sh4ph3srqwg3vgibbdlqpim9w2k70l9j34z"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; From b00b560dba7477bdfa20b18e2b0a9bb4b504ddf5 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:54:38 +0200 Subject: [PATCH 0621/2163] gnome3_12.gnome-user-docs: update from 3.12.1 to 3.12.2 --- pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix index 7377c839d1c..2a237b15c21 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }: stdenv.mkDerivation rec { - name = "gnome-user-docs-3.12.1"; + name = "gnome-user-docs-3.12.2"; src = fetchurl { url = "mirror://gnome/sources/gnome-user-docs/3.12/${name}.tar.xz"; - sha256 = "bfd084d72c688d6efb0c34bb572a704cc2ce093c97a33390eaffb5e42158d418"; + sha256 = "1cj45lpa74vkbxyila3d6pn5m1gh51nljp9fjirxmzwi1h6wg7jd"; }; buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ]; From 4426b5aca7e05e78c10a0ebaedaa6dd0e99c8907 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:55:33 +0200 Subject: [PATCH 0622/2163] grilo: update from 0.2.10 to 0.2.11 --- pkgs/desktops/gnome-3/3.12/core/grilo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix index 6f1bfbbcfe9..9c0e3f9a0bc 100644 --- a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix @@ -2,11 +2,11 @@ , libxml2, gnome3, gobjectIntrospection, libsoup }: stdenv.mkDerivation rec { - name = "grilo-0.2.10"; + name = "grilo-0.2.11"; src = fetchurl { url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz"; - sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25"; + sha256 = "8a52c37521de80d6caf08a519a708489b9e2b097c2758a0acaab6fbd26d30ea6"; }; configureFlags = [ "--enable-grl-pls" "--enable-grl-net" ]; From 7cb6d4cd87702dd5f61487431d846d318b91fb05 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:55:46 +0200 Subject: [PATCH 0623/2163] gnome3_12.grilo-plugins: update from 0.2.12 to 0.2.13 --- pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix index a8a1c244767..9076d5c5839 100644 --- a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix @@ -3,11 +3,11 @@ , gmime, json_glib, avahi, tracker, itstool }: stdenv.mkDerivation rec { - name = "grilo-plugins-0.2.12"; + name = "grilo-plugins-0.2.13"; src = fetchurl { url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz"; - sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48"; + sha256 = "008jwm5ydl0k25p3d2fkcail40fj9y3qknihxb5fg941p8qlhm55"; }; installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ]; From 70991e666e44d8ee314bda3ee6a4315f5e064632 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:55:54 +0200 Subject: [PATCH 0624/2163] gnome3_12.gtksourceview: update from 3.12.2 to 3.12.3 --- pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix index 4564b0d21e1..8a89425a696 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "gtksourceview-${version}"; - version = "3.12.2"; + version = "3.12.3"; src = fetchurl { url = "mirror://gnome/sources/gtksourceview/3.12/gtksourceview-${version}.tar.xz"; - sha256 = "62a31eee00f633d7959efb7eec44049ebd0345d670265853dcd21c057f3f30ad"; + sha256 = "1xzmw9n9zbkaasl8xi7s5h49wiv5dq4qf8hr2pzjkack3ai5j6gk"; }; buildInputs = [ pkgconfig atk cairo glib gtk3 pango From f02ab3f9c4f4afa08c2b32f4fea74241d9800327 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:56:01 +0200 Subject: [PATCH 0625/2163] gnome3_12.totem: update from 3.12.1 to 3.12.2 --- pkgs/desktops/gnome-3/3.12/core/totem/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix index 3589299df3e..1322fdcaae3 100644 --- a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix @@ -5,11 +5,11 @@ , gnome3, librsvg, gdk_pixbuf, file }: stdenv.mkDerivation rec { - name = "totem-3.12.1"; + name = "totem-3.12.2"; src = fetchurl { url = "mirror://gnome/sources/totem/3.12/${name}.tar.xz"; - sha256 = "dd168cdd4051d01131d47c24fa45bfd08b6ccf45900ac4b64bae47f6f47a35e3"; + sha256 = "1law033wxbs8v3l2fk0p1v8lf9m45dm997yhq0cmqgw10jxxiybn"; }; doCheck = true; From 12018a0df9b2d33e4c0c8ec4366382211447a54d Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:56:07 +0200 Subject: [PATCH 0626/2163] gnome3_12.tracker: update from 1.0.1 to 1.0.3, potentially fixes CVE-2012-2671, CVE-2012-6109 --- pkgs/desktops/gnome-3/3.12/core/tracker/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix index 79155fe9b56..cf84f511416 100644 --- a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix @@ -8,11 +8,11 @@ , libpng, libexif, libgsf, libuuid, bzip2 }: stdenv.mkDerivation rec { - name = "tracker-1.0.1"; + name = "tracker-1.0.3"; src = fetchurl { url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz"; - sha256 = "76e7918e62526a8209f9c9226f82abe592a6332826ac7c12e6e405063181e889"; + sha256 = "11pqcldgh07mjn38dlbj6ry5qkfbpf79ln5sqx7q86hhqzh3712h"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; From 17e96cd1a3d09e250b5a067a4402c01966adf832 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:57:10 +0200 Subject: [PATCH 0627/2163] vte: update from 0.36.2 to 0.36.3 --- pkgs/desktops/gnome-3/3.12/core/vte/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix index 41597e47fa5..011424820e8 100644 --- a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix @@ -3,14 +3,14 @@ stdenv.mkDerivation rec { versionMajor = "0.36"; - versionMinor = "2"; + versionMinor = "3"; moduleName = "vte"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "f45eed3aed823068c7563345ea947be0e6ddb3dacd74646e6d7d26a921e04345"; + sha256 = "54e5b07be3c0f7b158302f54ee79d4de1cb002f4259b6642b79b1e0e314a959c"; }; buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ]; From 8a4a0a5aa077298bc87cc3547789339fcaa139c2 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 2 Sep 2014 12:58:06 +0200 Subject: [PATCH 0628/2163] json-glib: update from 1.0.0 to 1.0.2 --- pkgs/development/libraries/json-glib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix index 7a45ca0f227..a50163c601d 100644 --- a/pkgs/development/libraries/json-glib/default.nix +++ b/pkgs/development/libraries/json-glib/default.nix @@ -7,9 +7,9 @@ stdenv.mkDerivation rec { project = "json-glib"; major = "1"; minor = "0"; - patchlevel = "0"; + patchlevel = "2"; extension = "xz"; - sha256 = "dbf558d2da989ab84a27e4e13daa51ceaa97eb959c2c2f80976c9322a8f4cdde"; + sha256 = "887bd192da8f5edc53b490ec51bf3ffebd958a671f5963e4f3af32c22e35660a"; }; configureflags= "--with-introspection" ; From 9d64b445b61f71b13f9803cf0313ebd77dda4499 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 2 Sep 2014 13:07:49 +0200 Subject: [PATCH 0629/2163] swig: Disable ccache stuff http://hydra.nixos.org/build/13936297 --- pkgs/development/tools/misc/swig/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix index 66d6b65453e..c4fcd315845 100644 --- a/pkgs/development/tools/misc/swig/default.nix +++ b/pkgs/development/tools/misc/swig/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { # 'make check' uses boost and tcl buildInputs = stdenv.lib.optionals doCheck [ boost tcl ]; - configureFlags = stdenv.lib.optionalString stdenv.isDarwin "--disable-ccache"; + configureFlags = "--disable-ccache"; meta = { description = "Interface compiler that connects C/C++ code to higher-level languages"; From 715943a6fbaf025bcadd6dcee5f6007c4da15ab7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 2 Sep 2014 13:18:03 +0200 Subject: [PATCH 0630/2163] ld-wrapper: Put back the --sysroot filter We still need this because some clang-based packages depend on it. (The sysroot filtering was originally done by clang-wrapper's ld-wrapper, but we merged the ld-wrappers in a4f9b9c8b5ec9ef106671ffdf93e0059835d0ec1.) http://hydra.nixos.org/build/13906922 --- pkgs/build-support/gcc-wrapper/ld-wrapper.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh index 51803e12a4e..822c4a03a21 100644 --- a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh @@ -32,6 +32,9 @@ if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE" \ # We cannot skip this; barf. echo "impure path \`$p' used in link" >&2 exit 1 + elif test "${p:0:9}" = "--sysroot"; then + # Our ld is not built with sysroot support (Can we fix that?) + : else rest=("${rest[@]}" "$p") fi From 1e786087e4e5bf8d602c87e49edd2fa5d61b8a82 Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Sun, 31 Aug 2014 20:02:25 +0200 Subject: [PATCH 0631/2163] mpi4py: New package, version 1.3.1 --- .../python-modules/mpi4py/default.nix | 55 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 6 ++ 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/mpi4py/default.nix diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix new file mode 100644 index 00000000000..6c487dc07ad --- /dev/null +++ b/pkgs/development/python-modules/mpi4py/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchurl, python, buildPythonPackage, mpi, openssh }: + +buildPythonPackage rec { + name = "mpi4py-1.3.1"; + + src = fetchurl { + url = "https://bitbucket.org/mpi4py/mpi4py/downloads/${name}.tar.gz"; + sha256 = "e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507"; + }; + + passthru = { + inherit mpi; + }; + + # The tests in the `test_spawn` module fail in the chroot build environment. + # However, they do pass in a pure, or non-pure nix-shell. Hence, we + # deactivate these particular tests. + # Unfortunately, the command-line arguments to `./setup.py test` are not + # correctly passed to the test-runner. Hence, these arguments are patched + # directly into `setup.py`. + patchPhase = '' + sed 's/err = main(cmd.args or \[\])/err = main(cmd.args or ["-v", "-e", "test_spawn"])/' -i setup.py + ''; + + configurePhase = ""; + + installPhase = '' + mkdir -p "$out/lib/${python.libPrefix}/site-packages" + export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + + ${python}/bin/${python.executable} setup.py install \ + --install-lib=$out/lib/${python.libPrefix}/site-packages \ + --prefix="$out" + + # --install-lib: + # sometimes packages specify where files should be installed outside the usual + # python lib prefix, we override that back so all infrastructure (setup hooks) + # work as expected + ''; + + setupPyBuildFlags = ["--mpicc=${mpi}/bin/mpicc"]; + + buildInputs = [ mpi ]; + # Requires openssh for tests. Tests of dependent packages will also fail, + # if openssh is not present. E.g. h5py with mpi support. + propagatedBuildInputs = [ openssh ]; + + meta = { + description = " + Provides Python bindings for the Message Passing Interface standard. + "; + homepage = "http://code.google.com/p/mpi4py/"; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7b39b083eea..c786da4e0e0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -106,6 +106,12 @@ rec { pylabQtSupport = false; }); + mpi4py = callPackage ../development/python-modules/mpi4py { + inherit (pkgs) stdenv fetchurl openssh; + inherit python buildPythonPackage; + mpi = pkgs.openmpi; + }; + nixpart = callPackage ../tools/filesystems/nixpart { }; # This is used for NixOps to make sure we won't break it with the next major From 728793ef0bb7dd3ebf0bb4471492eed6f3a1a8ab Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Sun, 31 Aug 2014 20:02:38 +0200 Subject: [PATCH 0632/2163] h5py: New package, version 2.3.1 --- .../python-modules/h5py/default.nix | 43 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 13 ++++++ 2 files changed, 56 insertions(+) create mode 100644 pkgs/development/python-modules/h5py/default.nix diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix new file mode 100644 index 00000000000..9ab68ac4cd2 --- /dev/null +++ b/pkgs/development/python-modules/h5py/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, python, buildPythonPackage +, numpy, hdf5, cython +, mpiSupport ? false, mpi4py ? null, mpi ? null }: + +assert mpiSupport == hdf5.mpiSupport; +assert mpiSupport -> mpi != null + && mpi4py != null + && mpi == mpi4py.mpi + && mpi == hdf5.mpi + ; + +with stdenv.lib; + +buildPythonPackage rec { + name = "h5py-2.3.1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/h/h5py/${name}.tar.gz"; + md5 = "8f32f96d653e904d20f9f910c6d9dd91"; + }; + + setupPyBuildFlags = [ "--hdf5=${hdf5}" ] + ++ optional mpiSupport "--mpi" + ; + setupPyInstallFlags = setupPyBuildFlags; + + preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else ""; + + buildInputs = [ hdf5 cython ] + ++ optional mpiSupport mpi + ; + propagatedBuildInputs = [ numpy ] + ++ optional mpiSupport mpi4py + ; + + meta = { + description = " + The h5py package is a Pythonic interface to the HDF5 binary data format. + "; + homepage = "http://www.h5py.org/"; + license = stdenv.lib.licenses.bsd2; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c786da4e0e0..48155df7815 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -90,6 +90,19 @@ rec { ''; }; + h5py = callPackage ../development/python-modules/h5py { + inherit (pkgs) stdenv fetchurl; + inherit python buildPythonPackage cython numpy; + hdf5 = pkgs.hdf5.override { mpi = null; }; + }; + + h5py-mpi = h5py.override { + mpiSupport = true; + mpi = pkgs.openmpi; + hdf5 = pkgs.hdf5.override { mpi = pkgs.openmpi; enableShared = true; }; + inherit mpi4py; + }; + ipython = import ../shells/ipython { inherit (pkgs) stdenv fetchurl sip pyqt4; inherit buildPythonPackage pythonPackages; From 3b0c725255259723fb496c2732eb9dd10890a798 Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Tue, 2 Sep 2014 14:05:09 +0200 Subject: [PATCH 0633/2163] Add attributes for all relevant Android SDK API levels and their capabilities --- .../development/mobile/androidenv/default.nix | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix index 422c1516f2d..6e71195e41c 100644 --- a/pkgs/development/mobile/androidenv/default.nix +++ b/pkgs/development/mobile/androidenv/default.nix @@ -63,8 +63,38 @@ rec { abiVersions = [ "armeabi-v7a" ]; useGoogleAPIs = true; }; + + androidsdk_2_3_3 = androidsdk { + platformVersions = [ "10" ]; + abiVersions = [ "armeabi-v7a" ]; + useGoogleAPIs = true; + }; + + androidsdk_3_0 = androidsdk { + platformVersions = [ "11" ]; + abiVersions = [ "armeabi-v7a" ]; + useGoogleAPIs = true; + }; + + androidsdk_3_1 = androidsdk { + platformVersions = [ "12" ]; + abiVersions = [ "armeabi-v7a" ]; + useGoogleAPIs = true; + }; + + androidsdk_3_2 = androidsdk { + platformVersions = [ "13" ]; + abiVersions = [ "armeabi-v7a" ]; + useGoogleAPIs = true; + }; androidsdk_4_0 = androidsdk { + platformVersions = [ "14" ]; + abiVersions = [ "armeabi-v7a" ]; + useGoogleAPIs = true; + }; + + androidsdk_4_0_3 = androidsdk { platformVersions = [ "15" ]; abiVersions = [ "armeabi-v7a" ]; useGoogleAPIs = true; From c8871e0b654c318508559ba4a7e2651d3e1a0e42 Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Fri, 1 Aug 2014 18:26:21 -0700 Subject: [PATCH 0634/2163] ewemoa : add the Android Support repository --- .../mobile/androidenv/androidsdk.nix | 11 ++++++++++- pkgs/development/mobile/androidenv/default.nix | 6 +++++- .../mobile/androidenv/support-repository.nix | 17 +++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/mobile/androidenv/support-repository.nix diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix index 3c9327f1c59..60f71517323 100644 --- a/pkgs/development/mobile/androidenv/androidsdk.nix +++ b/pkgs/development/mobile/androidenv/androidsdk.nix @@ -1,5 +1,5 @@ { stdenv, stdenv_32bit, fetchurl, unzip, makeWrapper -, platformTools, buildTools, support, platforms, sysimages, addons +, platformTools, buildTools, support, supportRepository, platforms, sysimages, addons , zlib_32bit , libX11_32bit, libxcb_32bit, libXau_32bit, libXdmcp_32bit, libXext_32bit, mesa_32bit, alsaLib_32bit , libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, mesa, alsaLib @@ -139,6 +139,15 @@ stdenv.mkDerivation rec { cd .. + # Symlink required extras + + mkdir -p extras/android + cd extras/android + + ln -s ${supportRepository}/m2repository + + cd ../.. + # Symlink required platforms mkdir -p platforms diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix index 6e71195e41c..796f0f862bd 100644 --- a/pkgs/development/mobile/androidenv/default.nix +++ b/pkgs/development/mobile/androidenv/default.nix @@ -16,6 +16,10 @@ rec { inherit (pkgs) stdenv fetchurl unzip; }; + supportRepository = import ./support-repository.nix { + inherit (pkgs) stdenv fetchurl unzip; + }; + platforms = if (pkgs.stdenv.system == "i686-linux" || pkgs.stdenv.system == "x86_64-linux") then import ./platforms-linux.nix { inherit (pkgs) stdenv fetchurl unzip; @@ -39,7 +43,7 @@ rec { inherit (pkgs) freetype fontconfig glib gtk atk mesa file alsaLib jdk; inherit (pkgs.xorg) libX11 libXext libXrender libxcb libXau libXdmcp libXtst; - inherit platformTools buildTools support platforms sysimages addons; + inherit platformTools buildTools support supportRepository platforms sysimages addons; stdenv_32bit = pkgs_i686.stdenv; zlib_32bit = pkgs_i686.zlib; diff --git a/pkgs/development/mobile/androidenv/support-repository.nix b/pkgs/development/mobile/androidenv/support-repository.nix new file mode 100644 index 00000000000..66a532328b1 --- /dev/null +++ b/pkgs/development/mobile/androidenv/support-repository.nix @@ -0,0 +1,17 @@ +{stdenv, fetchurl, unzip}: + +stdenv.mkDerivation { + name = "android-support-repository-r5"; + src = fetchurl { + url = http://dl-ssl.google.com/android/repository/android_m2repository_r05.zip; + sha1 = "2ee9723da079ba0d4fe2a185e00ded842de96f13"; + }; + + buildCommand = '' + mkdir -p $out + cd $out + unzip $src + ''; + + buildInputs = [ unzip ]; +} From ef8220d1bf6143d73be248fcfb58f14d1c4d987f Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Tue, 2 Sep 2014 14:11:09 +0200 Subject: [PATCH 0635/2163] Expose Android NDK in the top level expression --- pkgs/tools/package-management/disnix/default.nix | 6 +++--- pkgs/tools/package-management/disnix/disnixos/default.nix | 6 +++--- pkgs/tools/package-management/disnix/dysnomia/default.nix | 6 +++--- pkgs/top-level/all-packages.nix | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix index 61e998fd545..b6b88aef022 100644 --- a/pkgs/tools/package-management/disnix/default.nix +++ b/pkgs/tools/package-management/disnix/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconvOrEmpty }: stdenv.mkDerivation { - name = "disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7"; + name = "disnix-0.3pre24d959b3b37ce285971810245643a7f18cb85fcc"; src = fetchurl { - url = http://hydra.nixos.org/build/11773951/download/4/disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7.tar.gz; - sha256 = "19hdh2mrlyiq1g3z6lnnqqvripmfcdnm18jpm4anp5iarhnwh3y4"; + url = http://hydra.nixos.org/build/13612993/download/4/disnix-0.3pre24d959b3b37ce285971810245643a7f18cb85fcc.tar.gz; + sha256 = "0ml8g6h7x79mvv84il9vb9b88kqak9m3yzavmar66i3dvyqr1dwb"; }; buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty dysnomia ]; diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix index 65ae91f6e18..0190a5fd679 100644 --- a/pkgs/tools/package-management/disnix/disnixos/default.nix +++ b/pkgs/tools/package-management/disnix/disnixos/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, disnix, socat, pkgconfig, getopt }: stdenv.mkDerivation { - name = "disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99"; + name = "disnixos-0.2prec3310e2d8975c45e4ffacec940049fb781739b8d"; src = fetchurl { - url = http://hydra.nixos.org/build/9877039/download/3/disnixos-0.2preb10c56eeb1be3046645eea90c779e2d64045581f.tar.gz; - sha256 = "1pkpf6vp9q3jjp212lghbs1km8iqh4rm9xa5jm0dqb5ya25f0jf2"; + url = http://hydra.nixos.org/build/13617499/download/3/disnixos-0.2prec3310e2d8975c45e4ffacec940049fb781739b8d.tar.gz; + sha256 = "1kcpzzwy9jc1zz700whnp6sc77yp3wxzr935f07jy55ddkl8mdi5"; }; buildInputs = [ socat pkgconfig disnix getopt ]; diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix index a1914224dbd..574bf8f9ab3 100644 --- a/pkgs/tools/package-management/disnix/dysnomia/default.nix +++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix @@ -19,10 +19,10 @@ assert enableEjabberdDump -> ejabberd != null; assert enableMongoDatabase -> mongodb != null; stdenv.mkDerivation { - name = "dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82"; + name = "dysnomia-0.3precf347cbd508f488f115f8961371a3cecf03fd530"; src = fetchurl { - url = http://hydra.nixos.org/build/11407191/download/1/dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82.tar.gz; - sha256 = "1i7yb299bq1z7cy4sk83m5faahj8inh73xn5bi6jcv492zv3kgwz"; + url = http://hydra.nixos.org/build/13281061/download/1/dysnomia-0.3precf347cbd508f488f115f8961371a3cecf03fd530.tar.gz; + sha256 = "0xiqpz2c3dh4pbdprvrd7plvq3ipngqbjkwpmbhw1nw90x5rpa2d"; }; preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else ""; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d2d0f69132c..05c9d695bc2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -528,7 +528,7 @@ let pkgs_i686 = pkgsi686Linux; }; - inherit (androidenv) androidsdk_4_1; + inherit (androidenv) androidsdk_4_4 androidndk; aria2 = callPackage ../tools/networking/aria2 { }; aria = aria2; From 217cda9c5430ef74b171edc65c4149bbefc4742b Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Tue, 2 Sep 2014 16:37:13 +0200 Subject: [PATCH 0636/2163] pythonPackages: add websocket_client, fix pythonPackages.docker --- pkgs/top-level/python-packages.nix | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3af1950f9b1..a3018b8e15f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1843,7 +1843,7 @@ rec { md5 = "21ab8fd729105487e6423b654d6c0860"; }; - propagatedBuildInputs = [ six requests ]; + propagatedBuildInputs = [ six requests websocket_client ]; # Version conflict doCheck = false; @@ -9948,6 +9948,24 @@ rec { }; + websocket_client = buildPythonPackage rec { + name = "websocket-client-0.17.0"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/w/websocket-client/${name}.tar.gz"; + md5 = "c86591719085eaf4a01c2275e0c834fc"; + }; + + propagatedBuildInputs = [ six backports_ssl_match_hostname_3_4_0_2 unittest2 argparse ]; + + meta = { + homepage = https://github.com/liris/websocket-client; + description = "Websocket client for python"; + license = licenses.lgpl2; + }; + }; + + webhelpers = buildPythonPackage rec { name = "WebHelpers-1.3"; From 6a0b39b0afe9be1caae76adb925a26cb6adc5485 Mon Sep 17 00:00:00 2001 From: Michel Kuhlmann Date: Tue, 2 Sep 2014 12:48:34 +0200 Subject: [PATCH 0637/2163] haskell-hindent: initial expression --- .../libraries/haskell/hindent/default.nix | 17 +++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/development/libraries/haskell/hindent/default.nix diff --git a/pkgs/development/libraries/haskell/hindent/default.nix b/pkgs/development/libraries/haskell/hindent/default.nix new file mode 100644 index 00000000000..cef49d0b2fa --- /dev/null +++ b/pkgs/development/libraries/haskell/hindent/default.nix @@ -0,0 +1,17 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, dataDefault, haskellSrcExts, mtl, text }: + +cabal.mkDerivation (self: { + pname = "hindent"; + version = "2.1"; + sha256 = "0gvrh26d1d6d1fy4qfpwrghdrlvk82mkya8vaz0xnrs89p9gr9rz"; + isLibrary = true; + isExecutable = true; + buildDepends = [ dataDefault haskellSrcExts mtl text ]; + meta = { + description = "Extensible Haskell pretty printer"; + 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 15f6ed71007..cb235361783 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1188,6 +1188,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in hi = callPackage ../development/libraries/haskell/hi {}; + hindent = callPackage ../development/libraries/haskell/hindent {}; + hint = callPackage ../development/libraries/haskell/hint {}; hit = callPackage ../development/libraries/haskell/hit {}; From d812281674d6852a61e9aebc24787ce3213a2c95 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Tue, 2 Sep 2014 17:57:09 +0200 Subject: [PATCH 0638/2163] zile: update from 2.4.9 to 2.4.11, adpot it and set platforms to linux --- pkgs/applications/editors/zile/default.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix index 32d30cd4745..48839246600 100644 --- a/pkgs/applications/editors/zile/default.nix +++ b/pkgs/applications/editors/zile/default.nix @@ -1,14 +1,14 @@ -{ fetchurl, stdenv, ncurses, boehmgc, perl, help2man }: +{ fetchurl, stdenv, pkgconfig, ncurses, boehmgc, perl, help2man }: stdenv.mkDerivation rec { - name = "zile-2.4.9"; + name = "zile-2.4.11"; src = fetchurl { url = "mirror://gnu/zile/${name}.tar.gz"; - sha256 = "0j801c28ypm924rw3lqyb6khxyslg6ycrv16wmmwcam0mk3mj6f7"; + sha256 = "1k593y1xzvlj52q0gyhcx2lllws4sg84b8r9pcginjb1vjypplhz"; }; - buildInputs = [ ncurses boehmgc ]; + buildInputs = [ pkgconfig ncurses boehmgc ]; nativeBuildInputs = [ help2man perl ]; # `help2man' wants to run Zile, which fails when cross-compiling. @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { # XXX: Work around cross-compilation-unfriendly `gl_FUNC_FSTATAT' macro. preConfigure = "export gl_cv_func_fstatat_zero_flag=yes"; - meta = { + meta = with stdenv.lib; { description = "Lightweight Emacs clone"; longDescription = '' @@ -45,8 +45,10 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/zile/; - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; - maintainers = [ ]; + maintainers = with maintainers; [ pSub ]; + + platforms = platforms.linux; }; } From 36614ff3e290a9330dd8e29bdc6cc38ede1e7001 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 31 Aug 2014 09:18:13 -0700 Subject: [PATCH 0639/2163] Revert "Revert "Merge pull request #2449 from wkennington/master.grub"" This reverts commit 94205f5f21c4d9942bb4205c06229438051b6853. Conflicts: nixos/modules/system/boot/loader/grub/install-grub.pl --- .../installer/tools/nixos-generate-config.pl | 21 +++ nixos/modules/installer/tools/tools.nix | 1 + nixos/modules/installer/virtualbox-demo.nix | 3 + .../modules/system/boot/loader/grub/grub.nix | 37 +++-- .../system/boot/loader/grub/install-grub.pl | 135 +++++++++++++++--- nixos/modules/tasks/filesystems/zfs.nix | 6 +- nixos/release-combined.nix | 4 + nixos/release.nix | 2 +- nixos/tests/installer.nix | 13 +- pkgs/tools/misc/grub/2.0x.nix | 60 ++++---- pkgs/top-level/all-packages.nix | 6 +- 11 files changed, 223 insertions(+), 65 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 66a8152a3a6..73dd87cef5c 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -20,6 +20,13 @@ sub uniq { return @res; } +sub runCommand { + my ($cmd) = @_; + open FILE, "$cmd 2>/dev/null |" or die "Failed to execute: $cmd\n"; + my @ret = ; + close FILE; + return ($?, @ret); +} # Process the command line. my $outDir = "/etc/nixos"; @@ -337,6 +344,20 @@ EOF } } + # Is this a btrfs filesystem? + if ($fsType eq "btrfs") { + my ($status, @info) = runCommand("btrfs subvol show $rootDir$mountPoint"); + if ($status != 0) { + die "Failed to retreive subvolume info for $mountPoint"; + } + my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; + if ($#subvols > 0) { + die "Btrfs subvol name for $mountPoint listed multiple times in mount\n" + } elsif ($#subvols == 0) { + push @extraOptions, "subvol=$subvols[0]"; + } + } + # Emit the filesystem. $fileSystems .= <df or + mount. Note, zfs zpools / datasets are ignored + and will always be mounted using their labels. + ''; + }; + + zfsSupport = mkOption { + default = false; + type = types.bool; + description = '' + Whether grub should be build against libzfs. ''; }; @@ -260,6 +276,9 @@ in ${pkgs.coreutils}/bin/cp -pf "${v}" "/boot/${n}" '') config.boot.loader.grub.extraFiles); + assertions = [{ assertion = !cfg.zfsSupport || cfg.version == 2; + message = "Only grub version 2 provides zfs support";}]; + }) ]; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index b4900358a5d..7ced51f57e1 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -1,5 +1,6 @@ use strict; use warnings; +use Class::Struct; use XML::LibXML; use File::Basename; use File::Path; @@ -27,6 +28,14 @@ sub writeFile { close FILE or die; } +sub runCommand { + my ($cmd) = @_; + open FILE, "$cmd 2>/dev/null |" or die "Failed to execute: $cmd\n"; + my @ret = ; + close FILE; + return ($?, @ret); +} + my $grub = get("grub"); my $grubVersion = int(get("version")); my $extraConfig = get("extraConfig"); @@ -39,7 +48,7 @@ my $configurationLimit = int(get("configurationLimit")); my $copyKernels = get("copyKernels") eq "true"; my $timeout = int(get("timeout")); my $defaultEntry = int(get("default")); -my $explicitBootRoot = get("explicitBootRoot"); +my $fsIdentifier = get("fsIdentifier"); $ENV{'PATH'} = get("path"); die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2; @@ -48,22 +57,108 @@ print STDERR "updating GRUB $grubVersion menu...\n"; mkpath("/boot/grub", 0, 0700); - # Discover whether /boot is on the same filesystem as / and # /nix/store. If not, then all kernels and initrds must be copied to -# /boot, and all paths in the GRUB config file must be relative to the -# root of the /boot filesystem. `$bootRoot' is the path to be -# prepended to paths under /boot. -my $bootRoot = "/boot"; -if (stat("/")->dev != stat("/boot")->dev) { - $bootRoot = ""; - $copyKernels = 1; -} elsif (stat("/boot")->dev != stat("/nix/store")->dev) { +# /boot. +if (stat("/boot")->dev != stat("/nix/store")->dev) { $copyKernels = 1; } -if ($explicitBootRoot ne "") { - $bootRoot = $explicitBootRoot; +# Discover information about the location of /boot +struct(Fs => { + device => '$', + type => '$', + mount => '$', +}); +sub GetFs { + my ($dir) = @_; + my ($status, @dfOut) = runCommand("df -T $dir"); + if ($status != 0 || $#dfOut != 1) { + die "Failed to retrieve output about $dir from `df`"; + } + my @boot = split(/[ \n\t]+/, $dfOut[1]); + return Fs->new(device => $boot[0], type => $boot[1], mount => $boot[6]); +} +struct (Grub => { + path => '$', + search => '$', +}); +my $driveid = 1; +sub GrubFs { + my ($dir) = @_; + my $fs = GetFs($dir); + my $path = "/" . substr($dir, length($fs->mount)); + my $search = ""; + + if ($grubVersion > 1) { + # ZFS is completely separate logic as zpools are always identified by a label + # or custom UUID + if ($fs->type eq 'zfs') { + my $sid = index($fs->device, '/'); + + if ($sid < 0) { + $search = '--label ' . $fs->device; + $path = '/@' . $path; + } else { + $search = '--label ' . substr($fs->device, 0, $sid); + $path = '/' . substr($fs->device, $sid) . '/@' . $path; + } + } else { + my %types = ('uuid' => '--fs-uuid', 'label' => '--label'); + + if ($fsIdentifier eq 'provided') { + # If the provided dev is identifying the partition using a label or uuid, + # we should get the label / uuid and do a proper search + my @matches = $fs->device =~ m/\/dev\/disk\/by-(label|uuid)\/(.*)/; + if ($#matches > 1) { + die "Too many matched devices" + } elsif ($#matches == 1) { + $search = "$types{$matches[0]} $matches[1]" + } + } else { + # Determine the identifying type + $search = $types{$fsIdentifier} . ' '; + + # Based on the type pull in the identifier from the system + my ($status, @devInfo) = runCommand("blkid -o export @{[$fs->device]}"); + if ($status != 0) { + die "Failed to get blkid info for @{[$fs->device]}"; + } + my @matches = join("", @devInfo) =~ m/@{[uc $fsIdentifier]}=([^\n]*)/; + if ($#matches != 0) { + die "Couldn't find a $types{$fsIdentifier} for @{[$fs->device]}\n" + } + $search .= $matches[0]; + } + + # BTRFS is a special case in that we need to fix the referrenced path based on subvolumes + if ($fs->type eq 'btrfs') { + my ($status, @info) = runCommand("btrfs subvol show @{[$fs->mount]}"); + if ($status != 0) { + die "Failed to retreive subvolume info for @{[$fs->mount]}"; + } + my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; + if ($#subvols > 0) { + die "Btrfs subvol name for @{[$fs->device]} listed multiple times in mount\n" + } elsif ($#subvols == 0) { + $path = "/$subvols[0]$path"; + } + } + } + if (not $search eq "") { + $search = "search --set=drive$driveid " . $search; + $path = "(\$drive$driveid)$path"; + $driveid += 1; + } + } + return Grub->new(path => $path, search => $search); +} +my $grubBoot = GrubFs("/boot"); +my $grubStore = GrubFs("/nix"); + +# We don't need to copy if we can read the kernels directly +if ($grubStore->search ne "") { + $copyKernels = 0; } # Generate the header. @@ -76,12 +171,14 @@ if ($grubVersion == 1) { "; if ($splashImage) { copy $splashImage, "/boot/background.xpm.gz" or die "cannot copy $splashImage to /boot\n"; - $conf .= "splashimage $bootRoot/background.xpm.gz\n"; + $conf .= "splashimage " . $grubBoot->path . "/background.xpm.gz\n"; } } else { $conf .= " + " . $grubBoot->search . " + " . $grubStore->search . " if [ -s \$prefix/grubenv ]; then load_env fi @@ -102,7 +199,7 @@ else { set timeout=$timeout fi - if loadfont $bootRoot/grub/fonts/unicode.pf2; then + if loadfont " . $grubBoot->path . "/grub/fonts/unicode.pf2; then set gfxmode=640x480 insmod gfxterm insmod vbe @@ -116,7 +213,7 @@ else { copy $splashImage, "/boot/background.png" or die "cannot copy $splashImage to /boot\n"; $conf .= " insmod png - if background_image $bootRoot/background.png; then + if background_image " . $grubBoot->path . "/background.png; then set color_normal=white/black set color_highlight=black/white else @@ -138,7 +235,7 @@ mkpath("/boot/kernels", 0, 0755) if $copyKernels; sub copyToKernelsDir { my ($path) = @_; - return $path unless $copyKernels; + return $grubStore->path . substr($path, length("/nix")) unless $copyKernels; $path =~ /\/nix\/store\/(.*)/ or die; my $name = $1; $name =~ s/\//-/g; my $dst = "/boot/kernels/$name"; @@ -151,7 +248,7 @@ sub copyToKernelsDir { rename $tmp, $dst or die "cannot rename $tmp to $dst\n"; } $copied{$dst} = 1; - return "$bootRoot/kernels/$name"; + return $grubBoot->path . "/kernels/$name"; } sub addEntry { @@ -178,6 +275,8 @@ sub addEntry { $conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n\n"; } else { $conf .= "menuentry \"$name\" {\n"; + $conf .= $grubBoot->search . "\n"; + $conf .= $grubStore->search . "\n"; $conf .= " $extraPerEntryConfig\n" if $extraPerEntryConfig; $conf .= " multiboot $xen $xenParams\n" if $xen; $conf .= " " . ($xen ? "module" : "linux") . " $kernel $kernelParams\n"; @@ -195,7 +294,7 @@ addEntry("NixOS - Default", $defaultConfig); $conf .= "$extraEntries\n" unless $extraEntriesBeforeNixOS; # extraEntries could refer to @bootRoot@, which we have to substitute -$conf =~ s/\@bootRoot\@/$bootRoot/g; +$conf =~ s/\@bootRoot\@/$grubBoot->path/g; # Emit submenus for all system profiles. sub addProfile { diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index d7deb44c407..1c4bbc16b49 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -133,7 +133,7 @@ in }; boot.initrd = mkIf inInitrd { - kernelModules = [ "spl" "zfs" ] ; + kernelModules = [ "spl" "zfs" ]; extraUtilsCommands = '' cp -v ${zfsPkg}/sbin/zfs $out/bin @@ -148,6 +148,10 @@ in ''; }; + boot.loader.grub = mkIf inInitrd { + zfsSupport = true; + }; + systemd.services."zpool-import" = { description = "Import zpools"; after = [ "systemd-udev-settle.service" ]; diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index dae3b9210a8..23348e1d089 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -52,6 +52,10 @@ in rec { (all nixos.tests.installer.lvm) (all nixos.tests.installer.separateBoot) (all nixos.tests.installer.simple) + (all nixos.tests.installer.simpleLabels) + (all nixos.tests.installer.simpleProvided) + (all nixos.tests.installer.btrfsSimple) + (all nixos.tests.installer.btrfsSubvols) (all nixos.tests.ipv6) (all nixos.tests.kde4) (all nixos.tests.login) diff --git a/nixos/release.nix b/nixos/release.nix index e2b93640f91..f78ecb4383d 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -231,7 +231,7 @@ in rec { tests.installer.simpleLabels = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleLabels.test); tests.installer.simpleProvided = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleProvided.test); tests.installer.btrfsSimple = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSimple.test); - #tests.installer.btrfsSubvols = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSubvols.test); + tests.installer.btrfsSubvols = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSubvols.test); tests.influxdb = callTest tests/influxdb.nix {}; tests.ipv6 = callTest tests/ipv6.nix {}; tests.jenkins = callTest tests/jenkins.nix {}; diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 6ee52fd63d8..154f3323d29 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -35,8 +35,8 @@ let # The configuration to install. - makeConfig = { testChannel, useEFI, grubVersion, grubDevice }: pkgs.writeText "configuration.nix" - '' + makeConfig = { testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }: + pkgs.writeText "configuration.nix" '' { config, pkgs, modulesPath, ... }: { imports = @@ -54,6 +54,7 @@ let ''} boot.loader.grub.device = "${grubDevice}"; boot.loader.grub.extraConfig = "serial; terminal_output.serial"; + boot.loader.grub.fsIdentifier = "${grubIdentifier}"; ''} environment.systemPackages = [ ${optionalString testChannel "pkgs.rlwrap"} ]; @@ -93,7 +94,7 @@ let # disk, and then reboot from the hard disk. It's parameterized with # a test script fragment `createPartitions', which must create # partitions and filesystems. - testScriptFun = { createPartitions, testChannel, useEFI, grubVersion, grubDevice }: + testScriptFun = { createPartitions, testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }: let # FIXME: OVMF doesn't boot from virtio http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg01501.html iface = if useEFI || grubVersion == 1 then "scsi" else "virtio"; @@ -161,7 +162,7 @@ let $machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2"); $machine->copyFileFromHost( - "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice; } }", + "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; } }", "/mnt/etc/nixos/configuration.nix"); # Perform the installation. @@ -216,13 +217,13 @@ let makeInstallerTest = name: - { createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda" }: + { createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid" }: makeTest { inherit iso; name = "installer-" + name; nodes = if testChannel then { inherit webserver; } else { }; testScript = testScriptFun { - inherit createPartitions testChannel useEFI grubVersion grubDevice; + inherit createPartitions testChannel useEFI grubVersion grubDevice grubIdentifier; }; }; diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index b1877bdcf98..e3c07af759c 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,30 +1,45 @@ -{ fetchurl, stdenv, flex, bison, gettext, ncurses, libusb, freetype, qemu -, devicemapper, EFIsupport ? false }: +{ stdenv, fetchurl, autogen, flex, bison, python, autoconf, automake +, gettext, ncurses, libusb, freetype, qemu, devicemapper +, linuxPackages ? null +, efiSupport ? false +, zfsSupport ? false +}: +with stdenv.lib; let + efiSystems = { + "i686-linux".target = "i386"; + "x86_64-linux".target = "x86_64"; + }; - prefix = "grub${if EFIsupport then "-efi" else ""}"; + canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems); - version = "2.00"; + prefix = "grub${if efiSupport then "-efi" else ""}"; + + version = "2.02-beta2"; unifont_bdf = fetchurl { url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz"; sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx"; }; +in ( -in +assert efiSupport -> canEfi; +assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null; stdenv.mkDerivation rec { name = "${prefix}-${version}"; src = fetchurl { - url = "mirror://gnu/grub/grub-${version}.tar.xz"; - sha256 = "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"; + name = "grub-2.02-beta2.tar.xz"; + url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.xz"; + sha256 = "13a13fhc0wf473dn73zhga15mjvkg6vqp4h25dxg4n7am2r05izn"; }; - nativeBuildInputs = [ flex bison ]; + nativeBuildInputs = [ autogen flex bison python autoconf automake ]; buildInputs = [ ncurses libusb freetype gettext devicemapper ] - ++ stdenv.lib.optional doCheck qemu; + ++ optional doCheck qemu + ++ optional zfsSupport linuxPackages.zfs; preConfigure = '' for i in "tests/util/"*.in @@ -43,27 +58,19 @@ stdenv.mkDerivation rec { # See . sed -i "tests/util/grub-shell.in" \ -e's/qemu-system-i386/qemu-system-x86_64 -nodefaults/g' - - # Fix for building on Glibc 2.16. Won't be needed once the - # gnulib in grub is updated. - sed -i '/gets is a security hole/d' grub-core/gnulib/stdio.in.h ''; prePatch = - '' gunzip < "${unifont_bdf}" > "unifont.bdf" + '' sh autogen.sh + gunzip < "${unifont_bdf}" > "unifont.bdf" sed -i "configure" \ -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g" ''; patches = [ ./fix-bash-completion.patch ]; - configureFlags = - let arch = if stdenv.system == "i686-linux" then "i386" - else if stdenv.system == "x86_64-linux" then "x86_64" - else throw "unsupported EFI firmware architecture"; - in - stdenv.lib.optionals EFIsupport - [ "--with-platform=efi" "--target=${arch}" "--program-prefix=" ]; + configureFlags = optional zfsSupport "--enable-libzfs" + ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystems.${stdenv.system}.target}" "--program-prefix=" ]; doCheck = false; enableParallelBuilding = true; @@ -72,7 +79,7 @@ stdenv.mkDerivation rec { paxmark pms $out/sbin/grub-{probe,bios-setup} ''; - meta = { + meta = with stdenv.lib; { description = "GNU GRUB, the Grand Unified Boot Loader (2.x beta)"; longDescription = @@ -89,11 +96,8 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/grub/; - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; - platforms = if EFIsupport then - [ "i686-linux" "x86_64-linux" ] - else - stdenv.lib.platforms.gnu; + platforms = platforms.gnu; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 05c9d695bc2..6e5caa3af9e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1235,9 +1235,11 @@ let buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; }; - grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; flex = flex_2_5_35; }; + grub2 = callPackage ../tools/misc/grub/2.0x.nix { }; - grub2_efi = grub2.override { EFIsupport = true; }; + grub2_efi = grub2.override { efiSupport = true; }; + + grub2_zfs = grub2.override { zfsSupport = true; }; gssdp = callPackage ../development/libraries/gssdp { inherit (gnome) libsoup; From 0b66483c9a64ccda86828edadda29d5ccd532b9f Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 31 Aug 2014 09:18:51 -0700 Subject: [PATCH 0640/2163] nixos/install-grub: Store path should be /nix/store not /nix --- nixos/modules/system/boot/loader/grub/install-grub.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 7ced51f57e1..9ef1a697704 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -154,7 +154,7 @@ sub GrubFs { return Grub->new(path => $path, search => $search); } my $grubBoot = GrubFs("/boot"); -my $grubStore = GrubFs("/nix"); +my $grubStore = GrubFs("/nix/store"); # We don't need to copy if we can read the kernels directly if ($grubStore->search ne "") { From 7fae42352235b9315021005928fea9a058c516e8 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 30 Aug 2014 15:33:44 -0700 Subject: [PATCH 0641/2163] nixos/generate-config: Support detecting nested subvolumes --- .../installer/tools/nixos-generate-config.pl | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 73dd87cef5c..ab5b2954f6b 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -346,15 +346,25 @@ EOF # Is this a btrfs filesystem? if ($fsType eq "btrfs") { - my ($status, @info) = runCommand("btrfs subvol show $rootDir$mountPoint"); + my ($status, @id_info) = runCommand("btrfs subvol show $rootDir$mountPoint"); if ($status != 0) { - die "Failed to retreive subvolume info for $mountPoint"; + die "Failed to retreive subvolume info for $mountPoint\n"; } - my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; - if ($#subvols > 0) { + my @ids = join("", @id_info) =~ m/Object ID:[ \t\n]*([^ \t\n]*)/; + if ($#ids > 0) { die "Btrfs subvol name for $mountPoint listed multiple times in mount\n" - } elsif ($#subvols == 0) { - push @extraOptions, "subvol=$subvols[0]"; + } elsif ($#ids == 0) { + my ($status, @path_info) = runCommand("btrfs subvol list $rootDir$mountPoint"); + if ($status != 0) { + die "Failed to find $mountPoint subvolume id from btrfs\n"; + } + my @paths = join("", @path_info) =~ m/ID $ids[0] [^\n]* path ([^\n]*)/; + if ($#paths > 0) { + die "Btrfs returned multiple paths for a single subvolume id, mountpoint $mountPoint\n"; + } elsif ($#paths != 0) { + die "Btrfs did not return a path for the subvolume at $mountPoint\n"; + } + push @extraOptions, "subvol=$paths[0]"; } } From 01ab1d57a3e02d388a8e1903031b273b47c6bb94 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 30 Aug 2014 15:44:13 -0700 Subject: [PATCH 0642/2163] nixos/install-grub: Detect nested btrfs subvolumes --- .../system/boot/loader/grub/install-grub.pl | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 9ef1a697704..f1807f53ff1 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -133,15 +133,25 @@ sub GrubFs { # BTRFS is a special case in that we need to fix the referrenced path based on subvolumes if ($fs->type eq 'btrfs') { - my ($status, @info) = runCommand("btrfs subvol show @{[$fs->mount]}"); + my ($status, @id_info) = runCommand("btrfs subvol show @{[$fs->mount]}"); if ($status != 0) { - die "Failed to retreive subvolume info for @{[$fs->mount]}"; + die "Failed to retreive subvolume info for @{[$fs->mount]}\n"; } - my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/; - if ($#subvols > 0) { + my @ids = join("", @id_info) =~ m/Object ID:[ \t\n]*([^ \t\n]*)/; + if ($#ids > 0) { die "Btrfs subvol name for @{[$fs->device]} listed multiple times in mount\n" - } elsif ($#subvols == 0) { - $path = "/$subvols[0]$path"; + } elsif ($#ids == 0) { + my ($status, @path_info) = runCommand("btrfs subvol list @{[$fs->mount]}"); + if ($status != 0) { + die "Failed to find @{[$fs->mount]} subvolume id from btrfs\n"; + } + my @paths = join("", @path_info) =~ m/ID $ids[0] [^\n]* path ([^\n]*)/; + if ($#paths > 0) { + die "Btrfs returned multiple paths for a single subvolume id, mountpoint @{[$fs->mount]}\n"; + } elsif ($#paths != 0) { + die "Btrfs did not return a path for the subvolume at @{[$fs->mount]}\n"; + } + $path = "/$paths[0]$path"; } } } From 39442393627569a4fd644b3d23658178a8245218 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 29 Aug 2014 16:37:28 -0700 Subject: [PATCH 0643/2163] nixos/tests-installer: Add a test for btrfs default volumes and bind mounts --- nixos/release-combined.nix | 1 + nixos/release.nix | 1 + nixos/tests/installer.nix | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 23348e1d089..0c72bae35bb 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -56,6 +56,7 @@ in rec { (all nixos.tests.installer.simpleProvided) (all nixos.tests.installer.btrfsSimple) (all nixos.tests.installer.btrfsSubvols) + (all nixos.tests.installer.btrfsSubvolDefault) (all nixos.tests.ipv6) (all nixos.tests.kde4) (all nixos.tests.login) diff --git a/nixos/release.nix b/nixos/release.nix index f78ecb4383d..d4e1a3737e3 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -232,6 +232,7 @@ in rec { tests.installer.simpleProvided = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleProvided.test); tests.installer.btrfsSimple = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSimple.test); tests.installer.btrfsSubvols = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSubvols.test); + tests.installer.btrfsSubvolDefault = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSubvolDefault.test); tests.influxdb = callTest tests/influxdb.nix {}; tests.ipv6 = callTest tests/ipv6.nix {}; tests.jenkins = callTest tests/jenkins.nix {}; diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 154f3323d29..7765b7945c7 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -469,4 +469,28 @@ in { ); ''; }; + + # Test to see if we can detect default and aux subvolumes correctly + btrfsSubvolDefault = makeInstallerTest "btrfsSubvolDefault" { + createPartitions = '' + $machine->succeed( + "sgdisk -Z /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "mkfs.btrfs -L root /dev/vda3", + "btrfs device scan", + "mount LABEL=root /mnt", + "btrfs subvol create /mnt/badpath", + "btrfs subvol create /mnt/badpath/boot", + "btrfs subvol create /mnt/nixos", + "btrfs subvol set-default \$(btrfs subvol list /mnt | grep 'nixos' | awk '{print \$2}') /mnt", + "umount /mnt", + "mount -o defaults LABEL=root /mnt", + "mkdir -p /mnt/badpath/boot", # Help ensure the detection mechanism is actually looking up subvolumes + "mkdir /mnt/boot", + "mount -o defaults,subvol=badpath/boot LABEL=root /mnt/boot", + ); + ''; + }; } From 87b6232f3a4c9903a432fffd8bc627f2c445a10d Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 30 Aug 2014 16:30:56 -0700 Subject: [PATCH 0644/2163] nixos/generate-config: Don't interpret btrfs subvols as bind mounts --- .../installer/tools/nixos-generate-config.pl | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index ab5b2954f6b..c6f499b8250 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -22,7 +22,7 @@ sub uniq { sub runCommand { my ($cmd) = @_; - open FILE, "$cmd 2>/dev/null |" or die "Failed to execute: $cmd\n"; + open FILE, "$cmd 2>&1 |" or die "Failed to execute: $cmd\n"; my @ret = ; close FILE; return ($?, @ret); @@ -311,10 +311,13 @@ foreach my $fs (read_file("/proc/self/mountinfo")) { # Maybe this is a bind-mount of a filesystem we saw earlier? if (defined $fsByDev{$fields[2]}) { - my $path = $fields[3]; $path = "" if $path eq "/"; - my $base = $fsByDev{$fields[2]}; - $base = "" if $base eq "/"; - $fileSystems .= < Date: Sat, 30 Aug 2014 15:48:54 -0700 Subject: [PATCH 0645/2163] nixos/installer-test: Use nested subvolumes for root to test detection --- nixos/tests/installer.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 7765b7945c7..66ab2567e19 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -462,8 +462,9 @@ in { "mount LABEL=root /mnt", "btrfs subvol create /mnt/boot", "btrfs subvol create /mnt/nixos", + "btrfs subvol create /mnt/nixos/default", "umount /mnt", - "mount -o defaults,subvol=nixos LABEL=root /mnt", + "mount -o defaults,subvol=nixos/default LABEL=root /mnt", "mkdir /mnt/boot", "mount -o defaults,subvol=boot LABEL=root /mnt/boot", ); From 61908bdd80a40b8231e4106e38f8b38d4e4a4c09 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 31 Aug 2014 09:28:45 -0700 Subject: [PATCH 0646/2163] nixos/install-grub: Always copy kernels for different devices --- nixos/modules/system/boot/loader/grub/install-grub.pl | 5 ----- 1 file changed, 5 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index f1807f53ff1..05fc9900609 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -166,11 +166,6 @@ sub GrubFs { my $grubBoot = GrubFs("/boot"); my $grubStore = GrubFs("/nix/store"); -# We don't need to copy if we can read the kernels directly -if ($grubStore->search ne "") { - $copyKernels = 0; -} - # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; From 94679376395b32759c19b2145b684099b6f67471 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 31 Aug 2014 17:15:39 -0700 Subject: [PATCH 0647/2163] nixos/install-grub: Only check for /nix to be the mountPoint for the store --- nixos/modules/system/boot/loader/grub/install-grub.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 05fc9900609..570cd2239b0 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -164,7 +164,8 @@ sub GrubFs { return Grub->new(path => $path, search => $search); } my $grubBoot = GrubFs("/boot"); -my $grubStore = GrubFs("/nix/store"); +# FIXME: Should be /nix/store, but this fails in the installer +my $grubStore = GrubFs("/nix"); # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; From 961e9867b3e502e66001280c2c7c5f3b08d6e469 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Mon, 1 Sep 2014 00:01:41 -0700 Subject: [PATCH 0648/2163] nixos/generate-config: Only add store search path when kernels are not copied --- nixos/modules/system/boot/loader/grub/install-grub.pl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 570cd2239b0..4e196d67e93 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -182,9 +182,12 @@ if ($grubVersion == 1) { } else { + if ($copyKernels == 0) { + $conf .= " + " . $grubStore->search; + } $conf .= " " . $grubBoot->search . " - " . $grubStore->search . " if [ -s \$prefix/grubenv ]; then load_env fi @@ -282,7 +285,9 @@ sub addEntry { } else { $conf .= "menuentry \"$name\" {\n"; $conf .= $grubBoot->search . "\n"; - $conf .= $grubStore->search . "\n"; + if ($copyKernels == 0) { + $conf .= $grubStore->search . "\n"; + } $conf .= " $extraPerEntryConfig\n" if $extraPerEntryConfig; $conf .= " multiboot $xen $xenParams\n" if $xen; $conf .= " " . ($xen ? "module" : "linux") . " $kernel $kernelParams\n"; From ac502d28ff4fabd8fb97c45c209e67c0d35d184a Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 23 Aug 2014 14:05:31 -0700 Subject: [PATCH 0649/2163] tinc_pre: Add derivation The tinc developer has made significant developments to the next version of tinc including many protocol security fixes. This patch adds the prerelease of the next major tinc release. --- pkgs/tools/networking/tinc/pre.nix | 33 ++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/tools/networking/tinc/pre.nix diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix new file mode 100644 index 00000000000..b2a7ca53728 --- /dev/null +++ b/pkgs/tools/networking/tinc/pre.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchgit, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }: + +stdenv.mkDerivation rec { + version = "1.1pre78bf82c"; + name = "tinc-${version}"; + + src = fetchgit { + url = "git://tinc-vpn.org/tinc"; + rev = "78bf82cf332327889f0f61388b73053850d8e59b"; + sha256 = "0azjy78qrzpk16b5jm08kx01ln2j9q0q69g86ah60fms525w1xjk"; + }; + + buildInputs = [ autoreconfHook texinfo ncurses readline zlib lzo openssl ]; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + ]; + + meta = with stdenv.lib; { + description = "VPN daemon with full mesh routing"; + longDescription = '' + tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and + encryption to create a secure private network between hosts on the + Internet. It features full mesh routing, as well as encryption, + authentication, compression and ethernet bridging. + ''; + homepage="http://www.tinc-vpn.org/"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ wkennington ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 05c9d695bc2..eee5ed3d9b0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2260,6 +2260,8 @@ let tinc = callPackage ../tools/networking/tinc { }; + tinc_pre = callPackage ../tools/networking/tinc/pre.nix { }; + tiny8086 = callPackage ../applications/virtualization/8086tiny { }; tmpwatch = callPackage ../tools/misc/tmpwatch { }; From d13423c74f93620c1b8810e9818bbb025016d137 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 24 Aug 2014 19:53:13 -0700 Subject: [PATCH 0650/2163] tinc_pre: Experimental Patches --- pkgs/tools/networking/tinc/pre.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix index b2a7ca53728..030cb30a150 100644 --- a/pkgs/tools/networking/tinc/pre.nix +++ b/pkgs/tools/networking/tinc/pre.nix @@ -1,13 +1,12 @@ { stdenv, fetchgit, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }: stdenv.mkDerivation rec { - version = "1.1pre78bf82c"; - name = "tinc-${version}"; + name = "tinc-1.1pre38d7e73"; src = fetchgit { url = "git://tinc-vpn.org/tinc"; - rev = "78bf82cf332327889f0f61388b73053850d8e59b"; - sha256 = "0azjy78qrzpk16b5jm08kx01ln2j9q0q69g86ah60fms525w1xjk"; + rev = "38d7e730e619a8b86dfbf68d77773564595f12a1"; + sha256 = "0xac1jm6x9lkybd6sz8lfcdrb8h69kh1ckg35ag1rssr45hxikbz"; }; buildInputs = [ autoreconfHook texinfo ncurses readline zlib lzo openssl ]; From af4c369d0a21e77afb1bdb0993e67e027d29235a Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 20:17:55 +0400 Subject: [PATCH 0651/2163] Revert "Create wrapper directory outside of /bin/ for FHS chroots to be closer to FHS" This reverts commit 9deb7f8aae431ed7725cfaa13edf8645d19d91f2. --- pkgs/build-support/setup-hooks/make-wrapper.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index dd43068be27..95d1a519213 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -97,9 +97,9 @@ filterExisting() { wrapProgram() { local prog="$1" local progBasename=$(basename $prog) - local hiddenDir="$(dirname $prog)/../wrapped-bin/.$progBasename-wrapped-bin" - mkdir -p $hiddenDir - local hidden="$(cd "$hiddenDir"; pwd)/$progBasename" + local hiddenDir=$(dirname $prog)/.$progBasename-wrapped-bin + local hidden=$hiddenDir/$progBasename + mkdir $hiddenDir mv $prog $hidden makeWrapper $hidden $prog "$@" } From 76f4eb5f93451b6300e42f775c4a63adbb7f4986 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 20:45:41 +0400 Subject: [PATCH 0652/2163] Revert "python-wrapper: fix wrapped argv[0] w/o sed, maybe" This reverts commit a6dd9bd0cb3ef4896c41f70e37bc3a72d36aa569. --- pkgs/build-support/setup-hooks/make-wrapper.sh | 5 +---- pkgs/development/python-modules/generic/wrap.sh | 6 ++++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index 95d1a519213..41f2a59246d 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -96,10 +96,7 @@ filterExisting() { # Syntax: wrapProgram wrapProgram() { local prog="$1" - local progBasename=$(basename $prog) - local hiddenDir=$(dirname $prog)/.$progBasename-wrapped-bin - local hidden=$hiddenDir/$progBasename - mkdir $hiddenDir + local hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped mv $prog $hidden makeWrapper $hidden $prog "$@" } diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh index 282aeca9ed1..857f002cace 100644 --- a/pkgs/development/python-modules/generic/wrap.sh +++ b/pkgs/development/python-modules/generic/wrap.sh @@ -26,6 +26,12 @@ wrapPythonProgramsIn() { # dont wrap EGG-INFO scripts since they are called from python if echo "$i" | grep -v EGG-INFO/scripts; then echo "wrapping \`$i'..." + sed -i "$i" -re '1 { + /^#!/!b; :r + /\\$/{N;b r} + /__future__|^ *(#.*)?$/{n;b r} + /^ *[^# ]/i import sys; sys.argv[0] = '"'$(basename "$i")'"' + }' wrapProgram "$i" \ --prefix PYTHONPATH ":" $program_PYTHONPATH \ --prefix PATH ":" $program_PATH From 0ede64bfcb18430f2e5d5b4079a173f809947b0e Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 2 Sep 2014 21:17:52 +0400 Subject: [PATCH 0653/2163] Override postFixup for urlwatch so it works somehwo --- pkgs/tools/networking/urlwatch/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix index 4843f07c8f2..1be71942e70 100644 --- a/pkgs/tools/networking/urlwatch/default.nix +++ b/pkgs/tools/networking/urlwatch/default.nix @@ -12,6 +12,10 @@ python3Packages.buildPythonPackage rec { ./convert-to-python3.sh ''; + postFixup = '' + wrapProgram "$out/bin/urlwatch" --prefix "PYTHONPATH" : "$PYTHONPATH" + ''; + meta = { description = "A tool for monitoring webpages for updates"; homepage = https://thp.io/2008/urlwatch/; From 02f5f25b2ddcb8ea5b577e35ac170547716603aa Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Sun, 31 Aug 2014 23:37:43 -0700 Subject: [PATCH 0654/2163] merge in ewemoa's zipalign fix with my updated build-tools now passes Android tests found at https://github.com/svanderburg/nix-androidenvtests ! --- pkgs/development/mobile/androidenv/build-tools.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/mobile/androidenv/build-tools.nix b/pkgs/development/mobile/androidenv/build-tools.nix index 58bf3549361..215844ea396 100644 --- a/pkgs/development/mobile/androidenv/build-tools.nix +++ b/pkgs/development/mobile/androidenv/build-tools.nix @@ -39,6 +39,13 @@ stdenv.mkDerivation { do patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:`pwd` $i done + + # These binaries also need zlib in addition to libstdc++ + for i in zipalign + do + patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i + patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:${zlib_32bit}/lib $i + done # These binaries need to find libstdc++, libgcc_s, and zlib for i in aapt dexdump From 800beea5f96c18fda25ab01e935a31e9f01a4a78 Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Tue, 2 Sep 2014 19:18:30 +0200 Subject: [PATCH 0655/2163] androidsdk: Bump to version 23.02 and update all its plugins and conversion scripts --- pkgs/development/mobile/androidenv/addon.xml | 621 ++++--- pkgs/development/mobile/androidenv/addons.nix | 4 +- .../mobile/androidenv/androidsdk.nix | 27 +- .../mobile/androidenv/build-tools.nix | 10 +- .../mobile/androidenv/{fetch => fetch.sh} | 5 +- .../mobile/androidenv/generate-addons.xsl | 6 +- .../mobile/androidenv/generate-platforms.sh | 4 +- .../mobile/androidenv/generate-platforms.xsl | 10 +- .../androidenv/generate-sysimages-others.xsl | 21 - .../mobile/androidenv/generate-sysimages.sh | 4 +- .../mobile/androidenv/generate-sysimages.xsl | 10 +- .../mobile/androidenv/platforms-linux.nix | 10 +- .../mobile/androidenv/platforms-macosx.nix | 10 +- .../mobile/androidenv/repository-10.xml | 1562 +++++++++++++++++ .../mobile/androidenv/repository-8.xml | 1277 -------------- .../mobile/androidenv/sys-img-mips.xml | 132 -- .../mobile/androidenv/sys-img-x86.xml | 154 -- .../development/mobile/androidenv/sys-img.xml | 712 ++++++++ .../mobile/androidenv/sysimages.nix | 84 +- 19 files changed, 2675 insertions(+), 1988 deletions(-) rename pkgs/development/mobile/androidenv/{fetch => fetch.sh} (58%) delete mode 100644 pkgs/development/mobile/androidenv/generate-sysimages-others.xsl create mode 100644 pkgs/development/mobile/androidenv/repository-10.xml delete mode 100644 pkgs/development/mobile/androidenv/repository-8.xml delete mode 100644 pkgs/development/mobile/androidenv/sys-img-mips.xml delete mode 100644 pkgs/development/mobile/androidenv/sys-img-x86.xml create mode 100644 pkgs/development/mobile/androidenv/sys-img.xml diff --git a/pkgs/development/mobile/androidenv/addon.xml b/pkgs/development/mobile/androidenv/addon.xml index aee3c847e93..274ae734b6e 100644 --- a/pkgs/development/mobile/androidenv/addon.xml +++ b/pkgs/development/mobile/androidenv/addon.xml @@ -14,167 +14,274 @@ * See the License for the specific language governing permissions and * limitations under the License. --> - + - Terms and Conditions - -This is the Android Software Development Kit License Agreement. + To get started with the Android SDK, you must agree to the following terms and conditions. +This is the Android SDK License Agreement (the "License Agreement"). 1. Introduction - -1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. +1.1 The Android SDK (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. 1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. 1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. +2. Accepting the License Agreement -2. Accepting this License Agreement +2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement. - -2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement. - -2.2 By clicking to accept, you hereby agree to the terms of this License Agreement. +2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement. 2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK. -2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. - +2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. 3. SDK License from Google - -3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform. +3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform. 3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. -3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK. +3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK. 3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK. -3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement. +3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. 3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. -3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. +3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. - 4. Use of the SDK by You +4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. -4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. +4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). -4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). +4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. -4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. - -4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier. +4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - +4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. 5. Your Developer Credentials - 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - 6. Privacy and Information - 6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. -6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy. - +6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. 7. Third Party Applications - 7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties. +7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. +8. Using Google APIs -8. Using Android APIs - - -8.1 Google Data APIs +8.1 Google APIs 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. +9. Terminating the License Agreement -9. Terminating this License Agreement +9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below. +9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. -9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below. +9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. -9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. +9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service. -9.3 Google may at any time, terminate this License Agreement with you if: -(A) you have breached any provision of this License Agreement; or -(B) Google is required to do so by law; or -(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or -(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable. - -9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. - - -10. DISCLAIMER OF WARRANTIES +9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. +10. DISCLAIMERS 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. -10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. +10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - 11. LIMITATION OF LIABILITY - 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - 12. Indemnification - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement. - +12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. 13. Changes to the License Agreement - 13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. - 14. General Legal Terms +14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. -14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. +14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. +14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement. +14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. 14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. -14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party. +14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. -14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. +14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. -November 13, 2012 +June 2014. + + + + To get started with the Android SDK Preview, you must agree to the following terms and conditions. +As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk. The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data. + +This is the Android SDK Preview License Agreement (the "License Agreement"). + +1. Introduction + +1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview. + +1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. + +1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. + +2. Accepting the License Agreement + +2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement. + +2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement. + +2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview. + +2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity. + +3. Preview License from Google + +3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform. + +3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. + +3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview. + +3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview. + +3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. + +3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you. + +3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. + +3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview. + +4. Use of the Preview by You + +4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications. + +4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). + +4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. + +4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. + +4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. + +4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. + +4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released. + +5. Your Developer Credentials + +5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. + +6. Privacy and Information + +6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected. + +6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. + +7. Third Party Applications + +7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. + +7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. + +7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. + +8. Using Google APIs + +8.1 Google APIs + +8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. + +8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. + +9. Terminating the License Agreement + +9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below. + +9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials. + +9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. + +9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of: +(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and +(B) Google issues a final release version of the Android SDK. + +9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. + +10. DISCLAIMERS + +10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. + +10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. + +10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + +11. LIMITATION OF LIABILITY + +11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. + +12. Indemnification + +12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. + +13. Changes to the License Agreement + +13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available. + +14. General Legal Terms + +14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview. + +14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. + +14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. + +14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. + +14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. + +14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. + +14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + +June 2014. Terms and Conditions @@ -321,151 +428,6 @@ This is the Google TV Add-on for the Android Software Development Kit License Ag August 15, 2011 - This is an early Sneak Peek of the GDK that is subject to change. Please stay tuned for the full Developer Preview coming soon. - -Terms and Conditions - -This is the Glass Development Kit License Agreement. - -1. Introduction - -1.1 The Glass Development Kit (referred to in this License Agreement as the "GDK" and specifically including the Android system files, packaged APIs, and GDK library files, if and when they are made available) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the GDK. - -1.2 "Glass" means Glass devices and the Glass software stack for use on Glass devices. - - -1.3 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. - -1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. - -2. Accepting this License Agreement - -2.1 In order to use the GDK, you must first agree to this License Agreement. You may not use the GDK if you do not accept this License Agreement. - -2.2 By clicking to accept, you hereby agree to the terms of this License Agreement. - -2.3 You may not use the GDK and may not accept the License Agreement if you are a person barred from receiving the GDK under the laws of the United States or other countries including the country in which you are resident or from which you use the GDK. - -2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the GDK on behalf of your employer or other entity. - -3. GDK License from Google - -3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the GDK solely to develop applications to run on the Glass platform for Glass devices. - -3.2 You agree that Google or third parties own all legal right, title and interest in and to the GDK, including any Intellectual Property Rights that subsist in the GDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. - -3.3 You may not use the GDK for any purpose not expressly permitted by this License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the GDK or any part of the GDK; or (b) load any part of the GDK onto a mobile handset or wearable computing device or any other hardware device except a Glass device personal computer, combine any part of the GDK with other software, or distribute any software or device incorporating a part of the GDK. - -3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Glass, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the GDK. - -3.5 Use, reproduction and distribution of components of the GDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement. - -3.6 You agree that the form and nature of the GDK that Google provides may change without prior notice to you and that future versions of the GDK may be incompatible with applications developed on previous versions of the GDK. You agree that Google may stop (permanently or temporarily) providing the GDK (or any features within the GDK) to you or to users generally at Google's sole discretion, without prior notice to you. - -3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. - -3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the GDK. - - -3.9 Your use of any Android system files, packaged APIs, or other components of the GDK which are part of the Android Software Development Kit is subject to the terms of the Android Software Development Kit License Agreement located at http://developer.android.com/sdk/terms.html. These terms are hereby incorporated by reference into this License Agreement. - -4. Use of the GDK by You - -4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the GDK, including any intellectual property rights that subsist in those applications. - -4.2 You agree to use the GDK and write applications only for purposes that are permitted by (a) this License Agreement, (b) the Glass Platform Developer Policies (located at https://developers.google.com/glass/policies, and hereby incorporated into this License Agreement by reference), and (c) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). - -4.3 You agree that if you use the GDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. - -4.4 You agree that you will not engage in any activity with the GDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google. - -4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Glass and/or applications for Glass, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. - -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - - -4.7 The GDK is in development, and your testing and feedback are an important part of the development process. By using the GDK, you acknowledge that implementation of some features are still under development and that you should not rely on the GDK, Glass devices, Glass system software, Google Mirror API, or Glass services having the full functionality of a stable release. - -5. Your Developer Credentials - -5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - -6. Privacy and Information - - -6.1 In order to continually innovate and improve the GDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the GDK are being used and how they are being used. Before any of this information is collected, the GDK will notify you and seek your consent. If you withhold consent, the information will not be collected. - -6.2 The data collected is examined in the aggregate to improve the GDK and is maintained in accordance with Google's Privacy Policy. - -7. Third Party Applications - -7.1 If you use the GDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. - -7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. - -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties. - -8. Using Google APIs - -8.1 Google APIs - -8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. - -8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. - -9. Terminating this License Agreement - -9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below. - -9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the GDK and any relevant developer credentials. - -9.3 Google may at any time, terminate this License Agreement with you if: -(A) you have breached any provision of this License Agreement; or -(B) Google is required to do so by law; or -(C) the partner with whom Google offered certain parts of GDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the GDK to you; or -(D) Google decides to no longer provide the GDK or certain parts of the GDK to users in the country in which you are resident or from which you use the service, or the provision of the GDK or certain GDK services to you by Google is, in Google's sole discretion, no longer commercially viable. - -9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. - -10. DISCLAIMER OF WARRANTIES - -10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GDK IS AT YOUR SOLE RISK AND THAT THE GDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. - -10.2 YOUR USE OF THE GDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. - -10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - -11. LIMITATION OF LIABILITY - -11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - -12. Indemnification - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the GDK, (b) any application you develop on the GDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement. - -13. Changes to the License Agreement - -13.1 Google may make changes to the License Agreement as it distributes new versions of the GDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the GDK is made available. - -14. General Legal Terms - -14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the GDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the GDK. - -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. - -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement. - -14.5 EXPORT RESTRICTIONS. THE GDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. - -14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party. - -14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. - -November 19, 2013 - - @@ -479,7 +441,7 @@ November 19, 2013 http://developer.android.com/ - + 34908058 1f92abf3a76be66ae8032257fc7620acbd2b2e3a google_apis-3-r03.zip @@ -506,7 +468,7 @@ November 19, 2013 http://developer.android.com/ - + 42435735 9b6e86d8568558de4d606a7debc4f6049608dbd0 google_apis-4_r02.zip @@ -534,7 +496,7 @@ November 19, 2013 - + 49123776 46eaeb56b645ee7ffa24ede8fa17f3df70db0503 google_apis-5_r01.zip @@ -562,7 +524,7 @@ November 19, 2013 - + 53382941 5ff545d96e031e09580a6cf55713015c7d4936b2 google_apis-6_r01.zip @@ -589,7 +551,7 @@ November 19, 2013 http://developer.android.com/ - + 53691339 2e7f91e0fe34fef7f58aeced973c6ae52361b5ac google_apis-7_r01.zip @@ -616,7 +578,7 @@ November 19, 2013 http://developer.android.com/ - + 59505020 3079958e7ec87222cac1e6b27bc471b27bf2c352 google_apis-8_r02.zip @@ -643,7 +605,7 @@ November 19, 2013 http://developer.android.com/ - + 63401546 78664645a1e9accea4430814f8694291a7f1ea5d google_apis-9_r02.zip @@ -671,7 +633,7 @@ November 19, 2013 http://developer.android.com/ - + 65781578 cc0711857c881fa7534f90cf8cc09b8fe985484d google_apis-10_r02.zip @@ -698,7 +660,7 @@ November 19, 2013 http://developer.android.com/ - + 83477179 5eab5e81addee9f3576d456d205208314b5146a5 google_apis-11_r01.zip @@ -725,7 +687,7 @@ November 19, 2013 http://developer.android.com/ - + 86099835 e9999f4fa978812174dfeceec0721c793a636e5d google_apis-12_r01.zip @@ -752,7 +714,7 @@ November 19, 2013 http://developer.android.com/ - + 88615525 3b153edd211c27dc736c893c658418a4f9041417 google_apis-13_r01.zip @@ -785,7 +747,7 @@ November 19, 2013 - + 106533714 f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39 google_apis-14_r02.zip @@ -814,7 +776,7 @@ November 19, 2013 - + 106612472 6757c12788da0ea00c2ab58e54cb438b9f2bcf66 google_apis-15_r02.zip @@ -844,7 +806,7 @@ November 19, 2013 - + 127278413 63467dd32f471e3e81e33e9772c22f33235aa3b3 google_apis-16_r03.zip @@ -874,7 +836,7 @@ November 19, 2013 - + 137156978 8246f61d24f0408c8e7bc352a1e522b7e2b619ba google_apis-17_r03.zip @@ -904,7 +866,7 @@ November 19, 2013 - + 143149689 147bce09c1163edc17194f3db496ec1086fcf965 google_apis-18_r03.zip @@ -914,14 +876,14 @@ November 19, 2013 - + google Google Inc. google_apis - Google APIs + Google APIs (ARM System Image) Android + Google APIs 19 - 1 + 7 com.google.android.maps @@ -934,16 +896,15 @@ November 19, 2013 - - 150689239 - 6c530a8318446e4da1e3ab7d2abd154bc493bc5a - google_apis-19_r01.zip + + 160661775 + 150f5a3fec4f03313ca770b90126605619bd713c + google_apis-19_r07.zip - @@ -957,10 +918,11 @@ November 19, 2013 http://developer.android.com/ - + 78266751 92128a12e7e8b0fb5bac59153d7779b717e7b840 google_tv-12_r02.zip + linux @@ -977,7 +939,7 @@ November 19, 2013 http://developer.android.com/ - + 87721879 b73f7c66011ac8180b44aa4e83b8d78c66ea9a09 google_tv-13_r01.zip @@ -986,71 +948,48 @@ November 19, 2013 - - - - - google - Google Inc. - google_gdk - Glass Development Kit Sneak Peek - 15 - 01 - Sneak peek of the Glass Development Kit - https://developers.google.com/glass/gdk/ - - - - 281839 - a3c7317fb2fe8a0dfc06828a5aabc457372b82a7 - https://dl-ssl.google.com/glass/xe11/google-gdk.zip - - - - - com.google.android.glass - APIs for Google Glass Development Kit Sneak Peek. - - - - - - - 19 + + + 20 + 0 + 0 + Android android Android Support Library support compatibility - - 4905998 - 54b8661595856a08f032d41bb139f375a7609308 - support_r19.zip + + 5508097 + 719c260dc3eb950712988f987daaf91afa9e36af + support_r20.zip - - 3 + + + 6 + Android android Android Support Repository Local Maven repository for Support Libraries m2repository - - 6282146 - db4650f817f1507211ec6186d2d9e72074e6df12 - android_m2repository_r03.zip + + 22271942 + d4874fd330f41a7c16de392ce917c2a3562dd620 + android_m2repository_r06.zip - + @@ -1060,14 +999,16 @@ November 19, 2013 Google Inc. Google Repository m2repository - 4 + + 11 + Local Maven repository for Google Libraries - - 3891592 - c418daafd203a8cb4899d49bd321da83b927586e - google_m2repository_r04.zip + + 18832133 + 08b5114037d187cf3d4b44a25570149ef4f8ab3d + google_m2repository_r11.zip @@ -1078,11 +1019,13 @@ November 19, 2013 Google Play Licensing Library play_licensing market_licensing - 2 + + 2 + Google Play Licensing client library http://developer.android.com/guide/publishing/licensing.html - + 75109 355e8dc304a92a5616db235af8ee7bd554356254 market_licensing-r02.zip @@ -1097,11 +1040,13 @@ November 19, 2013 Google Play APK Expansion Library play_apk_expansion market_apk_expansion - 3 + + 3 + Google Play APK Expansion library http://developer.android.com/guide/market/expansion-files.html - + 110201 5305399dc1a56814e86b8459ce24871916f78b8c market_apk_expansion-r03.zip @@ -1115,12 +1060,14 @@ November 19, 2013 Google Inc. Google Play services for Froyo google_play_services_froyo - 12 + + 12 + Google Play services client library and sample code https://developers.google.com/android/google-play-services/index - + 5265389 92558dbc380bba3d55d0ec181167fb05ce7c79d9 google_play_services_3265130_r12.zip @@ -1133,34 +1080,59 @@ November 19, 2013 Google Inc. Google Play services google_play_services - 13 + + 19 + Google Play services client library and sample code https://developers.google.com/android/google-play-services/index - - 7958511 - 1be94e8f767616e862f0088ab673e1980a6022c4 - google_play_services_4030530_r13.zip + + 13982276 + 847a8806dd3c43effc2afdd7b49fc6ba27f72d5d + google_play_services_5089000_r19.zip - google Google Inc. - Google USB Driver - usb_driver - 8 - USB Driver for Windows, revision 8 - http://developer.android.com/ - + Google Play services for Fit Preview + google_play_services_fit_preview + + 1 + + Google Play services client library and sample code + https://developers.google.com/android/google-play-services/index + - - 8682230 - 2b2f91098a984a865a70f0bd841a843fb54462fc - usb_driver_r08-windows.zip + + 15224769 + 34369ca796268ec7274bc49d659d9e8f042b55ae + google_play_services_fit_preview_5208000_r01.zip + + + + + + + google + + http://developer.android.com/ + usb_driver + USB Driver for Windows, revision 10 + Google USB Driver + Google Inc. + + 10 + + + + usb_driver_r10-windows.zip + a5f8280829f07bb3144a8d657ec7aa0128443a2c + 8682752 + windows @@ -1171,11 +1143,13 @@ November 19, 2013 Google Play Billing Library play_billing market_billing - 5 + + 5 + Google Play Billing files and sample code http://developer.android.com/google/play/billing/index.html - + 436654 bd2ac5ce7127070ac3229003eb69cfb806628ac9 play_billing_r05.zip @@ -1189,29 +1163,35 @@ November 19, 2013 Google Inc. Google AdMob Ads SDK admob_ads_sdk - 11 + + 11 + AdMob Ads SDK https://developers.google.com/mobile-ads-sdk/docs/ - + 704512 0102859d9575baa0bf4fd5eb422af2ad0fe6cb82 https://dl-ssl.google.com/googleadmobadssdk/googleadmobadssdkandroid-6.4.1.zip + + google Google Inc. Google Analytics App Tracking SDK analytics_sdk_v2 - 3 + + 3 + Analytics App Tracking SDK http://developers.google.com/analytics/devguides/collection/ - + 211432 dc14026bf0ce78315cb5dd00552607de0894de83 https://dl.google.com/gaformobileapps/GoogleAnalyticsAndroid_2.0beta5.zip @@ -1225,11 +1205,13 @@ November 19, 2013 Google Inc. Google Web Driver webdriver - 2 + + 2 + WebDriver http://selenium.googlecode.com - + 4055193 13f3a3b2670a5fc04a7342861644be9a01b07e38 webdriver_r02.zip @@ -1241,18 +1223,21 @@ November 19, 2013 google Google Inc. - [Deprecated] Google Cloud Messaging for Android Library + Google Cloud Messaging for Android Library gcm - 3 + + 3 + GCM library has been moved to Google Play Services (com.google.android.gms.gcm) and this standalone version is no longer supported https://developers.google.com/android/gcm/index - + 5901400 ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf gcm_r03.zip + diff --git a/pkgs/development/mobile/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix index 8aacde4eee7..4f7ed6e9e8e 100644 --- a/pkgs/development/mobile/androidenv/addons.nix +++ b/pkgs/development/mobile/androidenv/addons.nix @@ -209,8 +209,8 @@ in google_apis_19 = buildGoogleApis { name = "google_apis-19"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/google_apis-19_r01.zip; - sha1 = "6c530a8318446e4da1e3ab7d2abd154bc493bc5a"; + url = https://dl-ssl.google.com/android/repository/google_apis-19_r07.zip; + sha1 = "150f5a3fec4f03313ca770b90126605619bd713c"; }; meta = { description = "Android + Google APIs"; diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix index 60f71517323..1a5cf9500cd 100644 --- a/pkgs/development/mobile/androidenv/androidsdk.nix +++ b/pkgs/development/mobile/androidenv/androidsdk.nix @@ -9,36 +9,35 @@ stdenv.mkDerivation rec { name = "android-sdk-${version}"; - version = "22.6.2"; + version = "23.0.2"; src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl { url = "http://dl.google.com/android/android-sdk_r${version}-linux.tgz"; - md5 = "ff1541418a44d894bedc5cef10622220"; + md5 = "94a8c62086a7398cc0e73e1c8e65f71e"; } else if stdenv.system == "x86_64-darwin" then fetchurl { url = "http://dl.google.com/android/android-sdk_r${version}-macosx.zip"; - md5 = "2a319c862dd1dcf450bfe2a6b3d9c608"; + md5 = "322787b0e6c629d926c28690c79ac0d8"; } else throw "platform not ${stdenv.system} supported!"; buildCommand = '' mkdir -p $out/libexec cd $out/libexec - unpackFile $src; - + unpackFile $src cd android-sdk-*/tools ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") '' # There are a number of native binaries. We must patch them to let them find the interpreter and libstdc++ - - for i in dmtracedump emulator emulator-arm emulator-mips emulator-x86 hprof-conv mksdcard sqlite3 + + for i in emulator emulator-arm emulator-mips emulator-x86 mksdcard do patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib $i done - + ${stdenv.lib.optionalString (stdenv.system == "x86_64-linux") '' # We must also patch the 64-bit emulator instances, if needed @@ -49,16 +48,8 @@ stdenv.mkDerivation rec { done ''} - # These tools also need zlib in addition to libstdc++ - - for i in etc1tool zipalign - do - patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i - patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:${zlib_32bit}/lib $i - done - - # The android script has a hardcoded reference to /bin/ls that must be patched - sed -i -e "s|/bin/ls|ls|" android + # Patch the path to the executable so that it can find sdkmanager.jar file + #sed -i -e 's|frameworkdir="\$progdir"|'"frameworkdir=$(echo $out/libexec/android-sdk-*/tools/lib)|" android # The android script used SWT and wants to dynamically load some GTK+ stuff. # The following wrapper ensures that they can be found: diff --git a/pkgs/development/mobile/androidenv/build-tools.nix b/pkgs/development/mobile/androidenv/build-tools.nix index 215844ea396..11beb29f3ce 100644 --- a/pkgs/development/mobile/androidenv/build-tools.nix +++ b/pkgs/development/mobile/androidenv/build-tools.nix @@ -1,15 +1,15 @@ {stdenv, stdenv_32bit, fetchurl, unzip, zlib_32bit}: stdenv.mkDerivation { - name = "android-build-tools-r18.1.0"; + name = "android-build-tools-r20"; src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl { - url = https://dl-ssl.google.com/android/repository/build-tools_r18.1-linux.zip; - sha1 = "f314a0599e51397f0886fe888b50dd98f2f050d8"; + url = https://dl-ssl.google.com/android/repository/build-tools_r20-linux.zip; + sha1 = "b688905526a5584d1327a662d871a635ff502758"; } else if stdenv.system == "x86_64-darwin" then fetchurl { - url = https://dl-ssl.google.com/android/repository/build-tools_r18.1-macosx.zip; - sha1 = "16ddb299b8b43063e5bb3387ec17147c5053dfd8"; + url = https://dl-ssl.google.com/android/repository/build-tools_r20-macosx.zip; + sha1 = "1240f629411c108a714c4ddd756937c7fab93f83"; } else throw "System ${stdenv.system} not supported!"; diff --git a/pkgs/development/mobile/androidenv/fetch b/pkgs/development/mobile/androidenv/fetch.sh similarity index 58% rename from pkgs/development/mobile/androidenv/fetch rename to pkgs/development/mobile/androidenv/fetch.sh index 30aabc9e086..92abb18f25f 100755 --- a/pkgs/development/mobile/androidenv/fetch +++ b/pkgs/development/mobile/androidenv/fetch.sh @@ -5,10 +5,9 @@ android list sdk | grep 'Parse XML:' | cut -f8- -d\ # | xargs -n 1 curl -O # we skip the intel addons, as they are Windows+osX only # we skip the default sys-img (arm?) because it is empty -curl -o repository-8.xml https://dl-ssl.google.com/android/repository/repository-8.xml +curl -o repository-10.xml https://dl-ssl.google.com/android/repository/repository-10.xml curl -o addon.xml https://dl-ssl.google.com/android/repository/addon.xml -curl -o sys-img-mips.xml https://dl-ssl.google.com/android/repository/sys-img/mips/sys-img.xml -curl -o sys-img-x86.xml https://dl-ssl.google.com/android/repository/sys-img/x86/sys-img.xml +curl -o sys-img.xml https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml ./generate-addons.sh ./generate-platforms.sh diff --git a/pkgs/development/mobile/androidenv/generate-addons.xsl b/pkgs/development/mobile/androidenv/generate-addons.xsl index 0100b980a4e..51d0c07c934 100644 --- a/pkgs/development/mobile/androidenv/generate-addons.xsl +++ b/pkgs/development/mobile/androidenv/generate-addons.xsl @@ -1,7 +1,7 @@ + xmlns:sdk="http://schemas.android.com/sdk/android/addon/7"> @@ -23,8 +23,8 @@ in google_apis_ = buildGoogleApis { name = "-"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/; - sha1 = ""; + url = https://dl-ssl.google.com/android/repository/; + sha1 = ""; }; meta = { description = ""; diff --git a/pkgs/development/mobile/androidenv/generate-platforms.sh b/pkgs/development/mobile/androidenv/generate-platforms.sh index 8ac4ad328f4..58d3ba58d37 100755 --- a/pkgs/development/mobile/androidenv/generate-platforms.sh +++ b/pkgs/development/mobile/androidenv/generate-platforms.sh @@ -1,4 +1,4 @@ #!/bin/sh -e -xsltproc --stringparam os linux generate-platforms.xsl repository-8.xml > platforms-linux.nix -xsltproc --stringparam os macosx generate-platforms.xsl repository-8.xml > platforms-macosx.nix +xsltproc --stringparam os linux generate-platforms.xsl repository-10.xml > platforms-linux.nix +xsltproc --stringparam os macosx generate-platforms.xsl repository-10.xml > platforms-macosx.nix diff --git a/pkgs/development/mobile/androidenv/generate-platforms.xsl b/pkgs/development/mobile/androidenv/generate-platforms.xsl index 249f044550b..ba556f2baac 100644 --- a/pkgs/development/mobile/androidenv/generate-platforms.xsl +++ b/pkgs/development/mobile/androidenv/generate-platforms.xsl @@ -1,7 +1,7 @@ + xmlns:sdk="http://schemas.android.com/sdk/android/repository/10"> @@ -10,7 +10,7 @@ let buildPlatform = args: - stdenv.mkDerivation (args // { + stdenv.mkDerivation (args // { buildInputs = [ unzip ]; buildCommand = '' mkdir -p $out @@ -20,12 +20,12 @@ let }); in { - + platform_ = buildPlatform { name = "android-platform-"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/; - sha1 = ""; + url = ; + sha1 = ""; }; meta = { description = ""; diff --git a/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl b/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl deleted file mode 100644 index 31ab72add36..00000000000 --- a/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - sysimg__ = buildSystemImage { - name = "-"; - src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sys-img//; - sha1 = ""; - }; - }; - - - diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.sh b/pkgs/development/mobile/androidenv/generate-sysimages.sh index 90b1e04c229..ef2f825642b 100755 --- a/pkgs/development/mobile/androidenv/generate-sysimages.sh +++ b/pkgs/development/mobile/androidenv/generate-sysimages.sh @@ -17,9 +17,7 @@ in { EOF -xsltproc generate-sysimages.xsl repository-8.xml >> sysimages.nix -xsltproc --stringparam abi x86 generate-sysimages-others.xsl sys-img-x86.xml >> sysimages.nix -xsltproc --stringparam abi mips generate-sysimages-others.xsl sys-img-mips.xml >> sysimages.nix +xsltproc generate-sysimages.xsl sys-img.xml >> sysimages.nix cat >> sysimages.nix << "EOF" } diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.xsl b/pkgs/development/mobile/androidenv/generate-sysimages.xsl index be9947d536a..6de690622b5 100644 --- a/pkgs/development/mobile/androidenv/generate-sysimages.xsl +++ b/pkgs/development/mobile/androidenv/generate-sysimages.xsl @@ -2,17 +2,17 @@ + xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - + sysimg__ = buildSystemImage { - name = "-"; + name = "sysimg--"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/; - sha1 = ""; + url = https://dl-ssl.google.com/android/repository/sys-img/android/; + sha1 = ""; }; }; diff --git a/pkgs/development/mobile/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix index f9f5a2d50f4..feb967d0108 100644 --- a/pkgs/development/mobile/androidenv/platforms-linux.nix +++ b/pkgs/development/mobile/androidenv/platforms-linux.nix @@ -3,7 +3,7 @@ let buildPlatform = args: - stdenv.mkDerivation (args // { + stdenv.mkDerivation (args // { buildInputs = [ unzip ]; buildCommand = '' mkdir -p $out @@ -219,13 +219,13 @@ in }; platform_19 = buildPlatform { - name = "android-platform-4.4"; + name = "android-platform-4.4.2"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/android-19_r01.zip; - sha1 = "96281811998272dce46e8285d15fce444a3d5a96"; + url = https://dl-ssl.google.com/android/repository/android-19_r03.zip; + sha1 = "5f33d8fd36a384fe2b170035e04a29c274a9ef95"; }; meta = { - description = "Android SDK Platform 4.4"; + description = "Android SDK Platform 4.4.2"; }; }; diff --git a/pkgs/development/mobile/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix index a95561d3e85..0e93ed9412b 100644 --- a/pkgs/development/mobile/androidenv/platforms-macosx.nix +++ b/pkgs/development/mobile/androidenv/platforms-macosx.nix @@ -3,7 +3,7 @@ let buildPlatform = args: - stdenv.mkDerivation (args // { + stdenv.mkDerivation (args // { buildInputs = [ unzip ]; buildCommand = '' mkdir -p $out @@ -219,13 +219,13 @@ in }; platform_19 = buildPlatform { - name = "android-platform-4.4"; + name = "android-platform-4.4.2"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/android-19_r01.zip; - sha1 = "96281811998272dce46e8285d15fce444a3d5a96"; + url = https://dl-ssl.google.com/android/repository/android-19_r03.zip; + sha1 = "5f33d8fd36a384fe2b170035e04a29c274a9ef95"; }; meta = { - description = "Android SDK Platform 4.4"; + description = "Android SDK Platform 4.4.2"; }; }; diff --git a/pkgs/development/mobile/androidenv/repository-10.xml b/pkgs/development/mobile/androidenv/repository-10.xml new file mode 100644 index 00000000000..81023cae2ee --- /dev/null +++ b/pkgs/development/mobile/androidenv/repository-10.xml @@ -0,0 +1,1562 @@ + + + + + To get started with the Android SDK, you must agree to the following terms and conditions. + +This is the Android SDK License Agreement (the "License Agreement"). + +1. Introduction + +1.1 The Android SDK (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. + +1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. + +1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. + +2. Accepting the License Agreement + +2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement. + +2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement. + +2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK. + +2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. + +3. SDK License from Google + +3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform. + +3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. + +3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK. + +3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK. + +3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. + +3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. + +3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. + +3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. + +4. Use of the SDK by You + +4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. + +4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). + +4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. + +4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. + +4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. + +4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. + +5. Your Developer Credentials + +5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. + +6. Privacy and Information + +6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. + +6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. + +7. Third Party Applications + +7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. + +7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. + +7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. + +8. Using Google APIs + +8.1 Google APIs + +8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. + +8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. + +9. Terminating the License Agreement + +9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below. + +9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. + +9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. + +9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service. + +9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. + +10. DISCLAIMERS + +10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. + +10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. + +10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + +11. LIMITATION OF LIABILITY + +11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. + +12. Indemnification + +12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. + +13. Changes to the License Agreement + +13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. + +14. General Legal Terms + +14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. + +14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. + +14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. + +14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. + +14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. + +14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. + +14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + +June 2014. + + + To get started with the Android SDK Preview, you must agree to the following terms and conditions. +As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk. The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data. + +This is the Android SDK Preview License Agreement (the "License Agreement"). + +1. Introduction + +1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview. + +1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. + +1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. + +2. Accepting the License Agreement + +2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement. + +2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement. + +2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview. + +2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity. + +3. Preview License from Google + +3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform. + +3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. + +3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview. + +3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview. + +3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. + +3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you. + +3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. + +3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview. + +4. Use of the Preview by You + +4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications. + +4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). + +4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. + +4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. + +4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. + +4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. + +4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released. + +5. Your Developer Credentials + +5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. + +6. Privacy and Information + +6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected. + +6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. + +7. Third Party Applications + +7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. + +7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. + +7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. + +8. Using Google APIs + +8.1 Google APIs + +8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. + +8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. + +9. Terminating the License Agreement + +9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below. + +9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials. + +9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. + +9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of: +(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and +(B) Google issues a final release version of the Android SDK. + +9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. + +10. DISCLAIMERS + +10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. + +10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. + +10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + +11. LIMITATION OF LIABILITY + +11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. + +12. Indemnification + +12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. + +13. Changes to the License Agreement + +13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available. + +14. General Legal Terms + +14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview. + +14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. + +14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. + +14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. + +14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. + +14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. + +14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + +June 2014. + + + + + + 1.1 + 2 + 1 + Android SDK Platform 1.1_r1 + http://developer.android.com/sdk/android-1.1.html + + + + 46828615 + a4060f29ed39fc929c302836d488998c53c3002e + https://dl-ssl.google.com/android/repository/android-1.1_r1-windows.zip + windows + + + 45584305 + e21dbcff45b7356657449ebb3c7e941be2bb5ebe + https://dl-ssl.google.com/android/repository/android-1.1_r1-macosx.zip + macosx + + + 45476658 + c054d25c9b4c6251fa49c2f9c54336998679d3fe + https://dl-ssl.google.com/android/repository/android-1.1_r1-linux.zip + linux + + + + 4 + + + + + + + + 1.5 + 3 + 04 + + 6 + + Android SDK Platform 1.5_r3 + http://developer.android.com/sdk/android-1.5.html + + + 54624370 + 5bb106d2e40d481edd337b0833093843e15fe49a + https://dl-ssl.google.com/android/repository/android-1.5_r04-windows.zip + windows + + + 52440607 + d3a67c2369afa48b6c3c7624de5031c262018d1e + https://dl-ssl.google.com/android/repository/android-1.5_r04-macosx.zip + macosx + + + 53348669 + 5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c + https://dl-ssl.google.com/android/repository/android-1.5_r04-linux.zip + linux + + + + 4 + + + + + + 1.6 + 4 + + 03 + + 6 + + Android SDK Platform 1.6_r2 + http://developer.android.com/sdk/android-1.6.html + + + 63454485 + 483ed088e45bbdf3444baaf9250c8b02e5383cb0 + https://dl-ssl.google.com/android/repository/android-1.6_r03-linux.zip + linux + + + 62418496 + bdafad44f5df9f127979bdb21a1fdd87ee3cd625 + https://dl-ssl.google.com/android/repository/android-1.6_r03-macosx.zip + macosx + + + 64654625 + ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22 + https://dl-ssl.google.com/android/repository/android-1.6_r03-windows.zip + windows + + + + 4 + + + + + + + + 2.0 + 5 + + 01 + + 3 + + Android SDK Platform 2.0, revision 1 + http://developer.android.com/sdk/android-2.0.html + + + + 75095268 + be9be6a99ca32875c96ec7f91160ca9fce7e3c7d + https://dl-ssl.google.com/android/repository/android-2.0_r01-linux.zip + linux + + + 74956356 + 2a866d0870dbba18e0503cd41e5fae988a21b314 + https://dl-ssl.google.com/android/repository/android-2.0_r01-macosx.zip + macosx + + + 76288040 + aeb623217ff88b87216d6eb7dbc846ed53f68f57 + https://dl-ssl.google.com/android/repository/android-2.0_r01-windows.zip + windows + + + + 4 + + + + + + + + 2.0.1 + 6 + + 01 + + 4 + + Android SDK Platform 2.0.1_r1 + http://developer.android.com/sdk/android-2.0.1.html + + + + 79192618 + ce2c971dce352aa28af06bda92a070116aa5ae1a + https://dl-ssl.google.com/android/repository/android-2.0.1_r01-linux.zip + linux + + + 79035527 + c3096f80d75a6fc8cb38ef8a18aec920e53d42c0 + https://dl-ssl.google.com/android/repository/android-2.0.1_r01-macosx.zip + macosx + + + 80385601 + 255781ebe4509d9707d0e77edda2815e2bc216e6 + https://dl-ssl.google.com/android/repository/android-2.0.1_r01-windows.zip + windows + + + + 4 + + + + + + + + 2.1 + 7 + + 03 + + 8 + + Android SDK Platform 2.1_r3 + http://developer.android.com/sdk/ + + + 70142829 + 5ce51b023ac19f8738500b1007a1da5de2349a1e + https://dl-ssl.google.com/android/repository/android-2.1_r03-linux.zip + + + + 4 + + + + + + + + 2.2 + 8 + + 03 + + 8 + + Android SDK Platform 2.2_r3 + http://developer.android.com/sdk/ + + + 74652366 + 231262c63eefdff8fd0386e9ccfefeb27a8f9202 + https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip + + + + 4 + + + + + + + + 2.3.1 + 9 + + 02 + + 8 + + Android SDK Platform 2.3.1_r2 + http://developer.android.com/sdk/ + + + + 78732563 + 209f8a7a8b2cb093fce858b8b55fed3ba5206773 + https://dl-ssl.google.com/android/repository/android-2.3.1_r02-linux.zip + + + + 4 + + + + + + + + 2.3.3 + 10 + + 02 + + 8 + + Android SDK Platform 2.3.3._r2 + http://developer.android.com/sdk/ + + + 85470907 + 887e37783ec32f541ea33c2c649dda648e8e6fb3 + https://dl-ssl.google.com/android/repository/android-2.3.3_r02-linux.zip + + + + 4 + + + + + + + + 3.0 + 11 + + 02 + + 10 + + Android SDK Platform 3.0, revision 2 + http://developer.android.com/sdk/ + + + 104513908 + 2c7d4bd13f276e76f6bbd87315fe27aba351dd37 + https://dl-ssl.google.com/android/repository/android-3.0_r02-linux.zip + + + + 4 + + + + + + + + 3.1 + 12 + + 03 + + 11 + + Android SDK Platform 3.1, revision 3 + http://developer.android.com/sdk/ + + + 106472351 + 4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf + https://dl-ssl.google.com/android/repository/android-3.1_r03-linux.zip + + + + 4 + + + + + + + + 3.2 + 13 + + 01 + + 12 + + Android SDK Platform 3.2, revision 1 + http://developer.android.com/sdk/ + + + 108426536 + 6189a500a8c44ae73a439604363de93591163cd9 + https://dl-ssl.google.com/android/repository/android-3.2_r01-linux.zip + + + + 4 + + + + + + + 3 + Android SDK Platform 4.0 + 4.0 + 14 + + 7 + 1 + + + + 45919570 + 41ba83b51e886461628c41b1b4d47762e0688ed5 + https://dl-ssl.google.com/android/repository/android-14_r03.zip + + + + + + + + 3 + Android SDK Platform 4.0.3 + 4.0.3 + 15 + + 15 + + + 7 + 1 + + + + 44414679 + 23da24610a8da51054c5391001c51ce43a778b97 + https://dl-ssl.google.com/android/repository/android-15_r03.zip + + + + + + + + 4 + Android SDK Platform 4.1.2 + 4.1.2 + 16 + + 21 + + + 9 + 1 + + + + 48005140 + 90b9157b8b45f966be97e11a22fba4591b96c2ee + https://dl-ssl.google.com/android/repository/android-16_r04.zip + + + + + + + + 2 + Android SDK Platform 4.2.2 + 4.2.2 + 17 + + 21 + + + 9 + 1 + + + + 48057484 + c442c32c1b702173ab0929a74486e4f86fe528ec + https://dl-ssl.google.com/android/repository/android-17_r02.zip + + + + + + + + 2 + Android SDK Platform 4.3 + 4.3 + 18 + + 21 + + + 10 + 1 + + + + 57319855 + 62a9438d4cf6692f4d6510c27a380be195db9534 + https://dl-ssl.google.com/android/repository/android-18_r02.zip + + + + + + + + 3 + Android SDK Platform 4.4.2 + 4.4.2 + 19 + + 22 + + + 10 + 1 + + + + 63798840 + 5f33d8fd36a384fe2b170035e04a29c274a9ef95 + https://dl-ssl.google.com/android/repository/android-19_r03.zip + + + + + + + + 1 + Android SDK Platform 4.4W + 4.4W + 20 + + 22 + + + 10 + 1 + + + + 63548914 + 928b1d181101a5bc06f739eb40501e1249dd4895 + android-20_r01.zip + + + + + + + + 3 + Android SDK Platform L + L + 20 + L + + 22 + + + 11 + 1 + + + + 69421660 + 76b6da426db06b2e2901dbc5e02d210ba83753c4 + android-L_r03.zip + + + + + + + + + + + 7 + + 01 + Android SDK Samples for Android API 7, revision 1 + http://developer.android.com/sdk/ + + + 7677831 + 51e4907f60f248ede5c58b54ce7b6ae0b473e0ca + https://dl-ssl.google.com/android/repository/samples-2.1_r01-linux.zip + + + + + + + + + 8 + + 01 + Android SDK Samples for Android API 8, revision 1 + http://developer.android.com/sdk/ + + + 7969716 + d16d8bf2dd84cedf73b98b948d66461c8f19d6fb + https://dl-ssl.google.com/android/repository/samples-2.2_r01-linux.zip + + + + + + + + + 9 + + 01 + Android SDK Samples for Android API 9, revision 1 + http://developer.android.com/sdk/ + + + + 8516326 + 36f7dd6c8b5dbb50b3cf3e3ac5209f3fe55db2aa + https://dl-ssl.google.com/android/repository/samples-2.3_r01-linux.zip + + + + + + + + + 10 + + 01 + Android SDK Samples for Android API 10, revision 1 + http://developer.android.com/sdk/ + + + 8539583 + 93b0c3f3bdf5b07f1f115100b4954f0665297a0d + https://dl-ssl.google.com/android/repository/samples-2.3.3_r01-linux.zip + + + + + + + + + 11 + + 01 + Android SDK Samples for Android API 11, revision 1 + http://developer.android.com/sdk/ + + + 11976920 + 3749ace584631270268d65bb1d0ad61b0d691682 + https://dl-ssl.google.com/android/repository/samples-3.0_r01-linux.zip + + + + + + + + + 12 + + 01 + Android SDK Samples for Android API 12, revision 1 + http://developer.android.com/sdk/ + + + 12150514 + df0ace37cbca73373fe94080f94c71557cac73a7 + https://dl-ssl.google.com/android/repository/samples-3.1_r01-linux.zip + + + + + + + + + 13 + + 01 + Android SDK Samples for Android API 13, revision 1 + http://developer.android.com/sdk/ + + + 12193502 + 078bcf1abc1cb8921f3fa482c252963a782bed60 + https://dl-ssl.google.com/android/repository/samples-3.2_r01-linux.zip + + + + + + + + 2 + 14 + + + 16253619 + 1312c22ab0b650e26835cc3945d4ff8cea183416 + https://dl-ssl.google.com/android/repository/samples-14_r02.zip + + + + + + + + 2 + 15 + + + 16366656 + 042f368c5b09eca4d278264e6dbf9c12c5f73d1f + https://dl-ssl.google.com/android/repository/samples-15_r02.zip + + + + + + + + 1 + 16 + + + 14729945 + dce3a2d41db50a381ef47ee8bddbe928520e685e + https://dl-ssl.google.com/android/repository/samples-16_r01.zip + + + + + + + + 1 + 17 + + + 14840030 + 12d58cb26503610fc05bd7618c434cc6f983bc41 + https://dl-ssl.google.com/android/repository/samples-17_r01.zip + + + + + + + + 1 + 18 + + + 19897793 + 73e879ce46c04a6e63ad1a9107018b4782945007 + https://dl-ssl.google.com/android/repository/samples-18_r01.zip + + + + + + + + 6 + 19 + + + 31900752 + 19593662771934b0b1e3be56ed18d13e6489bcd4 + samples-19_r06.zip + + + + + + + + 2 + 20 + + + 49718791 + 4b906c46057ee8f502b4f27c23670fd87a49d6ff + samples-20_r02.zip + + + + + + + + 2 + 20 + L + + + 41182182 + 4afc36cf3f53051881729f733fe9bb571104c48f + samples-L_r02.zip + + + + + + + + + + + 20 + 0 + 0 + + + + 1741113 + 72c34cc6a991f53e2588f9d5487559f013bc30f9 + platform-tools_r20-windows.zip + windows + + + 1753061 + fb120ce85b6698b801cb4788b204693c1d682b87 + platform-tools_r20-linux.zip + linux + + + 1666257 + f2c65c58caf76169d9bebf25eef5c69ff99670b5 + platform-tools_r20-macosx.zip + macosx + + + + + + + + + + + 17 + 0 + 0 + + + + 11004914 + 899897d327b0bad492d3a40d3db4d96119c15bc0 + https://dl-ssl.google.com/android/repository/build-tools_r17-windows.zip + windows + + + 11696007 + 2c2872bc3806aabf16a12e3959c2183ddc866e6d + https://dl-ssl.google.com/android/repository/build-tools_r17-linux.zip + linux + + + 12208114 + 602ee709be9dbb8f179b1e4075148a57f9419930 + https://dl-ssl.google.com/android/repository/build-tools_r17-macosx.zip + macosx + + + + + + + + + + + 18 + 0 + 1 + + + + 15413527 + a6c2afd0b6289d589351956d2f5212b37014ca7d + https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-windows.zip + windows + + + 16627330 + f11618492b0d2270c332325d45d752d3656a9640 + https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-linux.zip + linux + + + 16633121 + d84f5692fb44d60fc53e5b2507cebf9f24626902 + https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-macosx.zip + macosx + + + + + + + + + 18 + 1 + 0 + + + + 19659547 + 3a9810fc8559ab03c09378f07531e8cae2f1db30 + https://dl-ssl.google.com/android/repository/build-tools_r18.1-windows.zip + windows + + + 20229298 + f314a0599e51397f0886fe888b50dd98f2f050d8 + https://dl-ssl.google.com/android/repository/build-tools_r18.1-linux.zip + linux + + + 20451524 + 16ddb299b8b43063e5bb3387ec17147c5053dfd8 + https://dl-ssl.google.com/android/repository/build-tools_r18.1-macosx.zip + macosx + + + + + + + + + 18 + 1 + 1 + + + + 19660000 + c4605066e2f851387ea70bc1442b1968bd7b4a15 + https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-windows.zip + windows + + + 20229760 + 68c9acbfc0cec2d51b19efaed39831a17055d998 + https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-linux.zip + linux + + + 20452157 + a9d9d37f6ddf859e57abc78802a77aaa166e48d4 + https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-macosx.zip + macosx + + + + + + + + + 19 + 0 + 0 + + + + 20611447 + 6edf505c20f5ece9c48fa0aff9a90488f9654d52 + https://dl-ssl.google.com/android/repository/build-tools_r19-windows.zip + windows + + + 21339943 + 55c1a6cf632e7d346f0002b275ec41fd3137fd83 + https://dl-ssl.google.com/android/repository/build-tools_r19-linux.zip + linux + + + 21441270 + 86ec1c12db1bc446b7bcaefc5cc14eb361044e90 + https://dl-ssl.google.com/android/repository/build-tools_r19-macosx.zip + macosx + + + + + + + + + 19 + 0 + 1 + + + + 20500648 + 5ef422bac5b28f4ced108319ed4a6bc7050a6234 + https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-windows.zip + windows + + + 21229048 + 18d2312dc4368858914213087f4e61445aca4517 + https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-linux.zip + linux + + + 21450597 + efaf50fb19a3edb8d03efbff76f89a249ad2920b + https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-macosx.zip + macosx + + + + + + + + + 19 + 0 + 2 + + + + 20621117 + af664672d0d709c9ae30937b1062317d3ade7f95 + https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-windows.zip + windows + + + 21352552 + a03a6bdea0091aea32e1b35b90a7294c9f04e3dd + https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-linux.zip + linux + + + 21453726 + 145bc43065d45f756d99d87329d899052b9a9288 + https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-macosx.zip + macosx + + + + + + + + + 19 + 0 + 3 + + + + 20730715 + cb46b433b67a0a6910ff00db84be8b527ea3102f + https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-windows.zip + windows + + + 21462150 + c2d6055478e9d2d4fba476ee85f99181ddd1160c + https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-linux.zip + linux + + + 21563992 + 651cf8754373b2d52e7f6aab2c52eabffe4e9ea4 + https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-macosx.zip + macosx + + + + + + + + + 19 + 1 + 0 + + + + 20812533 + 13b367fbdbff8132cb4356f716e8dc8a8df745c5 + https://dl-ssl.google.com/android/repository/build-tools_r19.1-windows.zip + windows + + + 21490972 + 1ff20ac15fa47a75d00346ec12f180d531b3ca89 + https://dl-ssl.google.com/android/repository/build-tools_r19.1-linux.zip + linux + + + 21590160 + 0d11aae3417de1efb4b9a0e0a7855904a61bcec1 + https://dl-ssl.google.com/android/repository/build-tools_r19.1-macosx.zip + macosx + + + + + + + + + 20 + 0 + 0 + + + + 20828006 + cf20720e452b642d5eb59dabe05c0c729b36ec75 + build-tools_r20-windows.zip + windows + + + 21445463 + b688905526a5584d1327a662d871a635ff502758 + build-tools_r20-linux.zip + linux + + + 21650508 + 1240f629411c108a714c4ddd756937c7fab93f83 + build-tools_r20-macosx.zip + macosx + + + + + + + + + + + 23 + 0 + 2 + + + 20 + + + + 141154615 + 0a64ec9b7777bb00ff299c94c359163ef5e443ae + tools_r23.0.2-windows.zip + windows + + + 141930870 + e8a2d55d750adeaded60a3daad48e62b09aa472a + tools_r23.0.2-linux.zip + linux + + + 90920343 + c46b1e173188ba82a56d6b9e349fdae4e8922bab + tools_r23.0.2-macosx.zip + macosx + + + + + + + + + + 1 + 20 + L + + + 207889084 + 58a94248c7c960829db3d779c84534e5e783210f + docs-L_r01.zip + + + + + + + + + + 1 + 14 + + + 16152383 + eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555 + https://dl-ssl.google.com/android/repository/sources-14_r01.zip + + + + + + + + 2 + 15 + + + 16468746 + e5992a5747c9590783fbbdd700337bf0c9f6b1fa + https://dl-ssl.google.com/android/repository/sources-15_r02.zip + + + + + + + + 2 + 16 + + + 17876720 + 0f83c14ed333c45d962279ab5d6bc98a0269ef84 + https://dl-ssl.google.com/android/repository/sources-16_r02.zip + + + + + + + + 1 + 17 + + + 18976816 + 6f1f18cd2d2b1852d7f6892df9cee3823349d43a + https://dl-ssl.google.com/android/repository/sources-17_r01.zip + + + + + + + + 1 + 18 + + + 20226735 + 8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78 + https://dl-ssl.google.com/android/repository/sources-18_r01.zip + + + + + + + + 2 + 19 + + + 21819439 + 433a1d043ef77561571250e94cb7a0ef24a202e7 + https://dl-ssl.google.com/android/repository/sources-19_r02.zip + + + + + + + + 1 + 20 + + + 23367603 + 8da3e40f2625f9f7ef38b7e403f49f67226c0d76 + sources-20_r01.zip + + + + + + diff --git a/pkgs/development/mobile/androidenv/repository-8.xml b/pkgs/development/mobile/androidenv/repository-8.xml deleted file mode 100644 index 46ae8aa9a7c..00000000000 --- a/pkgs/development/mobile/androidenv/repository-8.xml +++ /dev/null @@ -1,1277 +0,0 @@ - - - - - Terms and Conditions - -This is the Android Software Development Kit License Agreement. - - -1. Introduction - - -1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. - -1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. - -1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. - - -2. Accepting this License Agreement - - -2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement. - -2.2 By clicking to accept, you hereby agree to the terms of this License Agreement. - -2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK. - -2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. - - -3. SDK License from Google - - -3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform. - -3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. - -3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK. - -3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK. - -3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement. - -3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. - -3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. - -3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. - - -4. Use of the SDK by You - - -4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. - -4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). - -4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. - -4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier. - -4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. - -4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. - - -5. Your Developer Credentials - - -5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. - - -6. Privacy and Information - - -6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. - -6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy. - - -7. Third Party Applications - - -7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. - -7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. - -7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties. - - -8. Using Android APIs - - -8.1 Google Data APIs - -8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. - -8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. - - -9. Terminating this License Agreement - - -9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below. - -9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. - -9.3 Google may at any time, terminate this License Agreement with you if: -(A) you have breached any provision of this License Agreement; or -(B) Google is required to do so by law; or -(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or -(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable. - -9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. - - -10. DISCLAIMER OF WARRANTIES - - -10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. - -10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. - -10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - - -11. LIMITATION OF LIABILITY - - -11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. - - -12. Indemnification - - -12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement. - - -13. Changes to the License Agreement - - -13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. - - -14. General Legal Terms - - -14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. - -14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. - -14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable. - -14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement. - -14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. - -14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party. - -14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. - -November 13, 2012 - - - - - - 1.1 - 2 - 1 - Android SDK Platform 1.1_r1 - http://developer.android.com/sdk/android-1.1.html - - - - 46828615 - a4060f29ed39fc929c302836d488998c53c3002e - android-1.1_r1-windows.zip - - - 45584305 - e21dbcff45b7356657449ebb3c7e941be2bb5ebe - android-1.1_r1-macosx.zip - - - 45476658 - c054d25c9b4c6251fa49c2f9c54336998679d3fe - android-1.1_r1-linux.zip - - - - 4 - - - - - - - - 1.5 - 3 - 04 - - 6 - - Android SDK Platform 1.5_r3 - http://developer.android.com/sdk/android-1.5.html - - - 54624370 - 5bb106d2e40d481edd337b0833093843e15fe49a - android-1.5_r04-windows.zip - - - 52440607 - d3a67c2369afa48b6c3c7624de5031c262018d1e - android-1.5_r04-macosx.zip - - - 53348669 - 5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c - android-1.5_r04-linux.zip - - - - 4 - - - - - - 1.6 - 4 - - 03 - - 6 - - Android SDK Platform 1.6_r2 - http://developer.android.com/sdk/android-1.6.html - - - 63454485 - 483ed088e45bbdf3444baaf9250c8b02e5383cb0 - android-1.6_r03-linux.zip - - - 62418496 - bdafad44f5df9f127979bdb21a1fdd87ee3cd625 - android-1.6_r03-macosx.zip - - - 64654625 - ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22 - android-1.6_r03-windows.zip - - - - 4 - - - - - - - - 2.0 - 5 - - 01 - - 3 - - Android SDK Platform 2.0, revision 1 - http://developer.android.com/sdk/android-2.0.html - - - - 75095268 - be9be6a99ca32875c96ec7f91160ca9fce7e3c7d - android-2.0_r01-linux.zip - - - 74956356 - 2a866d0870dbba18e0503cd41e5fae988a21b314 - android-2.0_r01-macosx.zip - - - 76288040 - aeb623217ff88b87216d6eb7dbc846ed53f68f57 - android-2.0_r01-windows.zip - - - - 4 - - - - - - - - 2.0.1 - 6 - - 01 - - 4 - - Android SDK Platform 2.0.1_r1 - http://developer.android.com/sdk/android-2.0.1.html - - - - 79192618 - ce2c971dce352aa28af06bda92a070116aa5ae1a - android-2.0.1_r01-linux.zip - - - 79035527 - c3096f80d75a6fc8cb38ef8a18aec920e53d42c0 - android-2.0.1_r01-macosx.zip - - - 80385601 - 255781ebe4509d9707d0e77edda2815e2bc216e6 - android-2.0.1_r01-windows.zip - - - - 4 - - - - - - - - 2.1 - 7 - - 03 - - 8 - - Android SDK Platform 2.1_r3 - http://developer.android.com/sdk/ - - - 70142829 - 5ce51b023ac19f8738500b1007a1da5de2349a1e - android-2.1_r03-linux.zip - - - - 4 - - - - - - - - 2.2 - 8 - - 03 - - 8 - - Android SDK Platform 2.2_r3 - http://developer.android.com/sdk/ - - - 74652366 - 231262c63eefdff8fd0386e9ccfefeb27a8f9202 - android-2.2_r03-linux.zip - - - - 4 - - - - - - - - 2.3.1 - 9 - - 02 - - 8 - - Android SDK Platform 2.3.1_r2 - http://developer.android.com/sdk/ - - - - 78732563 - 209f8a7a8b2cb093fce858b8b55fed3ba5206773 - android-2.3.1_r02-linux.zip - - - - 4 - - - - - - - - 2.3.3 - 10 - - 02 - - 8 - - Android SDK Platform 2.3.3._r2 - http://developer.android.com/sdk/ - - - 85470907 - 887e37783ec32f541ea33c2c649dda648e8e6fb3 - android-2.3.3_r02-linux.zip - - - - 4 - - - - - - - - 3.0 - 11 - - 02 - - 10 - - Android SDK Platform 3.0, revision 2 - http://developer.android.com/sdk/ - - - 104513908 - 2c7d4bd13f276e76f6bbd87315fe27aba351dd37 - android-3.0_r02-linux.zip - - - - 4 - - - - - - - - 3.1 - 12 - - 03 - - 11 - - Android SDK Platform 3.1, revision 3 - http://developer.android.com/sdk/ - - - 106472351 - 4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf - android-3.1_r03-linux.zip - - - - 4 - - - - - - - - 3.2 - 13 - - 01 - - 12 - - Android SDK Platform 3.2, revision 1 - http://developer.android.com/sdk/ - - - 108426536 - 6189a500a8c44ae73a439604363de93591163cd9 - android-3.2_r01-linux.zip - - - - 4 - - - - - - - 3 - Android SDK Platform 4.0 - 4.0 - 14 - - 7 - 1 - - - - 45919570 - 41ba83b51e886461628c41b1b4d47762e0688ed5 - android-14_r03.zip - - - - - - - - 3 - Android SDK Platform 4.0.3 - 4.0.3 - 15 - - 15 - - - 7 - 1 - - - - 44414679 - 23da24610a8da51054c5391001c51ce43a778b97 - android-15_r03.zip - - - - - - - - 4 - Android SDK Platform 4.1.2 - 4.1.2 - 16 - - 21 - - - 9 - 1 - - - - 48005140 - 90b9157b8b45f966be97e11a22fba4591b96c2ee - android-16_r04.zip - - - - - - - - 2 - Android SDK Platform 4.2.2 - 4.2.2 - 17 - - 21 - - - 9 - 1 - - - - 48057484 - c442c32c1b702173ab0929a74486e4f86fe528ec - android-17_r02.zip - - - - - - - - 2 - Android SDK Platform 4.3 - 4.3 - 18 - - 21 - - - 10 - 1 - - - - 57319855 - 62a9438d4cf6692f4d6510c27a380be195db9534 - android-18_r02.zip - - - - - - - - 1 - Android SDK Platform 4.4 - 4.4 - 19 - - 22 - - - 10 - 1 - - - - 59279956 - 96281811998272dce46e8285d15fce444a3d5a96 - android-19_r01.zip - - - - - - - - - - - 2 - Android SDK Platform 4.0 - 14 - armeabi-v7a - - - 99621822 - d8991b0c06b18d7d6ed4169d67460ee1add6661b - sysimg_armv7a-14_r02.zip - - - - - - - - 2 - Android SDK Platform 4.0.3 - 15 - armeabi-v7a - - - 96227377 - 1bf977d6cb4e0ad38dceac0c4863d1caa21f326e - sysimg_armv7a-15_r02.zip - - - - - - - - 3 - Android SDK Platform 4.1 - 16 - armeabi-v7a - - - 112528368 - d1cddb23f17aad5821a089c403d4cddad2cf9ef7 - sysimg_armv7a-16_r03.zip - - - - - - - - 2 - Android SDK Platform 4.2.2 - 17 - armeabi-v7a - - - 116553808 - 1c321cda1af793b84d47d1a8d15f85444d265e3c - sysimg_armv7a-17_r02.zip - - - - - - - - 2 - Android SDK Platform 4.3 - 18 - armeabi-v7a - - - 125457135 - 4a1a93200210d8c42793324362868846f67401ab - sysimg_armv7a-18_r02.zip - - - - - - - - 1 - Android SDK Platform 4.4 - 19 - armeabi-v7a - - - 155838103 - 12dd1187dfd953b1ffcef5067d94578590f9e600 - sysimg_armv7a-19_r01.zip - - - - - - - - - - - - 7 - - 01 - Android SDK Samples for Android API 7, revision 1 - http://developer.android.com/sdk/ - - - 7677831 - 51e4907f60f248ede5c58b54ce7b6ae0b473e0ca - samples-2.1_r01-linux.zip - - - - - - - - - 8 - - 01 - Android SDK Samples for Android API 8, revision 1 - http://developer.android.com/sdk/ - - - 7969716 - d16d8bf2dd84cedf73b98b948d66461c8f19d6fb - samples-2.2_r01-linux.zip - - - - - - - - - 9 - - 01 - Android SDK Samples for Android API 9, revision 1 - http://developer.android.com/sdk/ - - - - 8516326 - 36f7dd6c8b5dbb50b3cf3e3ac5209f3fe55db2aa - samples-2.3_r01-linux.zip - - - - - - - - - 10 - - 01 - Android SDK Samples for Android API 10, revision 1 - http://developer.android.com/sdk/ - - - 8539583 - 93b0c3f3bdf5b07f1f115100b4954f0665297a0d - samples-2.3.3_r01-linux.zip - - - - - - - - - 11 - - 01 - Android SDK Samples for Android API 11, revision 1 - http://developer.android.com/sdk/ - - - 11976920 - 3749ace584631270268d65bb1d0ad61b0d691682 - samples-3.0_r01-linux.zip - - - - - - - - - 12 - - 01 - Android SDK Samples for Android API 12, revision 1 - http://developer.android.com/sdk/ - - - 12150514 - df0ace37cbca73373fe94080f94c71557cac73a7 - samples-3.1_r01-linux.zip - - - - - - - - - 13 - - 01 - Android SDK Samples for Android API 13, revision 1 - http://developer.android.com/sdk/ - - - 12193502 - 078bcf1abc1cb8921f3fa482c252963a782bed60 - samples-3.2_r01-linux.zip - - - - - - - - 2 - 14 - - - 16253619 - 1312c22ab0b650e26835cc3945d4ff8cea183416 - samples-14_r02.zip - - - - - - - - 2 - 15 - - - 16366656 - 042f368c5b09eca4d278264e6dbf9c12c5f73d1f - samples-15_r02.zip - - - - - - - - 1 - 16 - - - 14729945 - dce3a2d41db50a381ef47ee8bddbe928520e685e - samples-16_r01.zip - - - - - - - - 1 - 17 - - - 14840030 - 12d58cb26503610fc05bd7618c434cc6f983bc41 - samples-17_r01.zip - - - - - - - - 1 - 18 - - - 19897793 - 73e879ce46c04a6e63ad1a9107018b4782945007 - samples-18_r01.zip - - - - - - - - 1 - 19 - - - 20697510 - c2007694b5e5ad6737f647db8160155d5258cb7f - samples-19_r01.zip - - - - - - - - - - - 19 - 0 - 0 - - - - 1116358 - 755dcb5b5b72bbca90dd055eec4c8d0b1fce7cfd - platform-tools_r19-windows.zip - - - 1172749 - 66ee37daf8a2a8f1aa8939ccd4093658e30aa49b - platform-tools_r19-linux.zip - - - 1120849 - 69af30f488163dfc3da8cef1bb6cc7e8a6df5681 - platform-tools_r19-macosx.zip - - - - - - - - - - - 17 - 0 - 0 - - - - 11004914 - 899897d327b0bad492d3a40d3db4d96119c15bc0 - build-tools_r17-windows.zip - - - 11696007 - 2c2872bc3806aabf16a12e3959c2183ddc866e6d - build-tools_r17-linux.zip - - - 12208114 - 602ee709be9dbb8f179b1e4075148a57f9419930 - build-tools_r17-macosx.zip - - - - - - - - - - - 18 - 0 - 1 - - - - 15413527 - a6c2afd0b6289d589351956d2f5212b37014ca7d - build-tools_r18.0.1-windows.zip - - - 16627330 - f11618492b0d2270c332325d45d752d3656a9640 - build-tools_r18.0.1-linux.zip - - - 16633121 - d84f5692fb44d60fc53e5b2507cebf9f24626902 - build-tools_r18.0.1-macosx.zip - - - - - - - - - 18 - 1 - 0 - - - - 19659547 - 3a9810fc8559ab03c09378f07531e8cae2f1db30 - build-tools_r18.1-windows.zip - - - 20229298 - f314a0599e51397f0886fe888b50dd98f2f050d8 - build-tools_r18.1-linux.zip - - - 20451524 - 16ddb299b8b43063e5bb3387ec17147c5053dfd8 - build-tools_r18.1-macosx.zip - - - - - - - - - 18 - 1 - 1 - - - - 19660000 - c4605066e2f851387ea70bc1442b1968bd7b4a15 - build-tools_r18.1.1-windows.zip - - - 20229760 - 68c9acbfc0cec2d51b19efaed39831a17055d998 - build-tools_r18.1.1-linux.zip - - - 20452157 - a9d9d37f6ddf859e57abc78802a77aaa166e48d4 - build-tools_r18.1.1-macosx.zip - - - - - - - - - 19 - 0 - 0 - - - - 20611447 - 6edf505c20f5ece9c48fa0aff9a90488f9654d52 - build-tools_r19-windows.zip - - - 21339943 - 55c1a6cf632e7d346f0002b275ec41fd3137fd83 - build-tools_r19-linux.zip - - - 21441270 - 86ec1c12db1bc446b7bcaefc5cc14eb361044e90 - build-tools_r19-macosx.zip - - - - - - - - - - - 22 - 3 - - - 18 - - - - 108726734 - 1cdc825c9a84ccf69b4a6386076a881d962dd7a9 - tools_r22.3-windows.zip - - - 101224750 - f76251916a23cb3d85e579f01cc6711a334f9064 - tools_r22.3-linux.zip - - - 74859563 - 697d7f6fa44f02e6894d0eeb948ea97e3cdc8c3c - tools_r22.3-macosx.zip - - - - - - - - - - 1 - 19 - - - 181765706 - 6c92bb045f75a2eabfbdc3e26ff64ce0a7a2b3fc - docs-19_r01.zip - - - - - - - - - - 1 - 14 - - - 16152383 - eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555 - sources-14_r01.zip - - - - - - - - 2 - 15 - - - 16468746 - e5992a5747c9590783fbbdd700337bf0c9f6b1fa - sources-15_r02.zip - - - - - - - - 2 - 16 - - - 17876720 - 0f83c14ed333c45d962279ab5d6bc98a0269ef84 - sources-16_r02.zip - - - - - - - - 1 - 17 - - - 18976816 - 6f1f18cd2d2b1852d7f6892df9cee3823349d43a - sources-17_r01.zip - - - - - - - - 1 - 18 - - - 20226735 - 8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78 - sources-18_r01.zip - - - - - - - - 1 - 19 - - - 21656670 - 91d9f5f4117723eecc4434b7de0e7f6295ea0508 - sources-19_r01.zip - - - - - diff --git a/pkgs/development/mobile/androidenv/sys-img-mips.xml b/pkgs/development/mobile/androidenv/sys-img-mips.xml deleted file mode 100644 index c839d283f4e..00000000000 --- a/pkgs/development/mobile/androidenv/sys-img-mips.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - 1 - Android 4.0.4 - 15 - mips - - - - 117503178 - a753bb4a6783124dad726c500ce9aec9d2c1b2d9 - sysimg_mips-15_r01.zip - - - - - - 4 - - Android 4.1.2 - 16 - mips - - - - 122482530 - 67943c54fb3943943ffeb05fdd39c0b753681f6e - sysimg_mips-16_r04.zip - - - - - - 1 - - Android 4.2.1 - 17 - mips - - - - 131781761 - f0c6e153bd584c29e51b5c9723cfbf30f996a05d - sysimg_mips-17_r01.zip - - - - - diff --git a/pkgs/development/mobile/androidenv/sys-img-x86.xml b/pkgs/development/mobile/androidenv/sys-img-x86.xml deleted file mode 100644 index 75ddf73eb1d..00000000000 --- a/pkgs/development/mobile/androidenv/sys-img-x86.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - Android SDK Platform 2.3.7 - 2 - 10 - x86 - - - - 55463895 - 34e2436f69606cdfe35d3ef9112f0c64e3ff021d - sysimg_x86-10_r02.zip - - - - - - Android SDK Platform 4.0.4 - 1 - 15 - x86 - - - - 112619605 - d540325952e0f097509622b9e685737584b83e40 - sysimg_x86-15_r01.zip - - - - - - Android SDK Platform 4.1.1 - 1 - 16 - x86 - - - - 131840348 - 9d35bcaa4f9b40443941f32b8a50337f413c021a - sysimg_x86-16_r01.zip - - - - - - Android SDK Platform 4.2 - 1 - 17 - x86 - - - - 138799122 - ddb3313e8dcd07926003f7b828eafea1115ea35b - sysimg_x86-17_r01.zip - - - - - - Android SDK Platform 4.3 - 1 - 18 - x86 - - - - 155656419 - f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1 - sysimg_x86-18_r01.zip - - - - - diff --git a/pkgs/development/mobile/androidenv/sys-img.xml b/pkgs/development/mobile/androidenv/sys-img.xml new file mode 100644 index 00000000000..5d2b0f7a883 --- /dev/null +++ b/pkgs/development/mobile/androidenv/sys-img.xml @@ -0,0 +1,712 @@ + + + + + To get started with the Android SDK, you must agree to the following terms and conditions. + +This is the Android SDK License Agreement (the "License Agreement"). + +1. Introduction + +1.1 The Android SDK (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. + +1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. + +1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. + +2. Accepting the License Agreement + +2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement. + +2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement. + +2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK. + +2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. + +3. SDK License from Google + +3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform. + +3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. + +3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK. + +3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK. + +3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. + +3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. + +3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. + +3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. + +4. Use of the SDK by You + +4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. + +4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). + +4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. + +4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. + +4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. + +4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. + +5. Your Developer Credentials + +5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. + +6. Privacy and Information + +6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. + +6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. + +7. Third Party Applications + +7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. + +7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. + +7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. + +8. Using Google APIs + +8.1 Google APIs + +8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. + +8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. + +9. Terminating the License Agreement + +9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below. + +9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. + +9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. + +9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service. + +9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. + +10. DISCLAIMERS + +10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. + +10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. + +10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + +11. LIMITATION OF LIABILITY + +11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. + +12. Indemnification + +12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. + +13. Changes to the License Agreement + +13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. + +14. General Legal Terms + +14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. + +14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. + +14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. + +14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. + +14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. + +14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. + +14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + +June 2014. + + + To get started with the Android SDK Preview, you must agree to the following terms and conditions. +As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk. The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data. + +This is the Android SDK Preview License Agreement (the "License Agreement"). + +1. Introduction + +1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview. + +1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. + +1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. + +2. Accepting the License Agreement + +2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement. + +2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement. + +2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview. + +2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity. + +3. Preview License from Google + +3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform. + +3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. + +3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview. + +3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview. + +3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. + +3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you. + +3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. + +3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview. + +4. Use of the Preview by You + +4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications. + +4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). + +4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. + +4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. + +4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. + +4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. + +4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released. + +5. Your Developer Credentials + +5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. + +6. Privacy and Information + +6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected. + +6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. + +7. Third Party Applications + +7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. + +7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. + +7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. + +8. Using Google APIs + +8.1 Google APIs + +8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. + +8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. + +9. Terminating the License Agreement + +9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below. + +9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials. + +9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. + +9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of: +(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and +(B) Google issues a final release version of the Android SDK. + +9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. + +10. DISCLAIMERS + +10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. + +10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. + +10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + +11. LIMITATION OF LIABILITY + +11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. + +12. Indemnification + +12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. + +13. Changes to the License Agreement + +13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available. + +14. General Legal Terms + +14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview. + +14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. + +14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. + +14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. + +14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. + +14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. + +14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + +June 2014. + + + + + + + + + + + + + + 2 + Android SDK Platform 4.0 + 14 + armeabi-v7a + + + 99621822 + d8991b0c06b18d7d6ed4169d67460ee1add6661b + sysimg_armv7a-14_r02.zip + + + + default + + + + + 2 + Android SDK Platform 4.0.3 + 15 + armeabi-v7a + + + 96227377 + 1bf977d6cb4e0ad38dceac0c4863d1caa21f326e + sysimg_armv7a-15_r02.zip + + + + default + + + + + 3 + Android SDK Platform 4.1 + 16 + armeabi-v7a + + + 112528368 + d1cddb23f17aad5821a089c403d4cddad2cf9ef7 + sysimg_armv7a-16_r03.zip + + + + default + + + + + 2 + Android SDK Platform 4.2.2 + 17 + armeabi-v7a + + + 116553808 + 1c321cda1af793b84d47d1a8d15f85444d265e3c + sysimg_armv7a-17_r02.zip + + + + default + + + + + 2 + Android SDK Platform 4.3 + 18 + armeabi-v7a + + + 125457135 + 4a1a93200210d8c42793324362868846f67401ab + sysimg_armv7a-18_r02.zip + + + + default + + + + + 2 + Android SDK Platform 4.4.2 + 19 + armeabi-v7a + + + 158478012 + e0d375397e28e3d5d9577a00132463a4696248e5 + sysimg_armv7a-19_r02.zip + + + + default + + + + + 1 + Android SDK Platform L + 20 + L + armeabi-v7a + default + + + 227716008 + 1d5d81a7078b5b2a685620d93e1e04a51d2e786a + sysimg_armv7a-L_r01.zip + + + + + + + + 1 + Android SDK Platform L + 20 + L + x86 + default + + + 245850484 + c2d32d6244821ff59f370469778525f6a5345010 + sysimg_x86-L_r01.zip + + + + + + + + Android SDK Platform 2.3.7 + 2 + 10 + x86 + + + + 55463895 + 34e2436f69606cdfe35d3ef9112f0c64e3ff021d + https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-10_r02.zip + + + default + + + + Android SDK Platform 4.0.4 + 1 + 15 + x86 + + + + 112619605 + d540325952e0f097509622b9e685737584b83e40 + https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-15_r01.zip + + + default + + + + Android SDK Platform 4.1.1 + 1 + 16 + x86 + + + + 131840348 + 9d35bcaa4f9b40443941f32b8a50337f413c021a + https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-16_r01.zip + + + default + + + + Android SDK Platform 4.2 + 1 + 17 + x86 + + + + 138799122 + ddb3313e8dcd07926003f7b828eafea1115ea35b + https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r01.zip + + + default + + + + Android SDK Platform 4.3 + 1 + 18 + x86 + + + + 155656419 + f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1 + https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-18_r01.zip + + + default + + + + + 2 + Android SDK Platform 4.4.2 + 19 + x86 + + + 178922720 + 8889cb418984a2a7916a359da7c429d2431ed060 + sysimg_x86-19_r02.zip + + + + default + + + + + + 1 + Android 4.0.4 + 15 + mips + + + + 117503178 + a753bb4a6783124dad726c500ce9aec9d2c1b2d9 + sysimg_mips-15_r01.zip + + + default + + + + 4 + + Android 4.1.2 + 16 + mips + + + + 122482530 + 67943c54fb3943943ffeb05fdd39c0b753681f6e + sysimg_mips-16_r04.zip + + + default + + + + 1 + + Android 4.2.1 + 17 + mips + + + + 131781761 + f0c6e153bd584c29e51b5c9723cfbf30f996a05d + sysimg_mips-17_r01.zip + + + default + + + diff --git a/pkgs/development/mobile/androidenv/sysimages.nix b/pkgs/development/mobile/androidenv/sysimages.nix index bbbf3a4fc68..ddc6dd99d39 100644 --- a/pkgs/development/mobile/androidenv/sysimages.nix +++ b/pkgs/development/mobile/androidenv/sysimages.nix @@ -14,113 +14,137 @@ in { sysimg_armeabi-v7a_14 = buildSystemImage { - name = "armeabi-v7a-14"; + name = "sysimg-armeabi-v7a-14"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-14_r02.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-14_r02.zip; sha1 = "d8991b0c06b18d7d6ed4169d67460ee1add6661b"; }; }; sysimg_armeabi-v7a_15 = buildSystemImage { - name = "armeabi-v7a-15"; + name = "sysimg-armeabi-v7a-15"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-15_r02.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-15_r02.zip; sha1 = "1bf977d6cb4e0ad38dceac0c4863d1caa21f326e"; }; }; sysimg_armeabi-v7a_16 = buildSystemImage { - name = "armeabi-v7a-16"; + name = "sysimg-armeabi-v7a-16"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-16_r03.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-16_r03.zip; sha1 = "d1cddb23f17aad5821a089c403d4cddad2cf9ef7"; }; }; sysimg_armeabi-v7a_17 = buildSystemImage { - name = "armeabi-v7a-17"; + name = "sysimg-armeabi-v7a-17"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-17_r02.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-17_r02.zip; sha1 = "1c321cda1af793b84d47d1a8d15f85444d265e3c"; }; }; sysimg_armeabi-v7a_18 = buildSystemImage { - name = "armeabi-v7a-18"; + name = "sysimg-armeabi-v7a-18"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-18_r02.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-18_r02.zip; sha1 = "4a1a93200210d8c42793324362868846f67401ab"; }; }; sysimg_armeabi-v7a_19 = buildSystemImage { - name = "armeabi-v7a-19"; + name = "sysimg-armeabi-v7a-19"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-19_r01.zip; - sha1 = "12dd1187dfd953b1ffcef5067d94578590f9e600"; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-19_r02.zip; + sha1 = "e0d375397e28e3d5d9577a00132463a4696248e5"; + }; + }; + + sysimg_armeabi-v7a_20 = buildSystemImage { + name = "sysimg-armeabi-v7a-20"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-L_r01.zip; + sha1 = "1d5d81a7078b5b2a685620d93e1e04a51d2e786a"; + }; + }; + + sysimg_x86_20 = buildSystemImage { + name = "sysimg-x86-20"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-L_r01.zip; + sha1 = "c2d32d6244821ff59f370469778525f6a5345010"; }; }; sysimg_x86_10 = buildSystemImage { - name = "x86-10"; + name = "sysimg-x86-10"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-10_r02.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-10_r02.zip; sha1 = "34e2436f69606cdfe35d3ef9112f0c64e3ff021d"; }; }; sysimg_x86_15 = buildSystemImage { - name = "x86-15"; + name = "sysimg-x86-15"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-15_r01.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-15_r01.zip; sha1 = "d540325952e0f097509622b9e685737584b83e40"; }; }; sysimg_x86_16 = buildSystemImage { - name = "x86-16"; + name = "sysimg-x86-16"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-16_r01.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-16_r01.zip; sha1 = "9d35bcaa4f9b40443941f32b8a50337f413c021a"; }; }; sysimg_x86_17 = buildSystemImage { - name = "x86-17"; + name = "sysimg-x86-17"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-17_r01.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r01.zip; sha1 = "ddb3313e8dcd07926003f7b828eafea1115ea35b"; }; }; sysimg_x86_18 = buildSystemImage { - name = "x86-18"; + name = "sysimg-x86-18"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-18_r01.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-18_r01.zip; sha1 = "f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1"; }; }; - sysimg_mips_15 = buildSystemImage { - name = "mips-15"; + sysimg_x86_19 = buildSystemImage { + name = "sysimg-x86-19"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-15_r01.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-19_r02.zip; + sha1 = "8889cb418984a2a7916a359da7c429d2431ed060"; + }; + }; + + sysimg_mips_15 = buildSystemImage { + name = "sysimg-mips-15"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-15_r01.zip; sha1 = "a753bb4a6783124dad726c500ce9aec9d2c1b2d9"; }; }; sysimg_mips_16 = buildSystemImage { - name = "mips-16"; + name = "sysimg-mips-16"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-16_r04.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-16_r04.zip; sha1 = "67943c54fb3943943ffeb05fdd39c0b753681f6e"; }; }; sysimg_mips_17 = buildSystemImage { - name = "mips-17"; + name = "sysimg-mips-17"; src = fetchurl { - url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-17_r01.zip; + url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-17_r01.zip; sha1 = "f0c6e153bd584c29e51b5c9723cfbf30f996a05d"; }; }; From 7b7fd5044fd41252d3f3da156e139b08ad6cb2ad Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Tue, 2 Sep 2014 19:19:03 +0200 Subject: [PATCH 0656/2163] androidsdk: remove obsolete workaround --- pkgs/development/mobile/androidenv/androidsdk.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix index 1a5cf9500cd..560753eecfc 100644 --- a/pkgs/development/mobile/androidenv/androidsdk.nix +++ b/pkgs/development/mobile/androidenv/androidsdk.nix @@ -48,9 +48,6 @@ stdenv.mkDerivation rec { done ''} - # Patch the path to the executable so that it can find sdkmanager.jar file - #sed -i -e 's|frameworkdir="\$progdir"|'"frameworkdir=$(echo $out/libexec/android-sdk-*/tools/lib)|" android - # The android script used SWT and wants to dynamically load some GTK+ stuff. # The following wrapper ensures that they can be found: wrapProgram `pwd`/android \ From 6734f37ec6b7d263374f0a6ef9a1cdeab68be1d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 2 Sep 2014 21:52:34 +0200 Subject: [PATCH 0657/2163] twinkle: disable parallel building, as it was failing http://hydra.nixos.org/build/13919809 --- .../networking/instant-messengers/twinkle/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix index 2e6b904c134..c7f33c1f580 100644 --- a/pkgs/applications/networking/instant-messengers/twinkle/default.nix +++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_LINK = "-Wl,--as-needed -lboost_regex -lasound -lzrtpcpp -lspeex -lspeexdsp"; - enableParallelBuilding = true; + #enableParallelBuilding = true; # fatal error: messageform.h: No such file or directory meta = with stdenv.lib; { homepage = http://www.twinklephone.com/; From e39b1f4ec8740e7dd34185c38464db5ac814eed5 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 3 Sep 2014 02:09:52 +0400 Subject: [PATCH 0658/2163] Add a few meta-attribute descriptions; rewrite the meta-attribure list description to mean that it is expected that all used meta-attributes are described in the manual. --- doc/meta.xml | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/doc/meta.xml b/doc/meta.xml index e91f94d15c2..fc0ff977792 100644 --- a/doc/meta.xml +++ b/doc/meta.xml @@ -84,8 +84,7 @@ hello-2.3 A program that produces a familiar, friendly greeting
Standard meta-attributes -The following meta-attributes have a standard -interpretation: +It is expected that each meta-attribute is one of the following: @@ -112,12 +111,23 @@ interpretation: package. + + version + Package version. + + homepage The package’s homepage. Example: http://www.gnu.org/software/hello/manual/ + + downloadPage + The page where a link to the current version can be found. Example: + http://ftp.gnu.org/gnu/hello/ + + license The license for the package. One from the @@ -195,6 +205,16 @@ meta.hydraPlatforms = []; they are fixed. + + updateWalker + If set to true, the package is + tested to be updated correctly by the update-walker.sh + script without additional settings. Such packages have + meta.version set and their homepage (or + the page specified by meta.downloadPage) contains + a direct link to the package tarball. + + @@ -256,9 +276,9 @@ to indicate the specific license: - +
- + From 9659d0f4fb5cc596e7574dc5dbaf0b4075fb1955 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 2 Sep 2014 15:36:25 -0700 Subject: [PATCH 0659/2163] nixos/dnsmasq: Fix regressions during the systemd update --- nixos/modules/services/networking/dnsmasq.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix index d2a8af6ac8b..31d57a648bf 100644 --- a/nixos/modules/services/networking/dnsmasq.nix +++ b/nixos/modules/services/networking/dnsmasq.nix @@ -11,7 +11,10 @@ let conf-file=/etc/dnsmasq-conf.conf resolv-file=/etc/dnsmasq-resolv.conf ''} - ${cfg.extraConfig} + ${flip concatMapStrings cfg.servers (server: '' + server=${server} + '')} + ${cfg.extraConfig} ''; in @@ -43,12 +46,10 @@ in default = []; example = [ "8.8.8.8" "8.8.4.4" ]; description = '' - The parameter to dnsmasq -S. + The dns servers which dnsmasq should query. ''; }; - - extraConfig = mkOption { type = types.string; default = ""; @@ -67,8 +68,8 @@ in config = mkIf config.services.dnsmasq.enable { - environment.systemPackages = [ dnsmasq ] - ++ (if cfg.resolveLocalQueries then [ pkgs.openresolv ] else []); + networking.nameservers = + optional cfg.resolveLocalQueries "127.0.0.1"; services.dbus.packages = [ dnsmasq ]; @@ -83,10 +84,14 @@ in description = "dnsmasq daemon"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; + path = [ dnsmasq ]; + preStart = '' + touch /etc/dnsmasq-{conf,resolv}.conf + dnsmasq --test + ''; serviceConfig = { Type = "dbus"; BusName = "uk.org.thekelleys.dnsmasq"; - ExecStartPre = "${dnsmasq}/bin/dnsmasq --test"; ExecStart = "${dnsmasq}/bin/dnsmasq -k --enable-dbus --user=dnsmasq -C ${dnsmasqConf}"; ExecReload = "${dnsmasq}/bin/kill -HUP $MAINPID"; }; From 0bf05a02f4a1637a1b9a06ce886350e2ea9f2b96 Mon Sep 17 00:00:00 2001 From: Michael Fellinger Date: Wed, 3 Sep 2014 02:30:04 +0200 Subject: [PATCH 0660/2163] diod: add systemd service and config --- nixos/modules/module-list.nix | 1 + .../services/network-filesystems/diod.nix | 164 ++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 nixos/modules/services/network-filesystems/diod.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 76d1ed8a9d4..3604753c880 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -192,6 +192,7 @@ ./services/network-filesystems/openafs-client/default.nix ./services/network-filesystems/rsyncd.nix ./services/network-filesystems/samba.nix + ./services/network-filesystems/diod.nix ./services/networking/amuled.nix ./services/networking/atftpd.nix ./services/networking/avahi-daemon.nix diff --git a/nixos/modules/services/network-filesystems/diod.nix b/nixos/modules/services/network-filesystems/diod.nix new file mode 100644 index 00000000000..efd8e1018f1 --- /dev/null +++ b/nixos/modules/services/network-filesystems/diod.nix @@ -0,0 +1,164 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.diod; + + diodBool = b: if b then "1" else "0"; + + diodConfig = pkgs.writeText "diod.conf" '' + allsquash = ${diodBool cfg.allsquash} + auth_required = ${diodBool cfg.authRequired} + exportall = ${diodBool cfg.exportall} + exportopts = "${concatStringsSep "," cfg.exportopts}" + exports = { ${concatStringsSep ", " (map (s: ''"${s}"'' ) cfg.exports)} } + listen = { ${concatStringsSep ", " (map (s: ''"${s}"'' ) cfg.listen)} } + logdest = "${cfg.logdest}" + nwthreads = ${toString cfg.nwthreads} + squashuser = "${cfg.squashuser}" + statfs_passthru = ${diodBool cfg.statfsPassthru} + userdb = ${diodBool cfg.userdb} + ${cfg.extraConfig} + ''; +in +{ + options = { + services.diod = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the diod 9P file server."; + }; + + listen = mkOption { + type = types.listOf types.str; + default = [ ]; + description = '' + [ "IP:PORT" [,"IP:PORT",...] ] + List the interfaces and ports that diod should listen on. + ''; + }; + + exports = mkOption { + type = types.listOf types.path; + default = []; + description = '' + List the file systems that clients will be allowed to mount. All paths should + be fully qualified. The exports table can include two types of element: + a string element (as above), + or an alternate table element form { path="/path", opts="ro" }. + In the alternate form, the (optional) opts attribute is a comma-separated list + of export options. The two table element forms can be mixed in the exports + table. Note that although diod will not traverse file system boundaries for a + given mount due to inode uniqueness constraints, subdirectories of a file + system can be separately exported. + ''; + }; + + exportall = mkOption { + type = types.bool; + default = true; + description = '' + Export all file systems listed in /proc/mounts. If new file systems are mounted + after diod has started, they will become immediately mountable. If there is a + duplicate entry for a file system in the exports list, any options listed in + the exports entry will apply. + ''; + }; + + exportopts = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Establish a default set of export options. These are overridden, not appended + to, by opts attributes in an "exports" entry. + ''; + }; + + nwthreads = mkOption { + type = types.int; + default = 16; + description = '' + Sets the (fixed) number of worker threads created to handle 9P + requests for a unique aname. The default is 16 per aname. + ''; + }; + + authRequired = mkOption { + type = types.bool; + default = false; + description = '' + Allow clients to connect without authentication, i.e. without a valid MUNGE credential. + Default is false. + ''; + }; + + userdb = mkOption { + type = types.bool; + default = false; + description = '' + This option disables password/group lookups. It allows any uid to attach and + assumes gid=uid, and supplementary groups contain only the primary gid. + Default is false + ''; + }; + + allsquash = mkOption { + type = types.bool; + default = true; + description = '' + Remap all users to "nobody". The attaching user need not be present in the + password file. + Default is true + ''; + }; + + squashuser = mkOption { + type = types.str; + default = "nobody"; + description = '' + Change the squash user from the default of "nobody". The squash user must be + present in the password file. + ''; + }; + + logdest = mkOption { + type = types.str; + default = "syslog:daemon:err"; + description = '' + Set the destination for logging. + DEST is in the form of "syslog:facility:level" or "filename". + The default is "syslog:daemon:err". + ''; + }; + + + statfsPassthru = mkOption { + type = types.bool; + default = false; + description = '' + This option configures statfs to return the host file system's type + rather than V9FS_MAGIC. The default is false (return V9FS_MAGIC). + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = "Extra configuration options for diod.conf."; + }; + }; + }; + + config = mkIf config.services.diod.enable { + environment.systemPackages = [ pkgs.diod ]; + + systemd.services.diod = { + description = "diod 9P file server"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = "${pkgs.diod}/sbin/diod -c ${diodConfig}"; + }; + }; + }; +} From e805c78ed3a19c362305a2c7633e0d718c4e2665 Mon Sep 17 00:00:00 2001 From: Michael Fellinger Date: Wed, 3 Sep 2014 02:55:00 +0200 Subject: [PATCH 0661/2163] diod: remove redundant default doc --- nixos/modules/services/network-filesystems/diod.nix | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/nixos/modules/services/network-filesystems/diod.nix b/nixos/modules/services/network-filesystems/diod.nix index efd8e1018f1..1ab5f52d438 100644 --- a/nixos/modules/services/network-filesystems/diod.nix +++ b/nixos/modules/services/network-filesystems/diod.nix @@ -79,7 +79,7 @@ in default = 16; description = '' Sets the (fixed) number of worker threads created to handle 9P - requests for a unique aname. The default is 16 per aname. + requests for a unique aname. ''; }; @@ -88,7 +88,6 @@ in default = false; description = '' Allow clients to connect without authentication, i.e. without a valid MUNGE credential. - Default is false. ''; }; @@ -98,7 +97,6 @@ in description = '' This option disables password/group lookups. It allows any uid to attach and assumes gid=uid, and supplementary groups contain only the primary gid. - Default is false ''; }; @@ -108,7 +106,6 @@ in description = '' Remap all users to "nobody". The attaching user need not be present in the password file. - Default is true ''; }; @@ -116,8 +113,7 @@ in type = types.str; default = "nobody"; description = '' - Change the squash user from the default of "nobody". The squash user must be - present in the password file. + Change the squash user. The squash user must be present in the password file. ''; }; @@ -126,8 +122,7 @@ in default = "syslog:daemon:err"; description = '' Set the destination for logging. - DEST is in the form of "syslog:facility:level" or "filename". - The default is "syslog:daemon:err". + The value has the form of "syslog:facility:level" or "filename". ''; }; @@ -137,7 +132,7 @@ in default = false; description = '' This option configures statfs to return the host file system's type - rather than V9FS_MAGIC. The default is false (return V9FS_MAGIC). + rather than V9FS_MAGIC. ''; }; From ccc758f414821d7115dfddc3c05ab1adfb1a11f7 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 2 Sep 2014 18:56:53 -0700 Subject: [PATCH 0662/2163] nixos/install-grub: Fix typo --- nixos/modules/system/boot/loader/grub/install-grub.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 4e196d67e93..668e74a9722 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -135,7 +135,7 @@ sub GrubFs { if ($fs->type eq 'btrfs') { my ($status, @id_info) = runCommand("btrfs subvol show @{[$fs->mount]}"); if ($status != 0) { - die "Failed to retreive subvolume info for @{[$fs->mount]}\n"; + die "Failed to retrieve subvolume info for @{[$fs->mount]}\n"; } my @ids = join("", @id_info) =~ m/Object ID:[ \t\n]*([^ \t\n]*)/; if ($#ids > 0) { From c369c4afbd8ca0e1d43e53408383bb623fe41a79 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 2 Sep 2014 18:57:09 -0700 Subject: [PATCH 0663/2163] grub2: Fix zfs support --- pkgs/tools/misc/grub/2.0x.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index e3c07af759c..fdb2ae556e8 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, autogen, flex, bison, python, autoconf, automake +{ stdenv, fetchurl, fetchgit, autogen, flex, bison, python, autoconf, automake , gettext, ncurses, libusb, freetype, qemu, devicemapper , linuxPackages ? null , efiSupport ? false @@ -14,9 +14,9 @@ let canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems); - prefix = "grub${if efiSupport then "-efi" else ""}"; + prefix = "grub${if efiSupport then "-efi" else ""}${optionalString zfsSupport "-zfs"}"; - version = "2.02-beta2"; + version = "2.02-git-1de3a4"; unifont_bdf = fetchurl { url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz"; @@ -30,10 +30,10 @@ assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null; stdenv.mkDerivation rec { name = "${prefix}-${version}"; - src = fetchurl { - name = "grub-2.02-beta2.tar.xz"; - url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.xz"; - sha256 = "13a13fhc0wf473dn73zhga15mjvkg6vqp4h25dxg4n7am2r05izn"; + src = fetchgit { + url = "git://git.savannah.gnu.org/grub.git"; + rev = "1de3a48098053aaebd35232bd73e3ce3f3fdf51c"; + sha256 = "0d1953nmi251czkm1dmd7vnm3iz2rkqbznlp6ph33va0d7kw1kfc"; }; nativeBuildInputs = [ autogen flex bison python autoconf automake ]; From 626a666da53229e463549bca0d24e2b21a4801cd Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Wed, 3 Sep 2014 05:36:45 +0200 Subject: [PATCH 0664/2163] gummiboot/builder: fix timeout setting when unset The gummiboot-builder.py script is expecting the @timeout@ metavar to be substituted for either an empty string (in the case where a user has left the timeout unset) or the actual value set in the system configuration. However, the config.boot.loader.gummiboot.timeout option defaults to 'null', and due to the way pkgs.substituteAll works, the substitution for '@timeout@' is _never_ set to the empty string. This causes the builder script to put a bogus line into /boot/loader/loader.conf: timeout @timeout@ Fix this by explicitly setting 'timeout' to the empty string when it's unset in the system configuration. Signed-off-by: Josh Cartwright --- nixos/modules/system/boot/loader/gummiboot/gummiboot.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix index e7a481e90a7..003f72b37f9 100644 --- a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix +++ b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix @@ -16,7 +16,7 @@ let nix = config.nix.package; - inherit (cfg) timeout; + timeout = if cfg.timeout != null then cfg.timeout else ""; inherit (efi) efiSysMountPoint canTouchEfiVariables; }; From 28af151e1a0c010da8b98d3a33245ab78b3cfd9a Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Wed, 3 Sep 2014 15:48:33 +1000 Subject: [PATCH 0665/2163] Added missing curl dependency to RCurl package --- pkgs/development/r-modules/cran-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix index dcffbccb510..e986944d45d 100644 --- a/pkgs/development/r-modules/cran-packages.nix +++ b/pkgs/development/r-modules/cran-packages.nix @@ -38,7 +38,7 @@ let - inherit (pkgs) R fetchurl stdenv; + inherit (pkgs) R fetchurl stdenv curl; buildRPackage = import ./generic-builder.nix R; @@ -4252,7 +4252,7 @@ let self = _self // overrides; _self = with self; { rcqp = derive { name="rcqp"; version="0.3"; sha256="0vxcgchnxdsdamclcshjbkn00ysmfmqp586a36wsyv3zqrd6rg7p"; depends=[plyr]; }; Rcsdp = derive { name="Rcsdp"; version="0.1.53"; sha256="0x91hyx6z9f4zd7djxlq7dnznmr9skyzwbbcbjyid9hxbcfyvhcp"; depends=[]; }; rCUR = derive { name="rCUR"; version="1.3"; sha256="1f38xbc5n91k2y88cg0sv1z2p4g5vl7v2k1024f42f7526g2p2lx"; depends=[MASS Matrix lattice]; }; - RCurl = derive { name="RCurl"; version="1.95-4.3"; sha256="1gyjarnxwz3ldpm1vwq9ls6al66rvs7yshzhrl1fv9lbm1qi8yfg"; depends=[bitops]; }; + RCurl = derive { name="RCurl"; version="1.95-4.3"; sha256="1gyjarnxwz3ldpm1vwq9ls6al66rvs7yshzhrl1fv9lbm1qi8yfg"; depends=[bitops curl]; }; Rd2roxygen = derive { name="Rd2roxygen"; version="1.4"; sha256="09dxgp65zac5b9mxbjrvy3ihdwski98xva5afq659b8yfvkviq4g"; depends=[roxygen2 formatR]; }; rda = derive { name="rda"; version="1.0.2-2"; sha256="1g2q7c0y138i9r7jgjrlpqznvwpqsj6f7vljqqfzh2l6kcj43vjj"; depends=[]; }; rdatamarket = derive { name="rdatamarket"; version="0.6.4"; sha256="16a1yxvf841505a8gh7jf09fx6ipysymrpvsd4b07xdg5hvbzx25"; depends=[zoo RCurl RJSONIO]; }; From 74343ca3abe9968e1f59eda56627023a07270440 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 3 Sep 2014 10:11:18 +0400 Subject: [PATCH 0666/2163] =?UTF-8?q?Fix=20handling=20of=20paths=20with=20?= =?UTF-8?q?multuple=20mounts=20=E2=80=94=20for=20example=20rootfs=20first?= =?UTF-8?q?=20mount=20for=20/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/tools/filesystems/btrfsprogs/default.nix | 2 ++ .../filesystems/btrfsprogs/multiple_mounts.patch | 13 +++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index 02f214ad430..79566d15bb9 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt ]; + patches = [ ./multiple_mounts.patch ]; + # for btrfs to get the rpath to libgcc_s, needed for pthread_cancel to work NIX_CFLAGS_LINK = "-lgcc_s"; diff --git a/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch b/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch new file mode 100644 index 00000000000..0ba6550a2d3 --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/multiple_mounts.patch @@ -0,0 +1,13 @@ +Only in btrfs-progs-v3.16-orig: btrfs-progs-v3.16 +diff -U3 -r btrfs-progs-v3.16-orig/utils.c btrfs-progs-v3.16/utils.c +--- btrfs-progs-v3.16-orig/utils.c 2014-09-03 09:57:45.644858545 +0400 ++++ btrfs-progs-v3.16/utils.c 2014-09-03 09:59:26.968855663 +0400 +@@ -2360,7 +2360,7 @@ + len = strlen(ent->mnt_dir); + if (strncmp(ent->mnt_dir, path, len) == 0) { + /* match found */ +- if (longest_matchlen < len) { ++ if ((longest_matchlen < len) || (longest_matchlen==len && not_btrfs)) { + free(longest_match); + longest_matchlen = len; + longest_match = strdup(ent->mnt_dir); From 33a3f76ee4e4fe7040aef35d5c01e23f68b4797b Mon Sep 17 00:00:00 2001 From: Nathan Bijnens Date: Wed, 3 Sep 2014 10:39:48 +0400 Subject: [PATCH 0667/2163] Copy.com: client #3617 --- nixos/modules/module-list.nix | 1 + nixos/modules/module-list.nix.orig | 372 + .../modules/services/networking/copy-com.nix | 53 + .../networking/copy-com/default.nix | 58 + pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/all-packages.nix.orig | 11653 ++++++++++++++++ 6 files changed, 12139 insertions(+) mode change 100644 => 100755 nixos/modules/module-list.nix create mode 100644 nixos/modules/module-list.nix.orig create mode 100644 nixos/modules/services/networking/copy-com.nix create mode 100644 pkgs/applications/networking/copy-com/default.nix create mode 100644 pkgs/top-level/all-packages.nix.orig diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix old mode 100644 new mode 100755 index 3604753c880..7679d3e6ac4 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -203,6 +203,7 @@ ./services/networking/cjdns.nix ./services/networking/cntlm.nix ./services/networking/connman.nix + ./services/networking/copy-com.nix ./services/networking/ddclient.nix ./services/networking/dhcpcd.nix ./services/networking/dhcpd.nix diff --git a/nixos/modules/module-list.nix.orig b/nixos/modules/module-list.nix.orig new file mode 100644 index 00000000000..3604753c880 --- /dev/null +++ b/nixos/modules/module-list.nix.orig @@ -0,0 +1,372 @@ +[ + ./config/fonts/corefonts.nix + ./config/fonts/fontconfig.nix + ./config/fonts/fontdir.nix + ./config/fonts/fonts.nix + ./config/fonts/ghostscript.nix + ./config/gnu.nix + ./config/gtk-exe-env.nix + ./config/i18n.nix + ./config/krb5.nix + ./config/ldap.nix + ./config/networking.nix + ./config/no-x-libs.nix + ./config/nsswitch.nix + ./config/power-management.nix + ./config/pulseaudio.nix + ./config/qt-plugin-env.nix + ./config/shells-environment.nix + ./config/swap.nix + ./config/sysctl.nix + ./config/system-environment.nix + ./config/system-path.nix + ./config/timezone.nix + ./config/vpnc.nix + ./config/unix-odbc-drivers.nix + ./config/users-groups.nix + ./config/zram.nix + ./hardware/all-firmware.nix + ./hardware/cpu/amd-microcode.nix + ./hardware/cpu/intel-microcode.nix + ./hardware/network/b43.nix + ./hardware/network/intel-2100bg.nix + ./hardware/network/intel-2200bg.nix + ./hardware/network/intel-3945abg.nix + ./hardware/network/ralink.nix + ./hardware/network/rtl8192c.nix + ./hardware/opengl.nix + ./hardware/pcmcia.nix + ./hardware/video/bumblebee.nix + ./hardware/video/nvidia.nix + ./installer/tools/nixos-checkout.nix + ./installer/tools/tools.nix + ./misc/assertions.nix + ./misc/check-config.nix + ./misc/crashdump.nix + ./misc/ids.nix + ./misc/lib.nix + ./misc/locate.nix + ./misc/meta.nix + ./misc/nixpkgs.nix + ./misc/passthru.nix + ./misc/version.nix + ./programs/atop.nix + ./programs/bash/bash.nix + ./programs/bash/command-not-found.nix + ./programs/blcr.nix + ./programs/dconf.nix + ./programs/environment.nix + ./programs/info.nix + ./programs/nano.nix + ./programs/screen.nix + ./programs/shadow.nix + ./programs/shell.nix + ./programs/ssh.nix + ./programs/ssmtp.nix + ./programs/uim.nix + ./programs/venus.nix + ./programs/wvdial.nix + ./programs/freetds.nix + ./programs/zsh/zsh.nix + ./rename.nix + ./security/apparmor.nix + ./security/apparmor-suid.nix + ./security/ca.nix + ./security/duosec.nix + ./security/grsecurity.nix + ./security/pam.nix + ./security/pam_usb.nix + ./security/polkit.nix + ./security/prey.nix + ./security/rngd.nix + ./security/rtkit.nix + ./security/setuid-wrappers.nix + ./security/sudo.nix + ./services/amqp/activemq/default.nix + ./services/amqp/rabbitmq.nix + ./services/audio/alsa.nix + ./services/audio/fuppes.nix + ./services/audio/mpd.nix + ./services/audio/mopidy.nix + ./services/backup/almir.nix + ./services/backup/bacula.nix + ./services/backup/mysql-backup.nix + ./services/backup/postgresql-backup.nix + ./services/backup/rsnapshot.nix + ./services/backup/sitecopy-backup.nix + ./services/backup/tarsnap.nix + ./services/continuous-integration/jenkins/default.nix + ./services/continuous-integration/jenkins/slave.nix + ./services/databases/4store-endpoint.nix + ./services/databases/4store.nix + ./services/databases/couchdb.nix + ./services/databases/firebird.nix + ./services/databases/influxdb.nix + ./services/databases/memcached.nix + ./services/databases/monetdb.nix + ./services/databases/mongodb.nix + ./services/databases/mysql.nix + ./services/databases/neo4j.nix + ./services/databases/openldap.nix + ./services/databases/postgresql.nix + ./services/databases/redis.nix + ./services/databases/virtuoso.nix + ./services/desktops/accountsservice.nix + ./services/desktops/geoclue2.nix + ./services/desktops/gnome3/at-spi2-core.nix + ./services/desktops/gnome3/evolution-data-server.nix + ./services/desktops/gnome3/gnome-documents.nix + ./services/desktops/gnome3/gnome-keyring.nix + ./services/desktops/gnome3/gnome-online-accounts.nix + ./services/desktops/gnome3/gnome-online-miners.nix + ./services/desktops/gnome3/gnome-user-share.nix + ./services/desktops/gnome3/gvfs.nix + ./services/desktops/gnome3/seahorse.nix + ./services/desktops/gnome3/sushi.nix + ./services/desktops/gnome3/tracker.nix + ./services/desktops/telepathy.nix + ./services/games/ghost-one.nix + ./services/games/minecraft-server.nix + ./services/hardware/acpid.nix + ./services/hardware/amd-hybrid-graphics.nix + ./services/hardware/bluetooth.nix + ./services/hardware/nvidia-optimus.nix + ./services/hardware/pcscd.nix + ./services/hardware/pommed.nix + ./services/hardware/sane.nix + ./services/hardware/tcsd.nix + ./services/hardware/thinkfan.nix + ./services/hardware/udev.nix + ./services/hardware/udisks2.nix + ./services/hardware/upower.nix + ./services/logging/klogd.nix + ./services/logging/logcheck.nix + ./services/logging/logrotate.nix + ./services/logging/logstash.nix + ./services/logging/rsyslogd.nix + ./services/logging/syslogd.nix + ./services/logging/syslog-ng.nix + ./services/mail/dovecot.nix + ./services/mail/freepops.nix + ./services/mail/mail.nix + ./services/mail/mlmmj.nix + ./services/mail/opensmtpd.nix + ./services/mail/postfix.nix + ./services/mail/spamassassin.nix + #./services/misc/autofs.nix + ./services/misc/cgminer.nix + ./services/misc/dictd.nix + ./services/misc/disnix.nix + ./services/misc/felix.nix + ./services/misc/folding-at-home.nix + ./services/misc/gitolite.nix + ./services/misc/gpsd.nix + ./services/misc/nix-daemon.nix + ./services/misc/nix-gc.nix + ./services/misc/nixos-manual.nix + ./services/misc/nix-ssh-serve.nix + ./services/misc/rippled.nix + ./services/misc/rogue.nix + ./services/misc/siproxd.nix + ./services/misc/svnserve.nix + ./services/misc/synergy.nix + ./services/misc/uhub.nix + ./services/misc/zookeeper.nix + ./services/monitoring/apcupsd.nix + ./services/monitoring/dd-agent.nix + ./services/monitoring/graphite.nix + ./services/monitoring/monit.nix + ./services/monitoring/munin.nix + ./services/monitoring/nagios.nix + ./services/monitoring/riemann.nix + ./services/monitoring/riemann-dash.nix + ./services/monitoring/smartd.nix + ./services/monitoring/statsd.nix + ./services/monitoring/systemhealth.nix + ./services/monitoring/ups.nix + ./services/monitoring/uptime.nix + ./services/monitoring/zabbix-agent.nix + ./services/monitoring/zabbix-server.nix + ./services/network-filesystems/drbd.nix + ./services/network-filesystems/nfsd.nix + ./services/network-filesystems/openafs-client/default.nix + ./services/network-filesystems/rsyncd.nix + ./services/network-filesystems/samba.nix + ./services/network-filesystems/diod.nix + ./services/networking/amuled.nix + ./services/networking/atftpd.nix + ./services/networking/avahi-daemon.nix + ./services/networking/bind.nix + ./services/networking/bitlbee.nix + ./services/networking/btsync.nix + ./services/networking/chrony.nix + ./services/networking/cjdns.nix + ./services/networking/cntlm.nix + ./services/networking/connman.nix + ./services/networking/ddclient.nix + ./services/networking/dhcpcd.nix + ./services/networking/dhcpd.nix + ./services/networking/dnsmasq.nix + ./services/networking/ejabberd.nix + ./services/networking/firewall.nix + ./services/networking/flashpolicyd.nix + ./services/networking/freenet.nix + ./services/networking/git-daemon.nix + ./services/networking/gnunet.nix + ./services/networking/gogoclient.nix + ./services/networking/gvpe.nix + ./services/networking/haproxy.nix + ./services/networking/hostapd.nix + ./services/networking/ifplugd.nix + ./services/networking/iodined.nix + ./services/networking/ircd-hybrid/default.nix + ./services/networking/kippo.nix + ./services/networking/minidlna.nix + ./services/networking/murmur.nix + ./services/networking/nat.nix + ./services/networking/networkmanager.nix + ./services/networking/ngircd.nix + ./services/networking/notbit.nix + ./services/networking/nsd.nix + ./services/networking/ntopng.nix + ./services/networking/ntpd.nix + ./services/networking/oidentd.nix + ./services/networking/openfire.nix + ./services/networking/openntpd.nix + ./services/networking/openvpn.nix + ./services/networking/polipo.nix + ./services/networking/prayer.nix + ./services/networking/privoxy.nix + ./services/networking/quassel.nix + ./services/networking/radicale.nix + ./services/networking/radvd.nix + ./services/networking/rdnssd.nix + ./services/networking/rpcbind.nix + ./services/networking/sabnzbd.nix + ./services/networking/searx.nix + ./services/networking/spiped.nix + ./services/networking/ssh/lshd.nix + ./services/networking/ssh/sshd.nix + ./services/networking/supybot.nix + ./services/networking/syncthing.nix + ./services/networking/tcpcrypt.nix + ./services/networking/teamspeak3.nix + ./services/networking/tftpd.nix + ./services/networking/unbound.nix + ./services/networking/unifi.nix + ./services/networking/vsftpd.nix + ./services/networking/wakeonlan.nix + ./services/networking/websockify.nix + ./services/networking/wicd.nix + ./services/networking/wpa_supplicant.nix + ./services/networking/xinetd.nix + ./services/networking/znc.nix + ./services/printing/cupsd.nix + ./services/scheduling/atd.nix + ./services/scheduling/cron.nix + ./services/scheduling/fcron.nix + ./services/search/elasticsearch.nix + ./services/search/solr.nix + ./services/security/clamav.nix + ./services/security/fail2ban.nix + ./services/security/fprot.nix + ./services/security/frandom.nix + ./services/security/haveged.nix + ./services/security/torify.nix + ./services/security/tor.nix + ./services/security/torsocks.nix + ./services/system/dbus.nix + ./services/system/kerberos.nix + ./services/system/nscd.nix + ./services/system/uptimed.nix + ./services/torrent/deluge.nix + ./services/torrent/transmission.nix + ./services/ttys/agetty.nix + ./services/ttys/gpm.nix + ./services/ttys/kmscon.nix + ./services/web-servers/apache-httpd/default.nix + ./services/web-servers/fcgiwrap.nix + ./services/web-servers/jboss/default.nix + ./services/web-servers/lighttpd/cgit.nix + ./services/web-servers/lighttpd/default.nix + ./services/web-servers/lighttpd/gitweb.nix + ./services/web-servers/nginx/default.nix + ./services/web-servers/phpfpm.nix + ./services/web-servers/tomcat.nix + ./services/web-servers/varnish/default.nix + ./services/web-servers/winstone.nix + ./services/web-servers/zope2.nix + ./services/x11/desktop-managers/default.nix + ./services/x11/display-managers/auto.nix + ./services/x11/display-managers/default.nix + ./services/x11/display-managers/gdm.nix + ./services/x11/display-managers/kdm.nix + ./services/x11/display-managers/lightdm.nix + ./services/x11/display-managers/slim.nix + ./services/x11/hardware/multitouch.nix + ./services/x11/hardware/synaptics.nix + ./services/x11/hardware/wacom.nix + ./services/x11/redshift.nix + ./services/x11/window-managers/awesome.nix + #./services/x11/window-managers/compiz.nix + ./services/x11/window-managers/default.nix + ./services/x11/window-managers/fluxbox.nix + ./services/x11/window-managers/icewm.nix + ./services/x11/window-managers/bspwm.nix + ./services/x11/window-managers/metacity.nix + ./services/x11/window-managers/none.nix + ./services/x11/window-managers/twm.nix + ./services/x11/window-managers/wmii.nix + ./services/x11/window-managers/xmonad.nix + ./services/x11/xfs.nix + ./services/x11/xserver.nix + ./system/activation/activation-script.nix + ./system/activation/top-level.nix + ./system/boot/emergency-mode.nix + ./system/boot/kernel.nix + ./system/boot/kexec.nix + ./system/boot/loader/efi.nix + ./system/boot/loader/generations-dir/generations-dir.nix + ./system/boot/loader/grub/grub.nix + ./system/boot/loader/grub/memtest.nix + ./system/boot/loader/gummiboot/gummiboot.nix + ./system/boot/loader/init-script/init-script.nix + ./system/boot/loader/raspberrypi/raspberrypi.nix + ./system/boot/luksroot.nix + ./system/boot/modprobe.nix + ./system/boot/shutdown.nix + ./system/boot/stage-1.nix + ./system/boot/stage-2.nix + ./system/boot/systemd.nix + ./system/boot/tmp.nix + ./system/etc/etc.nix + ./system/upstart/upstart.nix + ./tasks/cpu-freq.nix + ./tasks/encrypted-devices.nix + ./tasks/filesystems.nix + ./tasks/filesystems/btrfs.nix + ./tasks/filesystems/cifs.nix + ./tasks/filesystems/ext.nix + ./tasks/filesystems/f2fs.nix + ./tasks/filesystems/nfs.nix + ./tasks/filesystems/reiserfs.nix + ./tasks/filesystems/unionfs-fuse.nix + ./tasks/filesystems/vfat.nix + ./tasks/filesystems/xfs.nix + ./tasks/filesystems/zfs.nix + ./tasks/kbd.nix + ./tasks/lvm.nix + ./tasks/network-interfaces.nix + ./tasks/scsi-link-power-management.nix + ./tasks/swraid.nix + ./tasks/trackpoint.nix + ./testing/service-runner.nix + ./virtualisation/container-config.nix + ./virtualisation/containers.nix + ./virtualisation/docker.nix + ./virtualisation/libvirtd.nix + #./virtualisation/nova.nix + ./virtualisation/openvswitch.nix + ./virtualisation/virtualbox-guest.nix + #./virtualisation/xen-dom0.nix +] diff --git a/nixos/modules/services/networking/copy-com.nix b/nixos/modules/services/networking/copy-com.nix new file mode 100644 index 00000000000..36bd29109b8 --- /dev/null +++ b/nixos/modules/services/networking/copy-com.nix @@ -0,0 +1,53 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.copy-com; + +in + +{ + options = { + + services.copy-com = { + + enable = mkOption { + default = false; + description = " + Enable the copy.com client. + + The first time copy.com is run, it needs to be configured. Before enabling run + copy_console manually. + "; + }; + + user = mkOption { + description = "The user for which copy should run."; + }; + + debug = mkOption { + default = false; + description = "Output more."; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.postfix ]; + + systemd.services."copy-com-${cfg.user}" = { + description = "Copy.com Client"; + after = [ "network.target" "local-fs.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${pkgs.copy-com}/bin/copy_console ${if cfg.debug then "-consoleOutput -debugToConsole=dirwatch,path-watch,csm_path,csm -debug -console" else ""}"; + User = "${cfg.user}"; + }; + + }; + }; + +} + diff --git a/pkgs/applications/networking/copy-com/default.nix b/pkgs/applications/networking/copy-com/default.nix new file mode 100644 index 00000000000..98679e9609e --- /dev/null +++ b/pkgs/applications/networking/copy-com/default.nix @@ -0,0 +1,58 @@ +{ stdenv, coreutils, fetchurl, patchelf, gcc }: + +let + arch = if stdenv.system == "x86_64-linux" then "x86_64" + else if stdenv.system == "i686-linux" then "x86" + else if stdenv.system == "armv6-linux" then "armv6h" + else throw "Copy.com client for: ${stdenv.system} not supported!"; + + interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" + else if stdenv.system == "i686-linux" then "ld-linux.so.2" + else if stdenv.system == "armv6-linux" then "ld-linux.so.2" + else throw "Copy.com client for: ${stdenv.system} not supported!"; + + appdir = "opt/copy"; + +in stdenv.mkDerivation { + + name = "copy-com-1.4"; + + src = fetchurl { + # Note: copy.com doesn't version this file. Annoying. + url = "https://copy.com/install/linux/Copy.tgz"; + sha256 = "f8da6dbfdaac71c4c4e9102671cf8fbe4ac5cb1dac63464783b8b62a7939b6fa"; + }; + + buildInputs = [ coreutils patchelf ]; + + phases = "unpackPhase installPhase"; + + installPhase = '' + mkdir -p $out/opt + cp -r ${arch} "$out/${appdir}" + ensureDir "$out/bin" + ln -s "$out/${appdir}/CopyConsole" "$out/bin/copy_console" + ln -s "$out/${appdir}/CopyAgent" "$out/bin/copy_agent" + ln -s "$out/${appdir}/CopyCmd" "$out/bin/copy_cmd" + patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \ + "$out/${appdir}/CopyConsole" + + RPATH=${gcc.gcc}/lib:$out/${appdir} + echo "updating rpaths to: $RPATH" + find "$out/${appdir}" -type f -a -perm +0100 \ + -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \; + + + + ''; + + meta = { + homepage = http://copy.com; + description = "Copy.com Client"; + # Closed Source unfortunately. + license = stdenv.lib.licenses.unfree; + maintainers = with stdenv.lib.maintainers; [ nathan-gs ]; + # NOTE: Copy.com itself only works on linux, so this is ok. + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2fc56937e36..b7462553522 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9780,6 +9780,8 @@ let bittorrentSync = callPackage ../applications/networking/bittorrentsync { }; + copy-com = callPackage ../applications/networking/copy-com { }; + dropbox = callPackage ../applications/networking/dropbox { }; dropbox-cli = callPackage ../applications/networking/dropbox-cli { }; diff --git a/pkgs/top-level/all-packages.nix.orig b/pkgs/top-level/all-packages.nix.orig new file mode 100644 index 00000000000..6e5caa3af9e --- /dev/null +++ b/pkgs/top-level/all-packages.nix.orig @@ -0,0 +1,11653 @@ +/* This file composes the Nix Packages collection. That is, it + imports the functions that build the various packages, and calls + them with appropriate arguments. The result is a set of all the + packages in the Nix Packages collection for some particular + platform. */ + + +{ # The system (e.g., `i686-linux') for which to build the packages. + system ? builtins.currentSystem + +, # The standard environment to use. Only used for bootstrapping. If + # null, the default standard environment is used. + bootStdenv ? null + +, # Non-GNU/Linux OSes are currently "impure" platforms, with their libc + # outside of the store. Thus, GCC, GFortran, & co. must always look for + # files in standard system directories (/usr/include, etc.) + noSysDirs ? (system != "x86_64-darwin" + && system != "x86_64-freebsd" && system != "i686-freebsd" + && system != "x86_64-kfreebsd-gnu") + + # More flags for the bootstrapping of stdenv. +, gccWithCC ? true +, gccWithProfiling ? true + +, # Allow a configuration attribute set to be passed in as an + # argument. Otherwise, it's read from $NIXPKGS_CONFIG or + # ~/.nixpkgs/config.nix. + config ? null + +, crossSystem ? null +, platform ? null +}: + + +let config_ = config; platform_ = platform; in # rename the function arguments + +let + + lib = import ../../lib; + + # The contents of the configuration file found at $NIXPKGS_CONFIG or + # $HOME/.nixpkgs/config.nix. + # for NIXOS (nixos-rebuild): use nixpkgs.config option + config = + let + toPath = builtins.toPath; + getEnv = x: if builtins ? getEnv then builtins.getEnv x else ""; + pathExists = name: + builtins ? pathExists && builtins.pathExists (toPath name); + + configFile = getEnv "NIXPKGS_CONFIG"; + homeDir = getEnv "HOME"; + configFile2 = homeDir + "/.nixpkgs/config.nix"; + + configExpr = + if config_ != null then config_ + else if configFile != "" && pathExists configFile then import (toPath configFile) + else if homeDir != "" && pathExists configFile2 then import (toPath configFile2) + else {}; + + in + # allow both: + # { /* the config */ } and + # { pkgs, ... } : { /* the config */ } + if builtins.isFunction configExpr + then configExpr { inherit pkgs; } + else configExpr; + + # Allow setting the platform in the config file. Otherwise, let's use a reasonable default (pc) + + platformAuto = let + platforms = (import ./platforms.nix); + in + if system == "armv6l-linux" then platforms.raspberrypi + else if system == "armv5tel-linux" then platforms.sheevaplug + else if system == "mips64el-linux" then platforms.fuloong2f_n32 + else if system == "x86_64-linux" then platforms.pc64 + else if system == "i686-linux" then platforms.pc32 + else platforms.pcBase; + + platform = if platform_ != null then platform_ + else config.platform or platformAuto; + + # Helper functions that are exported through `pkgs'. + helperFunctions = + stdenvAdapters // + (import ../build-support/trivial-builders.nix { inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; }); + + stdenvAdapters = + import ../stdenv/adapters.nix pkgs; + + + # Allow packages to be overriden globally via the `packageOverrides' + # configuration option, which must be a function that takes `pkgs' + # as an argument and returns a set of new or overriden packages. + # The `packageOverrides' function is called with the *original* + # (un-overriden) set of packages, allowing packageOverrides + # attributes to refer to the original attributes (e.g. "foo = + # ... pkgs.foo ..."). + pkgs = applyGlobalOverrides (config.packageOverrides or (pkgs: {})); + + + # Return the complete set of packages, after applying the overrides + # returned by the `overrider' function (see above). Warning: this + # function is very expensive! + applyGlobalOverrides = overrider: + let + # Call the overrider function. We don't want stdenv overrides + # in the case of cross-building, or otherwise the basic + # overrided packages will not be built with the crossStdenv + # adapter. + overrides = overrider pkgsOrig // + (lib.optionalAttrs (pkgsOrig.stdenv ? overrides && crossSystem == null) (pkgsOrig.stdenv.overrides pkgsOrig)); + + # The un-overriden packages, passed to `overrider'. + pkgsOrig = pkgsFun pkgs {}; + + # The overriden, final packages. + pkgs = pkgsFun pkgs overrides; + in pkgs; + + + # The package compositions. Yes, this isn't properly indented. + pkgsFun = pkgs: overrides: + with helperFunctions; + let defaultScope = pkgs // pkgs.xorg; self = self_ // overrides; + self_ = with self; helperFunctions // { + + # Make some arguments passed to all-packages.nix available + inherit system platform; + + # Allow callPackage to fill in the pkgs argument + inherit pkgs; + + + # We use `callPackage' to be able to omit function arguments that + # can be obtained from `pkgs' or `pkgs.xorg' (i.e. `defaultScope'). + # Use `newScope' for sets of packages in `pkgs' (see e.g. `gnome' + # below). + callPackage = newScope {}; + + newScope = extra: lib.callPackageWith (defaultScope // extra); + + + # Override system. This is useful to build i686 packages on x86_64-linux. + forceSystem = system: kernel: (import ./all-packages.nix) { + inherit system; + platform = platform // { kernelArch = kernel; }; + inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config + crossSystem; + }; + + + # Used by wine, firefox with debugging version of Flash, ... + pkgsi686Linux = forceSystem "i686-linux" "i386"; + + callPackage_i686 = lib.callPackageWith (pkgsi686Linux // pkgsi686Linux.xorg); + + + # For convenience, allow callers to get the path to Nixpkgs. + path = ../..; + + + ### Symbolic names. + + x11 = xlibsWrapper; + + # `xlibs' is the set of X library components. This used to be the + # old modular X llibraries project (called `xlibs') but now it's just + # the set of packages in the modular X.org tree (which also includes + # non-library components like the server, drivers, fonts, etc.). + xlibs = xorg // {xlibs = xlibsWrapper;}; + + + ### Helper functions. + + inherit lib config stdenvAdapters; + + inherit (lib) lowPrio hiPrio appendToName makeOverridable; + inherit (misc) versionedDerivation; + + # Applying this to an attribute set will cause nix-env to look + # inside the set for derivations. + recurseIntoAttrs = attrs: attrs // { recurseForDerivations = true; }; + + builderDefs = lib.composedArgsAndFun (import ../build-support/builder-defs/builder-defs.nix) { + inherit stringsWithDeps lib stdenv writeScript + fetchurl fetchmtn fetchgit; + }; + + builderDefsPackage = builderDefs.builderDefsPackage builderDefs; + + stringsWithDeps = lib.stringsWithDeps; + + + ### Nixpkgs maintainer tools + + nix-generate-from-cpan = callPackage ../../maintainers/scripts/nix-generate-from-cpan.nix { }; + + nixpkgs-lint = callPackage ../../maintainers/scripts/nixpkgs-lint.nix { }; + + + ### STANDARD ENVIRONMENT + + + allStdenvs = import ../stdenv { + inherit system platform config; + allPackages = args: import ./all-packages.nix ({ inherit config system; } // args); + }; + + defaultStdenv = allStdenvs.stdenv // { inherit platform; }; + + stdenvCross = lowPrio (makeStdenvCross defaultStdenv crossSystem binutilsCross gccCrossStageFinal); + + stdenv = + if bootStdenv != null then (bootStdenv // {inherit platform;}) else + if crossSystem != null then + stdenvCross + else + let + changer = config.replaceStdenv or null; + in if changer != null then + changer { + # We import again all-packages to avoid recursivities. + pkgs = import ./all-packages.nix { + # We remove packageOverrides to avoid recursivities + config = removeAttrs config [ "replaceStdenv" ]; + }; + } + else + defaultStdenv; + + stdenvApple = stdenvAdapters.overrideGCC allStdenvs.stdenvNative gccApple; + + forceNativeDrv = drv : if crossSystem == null then drv else + (drv // { crossDrv = drv.nativeDrv; }); + + # A stdenv capable of building 32-bit binaries. On x86_64-linux, + # it uses GCC compiled with multilib support; on i686-linux, it's + # just the plain stdenv. + stdenv_32bit = lowPrio ( + if system == "x86_64-linux" then + overrideGCC stdenv gcc48_multi + else + stdenv); + + + ### BUILD SUPPORT + + attrSetToDir = arg: import ../build-support/upstream-updater/attrset-to-dir.nix { + inherit writeTextFile stdenv lib; + theAttrSet = arg; + }; + + autoreconfHook = makeSetupHook + { substitutions = { inherit autoconf automake libtool; }; } + ../build-support/setup-hooks/autoreconf.sh; + + buildEnv = import ../build-support/buildenv { + inherit (pkgs) runCommand perl; + }; + + buildFHSChrootEnv = import ../build-support/build-fhs-chrootenv { + inherit stdenv glibc glibcLocales gcc coreutils diffutils findutils; + inherit gnused gnugrep gnutar gzip bzip2 bashInteractive xz shadow gawk; + inherit less buildEnv; + }; + + dotnetenv = import ../build-support/dotnetenv { + inherit stdenv; + dotnetfx = dotnetfx40; + }; + + scatterOutputHook = makeSetupHook {} ../build-support/setup-hooks/scatter_output.sh; + + vsenv = callPackage ../build-support/vsenv { + vs = vs90wrapper; + }; + + fetchbower = import ../build-support/fetchbower { + inherit stdenv git; + inherit (nodePackages) fetch-bower; + }; + + fetchbzr = import ../build-support/fetchbzr { + inherit stdenv bazaar; + }; + + fetchcvs = import ../build-support/fetchcvs { + inherit stdenv cvs; + }; + + fetchdarcs = import ../build-support/fetchdarcs { + inherit stdenv darcs nix; + }; + + fetchgit = import ../build-support/fetchgit { + inherit stdenv git cacert; + }; + + fetchgitPrivate = import ../build-support/fetchgit/private.nix { + inherit fetchgit writeScript openssh stdenv; + }; + + fetchgitrevision = import ../build-support/fetchgitrevision runCommand git; + + fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {}); + + packer = callPackage ../development/tools/packer { }; + + fetchpatch = callPackage ../build-support/fetchpatch { }; + + fetchsvn = import ../build-support/fetchsvn { + inherit stdenv subversion openssh; + sshSupport = true; + }; + + fetchsvnrevision = import ../build-support/fetchsvnrevision runCommand subversion; + + fetchsvnssh = import ../build-support/fetchsvnssh { + inherit stdenv subversion openssh expect; + sshSupport = true; + }; + + fetchhg = import ../build-support/fetchhg { + inherit stdenv mercurial nix; + }; + + # `fetchurl' downloads a file from the network. + fetchurl = import ../build-support/fetchurl { + inherit curl stdenv; + }; + + # A wrapper around fetchurl that generates miror://gnome URLs automatically + fetchurlGnome = callPackage ../build-support/fetchurl/gnome.nix { }; + + # fetchurlBoot is used for curl and its dependencies in order to + # prevent a cyclic dependency (curl depends on curl.tar.bz2, + # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl). It + # uses the curl from the previous bootstrap phase (e.g. a statically + # linked curl in the case of stdenv-linux). + fetchurlBoot = stdenv.fetchurlBoot; + + fetchzip = import ../build-support/fetchzip { inherit lib fetchurl unzip; }; + + fetchFromGitHub = { owner, repo, rev, sha256 }: fetchzip { + name = "${repo}-${rev}-src"; + url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz"; + inherit sha256; + }; + + resolveMirrorURLs = {url}: fetchurl { + showURLs = true; + inherit url; + }; + + libredirect = callPackage ../build-support/libredirect { }; + + makeDesktopItem = import ../build-support/make-desktopitem { + inherit stdenv; + }; + + makeAutostartItem = import ../build-support/make-startupitem { + inherit stdenv; + inherit lib; + }; + + makeInitrd = {contents, compressor ? "gzip -9"}: + import ../build-support/kernel/make-initrd.nix { + inherit stdenv perl perlArchiveCpio cpio contents ubootChooser compressor; + }; + + makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh; + + makeModulesClosure = { kernel, rootModules, allowMissing ? false }: + import ../build-support/kernel/modules-closure.nix { + inherit stdenv kmod kernel nukeReferences rootModules allowMissing; + }; + + pathsFromGraph = ../build-support/kernel/paths-from-graph.pl; + + srcOnly = args: (import ../build-support/src-only) ({inherit stdenv; } // args); + + substituteAll = import ../build-support/substitute/substitute-all.nix { + inherit stdenv; + }; + + replaceDependency = import ../build-support/replace-dependency.nix { + inherit runCommand nix lib; + }; + + nukeReferences = callPackage ../build-support/nuke-references/default.nix { }; + + vmTools = import ../build-support/vm/default.nix { + inherit pkgs; + }; + + releaseTools = import ../build-support/release/default.nix { + inherit pkgs; + }; + + composableDerivation = (import ../../lib/composable-derivation.nix) { + inherit pkgs lib; + }; + + platforms = import ./platforms.nix; + + setJavaClassPath = makeSetupHook { } ../build-support/setup-hooks/set-java-classpath.sh; + + fixDarwinDylibNames = makeSetupHook { } ../build-support/setup-hooks/fix-darwin-dylib-names.sh; + + keepBuildTree = makeSetupHook { } ../build-support/setup-hooks/keep-build-tree.sh; + + enableGCOVInstrumentation = makeSetupHook { } ../build-support/setup-hooks/enable-coverage-instrumentation.sh; + + makeGCOVReport = makeSetupHook + { deps = [ pkgs.lcov pkgs.enableGCOVInstrumentation ]; } + ../build-support/setup-hooks/make-coverage-analysis-report.sh; + + + ### TOOLS + + abduco = callPackage ../tools/misc/abduco { }; + + acct = callPackage ../tools/system/acct { }; + + acoustidFingerprinter = callPackage ../tools/audio/acoustid-fingerprinter { + ffmpeg = ffmpeg_1; + }; + + actdiag = pythonPackages.actdiag; + + adom = callPackage ../games/adom { }; + + aefs = callPackage ../tools/filesystems/aefs { }; + + aegisub = callPackage ../applications/video/aegisub { + wxGTK = wxGTK30; + lua = lua5_1; + }; + + aespipe = callPackage ../tools/security/aespipe { }; + + aescrypt = callPackage ../tools/misc/aescrypt { }; + + ahcpd = callPackage ../tools/networking/ahcpd { }; + + aircrackng = callPackage ../tools/networking/aircrack-ng { }; + + analog = callPackage ../tools/admin/analog {}; + + apktool = callPackage ../development/tools/apktool { + buildTools = androidenv.buildTools; + }; + + apt-offline = callPackage ../tools/misc/apt-offline { }; + + archivemount = callPackage ../tools/filesystems/archivemount { }; + + arandr = callPackage ../tools/X11/arandr { }; + + arcanist = callPackage ../development/tools/misc/arcanist {}; + + arduino_core = callPackage ../development/arduino/arduino-core { + jdk = jdk; + jre = jdk; + }; + + argyllcms = callPackage ../tools/graphics/argyllcms {}; + + arp-scan = callPackage ../tools/misc/arp-scan { }; + + ascii = callPackage ../tools/text/ascii { }; + + asymptote = builderDefsPackage ../tools/graphics/asymptote { + inherit freeglut ghostscriptX imagemagick fftw boehmgc + mesa ncurses readline gsl libsigsegv python zlib perl + texinfo xz; + texLive = texLiveAggregationFun { + paths = [ texLive texLiveExtra texLiveCMSuper ]; + }; + }; + + awscli = callPackage ../tools/admin/awscli { }; + + ec2_api_tools = callPackage ../tools/virtualization/ec2-api-tools { }; + + ec2_ami_tools = callPackage ../tools/virtualization/ec2-ami-tools { }; + + altermime = callPackage ../tools/networking/altermime {}; + + amule = callPackage ../tools/networking/p2p/amule { }; + + amuleDaemon = appendToName "daemon" (amule.override { + monolithic = false; + daemon = true; + }); + + amuleGui = appendToName "gui" (amule.override { + monolithic = false; + client = true; + }); + + androidenv = import ../development/mobile/androidenv { + inherit pkgs; + pkgs_i686 = pkgsi686Linux; + }; + + apg = callPackage ../tools/security/apg { }; + + grc = callPackage ../tools/misc/grc { }; + + otool = callPackage ../os-specific/darwin/otool { }; + + pass = callPackage ../tools/security/pass { + gnupg = gnupg1compat; + }; + + setfile = callPackage ../os-specific/darwin/setfile { }; + + install_name_tool = callPackage ../os-specific/darwin/install_name_tool { }; + + xcodeenv = callPackage ../development/mobile/xcodeenv { }; + + titaniumenv = callPackage ../development/mobile/titaniumenv { + inherit pkgs; + pkgs_i686 = pkgsi686Linux; + }; + + inherit (androidenv) androidsdk_4_4 androidndk; + + aria2 = callPackage ../tools/networking/aria2 { }; + aria = aria2; + + at = callPackage ../tools/system/at { }; + + atftp = callPackage ../tools/networking/atftp {}; + + autogen = callPackage ../development/tools/misc/autogen { }; + + autojump = callPackage ../tools/misc/autojump { }; + + autorandr = callPackage ../tools/misc/autorandr { + inherit (xorg) xrandr xdpyinfo; + }; + + avahi = callPackage ../development/libraries/avahi { + qt4Support = config.avahi.qt4Support or false; + }; + + aws = callPackage ../tools/virtualization/aws { }; + + aws_mturk_clt = callPackage ../tools/misc/aws-mturk-clt { }; + + axel = callPackage ../tools/networking/axel { }; + + azureus = callPackage ../tools/networking/p2p/azureus { }; + + basex = callPackage ../tools/text/xml/basex { }; + + babeld = callPackage ../tools/networking/babeld { }; + + badvpn = callPackage ../tools/networking/badvpn {}; + + banner = callPackage ../games/banner {}; + + barcode = callPackage ../tools/graphics/barcode {}; + + bc = callPackage ../tools/misc/bc { }; + + bcache-tools = callPackage ../tools/filesystems/bcache-tools { }; + + bchunk = callPackage ../tools/cd-dvd/bchunk { }; + + bfr = callPackage ../tools/misc/bfr { }; + + bindfs = callPackage ../tools/filesystems/bindfs { }; + + bitbucket-cli = pythonPackages.bitbucket-cli; + + blockdiag = pythonPackages.blockdiag; + + bmon = callPackage ../tools/misc/bmon { }; + + bochs = callPackage ../applications/virtualization/bochs { wxSupport = false; }; + + boomerang = callPackage ../development/tools/boomerang { }; + + bootchart = callPackage ../tools/system/bootchart { }; + + bro = callPackage ../applications/networking/ids/bro { }; + + bsod = callPackage ../misc/emulators/bsod { }; + + btrfsProgs = callPackage ../tools/filesystems/btrfsprogs { }; + + bwm_ng = callPackage ../tools/networking/bwm-ng { }; + + byobu = callPackage ../tools/misc/byobu { }; + + capstone = callPackage ../development/libraries/capstone { }; + + catdoc = callPackage ../tools/text/catdoc { }; + + ccnet = callPackage ../tools/networking/ccnet { }; + + consul = callPackage ../servers/consul { }; + consul_ui = callPackage ../servers/consul/ui.nix { }; + + chntpw = callPackage ../tools/security/chntpw { }; + + coprthr = callPackage ../development/libraries/coprthr { + flex = flex_2_5_35; + }; + + crawl = callPackage ../games/crawl { lua = lua5; }; + + cv = callPackage ../tools/misc/cv { }; + + direnv = callPackage ../tools/misc/direnv { }; + + ditaa = callPackage ../tools/graphics/ditaa { }; + + dlx = callPackage ../misc/emulators/dlx { }; + + eggdrop = callPackage ../tools/networking/eggdrop { }; + + enca = callPackage ../tools/text/enca { }; + + fasd = callPackage ../tools/misc/fasd { + inherit (haskellPackages) pandoc; + }; + + fop = callPackage ../tools/typesetting/fop { }; + + mcrl = callPackage ../tools/misc/mcrl { }; + + mcrl2 = callPackage ../tools/misc/mcrl2 { }; + + mpdcron = callPackage ../tools/audio/mpdcron { }; + + syslogng = callPackage ../tools/system/syslog-ng { }; + + syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { }; + + rsyslog = callPackage ../tools/system/rsyslog { }; + + mcrypt = callPackage ../tools/misc/mcrypt { }; + + mcelog = callPackage ../os-specific/linux/mcelog { }; + + apparix = callPackage ../tools/misc/apparix { }; + + appdata-tools = callPackage ../tools/misc/appdata-tools { }; + + asciidoc = callPackage ../tools/typesetting/asciidoc { + inherit (pythonPackages) matplotlib numpy aafigure recursivePthLoader; + enableStandardFeatures = false; + }; + + asciidoc-full = appendToName "full" (asciidoc.override { + inherit (pythonPackages) pygments; + enableStandardFeatures = true; + }); + + autossh = callPackage ../tools/networking/autossh { }; + + bacula = callPackage ../tools/backup/bacula { }; + + beanstalkd = callPackage ../servers/beanstalkd { }; + + bgs = callPackage ../tools/X11/bgs { }; + + biber = callPackage ../tools/typesetting/biber { + inherit (perlPackages) + autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf + DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K + ExtUtilsLibBuilder FileSlurp IPCRun3 Log4Perl LWPProtocolHttps ListAllUtils + ListMoreUtils ModuleBuild MozillaCA ReadonlyXS RegexpCommon TextBibTeX + UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter; + }; + + bibtextools = callPackage ../tools/typesetting/bibtex-tools { + inherit (strategoPackages016) strategoxt sdf; + }; + + bittorrent = callPackage ../tools/networking/p2p/bittorrent { + gui = true; + }; + + bittornado = callPackage ../tools/networking/p2p/bit-tornado { }; + + blueman = callPackage ../tools/bluetooth/blueman { + inherit (pythonPackages) notify; + }; + + bmrsa = builderDefsPackage (import ../tools/security/bmrsa/11.nix) { + inherit unzip; + }; + + bogofilter = callPackage ../tools/misc/bogofilter { }; + + bsdiff = callPackage ../tools/compression/bsdiff { }; + + btar = callPackage ../tools/backup/btar { }; + + bud = callPackage ../tools/networking/bud { + inherit (pythonPackages) gyp; + }; + + bup = callPackage ../tools/backup/bup { + inherit (pythonPackages) pyxattr pylibacl setuptools fuse; + inherit (haskellPackages) pandoc; + par2Support = (config.bup.par2Support or false); + }; + + ori = callPackage ../tools/backup/ori { }; + + atool = callPackage ../tools/archivers/atool { }; + + bzip2 = callPackage ../tools/compression/bzip2 { }; + + cabextract = callPackage ../tools/archivers/cabextract { }; + + cadaver = callPackage ../tools/networking/cadaver { }; + + cantata = callPackage ../applications/audio/cantata { }; + + can-utils = callPackage ../os-specific/linux/can-utils { }; + + ccid = callPackage ../tools/security/ccid { }; + + ccrypt = callPackage ../tools/security/ccrypt { }; + + cdecl = callPackage ../development/tools/cdecl { }; + + cdrdao = callPackage ../tools/cd-dvd/cdrdao { }; + + cdrkit = callPackage ../tools/cd-dvd/cdrkit { }; + + ceph = callPackage ../tools/filesystems/ceph { }; + + cfdg = builderDefsPackage ../tools/graphics/cfdg { + inherit libpng bison flex ffmpeg; + }; + + checkinstall = callPackage ../tools/package-management/checkinstall { }; + + cheetahTemplate = builderDefsPackage (import ../tools/text/cheetah-template/2.0.1.nix) { + inherit makeWrapper python; + }; + + chkrootkit = callPackage ../tools/security/chkrootkit { }; + + chrony = callPackage ../tools/networking/chrony { }; + + chunkfs = callPackage ../tools/filesystems/chunkfs { }; + + chunksync = callPackage ../tools/backup/chunksync { }; + + cjdns = callPackage ../tools/networking/cjdns { }; + + cksfv = callPackage ../tools/networking/cksfv { }; + + clementine = callPackage ../applications/audio/clementine { }; + + ciopfs = callPackage ../tools/filesystems/ciopfs { }; + + colord = callPackage ../tools/misc/colord { }; + + colord-gtk = callPackage ../tools/misc/colord-gtk { }; + + colordiff = callPackage ../tools/text/colordiff { }; + + concurrencykit = callPackage ../development/libraries/concurrencykit { }; + + connect = callPackage ../tools/networking/connect { }; + + conspy = callPackage ../os-specific/linux/conspy {}; + + connman = callPackage ../tools/networking/connman { }; + + connmanui = callPackage ../tools/networking/connmanui { }; + + convertlit = callPackage ../tools/text/convertlit { }; + + collectd = callPackage ../tools/system/collectd { }; + + colormake = callPackage ../development/tools/build-managers/colormake { }; + + cowsay = callPackage ../tools/misc/cowsay { }; + + cpuminer = callPackage ../tools/misc/cpuminer { }; + + cpuminer-multi = callPackage ../tools/misc/cpuminer-multi { }; + + cuetools = callPackage ../tools/cd-dvd/cuetools { }; + + unifdef = callPackage ../development/tools/misc/unifdef { }; + + "unionfs-fuse" = callPackage ../tools/filesystems/unionfs-fuse { }; + + usb_modeswitch = callPackage ../development/tools/misc/usb-modeswitch { }; + + anthy = callPackage ../tools/inputmethods/anthy { }; + + biosdevname = callPackage ../tools/networking/biosdevname { }; + + clamav = callPackage ../tools/security/clamav { }; + + cloc = callPackage ../tools/misc/cloc { + inherit (perlPackages) perl AlgorithmDiff RegexpCommon; + }; + + cloog = callPackage ../development/libraries/cloog { }; + + cloogppl = callPackage ../development/libraries/cloog-ppl { }; + + convmv = callPackage ../tools/misc/convmv { }; + + cool-old-term = callPackage ../applications/misc/cool-old-term { }; + + coreutils = callPackage ../tools/misc/coreutils + { + # TODO: Add ACL support for cross-Linux. + aclSupport = crossSystem == null && stdenv.isLinux; + }; + + cpio = callPackage ../tools/archivers/cpio { }; + + cromfs = callPackage ../tools/archivers/cromfs { }; + + cron = callPackage ../tools/system/cron { }; + + cudatoolkit5 = callPackage ../development/compilers/cudatoolkit/5.5.nix { + python = python26; + }; + + cudatoolkit6 = callPackage ../development/compilers/cudatoolkit/6.0.nix { + python = python26; + }; + + cudatoolkit = cudatoolkit5; + + curl = callPackage ../tools/networking/curl rec { + fetchurl = fetchurlBoot; + zlibSupport = true; + sslSupport = zlibSupport; + scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin; + }; + + curl3 = callPackage ../tools/networking/curl/7.15.nix rec { + zlibSupport = true; + sslSupport = zlibSupport; + }; + + cunit = callPackage ../tools/misc/cunit { }; + + curlftpfs = callPackage ../tools/filesystems/curlftpfs { }; + + cutter = callPackage ../tools/networking/cutter { }; + + dadadodo = builderDefsPackage (import ../tools/text/dadadodo) { }; + + daq = callPackage ../applications/networking/ids/daq { }; + + dar = callPackage ../tools/archivers/dar { }; + + davfs2 = callPackage ../tools/filesystems/davfs2 { }; + + dbench = callPackage ../development/tools/misc/dbench { }; + + dcraw = callPackage ../tools/graphics/dcraw { }; + + debian_devscripts = callPackage ../tools/misc/debian-devscripts { + inherit (perlPackages) CryptSSLeay LWP TimeDate DBFile FileDesktopEntry; + }; + + debootstrap = callPackage ../tools/misc/debootstrap { }; + + detox = callPackage ../tools/misc/detox { }; + + ddclient = callPackage ../tools/networking/ddclient { }; + + dd_rescue = callPackage ../tools/system/dd_rescue { }; + + ddrescue = callPackage ../tools/system/ddrescue { }; + + deluge = pythonPackages.deluge; + + desktop_file_utils = callPackage ../tools/misc/desktop-file-utils { }; + + despotify = callPackage ../development/libraries/despotify { }; + + dev86 = callPackage ../development/compilers/dev86 { }; + + dnsmasq = callPackage ../tools/networking/dnsmasq { }; + + dnstop = callPackage ../tools/networking/dnstop { }; + + dhcp = callPackage ../tools/networking/dhcp { }; + + dhcpcd = callPackage ../tools/networking/dhcpcd { }; + + di = callPackage ../tools/system/di { }; + + diffstat = callPackage ../tools/text/diffstat { }; + + diffutils = callPackage ../tools/text/diffutils { }; + + wgetpaste = callPackage ../tools/text/wgetpaste { }; + + dirmngr = callPackage ../tools/security/dirmngr { }; + + disper = callPackage ../tools/misc/disper { }; + + dmd = callPackage ../development/compilers/dmd { }; + + dmg2img = callPackage ../tools/misc/dmg2img { }; + + docbook2odf = callPackage ../tools/typesetting/docbook2odf { + inherit (perlPackages) PerlMagick; + }; + + docbook2x = callPackage ../tools/typesetting/docbook2x { + inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport; + }; + + dosfstools = callPackage ../tools/filesystems/dosfstools { }; + + dotnetfx35 = callPackage ../development/libraries/dotnetfx35 { }; + + dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { }; + + dolphinEmu = callPackage ../misc/emulators/dolphin-emu { }; + dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix { }; + + dropbear = callPackage ../tools/networking/dropbear { }; + + dtach = callPackage ../tools/misc/dtach { }; + + duo-unix = callPackage ../tools/security/duo-unix { }; + + duplicity = callPackage ../tools/backup/duplicity { + inherit (pythonPackages) boto lockfile; + gnupg = gnupg1; + }; + + duply = callPackage ../tools/backup/duply { }; + + dvdplusrwtools = callPackage ../tools/cd-dvd/dvd+rw-tools { }; + + dvgrab = callPackage ../tools/video/dvgrab { }; + + dvtm = callPackage ../tools/misc/dvtm { }; + + e2fsprogs = callPackage ../tools/filesystems/e2fsprogs { }; + + easyrsa = callPackage ../tools/networking/easyrsa { }; + + ebook_tools = callPackage ../tools/text/ebook-tools { }; + + ecryptfs = callPackage ../tools/security/ecryptfs { }; + + editres = callPackage ../tools/graphics/editres { + inherit (xlibs) libXt libXaw; + inherit (xorg) utilmacros; + }; + + edk2 = callPackage ../development/compilers/edk2 { }; + + emscripten = callPackage ../development/compilers/emscripten { }; + + emscriptenfastcomp = callPackage ../development/compilers/emscripten-fastcomp { }; + + efibootmgr = callPackage ../tools/system/efibootmgr { }; + + efivar = callPackage ../tools/system/efivar { }; + + evemu = callPackage ../tools/system/evemu { }; + + elasticsearch = callPackage ../servers/search/elasticsearch { }; + + elasticsearchPlugins = recurseIntoAttrs ( + callPackage ../servers/search/elasticsearch/plugins.nix { } + ); + + emv = callPackage ../tools/misc/emv { }; + + enblendenfuse = callPackage ../tools/graphics/enblend-enfuse { }; + + encfs = callPackage ../tools/filesystems/encfs { }; + + enscript = callPackage ../tools/text/enscript { }; + + ethtool = callPackage ../tools/misc/ethtool { }; + + ettercap = callPackage ../applications/networking/sniffers/ettercap { }; + + euca2ools = callPackage ../tools/virtualization/euca2ools { pythonPackages = python26Packages; }; + + evtest = callPackage ../applications/misc/evtest { }; + + exempi = callPackage ../development/libraries/exempi { }; + + execline = callPackage ../tools/misc/execline { }; + + exercism = callPackage ../development/tools/exercism { }; + + exif = callPackage ../tools/graphics/exif { }; + + exiftags = callPackage ../tools/graphics/exiftags { }; + + extundelete = callPackage ../tools/filesystems/extundelete { }; + + expect = callPackage ../tools/misc/expect { }; + + f2fs-tools = callPackage ../tools/filesystems/f2fs-tools { }; + + fabric = pythonPackages.fabric; + + fail2ban = callPackage ../tools/security/fail2ban { + systemd = systemd.override { + pythonSupport = true; + }; + }; + + fakeroot = callPackage ../tools/system/fakeroot { }; + + fakechroot = callPackage ../tools/system/fakechroot { }; + + fcitx = callPackage ../tools/inputmethods/fcitx { }; + + fcron = callPackage ../tools/system/fcron { }; + + fdm = callPackage ../tools/networking/fdm {}; + + figlet = callPackage ../tools/misc/figlet { }; + + file = callPackage ../tools/misc/file { }; + + filegive = callPackage ../tools/networking/filegive { }; + + fileschanged = callPackage ../tools/misc/fileschanged { }; + + findutils = callPackage ../tools/misc/findutils { }; + + finger_bsd = callPackage ../tools/networking/bsd-finger { }; + + fio = callPackage ../tools/system/fio { }; + + flashtool = callPackage_i686 ../development/mobile/flashtool { + platformTools = androidenv.platformTools; + }; + + flashrom = callPackage ../tools/misc/flashrom { }; + + flpsed = callPackage ../applications/editors/flpsed { }; + + flvstreamer = callPackage ../tools/networking/flvstreamer { }; + + libbsd = callPackage ../development/libraries/libbsd { }; + + lprof = callPackage ../tools/graphics/lprof { }; + + fdk_aac = callPackage ../development/libraries/fdk-aac { }; + + flvtool2 = callPackage ../tools/video/flvtool2 { }; + + fontforge = lowPrio (callPackage ../tools/misc/fontforge { }); + + fontforgeX = callPackage ../tools/misc/fontforge { + withX11 = true; + }; + + forktty = callPackage ../os-specific/linux/forktty {}; + + fortune = callPackage ../tools/misc/fortune { }; + + fox = callPackage ../development/libraries/fox/default.nix { + libpng = libpng12; + }; + + fox_1_6 = callPackage ../development/libraries/fox/fox-1.6.nix { }; + + fping = callPackage ../tools/networking/fping {}; + + fprot = callPackage ../tools/security/fprot { }; + + freeipmi = callPackage ../tools/system/freeipmi {}; + + freetalk = callPackage ../applications/networking/instant-messengers/freetalk { + guile = guile_1_8; + }; + + freetds = callPackage ../development/libraries/freetds { }; + + ftgl = callPackage ../development/libraries/ftgl { }; + + ftgl212 = callPackage ../development/libraries/ftgl/2.1.2.nix { }; + + fuppes = callPackage ../tools/networking/fuppes { + ffmpeg = ffmpeg_0_6_90; + }; + + fsfs = callPackage ../tools/filesystems/fsfs { }; + + fuse_zip = callPackage ../tools/filesystems/fuse-zip { }; + + fuse_exfat = callPackage ../tools/filesystems/fuse-exfat { }; + + dos2unix = callPackage ../tools/text/dos2unix { }; + + uni2ascii = callPackage ../tools/text/uni2ascii { }; + + g500-control = callPackage ../tools/misc/g500-control { }; + + galculator = callPackage ../applications/misc/galculator { + gtk = gtk3; + }; + + gawk = callPackage ../tools/text/gawk { }; + + gawkInteractive = appendToName "interactive" + (gawk.override { readlineSupport = true; }); + + gbdfed = callPackage ../tools/misc/gbdfed { + gtk = gtk2; + }; + + gdmap = callPackage ../tools/system/gdmap { }; + + genext2fs = callPackage ../tools/filesystems/genext2fs { }; + + gengetopt = callPackage ../development/tools/misc/gengetopt { }; + + getmail = callPackage ../tools/networking/getmail { }; + + getopt = callPackage ../tools/misc/getopt { }; + + gftp = callPackage ../tools/networking/gftp { }; + + gifsicle = callPackage ../tools/graphics/gifsicle { }; + + glusterfs = callPackage ../tools/filesystems/glusterfs { }; + + glmark2 = callPackage ../tools/graphics/glmark2 { }; + + glxinfo = callPackage ../tools/graphics/glxinfo { }; + + gmvault = callPackage ../tools/networking/gmvault { }; + + gnokii = builderDefsPackage (import ../tools/misc/gnokii) { + inherit intltool perl gettext libusb pkgconfig bluez readline pcsclite + libical gtk glib; + inherit (xorg) libXpm; + }; + + gnufdisk = callPackage ../tools/system/fdisk { + guile = guile_1_8; + }; + + gnugrep = callPackage ../tools/text/gnugrep { + libiconv = libiconvOrNull; + }; + + gnulib = callPackage ../development/tools/gnulib { }; + + gnupatch = callPackage ../tools/text/gnupatch { }; + + gnupg1orig = callPackage ../tools/security/gnupg1 { }; + + gnupg1compat = callPackage ../tools/security/gnupg1compat { }; + + # use config.packageOverrides if you prefer original gnupg1 + gnupg1 = gnupg1compat; + + gnupg = callPackage ../tools/security/gnupg { libusb = libusb1; }; + + gnupg2_1 = lowPrio (callPackage ../tools/security/gnupg/git.nix { + libassuan = libassuan2_1; + }); + + gnuplot = callPackage ../tools/graphics/gnuplot { }; + + gnuplot_qt = gnuplot.override { withQt = true; }; + + # must have AquaTerm installed separately + gnuplot_aquaterm = gnuplot.override { aquaterm = true; }; + + gnused = callPackage ../tools/text/gnused { }; + + gnutar = callPackage ../tools/archivers/gnutar { }; + + gnuvd = callPackage ../tools/misc/gnuvd { }; + + goaccess = callPackage ../tools/misc/goaccess { }; + + googleAuthenticator = callPackage ../os-specific/linux/google-authenticator { }; + + gource = callPackage ../applications/version-management/gource {}; + + gpodder = callPackage ../applications/audio/gpodder { }; + + gptfdisk = callPackage ../tools/system/gptfdisk { }; + + grafana = callPackage ../development/tools/misc/grafana { }; + + grafx2 = callPackage ../applications/graphics/grafx2 {}; + + graphviz = callPackage ../tools/graphics/graphviz { }; + + /* Readded by Michael Raskin. There are programs in the wild + * that do want 2.0 but not 2.22. Please give a day's notice for + * objections before removal. The feature is integer coordinates + */ + graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { }; + + /* Readded by Michael Raskin. There are programs in the wild + * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for + * objections before removal. The feature is libgraph. + */ + graphviz_2_32 = callPackage ../tools/graphics/graphviz/2.32.nix { }; + + grive = callPackage ../tools/filesystems/grive { + json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable + }; + + groff = callPackage ../tools/text/groff { + ghostscript = null; + }; + + grub = callPackage_i686 ../tools/misc/grub { + buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; + }; + + grub2 = callPackage ../tools/misc/grub/2.0x.nix { }; + + grub2_efi = grub2.override { efiSupport = true; }; + + grub2_zfs = grub2.override { zfsSupport = true; }; + + gssdp = callPackage ../development/libraries/gssdp { + inherit (gnome) libsoup; + }; + + gt5 = callPackage ../tools/system/gt5 { }; + + gtest = callPackage ../development/libraries/gtest {}; + gmock = callPackage ../development/libraries/gmock {}; + + gtkdatabox = callPackage ../development/libraries/gtkdatabox {}; + + gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { }; + + gtkvnc = callPackage ../tools/admin/gtk-vnc {}; + + gtmess = callPackage ../applications/networking/instant-messengers/gtmess { }; + + gummiboot = callPackage ../tools/misc/gummiboot { }; + + gupnp = callPackage ../development/libraries/gupnp { + inherit (gnome) libsoup; + }; + + gupnp_av = callPackage ../development/libraries/gupnp-av {}; + + gupnp_igd = callPackage ../development/libraries/gupnp-igd {}; + + gupnptools = callPackage ../tools/networking/gupnp-tools {}; + + gvpe = builderDefsPackage ../tools/networking/gvpe { + inherit openssl gmp nettools iproute; + }; + + gvolicon = callPackage ../tools/audio/gvolicon {}; + + gzip = callPackage ../tools/compression/gzip { }; + + gzrt = callPackage ../tools/compression/gzrt { }; + + partclone = callPackage ../tools/backup/partclone { }; + + partimage = callPackage ../tools/backup/partimage { }; + + pigz = callPackage ../tools/compression/pigz { }; + + haproxy = callPackage ../tools/networking/haproxy { }; + + haveged = callPackage ../tools/security/haveged { }; + + hawkthorne = callPackage ../games/hawkthorne { love = love_0_9; }; + + hardlink = callPackage ../tools/system/hardlink { }; + + hashcat = callPackage ../tools/security/hashcat { }; + + halibut = callPackage ../tools/typesetting/halibut { }; + + hddtemp = callPackage ../tools/misc/hddtemp { }; + + hdf5 = callPackage ../tools/misc/hdf5 { + szip = null; + mpi = null; + }; + + hdf5-mpi = hdf5.override { + szip = null; + mpi = pkgs.openmpi; + }; + + heimdall = callPackage ../tools/misc/heimdall { }; + + hevea = callPackage ../tools/typesetting/hevea { }; + + highlight = callPackage ../tools/text/highlight { + lua = lua5; + }; + + host = callPackage ../tools/networking/host { }; + + hping = callPackage ../tools/networking/hping { }; + + httpie = callPackage ../tools/networking/httpie { }; + + httpfs2 = callPackage ../tools/filesystems/httpfs { }; + + # FIXME: This Hydra snapshot is outdated and depends on the `nixPerl', + # which no longer exists. + # + # hydra = callPackage ../development/tools/misc/hydra { + # nix = nixUnstable; + # }; + + iasl = callPackage ../development/compilers/iasl { }; + + icecast = callPackage ../servers/icecast { }; + + icoutils = callPackage ../tools/graphics/icoutils { }; + + idutils = callPackage ../tools/misc/idutils { }; + + idle3tools = callPackage ../tools/system/idle3tools { }; + + iftop = callPackage ../tools/networking/iftop { }; + + imapproxy = callPackage ../tools/networking/imapproxy { }; + + imapsync = callPackage ../tools/networking/imapsync { + inherit (perlPackages) MailIMAPClient; + }; + + inadyn = callPackage ../tools/networking/inadyn { }; + + inetutils = callPackage ../tools/networking/inetutils { }; + + ioping = callPackage ../tools/system/ioping {}; + + iodine = callPackage ../tools/networking/iodine { }; + + iperf = callPackage ../tools/networking/iperf { }; + + ipmitool = callPackage ../tools/system/ipmitool { + static = false; + }; + + ipmiutil = callPackage ../tools/system/ipmiutil {}; + + ised = callPackage ../tools/misc/ised {}; + + isl = callPackage ../development/libraries/isl { }; + isl_0_12 = callPackage ../development/libraries/isl/0.12.2.nix { }; + + isync = callPackage ../tools/networking/isync { }; + + jd-gui = callPackage_i686 ../tools/security/jd-gui { }; + + jdiskreport = callPackage ../tools/misc/jdiskreport { }; + + jfsrec = callPackage ../tools/filesystems/jfsrec { + boost = boost144; + }; + + jfsutils = callPackage ../tools/filesystems/jfsutils { }; + + jhead = callPackage ../tools/graphics/jhead { }; + + jing = callPackage ../tools/text/xml/jing { }; + + jmtpfs = callPackage ../tools/filesystems/jmtpfs { }; + + jnettop = callPackage ../tools/networking/jnettop { }; + + jq = callPackage ../development/tools/jq {}; + + jscoverage = callPackage ../development/tools/misc/jscoverage { }; + + jwhois = callPackage ../tools/networking/jwhois { }; + + kazam = callPackage ../applications/video/kazam { }; + + kalibrate-rtl = callPackage ../tools/misc/kalibrate-rtl { }; + + kexectools = callPackage ../os-specific/linux/kexectools { }; + + keychain = callPackage ../tools/misc/keychain { }; + + kismet = callPackage ../applications/networking/sniffers/kismet { }; + + less = callPackage ../tools/misc/less { }; + + lockfileProgs = callPackage ../tools/misc/lockfile-progs { }; + + logstash = callPackage ../tools/misc/logstash { }; + + logstash-forwarder = callPackage ../tools/misc/logstash-forwarder { }; + + kippo = callPackage ../servers/kippo { }; + + klavaro = callPackage ../games/klavaro {}; + + kzipmix = callPackage_i686 ../tools/compression/kzipmix { }; + + minidlna = callPackage ../tools/networking/minidlna { + ffmpeg = ffmpeg_0_10; + }; + + mmv = callPackage ../tools/misc/mmv { }; + + most = callPackage ../tools/misc/most { }; + + multitail = callPackage ../tools/misc/multitail { }; + + netperf = callPackage ../applications/networking/netperf { }; + + ninka = callPackage ../development/tools/misc/ninka { }; + + nodejs = callPackage ../development/web/nodejs {}; + + nodePackages = recurseIntoAttrs (import ./node-packages.nix { + inherit pkgs stdenv nodejs fetchurl fetchgit; + neededNatives = [python] ++ lib.optional (lib.elem system lib.platforms.linux) utillinux; + self = pkgs.nodePackages; + }); + + ldapvi = callPackage ../tools/misc/ldapvi { }; + + ldns = callPackage ../development/libraries/ldns { }; + + lftp = callPackage ../tools/networking/lftp { }; + + libconfig = callPackage ../development/libraries/libconfig { }; + + libee = callPackage ../development/libraries/libee { }; + + libestr = callPackage ../development/libraries/libestr { }; + + libevdev = callPackage ../development/libraries/libevdev { }; + + liboauth = callPackage ../development/libraries/liboauth { }; + + libtirpc = callPackage ../development/libraries/ti-rpc { }; + + libshout = callPackage ../development/libraries/libshout { }; + + libqmi = callPackage ../development/libraries/libqmi { }; + + libmbim = callPackage ../development/libraries/libmbim { }; + + libtorrent = callPackage ../tools/networking/p2p/libtorrent { }; + + logcheck = callPackage ../tools/system/logcheck { + inherit (perlPackages) mimeConstruct; + }; + + logrotate = callPackage ../tools/system/logrotate { }; + + logstalgia = callPackage ../tools/graphics/logstalgia {}; + + lout = callPackage ../tools/typesetting/lout { }; + + lrzip = callPackage ../tools/compression/lrzip { }; + + # lsh installs `bin/nettle-lfib-stream' and so does Nettle. Give the + # former a lower priority than Nettle. + lsh = lowPrio (callPackage ../tools/networking/lsh { }); + + lshw = callPackage ../tools/system/lshw { }; + + lxc = callPackage ../os-specific/linux/lxc { }; + + lzip = callPackage ../tools/compression/lzip { }; + + lzma = xz; + + xz = callPackage ../tools/compression/xz { }; + + lzop = callPackage ../tools/compression/lzop { }; + + maildrop = callPackage ../tools/networking/maildrop { }; + + mailpile = callPackage ../applications/networking/mailreaders/mailpile { }; + + mailutils = callPackage ../tools/networking/mailutils { + guile = guile_1_8; + }; + + mairix = callPackage ../tools/text/mairix { }; + + makemkv = callPackage ../applications/video/makemkv { }; + + man = callPackage ../tools/misc/man { }; + + man_db = callPackage ../tools/misc/man-db { }; + + memtest86 = callPackage ../tools/misc/memtest86 { }; + + memtest86plus = callPackage ../tools/misc/memtest86+ { }; + + meo = callPackage ../tools/security/meo { }; + + mc = callPackage ../tools/misc/mc { }; + + mcabber = callPackage ../applications/networking/instant-messengers/mcabber { }; + + mcron = callPackage ../tools/system/mcron { + guile = guile_1_8; + }; + + mdbtools = callPackage ../tools/misc/mdbtools { }; + + mdbtools_git = callPackage ../tools/misc/mdbtools/git.nix { + inherit (gnome) scrollkeeper; + }; + + mednafen = callPackage ../misc/emulators/mednafen { }; + + mednafen-server = callPackage ../misc/emulators/mednafen/server.nix { }; + + megacli = callPackage ../tools/misc/megacli { }; + + megatools = callPackage ../tools/networking/megatools { }; + + mfcuk = callPackage ../tools/security/mfcuk { }; + + minecraft = callPackage ../games/minecraft { }; + + minecraft-server = callPackage ../games/minecraft-server { }; + + minetest = callPackage ../games/minetest { + libpng = libpng12; + }; + + miniupnpc = callPackage ../tools/networking/miniupnpc { }; + + miniupnpd = callPackage ../tools/networking/miniupnpd { }; + + minixml = callPackage ../development/libraries/minixml { }; + + mjpegtools = callPackage ../tools/video/mjpegtools { }; + + mkcue = callPackage ../tools/cd-dvd/mkcue { }; + + mkpasswd = callPackage ../tools/security/mkpasswd { }; + + mktemp = callPackage ../tools/security/mktemp { }; + + mktorrent = callPackage ../tools/misc/mktorrent { }; + + modemmanager = callPackage ../tools/networking/modemmanager {}; + + monit = callPackage ../tools/system/monit { }; + + mosh = callPackage ../tools/networking/mosh { + boost = boostHeaders; + inherit (perlPackages) IOTty; + }; + + mpage = callPackage ../tools/text/mpage { }; + + mr = callPackage ../applications/version-management/mr { }; + + mscgen = callPackage ../tools/graphics/mscgen { }; + + msf = builderDefsPackage (import ../tools/security/metasploit/3.1.nix) { + inherit ruby makeWrapper; + }; + + mssys = callPackage ../tools/misc/mssys { }; + + mtdutils = callPackage ../tools/filesystems/mtdutils { }; + + mtools = callPackage ../tools/filesystems/mtools { }; + + mtr = callPackage ../tools/networking/mtr {}; + + multitran = recurseIntoAttrs (let callPackage = newScope pkgs.multitran; in rec { + multitrandata = callPackage ../tools/text/multitran/data { }; + + libbtree = callPackage ../tools/text/multitran/libbtree { }; + + libmtsupport = callPackage ../tools/text/multitran/libmtsupport { }; + + libfacet = callPackage ../tools/text/multitran/libfacet { }; + + libmtquery = callPackage ../tools/text/multitran/libmtquery { }; + + mtutils = callPackage ../tools/text/multitran/mtutils { }; + }); + + munge = callPackage ../tools/security/munge { }; + + muscleframework = callPackage ../tools/security/muscleframework { }; + + muscletool = callPackage ../tools/security/muscletool { }; + + mysql2pgsql = callPackage ../tools/misc/mysql2pgsql { }; + + namazu = callPackage ../tools/text/namazu { }; + + nbd = callPackage ../tools/networking/nbd { }; + + ndjbdns = callPackage ../tools/networking/ndjbdns { }; + + netatalk = callPackage ../tools/filesystems/netatalk { }; + + netcdf = callPackage ../development/libraries/netcdf { }; + + nc6 = callPackage ../tools/networking/nc6 { }; + + ncat = callPackage ../tools/networking/ncat { }; + + ncftp = callPackage ../tools/networking/ncftp { }; + + ncompress = callPackage ../tools/compression/ncompress { }; + + ndisc6 = callPackage ../tools/networking/ndisc6 { }; + + netboot = callPackage ../tools/networking/netboot {}; + + netcat = callPackage ../tools/networking/netcat { }; + + netcat-openbsd = callPackage ../tools/networking/netcat-openbsd { }; + + nethogs = callPackage ../tools/networking/nethogs { }; + + netkittftp = callPackage ../tools/networking/netkit/tftp { }; + + netpbm = callPackage ../tools/graphics/netpbm { }; + + netrw = callPackage ../tools/networking/netrw { }; + + netselect = callPackage ../tools/networking/netselect { }; + + networkmanager = callPackage ../tools/networking/network-manager { }; + + networkmanager_openvpn = callPackage ../tools/networking/network-manager/openvpn.nix { }; + + networkmanager_pptp = callPackage ../tools/networking/network-manager/pptp.nix { }; + + networkmanager_vpnc = callPackage ../tools/networking/network-manager/vpnc.nix { }; + + networkmanager_openconnect = callPackage ../tools/networking/network-manager/openconnect.nix { }; + + networkmanagerapplet = newScope gnome ../tools/networking/network-manager-applet { dconf = gnome3.dconf; }; + + newsbeuter = callPackage ../applications/networking/feedreaders/newsbeuter { }; + + newsbeuter-dev = callPackage ../applications/networking/feedreaders/newsbeuter/dev.nix { }; + + ngrep = callPackage ../tools/networking/ngrep { }; + + ngrok = callPackage ../tools/misc/ngrok { }; + + mpack = callPackage ../tools/networking/mpack { }; + + pa_applet = callPackage ../tools/audio/pa-applet { }; + + pnmixer = callPackage ../tools/audio/pnmixer { }; + + nifskope = callPackage ../tools/graphics/nifskope { }; + + nilfs_utils = callPackage ../tools/filesystems/nilfs-utils {}; + + nitrogen = callPackage ../tools/X11/nitrogen {}; + + nlopt = callPackage ../development/libraries/nlopt {}; + + npapi_sdk = callPackage ../development/libraries/npapi-sdk {}; + + npth = callPackage ../development/libraries/npth {}; + + nmap = callPackage ../tools/security/nmap { }; + + nmap_graphical = callPackage ../tools/security/nmap { + inherit (pythonPackages) pysqlite; + graphicalSupport = true; + }; + + notbit = callPackage ../applications/networking/notbit { }; + + nox = callPackage ../tools/package-management/nox { + pythonPackages = python3Packages; + nix = nixUnstable; + }; + + nss_pam_ldapd = callPackage ../tools/networking/nss-pam-ldapd {}; + + ntfs3g = callPackage ../tools/filesystems/ntfs-3g { }; + + # ntfsprogs are merged into ntfs-3g + ntfsprogs = pkgs.ntfs3g; + + ntop = callPackage ../tools/networking/ntop { }; + + ntopng = callPackage ../tools/networking/ntopng { }; + + ntp = callPackage ../tools/networking/ntp { }; + + numdiff = callPackage ../tools/text/numdiff { }; + + nssmdns = callPackage ../tools/networking/nss-mdns { }; + + nwdiag = pythonPackages.nwdiag; + + nylon = callPackage ../tools/networking/nylon { }; + + nzbget = callPackage ../tools/networking/nzbget { }; + + oathToolkit = callPackage ../tools/security/oath-toolkit { }; + + obex_data_server = callPackage ../tools/bluetooth/obex-data-server { }; + + obexd = callPackage ../tools/bluetooth/obexd { }; + + obexfs = callPackage ../tools/bluetooth/obexfs { }; + + obexftp = callPackage ../tools/bluetooth/obexftp { }; + + obnam = callPackage ../tools/backup/obnam { }; + + odt2txt = callPackage ../tools/text/odt2txt { }; + + offlineimap = callPackage ../tools/networking/offlineimap { + inherit (pythonPackages) sqlite3; + }; + + opendbx = callPackage ../development/libraries/opendbx { }; + + opendkim = callPackage ../development/libraries/opendkim { }; + + opendylan = callPackage ../development/compilers/opendylan { + opendylan-bootstrap = opendylan_bin; + }; + + opendylan_bin = callPackage ../development/compilers/opendylan/bin.nix { }; + + openjade = callPackage ../tools/text/sgml/openjade { }; + + openntpd = callPackage ../tools/networking/openntpd { }; + + openobex = callPackage ../tools/bluetooth/openobex { }; + + openopc = callPackage ../tools/misc/openopc { + pythonFull = python27Full.override { + extraLibs = [ python27Packages.pyro3 ]; + }; + }; + + openresolv = callPackage ../tools/networking/openresolv { }; + + opensc = callPackage ../tools/security/opensc { }; + + opensc_dnie_wrapper = callPackage ../tools/security/opensc-dnie-wrapper { }; + + openssh = + callPackage ../tools/networking/openssh { + hpnSupport = false; + withKerberos = false; + etcDir = "/etc/ssh"; + pam = if stdenv.isLinux then pam else null; + }; + + openssh_hpn = pkgs.appendToName "with-hpn" (openssh.override { hpnSupport = true; }); + + openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; }); + + opensp = callPackage ../tools/text/sgml/opensp { }; + + spCompat = callPackage ../tools/text/sgml/opensp/compat.nix { }; + + openvpn = callPackage ../tools/networking/openvpn { }; + + openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { }; + + openvswitch = callPackage ../os-specific/linux/openvswitch { }; + + optipng = callPackage ../tools/graphics/optipng { + libpng = libpng12; + }; + + oslrd = callPackage ../tools/networking/oslrd { }; + + ossec = callPackage ../tools/security/ossec {}; + + otpw = callPackage ../os-specific/linux/otpw { }; + + p7zip = callPackage ../tools/archivers/p7zip { }; + + pal = callPackage ../tools/misc/pal { }; + + panomatic = callPackage ../tools/graphics/panomatic { }; + + par2cmdline = callPackage ../tools/networking/par2cmdline { }; + + parallel = callPackage ../tools/misc/parallel { }; + + parcellite = callPackage ../tools/misc/parcellite { }; + + patchutils = callPackage ../tools/text/patchutils { }; + + parted = callPackage ../tools/misc/parted { hurd = null; }; + + pitivi = callPackage ../applications/video/pitivi { + gst = gst_all_1; + clutter-gtk = clutter_gtk; + inherit (gnome3) gnome_icon_theme gnome_icon_theme_symbolic; + }; + + p0f = callPackage ../tools/security/p0f { }; + + pngout = callPackage ../tools/graphics/pngout { }; + + hurdPartedCross = + if crossSystem != null && crossSystem.config == "i586-pc-gnu" + then (makeOverridable + ({ hurd }: + (parted.override { + # Needs the Hurd's libstore. + inherit hurd; + + # The Hurd wants a libparted.a. + enableStatic = true; + + gettext = null; + readline = null; + devicemapper = null; + }).crossDrv) + { hurd = gnu.hurdCrossIntermediate; }) + else null; + + ipsecTools = callPackage ../os-specific/linux/ipsec-tools { flex = flex_2_5_35; }; + + patch = gnupatch; + + pbzip2 = callPackage ../tools/compression/pbzip2 { }; + + pciutils = callPackage ../tools/system/pciutils { }; + + pcsclite = callPackage ../tools/security/pcsclite { }; + + pdf2djvu = callPackage ../tools/typesetting/pdf2djvu { }; + + pdfjam = callPackage ../tools/typesetting/pdfjam { }; + + jbig2enc = callPackage ../tools/graphics/jbig2enc { }; + + pdfread = callPackage ../tools/graphics/pdfread { }; + + briss = callPackage ../tools/graphics/briss { }; + + bully = callPackage ../tools/networking/bully { }; + + pdnsd = callPackage ../tools/networking/pdnsd { }; + + peco = callPackage ../tools/text/peco { }; + + pg_top = callPackage ../tools/misc/pg_top { }; + + pdsh = callPackage ../tools/networking/pdsh { + rsh = true; # enable internal rsh implementation + ssh = openssh; + }; + + pfstools = callPackage ../tools/graphics/pfstools { }; + + philter = callPackage ../tools/networking/philter { }; + + pinentry = callPackage ../tools/security/pinentry { }; + + pius = callPackage ../tools/security/pius { }; + + pk2cmd = callPackage ../tools/misc/pk2cmd { }; + + plantuml = callPackage ../tools/misc/plantuml { }; + + plan9port = callPackage ../tools/system/plan9port { }; + + ploticus = callPackage ../tools/graphics/ploticus { + libpng = libpng12; + }; + + plotutils = callPackage ../tools/graphics/plotutils { }; + + plowshare = callPackage ../tools/misc/plowshare { }; + + pngcrush = callPackage ../tools/graphics/pngcrush { }; + + pngnq = callPackage ../tools/graphics/pngnq { }; + + pngtoico = callPackage ../tools/graphics/pngtoico { + libpng = libpng12; + }; + + pngquant = callPackage ../tools/graphics/pngquant { }; + + podiff = callPackage ../tools/text/podiff { }; + + poedit = callPackage ../tools/text/poedit { }; + + polipo = callPackage ../servers/polipo { }; + + polkit_gnome = callPackage ../tools/security/polkit-gnome { }; + + ponysay = callPackage ../tools/misc/ponysay { }; + + povray = callPackage ../tools/graphics/povray { }; + + ppl = callPackage ../development/libraries/ppl { }; + + ppp = callPackage ../tools/networking/ppp { }; + + pptp = callPackage ../tools/networking/pptp {}; + + prey-bash-client = callPackage ../tools/security/prey { }; + + projectm = callPackage ../applications/audio/projectm { }; + + proxychains = callPackage ../tools/networking/proxychains { }; + + proxytunnel = callPackage ../tools/misc/proxytunnel { }; + + cntlm = callPackage ../tools/networking/cntlm { }; + + pastebinit = callPackage ../tools/misc/pastebinit { }; + + psmisc = callPackage ../os-specific/linux/psmisc { }; + + pstoedit = callPackage ../tools/graphics/pstoedit { }; + + pv = callPackage ../tools/misc/pv { }; + + pwgen = callPackage ../tools/security/pwgen { }; + + pwnat = callPackage ../tools/networking/pwnat { }; + + pycangjie = callPackage ../development/python-modules/pycangjie { }; + + pydb = callPackage ../development/tools/pydb { }; + + pystringtemplate = callPackage ../development/python-modules/stringtemplate { }; + + pythonDBus = dbus_python; + + pythonIRClib = builderDefsPackage (import ../development/python-modules/irclib) { + inherit python; + }; + + pythonSexy = builderDefsPackage (import ../development/python-modules/libsexy) { + inherit python libsexy pkgconfig libxml2 pygtk pango gtk glib; + }; + + openmpi = callPackage ../development/libraries/openmpi { }; + + qhull = callPackage ../development/libraries/qhull { }; + + qjoypad = callPackage ../tools/misc/qjoypad { }; + + qshowdiff = callPackage ../tools/text/qshowdiff { }; + + quilt = callPackage ../development/tools/quilt { }; + + radvd = callPackage ../tools/networking/radvd { }; + + ranger = callPackage ../applications/misc/ranger { }; + + privateer = callPackage ../games/privateer { }; + + rtmpdump = callPackage ../tools/video/rtmpdump { }; + + reaverwps = callPackage ../tools/networking/reaver-wps {}; + + recutils = callPackage ../tools/misc/recutils { }; + + recoll = callPackage ../applications/search/recoll { }; + + reiser4progs = callPackage ../tools/filesystems/reiser4progs { }; + + reiserfsprogs = callPackage ../tools/filesystems/reiserfsprogs { }; + + relfs = callPackage ../tools/filesystems/relfs { + inherit (gnome) gnome_vfs GConf; + }; + + remarkjs = callPackage ../development/web/remarkjs { }; + + remind = callPackage ../tools/misc/remind { }; + + remmina = callPackage ../applications/networking/remote/remmina {}; + + renameutils = callPackage ../tools/misc/renameutils { }; + + replace = callPackage ../tools/text/replace { }; + + reptyr = callPackage ../os-specific/linux/reptyr {}; + + rdiff_backup = callPackage ../tools/backup/rdiff-backup { }; + + rdmd = callPackage ../development/compilers/rdmd { }; + + rhash = callPackage ../tools/security/rhash { }; + + riemann_c_client = callPackage ../tools/misc/riemann-c-client { }; + + ripmime = callPackage ../tools/networking/ripmime {}; + + rkflashtool = callPackage ../tools/misc/rkflashtool { }; + + rmlint = callPackage ../tools/misc/rmlint {}; + + rng_tools = callPackage ../tools/security/rng-tools { }; + + rsnapshot = callPackage ../tools/backup/rsnapshot { + # For the `logger' command, we can use either `utillinux' or + # GNU Inetutils. The latter is more portable. + logger = inetutils; + }; + + rlwrap = callPackage ../tools/misc/rlwrap { }; + + rockbox_utility = callPackage ../tools/misc/rockbox-utility { }; + + rpPPPoE = builderDefsPackage (import ../tools/networking/rp-pppoe) { + inherit ppp; + }; + + rpm = callPackage ../tools/package-management/rpm { }; + + rrdtool = callPackage ../tools/misc/rrdtool { }; + + rtorrent = callPackage ../tools/networking/p2p/rtorrent { }; + + rubber = callPackage ../tools/typesetting/rubber { }; + + rxp = callPackage ../tools/text/xml/rxp { }; + + rzip = callPackage ../tools/compression/rzip { }; + + s3backer = callPackage ../tools/filesystems/s3backer { }; + + s3cmd = callPackage ../tools/networking/s3cmd { }; + + s3cmd_15_pre_81e3842f7a = lowPrio (callPackage ../tools/networking/s3cmd/git.nix { }); + + s3sync = callPackage ../tools/networking/s3sync { + ruby = ruby18; + }; + + s6Dns = callPackage ../tools/networking/s6-dns { }; + + s6LinuxUtils = callPackage ../os-specific/linux/s6-linux-utils { }; + + s6Networking = callPackage ../tools/networking/s6-networking { }; + + s6PortableUtils = callPackage ../tools/misc/s6-portable-utils { }; + + sablotron = callPackage ../tools/text/xml/sablotron { }; + + safecopy = callPackage ../tools/system/safecopy { }; + + salut_a_toi = callPackage ../applications/networking/instant-messengers/salut-a-toi {}; + + samplicator = callPackage ../tools/networking/samplicator { }; + + screen = callPackage ../tools/misc/screen { }; + + scrot = callPackage ../tools/graphics/scrot { }; + + scrypt = callPackage ../tools/security/scrypt { }; + + sdcv = callPackage ../applications/misc/sdcv { }; + + sec = callPackage ../tools/admin/sec { }; + + seccure = callPackage ../tools/security/seccure { }; + + setserial = builderDefsPackage (import ../tools/system/setserial) { + inherit groff; + }; + + seqdiag = pythonPackages.seqdiag; + + screenfetch = callPackage ../tools/misc/screenfetch { }; + + sg3_utils = callPackage ../tools/system/sg3_utils { }; + + sharutils = callPackage ../tools/archivers/sharutils { }; + + shotwell = callPackage ../applications/graphics/shotwell { }; + + shebangfix = callPackage ../tools/misc/shebangfix { }; + + shellinabox = callPackage ../servers/shellinabox { }; + + siege = callPackage ../tools/networking/siege {}; + + silc_client = callPackage ../applications/networking/instant-messengers/silc-client { }; + + silc_server = callPackage ../servers/silc-server { }; + + silver-searcher = callPackage ../tools/text/silver-searcher { }; + + simplescreenrecorder = callPackage ../applications/video/simplescreenrecorder { }; + + sleuthkit = callPackage ../tools/system/sleuthkit {}; + + slimrat = callPackage ../tools/networking/slimrat { + inherit (perlPackages) WWWMechanize LWP; + }; + + slsnif = callPackage ../tools/misc/slsnif { }; + + smartmontools = callPackage ../tools/system/smartmontools { }; + + smbldaptools = callPackage ../tools/networking/smbldaptools { + inherit (perlPackages) NetLDAP CryptSmbHash DigestSHA1; + }; + + smbnetfs = callPackage ../tools/filesystems/smbnetfs {}; + + snort = callPackage ../applications/networking/ids/snort { }; + + snx = callPackage_i686 ../tools/networking/snx { + inherit (pkgsi686Linux) pam gcc33; + inherit (pkgsi686Linux.xlibs) libX11; + }; + + solr = callPackage ../servers/search/solr { }; + + sparsehash = callPackage ../development/libraries/sparsehash { }; + + spiped = callPackage ../tools/networking/spiped { }; + + sproxy = haskellPackages.callPackage ../tools/networking/sproxy { }; + + sproxy-web = haskellPackages.callPackage ../tools/networking/sproxy-web { }; + + stardict = callPackage ../applications/misc/stardict/stardict.nix { + inherit (gnome) libgnomeui scrollkeeper; + }; + + storebrowse = callPackage ../tools/system/storebrowse { }; + + fusesmb = callPackage ../tools/filesystems/fusesmb { }; + + sl = callPackage ../tools/misc/sl { }; + + socat = callPackage ../tools/networking/socat { }; + + socat2pre = lowPrio (callPackage ../tools/networking/socat/2.x.nix { }); + + sourceHighlight = callPackage ../tools/text/source-highlight { + # Boost 1.54 causes the "test_regexranges" test to fail + boost = boost149; + }; + + spaceFM = callPackage ../applications/misc/spacefm { }; + + squashfsTools = callPackage ../tools/filesystems/squashfs { }; + + sshfsFuse = callPackage ../tools/filesystems/sshfs-fuse { }; + + sshuttle = callPackage ../tools/security/sshuttle { }; + + sudo = callPackage ../tools/security/sudo { }; + + suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) { }; + + super = callPackage ../tools/security/super { }; + + ssdeep = callPackage ../tools/security/ssdeep { }; + + ssmtp = callPackage ../tools/networking/ssmtp { + tlsSupport = true; + }; + + ssss = callPackage ../tools/security/ssss { }; + + storeBackup = callPackage ../tools/backup/store-backup { }; + + stow = callPackage ../tools/misc/stow { }; + + stun = callPackage ../tools/networking/stun { }; + + stunnel = callPackage ../tools/networking/stunnel { }; + + su = shadow.su; + + surfraw = callPackage ../tools/networking/surfraw { }; + + swec = callPackage ../tools/networking/swec { + inherit (perlPackages) LWP URI HTMLParser HTTPServerSimple Parent; + }; + + svnfs = callPackage ../tools/filesystems/svnfs { }; + + sysbench = callPackage ../development/tools/misc/sysbench {}; + + system_config_printer = callPackage ../tools/misc/system-config-printer { + libxml2 = libxml2Python; + }; + + sitecopy = callPackage ../tools/networking/sitecopy { }; + + stricat = callPackage ../tools/security/stricat { }; + + privoxy = callPackage ../tools/networking/privoxy { }; + + t1utils = callPackage ../tools/misc/t1utils { }; + + tarsnap = callPackage ../tools/backup/tarsnap { }; + + tcpcrypt = callPackage ../tools/security/tcpcrypt { }; + + tboot = callPackage ../tools/security/tboot { }; + + tcl2048 = callPackage ../games/tcl2048 { }; + + tcpdump = callPackage ../tools/networking/tcpdump { }; + + tcpflow = callPackage ../tools/networking/tcpflow { }; + + teamviewer = callPackage_i686 ../applications/networking/remote/teamviewer { }; + + # Work In Progress: it doesn't start unless running a daemon as root + teamviewer8 = lowPrio (callPackage_i686 ../applications/networking/remote/teamviewer/8.nix { }); + + telnet = callPackage ../tools/networking/telnet { }; + + texmacs = callPackage ../applications/editors/texmacs { + tex = texLive; /* tetex is also an option */ + extraFonts = true; + guile = guile_1_8; + }; + + texmaker = callPackage ../applications/editors/texmaker { }; + + texstudio = callPackage ../applications/editors/texstudio { }; + + tiled-qt = callPackage ../applications/editors/tiled-qt { qt = qt4; }; + + tinc = callPackage ../tools/networking/tinc { }; + + tiny8086 = callPackage ../applications/virtualization/8086tiny { }; + + tmpwatch = callPackage ../tools/misc/tmpwatch { }; + + tmux = callPackage ../tools/misc/tmux { }; + + tor = callPackage ../tools/security/tor { }; + + torbutton = callPackage ../tools/security/torbutton { }; + + torbrowser = callPackage ../tools/security/tor/torbrowser.nix { }; + + torsocks = callPackage ../tools/security/tor/torsocks.nix { }; + + tpm-quote-tools = callPackage ../tools/security/tpm-quote-tools { }; + + tpm-tools = callPackage ../tools/security/tpm-tools { }; + + trickle = callPackage ../tools/networking/trickle {}; + + trousers = callPackage ../tools/security/trousers { }; + + ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; + + ttysnoop = callPackage ../os-specific/linux/ttysnoop {}; + + twitterBootstrap = callPackage ../development/web/twitter-bootstrap {}; + + txt2man = callPackage ../tools/misc/txt2man { }; + + ucl = callPackage ../development/libraries/ucl { }; + + ucspi-tcp = callPackage ../tools/networking/ucspi-tcp { }; + + udftools = callPackage ../tools/filesystems/udftools {}; + + udptunnel = callPackage ../tools/networking/udptunnel { }; + + ufraw = callPackage ../applications/graphics/ufraw { }; + + unetbootin = callPackage ../tools/cd-dvd/unetbootin { }; + + unfs3 = callPackage ../servers/unfs3 { }; + + unoconv = callPackage ../tools/text/unoconv { }; + + upx = callPackage ../tools/compression/upx { }; + + urlview = callPackage ../applications/misc/urlview {}; + + usbmuxd = callPackage ../tools/misc/usbmuxd {}; + + vacuum = callPackage ../applications/networking/instant-messengers/vacuum {}; + + volatility = callPackage ../tools/security/volatility { }; + + vidalia = callPackage ../tools/security/vidalia { }; + + vbetool = builderDefsPackage ../tools/system/vbetool { + inherit pciutils libx86 zlib; + }; + + vde2 = callPackage ../tools/networking/vde2 { }; + + vboot_reference = callPackage ../tools/system/vboot_reference { }; + + vcsh = callPackage ../applications/version-management/vcsh { }; + + verilog = callPackage ../applications/science/electronics/verilog {}; + + vfdecrypt = callPackage ../tools/misc/vfdecrypt { }; + + vifm = callPackage ../applications/misc/vifm { }; + + viking = callPackage ../applications/misc/viking { + inherit (gnome) scrollkeeper; + }; + + vnc2flv = callPackage ../tools/video/vnc2flv {}; + + vncrec = builderDefsPackage ../tools/video/vncrec { + inherit (xlibs) imake libX11 xproto gccmakedep libXt + libXmu libXaw libXext xextproto libSM libICE libXpm + libXp; + }; + + vobcopy = callPackage ../tools/cd-dvd/vobcopy { }; + + vobsub2srt = callPackage ../tools/cd-dvd/vobsub2srt { }; + + vorbisgain = callPackage ../tools/misc/vorbisgain { }; + + vpnc = callPackage ../tools/networking/vpnc { }; + + openconnect = callPackage ../tools/networking/openconnect.nix { }; + + vtun = callPackage ../tools/networking/vtun { }; + + wal_e = callPackage ../tools/backup/wal-e { }; + + watchman = callPackage ../development/tools/watchman { }; + + wbox = callPackage ../tools/networking/wbox {}; + + welkin = callPackage ../tools/graphics/welkin {}; + + testdisk = callPackage ../tools/misc/testdisk { }; + + htmlTidy = callPackage ../tools/text/html-tidy { }; + + html-xml-utils = callPackage ../tools/text/xml/html-xml-utils { }; + + tftp_hpa = callPackage ../tools/networking/tftp-hpa {}; + + tigervnc = callPackage ../tools/admin/tigervnc { + fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc + xorg.fontbhlucidatypewriter75dpi ]; + inherit (xorg) xorgserver; + fltk = fltk13; + }; + + tightvnc = callPackage ../tools/admin/tightvnc { + fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc + xorg.fontbhlucidatypewriter75dpi ]; + }; + + time = callPackage ../tools/misc/time { }; + + tkabber = callPackage ../applications/networking/instant-messengers/tkabber { }; + + qfsm = callPackage ../applications/science/electronics/qfsm { }; + + tkgate = callPackage ../applications/science/electronics/tkgate/1.x.nix { + inherit (xlibs) libX11 imake xproto gccmakedep; + }; + + # The newer package is low-priority because it segfaults at startup. + tkgate2 = lowPrio (callPackage ../applications/science/electronics/tkgate/2.x.nix { + inherit (xlibs) libX11; + }); + + tm = callPackage ../tools/system/tm { }; + + trang = callPackage ../tools/text/xml/trang { }; + + tre = callPackage ../development/libraries/tre { }; + + ts = callPackage ../tools/system/ts { }; + + transfig = callPackage ../tools/graphics/transfig { + libpng = libpng12; + }; + + truecrypt = callPackage ../applications/misc/truecrypt { + wxGUI = config.truecrypt.wxGUI or true; + }; + + ttmkfdir = callPackage ../tools/misc/ttmkfdir { }; + + uim = callPackage ../tools/inputmethods/uim { + inherit (pkgs.kde4) kdelibs; + }; + + uhub = callPackage ../servers/uhub { }; + + unclutter = callPackage ../tools/misc/unclutter { }; + + unbound = callPackage ../tools/networking/unbound { }; + + units = callPackage ../tools/misc/units { }; + + unrar = callPackage ../tools/archivers/unrar { }; + + xar = callPackage ../tools/compression/xar { }; + + xarchive = callPackage ../tools/archivers/xarchive { }; + + xarchiver = callPackage ../tools/archivers/xarchiver { }; + + xcruiser = callPackage ../applications/misc/xcruiser { }; + + unarj = callPackage ../tools/archivers/unarj { }; + + unshield = callPackage ../tools/archivers/unshield { }; + + unzip = callPackage ../tools/archivers/unzip { }; + + unzipNLS = lowPrio (unzip.override { enableNLS = true; }); + + uptimed = callPackage ../tools/system/uptimed { }; + + urlwatch = callPackage ../tools/networking/urlwatch { }; + + varnish = callPackage ../servers/varnish { }; + + varnish2 = callPackage ../servers/varnish/2.1.nix { }; + + venus = callPackage ../tools/misc/venus { + python = python27; + }; + + vlan = callPackage ../tools/networking/vlan { }; + + wakelan = callPackage ../tools/networking/wakelan { }; + + wavemon = callPackage ../tools/networking/wavemon { }; + + w3cCSSValidator = callPackage ../tools/misc/w3c-css-validator { + tomcat = tomcat6; + }; + + wdfs = callPackage ../tools/filesystems/wdfs { }; + + wdiff = callPackage ../tools/text/wdiff { }; + + webalizer = callPackage ../tools/networking/webalizer { }; + + webdruid = builderDefsPackage ../tools/admin/webdruid { + inherit zlib libpng freetype gd which + libxml2 geoip; + }; + + weighttp = callPackage ../tools/networking/weighttp { }; + + wget = callPackage ../tools/networking/wget { + inherit (perlPackages) LWP; + }; + + which = callPackage ../tools/system/which { }; + + wicd = callPackage ../tools/networking/wicd { }; + + wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf { }; + + wv = callPackage ../tools/misc/wv { }; + + wv2 = callPackage ../tools/misc/wv2 { }; + + x86info = callPackage ../os-specific/linux/x86info { }; + + x11_ssh_askpass = callPackage ../tools/networking/x11-ssh-askpass { }; + + xbursttools = assert stdenv ? glibc; import ../tools/misc/xburst-tools { + inherit stdenv fetchgit autoconf automake confuse pkgconfig libusb libusb1; + # It needs a cross compiler for mipsel to build the firmware it will + # load into the Ben Nanonote + gccCross = + let + pkgsCross = (import ./all-packages.nix) { + inherit system; + inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config; + # Ben Nanonote system + crossSystem = { + config = "mipsel-unknown-linux"; + bigEndian = true; + arch = "mips"; + float = "soft"; + withTLS = true; + libc = "uclibc"; + platform = { + name = "ben_nanonote"; + kernelMajor = "2.6"; + # It's not a bcm47xx processor, but for the headers this should work + kernelHeadersBaseConfig = "bcm47xx_defconfig"; + kernelArch = "mips"; + }; + gcc = { + arch = "mips32"; + }; + }; + }; + in + pkgsCross.gccCrossStageStatic; + }; + + xclip = callPackage ../tools/misc/xclip { }; + + xtitle = callPackage ../tools/misc/xtitle { }; + + xdelta = callPackage ../tools/compression/xdelta { }; + + xdummy = callPackage ../tools/misc/xdummy { }; + + xfsprogs = callPackage ../tools/filesystems/xfsprogs { }; + + xmlroff = callPackage ../tools/typesetting/xmlroff { + inherit (gnome) libgnomeprint; + }; + + xmlstarlet = callPackage ../tools/text/xml/xmlstarlet { }; + + xmlto = callPackage ../tools/typesetting/xmlto { }; + + xmltv = callPackage ../tools/misc/xmltv { }; + + xmpppy = builderDefsPackage (import ../development/python-modules/xmpppy) { + inherit python setuptools; + }; + + xorriso = callPackage ../tools/cd-dvd/xorriso { }; + + xpf = callPackage ../tools/text/xml/xpf { + libxml2 = libxml2Python; + }; + + xsel = callPackage ../tools/misc/xsel { }; + + xtreemfs = callPackage ../tools/filesystems/xtreemfs {}; + + xvfb_run = callPackage ../tools/misc/xvfb-run { inherit (texFunctions) fontsConf; }; + + youtubeDL = callPackage ../tools/misc/youtube-dl { }; + + zbar = callPackage ../tools/graphics/zbar { + pygtk = lib.overrideDerivation pygtk (x: { + gtk = gtk2; + }); + }; + + zdelta = callPackage ../tools/compression/zdelta { }; + + zfstools = callPackage ../tools/filesystems/zfstools { + zfs = linuxPackages.zfs; + }; + + zile = callPackage ../applications/editors/zile { }; + + zip = callPackage ../tools/archivers/zip { }; + + zpaq = callPackage ../tools/archivers/zpaq { }; + zpaqd = callPackage ../tools/archivers/zpaq/zpaqd.nix { }; + + zsync = callPackage ../tools/compression/zsync { }; + + + ### SHELLS + + bash = lowPrio (callPackage ../shells/bash { + texinfo = null; + }); + + bashInteractive = appendToName "interactive" (callPackage ../shells/bash { + interactive = true; + readline = readline63; # Includes many vi mode fixes + }); + + bashCompletion = callPackage ../shells/bash-completion { }; + + dash = callPackage ../shells/dash { }; + + fish = callPackage ../shells/fish { + python = python27Full; + }; + + tcsh = callPackage ../shells/tcsh { }; + + rush = callPackage ../shells/rush { }; + + zsh = callPackage ../shells/zsh { }; + + + ### DEVELOPMENT / COMPILERS + + abc = + abcPatchable []; + + abcPatchable = patches : + import ../development/compilers/abc/default.nix { + inherit stdenv fetchurl patches jre apacheAnt; + javaCup = callPackage ../development/libraries/java/cup { }; + }; + + aldor = callPackage ../development/compilers/aldor { }; + + aliceml = callPackage ../development/compilers/aliceml { }; + + aspectj = callPackage ../development/compilers/aspectj { }; + + ats = callPackage ../development/compilers/ats { }; + ats2 = callPackage ../development/compilers/ats2 { }; + + avra = callPackage ../development/compilers/avra { }; + + bigloo = callPackage ../development/compilers/bigloo { }; + + chicken = callPackage ../development/compilers/chicken { }; + + ccl = builderDefsPackage ../development/compilers/ccl {}; + + clang = wrapClang llvmPackages.clang; + + clang_34 = wrapClang llvmPackages_34.clang; + clang_33 = wrapClang (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix); + + clangAnalyzer = callPackage ../development/tools/analysis/clang-analyzer { + clang = clang_34; + llvmPackages = llvmPackages_34; + }; + + clangUnwrapped = llvm: pkg: callPackage pkg { + stdenv = if stdenv.isDarwin then stdenvApple else stdenv; + inherit llvm; + }; + + clangSelf = clangWrapSelf llvmPackagesSelf.clang; + + clangWrapSelf = build: (import ../build-support/clang-wrapper) { + clang = build; + stdenv = clangStdenv; + libc = glibc; + binutils = binutils; + shell = bash; + inherit libcxx coreutils zlib; + nativeTools = false; + nativeLibc = false; + }; + + #Use this instead of stdenv to build with clang + clangStdenv = lowPrio (stdenvAdapters.overrideGCC stdenv clang); + libcxxStdenv = stdenvAdapters.overrideGCC stdenv (clangWrapSelf llvmPackages.clang); + + clean = callPackage ../development/compilers/clean { }; + + closurecompiler = callPackage ../development/compilers/closure { }; + + cmucl_binary = callPackage ../development/compilers/cmucl/binary.nix { }; + + compcert = callPackage ../development/compilers/compcert {}; + + cryptol1 = lowPrio (callPackage ../development/compilers/cryptol/1.8.x.nix {}); + cryptol2 = with haskellPackages_ghc763; callPackage ../development/compilers/cryptol/2.0.x.nix { + Cabal = Cabal_1_18_1_3; + cabalInstall = cabalInstall_1_18_0_3; + process = process_1_2_0_0; + }; + + cython = pythonPackages.cython; + cython3 = python3Packages.cython; + + dylan = callPackage ../development/compilers/gwydion-dylan { + dylan = callPackage ../development/compilers/gwydion-dylan/binary.nix { }; + }; + + ecl = callPackage ../development/compilers/ecl { }; + + eql = callPackage ../development/compilers/eql {}; + + adobe_flex_sdk = callPackage ../development/compilers/adobe-flex-sdk { }; + + fpc = callPackage ../development/compilers/fpc { }; + + gambit = callPackage ../development/compilers/gambit { }; + + gcc = gcc48; + + gcc33 = wrapGCC (import ../development/compilers/gcc/3.3 { + inherit fetchurl stdenv noSysDirs; + }); + + gcc34 = wrapGCC (import ../development/compilers/gcc/3.4 { + inherit fetchurl stdenv noSysDirs; + }); + + gcc48_realCross = lib.addMetaAttrs { hydraPlatforms = []; } + (callPackage ../development/compilers/gcc/4.8 { + inherit noSysDirs; + binutilsCross = binutilsCross; + libcCross = libcCross; + profiledCompiler = false; + enableMultilib = false; + crossStageStatic = false; + cross = assert crossSystem != null; crossSystem; + }); + + gcc_realCross = gcc48_realCross; + + gccCrossStageStatic = let + libcCross1 = + if stdenv.cross.libc == "msvcrt" then windows.mingw_w64_headers + else if stdenv.cross.libc == "libSystem" then darwin.xcode + else null; + in + wrapGCCCross { + gcc = forceNativeDrv (lib.addMetaAttrs { hydraPlatforms = []; } ( + gcc_realCross.override { + crossStageStatic = true; + langCC = false; + libcCross = libcCross1; + enableShared = false; + })); + libc = libcCross1; + binutils = binutilsCross; + cross = assert crossSystem != null; crossSystem; + }; + + # Only needed for mingw builds + gccCrossMingw2 = wrapGCCCross { + gcc = gccCrossStageStatic.gcc; + libc = windows.mingw_headers2; + binutils = binutilsCross; + cross = assert crossSystem != null; crossSystem; + }; + + gccCrossStageFinal = wrapGCCCross { + gcc = forceNativeDrv (gcc_realCross.override { + libpthreadCross = + # FIXME: Don't explicitly refer to `i586-pc-gnu'. + if crossSystem != null && crossSystem.config == "i586-pc-gnu" + then gnu.libpthreadCross + else null; + + # XXX: We have troubles cross-compiling libstdc++ on MinGW (see + # ), so don't even try. + langCC = (crossSystem == null + || crossSystem.config != "i686-pc-mingw32"); + }); + libc = libcCross; + binutils = binutilsCross; + cross = assert crossSystem != null; crossSystem; + }; + + gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.4) { + inherit fetchurl stdenv gmp mpfr /* ppl cloogppl */ + gettext which noSysDirs; + texinfo = texinfo4; + profiledCompiler = true; + })); + + gcc45 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.5 { + inherit fetchurl stdenv gmp mpfr mpc libelf zlib perl + gettext which noSysDirs; + texinfo = texinfo4; + + ppl = null; + cloogppl = null; + + # bootstrapping a profiled compiler does not work in the sheevaplug: + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 + profiledCompiler = !stdenv.isArm; + + # When building `gcc.crossDrv' (a "Canadian cross", with host == target + # and host != build), `cross' must be null but the cross-libc must still + # be passed. + cross = null; + libcCross = if crossSystem != null then libcCross else null; + libpthreadCross = + if crossSystem != null && crossSystem.config == "i586-pc-gnu" + then gnu.libpthreadCross + else null; + })); + + gcc46 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 { + inherit noSysDirs; + + ppl = null; + cloog = null; + + # bootstrapping a profiled compiler does not work in the sheevaplug: + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 + profiledCompiler = false; + + # When building `gcc.crossDrv' (a "Canadian cross", with host == target + # and host != build), `cross' must be null but the cross-libc must still + # be passed. + cross = null; + libcCross = if crossSystem != null then libcCross else null; + libpthreadCross = + if crossSystem != null && crossSystem.config == "i586-pc-gnu" + then gnu.libpthreadCross + else null; + texinfo = texinfo413; + })); + + gcc48 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.8 { + inherit noSysDirs; + + # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion + profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64)); + + # When building `gcc.crossDrv' (a "Canadian cross", with host == target + # and host != build), `cross' must be null but the cross-libc must still + # be passed. + cross = null; + libcCross = if crossSystem != null then libcCross else null; + libpthreadCross = + if crossSystem != null && crossSystem.config == "i586-pc-gnu" + then gnu.libpthreadCross + else null; + })); + + gcc48_multi = + if system == "x86_64-linux" then lowPrio ( + wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc48.gcc.override { + stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc.gcc); + profiledCompiler = false; + enableMultilib = true; + })) + else throw "Multilib gcc not supported on ‘${system}’"; + + gcc48_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.8 { + stripped = false; + + inherit noSysDirs; + cross = null; + libcCross = null; + binutilsCross = null; + })); + + gcc49 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.9 { + inherit noSysDirs; + + # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion + profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64)); + + # When building `gcc.crossDrv' (a "Canadian cross", with host == target + # and host != build), `cross' must be null but the cross-libc must still + # be passed. + cross = null; + libcCross = if crossSystem != null then libcCross else null; + libpthreadCross = + if crossSystem != null && crossSystem.config == "i586-pc-gnu" + then gnu.libpthreadCross + else null; + })); + + gccApple = + assert stdenv.isDarwin; + wrapGCC (makeOverridable (import ../development/compilers/gcc/4.2-apple64) { + inherit fetchurl noSysDirs; + profiledCompiler = true; + # Since it fails to build with GCC 4.6, build it with the "native" + # Apple-GCC. + stdenv = allStdenvs.stdenvNative; + }); + + gfortran = gfortran48; + + gfortran48 = wrapGCC (gcc48.gcc.override { + name = "gfortran"; + langFortran = true; + langCC = false; + langC = false; + profiledCompiler = false; + }); + + gcj = gcj48; + + gcj48 = wrapGCC (gcc48.gcc.override { + name = "gcj"; + langJava = true; + langFortran = false; + langCC = false; + langC = false; + profiledCompiler = false; + inherit zip unzip zlib boehmgc gettext pkgconfig perl; + inherit gtk; + inherit (gnome) libart_lgpl; + inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender + libXrandr xproto renderproto xextproto inputproto randrproto; + }); + + gnat = gnat45; + + gnat45 = wrapGCC (gcc45.gcc.override { + name = "gnat"; + langCC = false; + langC = true; + langAda = true; + profiledCompiler = false; + inherit gnatboot; + # We can't use the ppl stuff, because we would have + # libstdc++ problems. + cloogppl = null; + ppl = null; + }); + + gnat46 = wrapGCC (gcc46.gcc.override { + name = "gnat"; + langCC = false; + langC = true; + langAda = true; + profiledCompiler = false; + gnatboot = gnat45; + # We can't use the ppl stuff, because we would have + # libstdc++ problems. + ppl = null; + cloog = null; + }); + + gnatboot = wrapGCC (import ../development/compilers/gnatboot { + inherit fetchurl stdenv; + }); + + gccgo = gccgo48; + + gccgo48 = wrapGCC (gcc48.gcc.override { + name = "gccgo"; + langCC = true; #required for go. + langC = true; + langGo = true; + }); + + ghdl = wrapGCC (import ../development/compilers/gcc/4.3 { + inherit stdenv fetchurl gmp mpfr noSysDirs gnat; + texinfo = texinfo4; + name = "ghdl"; + langVhdl = true; + langCC = false; + langC = false; + profiledCompiler = false; + enableMultilib = false; + }); + + ghdl_mcode = callPackage ../development/compilers/ghdl { }; + + gcl = builderDefsPackage ../development/compilers/gcl { + inherit mpfr m4 binutils fetchcvs emacs zlib which + texinfo; + gmp = gmp4; + inherit (xlibs) libX11 xproto inputproto libXi + libXext xextproto libXt libXaw libXmu; + inherit stdenv; + texLive = texLiveAggregationFun { + paths = [ + texLive texLiveExtra + ]; + }; + }; + + jhc = callPackage ../development/compilers/jhc { + inherit (haskellPackages_ghc763) ghc binary zlib utf8String readline fgl + regexCompat HsSyck random; + }; + + gcc-arm-embedded-4_7 = callPackage_i686 ../development/compilers/gcc-arm-embedded { + version = "4.7-2013q3-20130916"; + releaseType = "update"; + sha256 = "1bd9bi9q80xn2rpy0rn1vvj70rh15kb7dmah0qs4q2rv78fqj40d"; + }; + gcc-arm-embedded-4_8 = callPackage_i686 ../development/compilers/gcc-arm-embedded { + version = "4.8-2014q1-20140314"; + releaseType = "update"; + sha256 = "ce92859550819d4a3d1a6e2672ea64882b30afa2c08cf67fa8e1d93788c2c577"; + }; + gcc-arm-embedded = gcc-arm-embedded-4_8; + + # Haskell and GHC + + # Import Haskell infrastructure. + + haskell = let pkgs_ = pkgs // { gmp = gmp.override { withStatic = true; }; }; + callPackage = newScope pkgs_; + newScope = extra: lib.callPackageWith (pkgs_ // pkgs_.xorg // extra); + in callPackage ./haskell-defaults.nix { pkgs = pkgs_; inherit callPackage newScope; }; + + # Available GHC versions. + + # For several compiler versions, we export a large set of Haskell-related + # packages. + + # NOTE (recurseIntoAttrs): After discussion, we originally decided to + # enable it for all GHC versions. However, this is getting too much, + # particularly in connection with Hydra builds for all these packages. + # So we enable it for selected versions only. We build all ghcs, though + + ghc = recurseIntoAttrs (lib.mapAttrs' (name: value: + lib.nameValuePair (builtins.substring (builtins.stringLength "packages_") (builtins.stringLength name) name) value.ghc + ) (lib.filterAttrs (name: value: + builtins.substring 0 (builtins.stringLength "packages_") name == "packages_" + ) haskell)); + + haskellPackages = haskellPackages_ghc783; + haskellPlatform = haskellPlatformPackages."2013_2_0_0"; + + haskellPackages_ghc6104 = haskell.packages_ghc6104; + haskellPackages_ghc6123 = haskell.packages_ghc6123; + haskellPackages_ghc704 = haskell.packages_ghc704; + haskellPackages_ghc722 = haskell.packages_ghc722; + haskellPackages_ghc742 = haskell.packages_ghc742; + haskellPackages_ghc763 = haskell.packages_ghc763; + haskellPackages_ghc783_no_profiling = recurseIntoAttrs haskell.packages_ghc783.noProfiling; + haskellPackages_ghc783_profiling = recurseIntoAttrs haskell.packages_ghc783.profiling; + haskellPackages_ghc783 = recurseIntoAttrs haskell.packages_ghc783.highPrio; + haskellPackages_ghcHEAD = haskell.packages_ghcHEAD; + + haskellPlatformPackages = recurseIntoAttrs (import ../development/libraries/haskell/haskell-platform { inherit pkgs; }); + + haxe = callPackage ../development/compilers/haxe { }; + + hhvm = callPackage ../development/compilers/hhvm { }; + hiphopvm = hhvm; /* Compatibility alias */ + + falcon = builderDefsPackage (import ../development/interpreters/falcon) { + inherit cmake; + }; + + fsharp = callPackage ../development/compilers/fsharp {}; + + go_1_0 = callPackage ../development/compilers/go { }; + + go_1_1 = + if stdenv.isDarwin then + callPackage ../development/compilers/go/1.1-darwin.nix { } + else + callPackage ../development/compilers/go/1.1.nix { }; + + go_1_2 = callPackage ../development/compilers/go/1.2.nix { }; + + go_1_3 = callPackage ../development/compilers/go/1.3.nix { }; + + go = go_1_3; + + gox = callPackage ../development/compilers/go/gox.nix { }; + + gprolog = callPackage ../development/compilers/gprolog { }; + + gwt240 = callPackage ../development/compilers/gwt/2.4.0.nix { }; + + icedtea7_jdk = callPackage ../development/compilers/icedtea rec { + jdk = openjdk; + jdkPath = "${openjdk}/lib/openjdk"; + } // { outputs = [ "out" ]; }; + + icedtea7_jre = (lib.setName "icedtea7-${lib.getVersion pkgs.icedtea7_jdk.jre}" (lib.addMetaAttrs + { description = "Free Java runtime environment based on OpenJDK 7.0 and the IcedTea project"; } + pkgs.icedtea7_jdk.jre)) // { outputs = [ "jre" ]; }; + + icedtea7_web = callPackage ../development/compilers/icedtea-web { + jdk = "${icedtea7_jdk}/lib/icedtea"; + }; + + ikarus = callPackage ../development/compilers/ikarus { }; + + hugs = callPackage ../development/compilers/hugs { }; + + path64 = callPackage ../development/compilers/path64 { }; + + openjdk = + if stdenv.isDarwin then + callPackage ../development/compilers/openjdk-darwin { } + else + let + openjdkBootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix { }; + in (callPackage ../development/compilers/openjdk { + jdk = openjdkBootstrap; + }) // { outputs = [ "out" ]; }; + + # FIXME: Need a way to set per-output meta attributes. + openjre = (lib.setName "openjre-${lib.getVersion pkgs.openjdk.jre}" (lib.addMetaAttrs + { description = "The open-source Java Runtime Environment"; } + pkgs.openjdk.jre)) // { outputs = [ "jre" ]; }; + + jdk = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" + then pkgs.openjdk + else pkgs.oraclejdk; + jre = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" + then pkgs.openjre + else pkgs.oraclejre; + + oraclejdk = pkgs.jdkdistro true false; + + oraclejdk7 = pkgs.oraclejdk7distro true false; + + oraclejdk8 = pkgs.oraclejdk8distro true false; + + oraclejre = lowPrio (pkgs.jdkdistro false false); + + oraclejre7 = lowPrio (pkgs.oraclejdk7distro false false); + + oraclejre8 = lowPrio (pkgs.oraclejdk8distro false false); + + jrePlugin = lowPrio (pkgs.jdkdistro false true); + + supportsJDK = + system == "i686-linux" || + system == "x86_64-linux"; + + jdkdistro = installjdk: pluginSupport: + assert supportsJDK; + (if pluginSupport then appendToName "with-plugin" else x: x) + (callPackage ../development/compilers/oraclejdk/jdk6-linux.nix { }); + + oraclejdk7distro = installjdk: pluginSupport: + assert supportsJDK; + (if pluginSupport then appendToName "with-plugin" else x: x) + (callPackage ../development/compilers/oraclejdk/jdk7-linux.nix { inherit installjdk; }); + + oraclejdk8distro = installjdk: pluginSupport: + assert supportsJDK; + (if pluginSupport then appendToName "with-plugin" else x: x) + (callPackage ../development/compilers/oraclejdk/jdk8-linux.nix { inherit installjdk; }); + + jikes = callPackage ../development/compilers/jikes { }; + + juliaGit = callPackage ../development/compilers/julia/git-20131013.nix { + liblapack = liblapack.override {shared = true;}; + llvm = llvm_33; + openblas = openblas_0_2_2; + }; + julia021 = callPackage ../development/compilers/julia/0.2.1.nix { + liblapack = liblapack.override {shared = true;}; + llvm = llvm_33; + openblas = openblas_0_2_2; + }; + julia030 = let + liblapack = liblapack_3_5_0.override {shared = true;}; + in callPackage ../development/compilers/julia/0.3.0.nix { + inherit liblapack; + suitesparse = suitesparse.override { + inherit liblapack; + }; + llvm = llvm_34; + openblas = openblas_0_2_10; + }; + julia = julia030; + + lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) { + inherit makeWrapper gtk glib pango atk gdk_pixbuf; + inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto; + fpc = fpc; + }; + + lessc = callPackage ../development/compilers/lessc { }; + + llvm = llvmPackages.llvm; + + llvm_34 = llvmPackages_34.llvm; + llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix; + + llvm_v = path: callPackage path { + stdenv = if stdenv.isDarwin then stdenvApple else stdenv; + }; + + llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else llvmPackages_34 // { + # until someone solves build problems with _34 + llvm = llvm_33; + clang = clang_33; + }; + + llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { + inherit stdenv newScope fetchurl; + isl = isl_0_12; + }); + llvmPackagesSelf = import ../development/compilers/llvm/3.4 { inherit newScope fetchurl; isl = isl_0_12; stdenv = libcxxStdenv; }; + + manticore = callPackage ../development/compilers/manticore { }; + + mentorToolchains = recurseIntoAttrs ( + callPackage_i686 ../development/compilers/mentor {} + ); + + mercury = callPackage ../development/compilers/mercury { }; + + mitscheme = callPackage ../development/compilers/mit-scheme { }; + + mlton = callPackage ../development/compilers/mlton { }; + + mono = callPackage ../development/compilers/mono { + inherit (xlibs) libX11; + }; + + monoDLLFixer = callPackage ../build-support/mono-dll-fixer { }; + + mozart = callPackage ../development/compilers/mozart { }; + + neko = callPackage ../development/compilers/neko { }; + + nasm = callPackage ../development/compilers/nasm { }; + + nvidia_cg_toolkit = callPackage ../development/compilers/nvidia-cg-toolkit { }; + + ocaml = ocamlPackages.ocaml; + + ocaml_3_08_0 = callPackage ../development/compilers/ocaml/3.08.0.nix { }; + + ocaml_3_10_0 = callPackage ../development/compilers/ocaml/3.10.0.nix { }; + + ocaml_3_11_2 = callPackage ../development/compilers/ocaml/3.11.2.nix { }; + + ocaml_3_12_1 = callPackage ../development/compilers/ocaml/3.12.1.nix { }; + + ocaml_4_00_1 = callPackage ../development/compilers/ocaml/4.00.1.nix { }; + + ocaml_4_01_0 = callPackage ../development/compilers/ocaml/4.01.0.nix { }; + + orc = callPackage ../development/compilers/orc { }; + + metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { }; + + ber_metaocaml_003 = callPackage ../development/compilers/ocaml/ber-metaocaml-003.nix { }; + + mkOcamlPackages = ocaml: self: let callPackage = newScope self; in rec { + inherit ocaml; + + camlidl = callPackage ../development/tools/ocaml/camlidl { }; + + camlp5_5_strict = callPackage ../development/tools/ocaml/camlp5/5.15.nix { }; + + camlp5_5_transitional = callPackage ../development/tools/ocaml/camlp5/5.15.nix { + transitional = true; + }; + + camlp5_6_strict = callPackage ../development/tools/ocaml/camlp5 { }; + + camlp5_6_transitional = callPackage ../development/tools/ocaml/camlp5 { + transitional = true; + }; + + camlp5_strict = camlp5_6_strict; + + camlp5_transitional = camlp5_6_transitional; + + camlzip = callPackage ../development/ocaml-modules/camlzip { }; + + camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { }; + camomile = callPackage ../development/ocaml-modules/camomile { }; + + camlimages = callPackage ../development/ocaml-modules/camlimages { + libpng = libpng12; + giflib = giflib_4_1; + }; + + biniou = callPackage ../development/ocaml-modules/biniou { }; + + ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { }; + + cmdliner = callPackage ../development/ocaml-modules/cmdliner { }; + + cppo = callPackage ../development/tools/ocaml/cppo { }; + + cryptokit = callPackage ../development/ocaml-modules/cryptokit { }; + + csv = callPackage ../development/ocaml-modules/csv { }; + + deriving = callPackage ../development/tools/ocaml/deriving { }; + + easy-format = callPackage ../development/ocaml-modules/easy-format { }; + + findlib = callPackage ../development/tools/ocaml/findlib { }; + + javalib = callPackage ../development/ocaml-modules/javalib { + extlib = ocaml_extlib_maximal; + }; + + dypgen = callPackage ../development/ocaml-modules/dypgen { }; + + patoline = callPackage ../tools/typesetting/patoline { }; + + gmetadom = callPackage ../development/ocaml-modules/gmetadom { }; + + lablgl = callPackage ../development/ocaml-modules/lablgl { }; + + lablgtk = callPackage ../development/ocaml-modules/lablgtk { + inherit (gnome) libgnomecanvas libglade gtksourceview; + }; + + lablgtkmathview = callPackage ../development/ocaml-modules/lablgtkmathview { + gtkmathview = callPackage ../development/libraries/gtkmathview { }; + }; + + lambdaTerm = callPackage ../development/ocaml-modules/lambda-term { }; + + menhir = callPackage ../development/ocaml-modules/menhir { }; + + merlin = callPackage ../development/tools/ocaml/merlin { }; + + mldonkey = callPackage ../applications/networking/p2p/mldonkey { }; + + mlgmp = callPackage ../development/ocaml-modules/mlgmp { }; + + ocaml_batteries = callPackage ../development/ocaml-modules/batteries { }; + + ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { }; + + ocaml_data_notation = callPackage ../development/ocaml-modules/odn { }; + + ocaml_expat = callPackage ../development/ocaml-modules/expat { }; + + ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { }; + + ocaml_http = callPackage ../development/ocaml-modules/http { }; + + ocamlify = callPackage ../development/tools/ocaml/ocamlify { }; + + ocaml_lwt = callPackage ../development/ocaml-modules/lwt { }; + + ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { }; + + ocaml_mysql = callPackage ../development/ocaml-modules/mysql { }; + + ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { }; + + ocaml_oasis = callPackage ../development/tools/ocaml/oasis { }; + + ocaml_pcre = callPackage ../development/ocaml-modules/pcre { + inherit pcre; + }; + + ocaml_react = callPackage ../development/ocaml-modules/react { }; + + ocamlsdl= callPackage ../development/ocaml-modules/ocamlsdl { }; + + ocaml_sqlite3 = callPackage ../development/ocaml-modules/sqlite3 { }; + + ocaml_ssl = callPackage ../development/ocaml-modules/ssl { }; + + ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { }; + + ounit = callPackage ../development/ocaml-modules/ounit { }; + + ulex = callPackage ../development/ocaml-modules/ulex { }; + + ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 { + camlp5 = camlp5_transitional; + }; + + ocaml_typeconv = callPackage ../development/ocaml-modules/typeconv { }; + + ocaml_typeconv_3_0_5 = callPackage ../development/ocaml-modules/typeconv/3.0.5.nix { }; + + ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { }; + + ocaml_extlib = callPackage ../development/ocaml-modules/extlib { }; + ocaml_extlib_maximal = callPackage ../development/ocaml-modules/extlib { + minimal = false; + }; + + pycaml = callPackage ../development/ocaml-modules/pycaml { }; + + opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { }; + opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { }; + opam = opam_1_1; + + utop = callPackage ../development/tools/ocaml/utop { }; + + sawja = callPackage ../development/ocaml-modules/sawja { }; + + uucd = callPackage ../development/ocaml-modules/uucd { }; + uunf = callPackage ../development/ocaml-modules/uunf { }; + uutf = callPackage ../development/ocaml-modules/uutf { }; + xmlm = callPackage ../development/ocaml-modules/xmlm { }; + + yojson = callPackage ../development/ocaml-modules/yojson { }; + + zarith = callPackage ../development/ocaml-modules/zarith { }; + + zed = callPackage ../development/ocaml-modules/zed { }; + + }; + + ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0; + ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0; + ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2; + ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1; + ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1; + ocamlPackages_4_01_0 = mkOcamlPackages ocaml_4_01_0 pkgs.ocamlPackages_4_01_0; + ocamlPackages_latest = ocamlPackages_4_01_0; + + ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { }; + + opa = let callPackage = newScope pkgs.ocamlPackages_4_00_1; in callPackage ../development/compilers/opa { }; + + ocamlnat = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/ocaml-modules/ocamlnat { }; + + qcmm = callPackage ../development/compilers/qcmm { + lua = lua4; + ocaml = ocaml_3_08_0; + }; + + roadsend = callPackage ../development/compilers/roadsend { }; + + rustc = callPackage ../development/compilers/rustc/0.11.nix {}; + rustcMaster = callPackage ../development/compilers/rustc/head.nix {}; + + rust = rustc; + + + sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {}; + sbcl = callPackage ../development/compilers/sbcl { + clisp = clisp; + }; + + scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { }; + scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { }; + scala_2_11 = callPackage ../development/compilers/scala { }; + scala = scala_2_11; + + sdcc = callPackage ../development/compilers/sdcc { }; + + smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { }; + smlnj = callPackage_i686 ../development/compilers/smlnj { }; + + stalin = callPackage ../development/compilers/stalin { }; + + strategoPackages = recurseIntoAttrs strategoPackages018; + + strategoPackages016 = callPackage ../development/compilers/strategoxt/0.16.nix { + stdenv = overrideInStdenv stdenv [gnumake380]; + }; + + strategoPackages017 = callPackage ../development/compilers/strategoxt/0.17.nix { + readline = readline5; + }; + + strategoPackages018 = callPackage ../development/compilers/strategoxt/0.18.nix { + readline = readline5; + }; + + metaBuildEnv = callPackage ../development/compilers/meta-environment/meta-build-env { }; + + swiProlog = callPackage ../development/compilers/swi-prolog { }; + + tbb = callPackage ../development/libraries/tbb { }; + + tinycc = callPackage ../development/compilers/tinycc { }; + + urweb = callPackage ../development/compilers/urweb { }; + + vala = callPackage ../development/compilers/vala/default.nix { }; + + visualcpp = callPackage ../development/compilers/visual-c++ { }; + + vs90wrapper = callPackage ../development/compilers/vs90wrapper { }; + + webdsl = callPackage ../development/compilers/webdsl { }; + + win32hello = callPackage ../development/compilers/visual-c++/test { }; + + wrapGCCWith = gccWrapper: glibc: baseGCC: gccWrapper { + nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools; + nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc; + nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else ""; + gcc = baseGCC; + libc = glibc; + shell = bash; + inherit stdenv binutils coreutils zlib; + }; + + wrapClangWith = clangWrapper: glibc: baseClang: clangWrapper { + nativeTools = stdenv.gcc.nativeTools or false; + nativeLibc = stdenv.gcc.nativeLibc or false; + nativePrefix = stdenv.gcc.nativePrefix or ""; + clang = baseClang; + libc = glibc; + shell = bash; + binutils = stdenv.gcc.binutils; + inherit stdenv coreutils zlib; + }; + + wrapClang = wrapClangWith (makeOverridable (import ../build-support/clang-wrapper)) glibc; + + wrapGCC = wrapGCCWith (makeOverridable (import ../build-support/gcc-wrapper)) glibc; + + wrapGCCCross = + {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}: + + forceNativeDrv (import ../build-support/gcc-cross-wrapper { + nativeTools = false; + nativeLibc = false; + noLibc = (libc == null); + inherit stdenv gcc binutils libc shell name cross; + }); + + # prolog + yap = callPackage ../development/compilers/yap { }; + + yasm = callPackage ../development/compilers/yasm { }; + + + ### DEVELOPMENT / INTERPRETERS + + acl2 = builderDefsPackage ../development/interpreters/acl2 { + inherit sbcl; + }; + + angelscript = callPackage ../development/interpreters/angelscript {}; + + clisp = callPackage ../development/interpreters/clisp { }; + + # compatibility issues in 2.47 - at list 2.44.1 is known good + # for sbcl bootstrap + clisp_2_44_1 = callPackage ../development/interpreters/clisp/2.44.1.nix { + libsigsegv = libsigsegv_25; + }; + + clojure = callPackage ../development/interpreters/clojure { }; + + clooj = callPackage ../development/interpreters/clojure/clooj.nix { }; + + erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { }; + erlangR15 = callPackage ../development/interpreters/erlang/R15.nix { }; + erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { }; + erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix { odbcSupport = true; }; + erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { }; + erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix { odbcSupport = true; }; + erlang = erlangR17; + erlang_odbc = erlangR17_odbc; + + rebar = callPackage ../development/tools/build-managers/rebar { }; + + elixir = callPackage ../development/interpreters/elixir { }; + + groovy = callPackage ../development/interpreters/groovy { }; + + guile_1_8 = callPackage ../development/interpreters/guile/1.8.nix { }; + + guile_2_0 = callPackage ../development/interpreters/guile { }; + + guile = guile_2_0; + + hadoop = callPackage ../applications/networking/cluster/hadoop { }; + + io = callPackage ../development/interpreters/io { }; + + j = callPackage ../development/interpreters/j {}; + + jmeter = callPackage ../applications/networking/jmeter {}; + + davmail = callPackage ../applications/networking/davmail {}; + + lxappearance = callPackage ../applications/misc/lxappearance {}; + + kona = callPackage ../development/interpreters/kona {}; + + love = callPackage ../development/interpreters/love {lua=lua5;}; + love_luajit = callPackage ../development/interpreters/love {lua=luajit;}; + love_0_9 = callPackage ../development/interpreters/love/0.9.nix { }; + + lua4 = callPackage ../development/interpreters/lua-4 { }; + lua5_0 = callPackage ../development/interpreters/lua-5/5.0.3.nix { }; + lua5_1 = callPackage ../development/interpreters/lua-5/5.1.nix { }; + lua5_2 = callPackage ../development/interpreters/lua-5/5.2.nix { }; + lua5_2_compat = callPackage ../development/interpreters/lua-5/5.2.nix { + compat = true; + }; + lua5 = lua5_1; + lua = lua5; + + lua5_sockets = callPackage ../development/interpreters/lua-5/sockets.nix {}; + lua5_expat = callPackage ../development/interpreters/lua-5/expat.nix {}; + lua5_filesystem = callPackage ../development/interpreters/lua-5/filesystem.nix {}; + lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix {}; + + luarocks = callPackage ../development/tools/misc/luarocks { + lua = lua5; + }; + + luajit = callPackage ../development/interpreters/luajit {}; + + lush2 = callPackage ../development/interpreters/lush {}; + + maude = callPackage ../development/interpreters/maude { + bison = bison2; + flex = flex_2_5_35; + }; + + mesos = callPackage ../applications/networking/cluster/mesos { + sasl = cyrus_sasl; + automake = automake114x; + inherit (pythonPackages) python boto setuptools distutils-cfg wrapPython; + pythonProtobuf = pythonPackages.protobuf; + }; + + octave = callPackage ../development/interpreters/octave { + fltk = fltk13; + qt = null; + ghostscript = null; + llvm = null; + hdf5 = null; + glpk = null; + suitesparse = null; + openjdk = null; + gnuplot = null; + readline = readline63; + }; + octaveFull = (lowPrio (callPackage ../development/interpreters/octave { + fltk = fltk13; + qt = qt4; + })); + + # mercurial (hg) bleeding edge version + octaveHG = callPackage ../development/interpreters/octave/hg.nix { }; + + ocropus = callPackage ../applications/misc/ocropus { }; + + perl514 = callPackage ../development/interpreters/perl/5.14 { }; + + perl516 = callPackage ../development/interpreters/perl/5.16 { + fetchurl = fetchurlBoot; + }; + + perl520 = callPackage ../development/interpreters/perl/5.20 { }; + + perl = if system != "i686-cygwin" then perl516 else sysPerl; + + php = php54; + + phpPackages = recurseIntoAttrs (import ./php-packages.nix { + inherit php pkgs; + }); + + php53 = callPackage ../development/interpreters/php/5.3.nix { }; + + php_fpm53 = callPackage ../development/interpreters/php/5.3.nix { + config = config // { + php = (config.php or {}) // { + fpm = true; + apxs2 = false; + }; + }; + }; + + php54 = callPackage ../development/interpreters/php/5.4.nix { }; + + picolisp = callPackage ../development/interpreters/picolisp {}; + + pltScheme = racket; # just to be sure + + polyml = callPackage ../development/compilers/polyml { }; + + pure = callPackage ../development/interpreters/pure { + llvm = llvm_33 ; + }; + + python = python2; + python2 = python27; + python3 = python34; + + # pythonPackages further below, but assigned here because they need to be in sync + pythonPackages = python2Packages; + python2Packages = python27Packages; + python3Packages = python34Packages; + + pythonFull = python2Full; + python2Full = python27Full; + + python26 = callPackage ../development/interpreters/python/2.6 { db = db47; }; + python27 = callPackage ../development/interpreters/python/2.7 { }; + python32 = callPackage ../development/interpreters/python/3.2 { }; + python33 = callPackage ../development/interpreters/python/3.3 { }; + python34 = hiPrio (callPackage ../development/interpreters/python/3.4 { }); + + pypy = callPackage ../development/interpreters/pypy/2.3 { }; + + python26Full = callPackage ../development/interpreters/python/wrapper.nix { + extraLibs = []; + postBuild = ""; + python = python26; + inherit (python26Packages) recursivePthLoader; + }; + python27Full = callPackage ../development/interpreters/python/wrapper.nix { + extraLibs = []; + postBuild = ""; + python = python27; + inherit (python27Packages) recursivePthLoader; + }; + + pythonDocs = recurseIntoAttrs (import ../development/interpreters/python/docs { + inherit stdenv fetchurl lib; + }); + + pythonLinkmeWrapper = callPackage ../development/interpreters/python/python-linkme-wrapper.nix { }; + + pypi2nix = python27Packages.pypi2nix; + + pyrex = pyrex095; + + pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { }; + + pyrex096 = callPackage ../development/interpreters/pyrex/0.9.6.nix { }; + + qi = callPackage ../development/compilers/qi { }; + + racket = callPackage ../development/interpreters/racket { }; + + rakudo = callPackage ../development/interpreters/rakudo { }; + + rascal = callPackage ../development/interpreters/rascal { }; + + regina = callPackage ../development/interpreters/regina { }; + + renpy = callPackage ../development/interpreters/renpy { + wrapPython = pythonPackages.wrapPython; + }; + + ruby18 = callPackage ../development/interpreters/ruby/ruby-18.nix { }; + ruby19 = callPackage ../development/interpreters/ruby/ruby-19.nix { }; + ruby2 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.0.nix { }); + ruby21 = callPackage ../development/interpreters/ruby/ruby-2.1.2.nix { }; + + ruby = ruby19; + + rubyLibs = recurseIntoAttrs (callPackage ../development/interpreters/ruby/libs.nix { }); + + rake = rubyLibs.rake; + + rubySqlite3 = callPackage ../development/ruby-modules/sqlite3 { }; + + rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/rubygems.nix) { + inherit ruby makeWrapper; + }; + rubygems = hiPrio (rubygemsFun ruby); + + rq = callPackage ../applications/networking/cluster/rq { }; + + scsh = callPackage ../development/interpreters/scsh { }; + + scheme48 = callPackage ../development/interpreters/scheme48 { }; + + self = callPackage_i686 ../development/interpreters/self { }; + + spark = callPackage ../applications/networking/cluster/spark { }; + + spidermonkey = callPackage ../development/interpreters/spidermonkey { }; + spidermonkey_1_8_0rc1 = callPackage ../development/interpreters/spidermonkey/1.8.0-rc1.nix { }; + spidermonkey_185 = callPackage ../development/interpreters/spidermonkey/185-1.0.0.nix { }; + spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.0.nix { }; + spidermonkey_24 = callPackage ../development/interpreters/spidermonkey/24.2.nix { }; + + supercollider = callPackage ../development/interpreters/supercollider { + qt = qt4; + fftw = fftwSinglePrec; + }; + + supercollider_scel = supercollider.override { useSCEL = true; }; + + sysPerl = callPackage ../development/interpreters/perl/sys-perl { }; + + tcl = callPackage ../development/interpreters/tcl { }; + + xulrunner = callPackage ../development/interpreters/xulrunner { + inherit (gnome) libIDL; + inherit (pythonPackages) pysqlite; + }; + + xulrunner_30 = firefox30Pkgs.xulrunner; + + + ### DEVELOPMENT / MISC + + amdadlsdk = callPackage ../development/misc/amdadl-sdk { }; + + amdappsdk26 = callPackage ../development/misc/amdapp-sdk { + version = "2.6"; + }; + + amdappsdk27 = callPackage ../development/misc/amdapp-sdk { + version = "2.7"; + }; + + amdappsdk28 = callPackage ../development/misc/amdapp-sdk { + version = "2.8"; + }; + + amdappsdk = amdappsdk28; + + amdappsdkFull = callPackage ../development/misc/amdapp-sdk { + version = "2.8"; + samples = true; + }; + + avrgcclibc = callPackage ../development/misc/avr-gcc-with-avr-libc { + gcc = gcc46; + stdenv = overrideGCC stdenv gcc46; + }; + + avr8burnomat = callPackage ../development/misc/avr8-burn-omat { }; + + sourceFromHead = import ../build-support/source-from-head-fun.nix { + inherit config; + }; + + ecj = callPackage ../development/eclipse/ecj { }; + + jdtsdk = callPackage ../development/eclipse/jdt-sdk { }; + + jruby165 = callPackage ../development/interpreters/jruby { }; + + guileCairo = callPackage ../development/guile-modules/guile-cairo { }; + + guileGnome = callPackage ../development/guile-modules/guile-gnome { + gconf = gnome.GConf; + inherit (gnome) gnome_vfs libglade libgnome libgnomecanvas libgnomeui; + }; + + guile_lib = callPackage ../development/guile-modules/guile-lib { }; + + guile_ncurses = callPackage ../development/guile-modules/guile-ncurses { }; + + guile-xcb = callPackage ../development/guile-modules/guile-xcb { }; + + pharo-vm = callPackage_i686 ../development/pharo/vm { }; + + srecord = callPackage ../development/tools/misc/srecord { }; + + windowssdk = ( + import ../development/misc/windows-sdk { + inherit fetchurl stdenv cabextract; + }); + + + ### DEVELOPMENT / TOOLS + + ansible = callPackage ../tools/system/ansible { }; + + antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { }; + + antlr3 = callPackage ../development/tools/parsing/antlr { }; + + ant = apacheAnt; + + apacheAnt = callPackage ../development/tools/build-managers/apache-ant { }; + + astyle = callPackage ../development/tools/misc/astyle { }; + + autobuild = callPackage ../development/tools/misc/autobuild { }; + + autoconf = callPackage ../development/tools/misc/autoconf { }; + + autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { }; + + autocutsel = callPackage ../tools/X11/autocutsel{ }; + + automake = automake112x; + + automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { }; + + automake112x = callPackage ../development/tools/misc/automake/automake-1.12.x.nix { }; + + automake113x = callPackage ../development/tools/misc/automake/automake-1.13.x.nix { }; + + automake114x = callPackage ../development/tools/misc/automake/automake-1.14.x.nix { }; + + automoc4 = callPackage ../development/tools/misc/automoc4 { }; + + avrdude = callPackage ../development/tools/misc/avrdude { }; + + avarice = callPackage ../development/tools/misc/avarice { }; + + babeltrace = callPackage ../development/tools/misc/babeltrace { }; + + bam = callPackage ../development/tools/build-managers/bam {}; + + binutils = callPackage ../development/tools/misc/binutils { + inherit noSysDirs; + }; + + binutils_nogold = lowPrio (callPackage ../development/tools/misc/binutils { + inherit noSysDirs; + gold = false; + }); + + binutilsCross = + if crossSystem != null && crossSystem.libc == "libSystem" then darwin.cctools + else lowPrio (forceNativeDrv (import ../development/tools/misc/binutils { + inherit stdenv fetchurl zlib bison; + noSysDirs = true; + cross = assert crossSystem != null; crossSystem; + })); + + bison2 = callPackage ../development/tools/parsing/bison/2.x.nix { }; + bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { }; + bison = bison3; + + bossa = callPackage ../development/tools/misc/bossa { + wxGTK = wxGTK30; + }; + + buildbot = callPackage ../development/tools/build-managers/buildbot { + inherit (pythonPackages) twisted jinja2 sqlalchemy sqlalchemy_migrate; + dateutil = pythonPackages.dateutil_1_5; + }; + + buildbotSlave = callPackage ../development/tools/build-managers/buildbot-slave { + inherit (pythonPackages) twisted; + }; + + byacc = callPackage ../development/tools/parsing/byacc { }; + + casperjs = callPackage ../development/tools/casperjs { }; + + cbrowser = callPackage ../development/tools/misc/cbrowser { }; + + ccache = callPackage ../development/tools/misc/ccache { }; + + # Wrapper that works as gcc or g++ + # It can be used by setting in nixpkgs config like this, for example: + # replaceStdenv = { pkgs }: pkgs.ccacheStdenv; + # But if you build in chroot, you should have that path in chroot + # If instantiated directly, it will use the HOME/.ccache as cache directory. + # You can use an override in packageOverrides to set extraConfig: + # packageOverrides = pkgs: { + # ccacheWrapper = pkgs.ccacheWrapper.override { + # extraConfig = '' + # CCACHE_COMPRESS=1 + # CCACHE_DIR=/bin/.ccache + # ''; + # }; + # + ccacheWrapper = makeOverridable ({ extraConfig ? "" }: + wrapGCC (ccache.links extraConfig)) {}; + ccacheStdenv = lowPrio (overrideGCC stdenv ccacheWrapper); + + cccc = callPackage ../development/tools/analysis/cccc { }; + + cgdb = callPackage ../development/tools/misc/cgdb { }; + + chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome.GConf; }; + + chrpath = callPackage ../development/tools/misc/chrpath { }; + + "cl-launch" = callPackage ../development/tools/misc/cl-launch {}; + + complexity = callPackage ../development/tools/misc/complexity { }; + + ctags = callPackage ../development/tools/misc/ctags { }; + + ctagsWrapped = import ../development/tools/misc/ctags/wrapped.nix { + inherit pkgs ctags writeScriptBin; + }; + + cmake = callPackage ../development/tools/build-managers/cmake { }; + + cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { }; + + cmakeCurses = cmake.override { useNcurses = true; }; + + cmakeWithGui = cmakeCurses.override { useQt4 = true; }; + + coccinelle = callPackage ../development/tools/misc/coccinelle { }; + + framac = callPackage ../development/tools/analysis/frama-c { }; + + cppi = callPackage ../development/tools/misc/cppi { }; + + cproto = callPackage ../development/tools/misc/cproto { }; + + cflow = callPackage ../development/tools/misc/cflow { }; + + cov-build = callPackage ../development/tools/analysis/cov-build {}; + + cppcheck = callPackage ../development/tools/analysis/cppcheck { }; + + cscope = callPackage ../development/tools/misc/cscope { }; + + csslint = callPackage ../development/web/csslint { }; + + libcxx = callPackage ../development/libraries/libc++ { stdenv = pkgs.clangStdenv; }; + libcxxabi = callPackage ../development/libraries/libc++abi { stdenv = pkgs.clangStdenv; }; + + libsigrok = callPackage ../development/tools/libsigrok { }; + + libsigrokdecode = callPackage ../development/tools/libsigrokdecode { }; + + dejagnu = callPackage ../development/tools/misc/dejagnu { }; + + dfeet = callPackage ../development/tools/misc/d-feet { + inherit (pythonPackages) pep8; + }; + + dfu-programmer = callPackage ../development/tools/misc/dfu-programmer { }; + + ddd = callPackage ../development/tools/misc/ddd { }; + + distcc = callPackage ../development/tools/misc/distcc { }; + + # distccWrapper: wrapper that works as gcc or g++ + # It can be used by setting in nixpkgs config like this, for example: + # replaceStdenv = { pkgs }: pkgs.distccStdenv; + # But if you build in chroot, a default 'nix' will create + # a new net namespace, and won't have network access. + # You can use an override in packageOverrides to set extraConfig: + # packageOverrides = pkgs: { + # distccWrapper = pkgs.distccWrapper.override { + # extraConfig = '' + # DISTCC_HOSTS="myhost1 myhost2" + # ''; + # }; + # + distccWrapper = makeOverridable ({ extraConfig ? "" }: + wrapGCC (distcc.links extraConfig)) {}; + distccStdenv = lowPrio (overrideGCC stdenv distccWrapper); + + distccMasquerade = callPackage ../development/tools/misc/distcc/masq.nix { + gccRaw = gcc.gcc; + binutils = binutils; + }; + + docutils = builderDefsPackage (import ../development/tools/documentation/docutils) { + inherit python pil makeWrapper; + }; + + doxygen = callPackage ../development/tools/documentation/doxygen { + qt4 = null; + }; + + doxygen_gui = lowPrio (doxygen.override { inherit qt4; }); + + drush = callPackage ../development/tools/misc/drush { }; + + eggdbus = callPackage ../development/tools/misc/eggdbus { }; + + elfutils = callPackage ../development/tools/misc/elfutils { }; + + epm = callPackage ../development/tools/misc/epm { }; + + emma = callPackage ../development/tools/analysis/emma { }; + + findbugs = callPackage ../development/tools/analysis/findbugs { }; + + pmd = callPackage ../development/tools/analysis/pmd { }; + + jdepend = callPackage ../development/tools/analysis/jdepend { }; + + checkstyle = callPackage ../development/tools/analysis/checkstyle { }; + + flex_2_5_35 = callPackage ../development/tools/parsing/flex/2.5.35.nix { }; + flex_2_5_39 = callPackage ../development/tools/parsing/flex/2.5.39.nix { }; + flex = flex_2_5_39; + + m4 = gnum4; + + global = callPackage ../development/tools/misc/global { }; + + gnome_doc_utils = callPackage ../development/tools/documentation/gnome-doc-utils {}; + + gnum4 = callPackage ../development/tools/misc/gnum4 { }; + + gnumake380 = callPackage ../development/tools/build-managers/gnumake/3.80 { }; + gnumake381 = callPackage ../development/tools/build-managers/gnumake/3.81 { }; + gnumake382 = callPackage ../development/tools/build-managers/gnumake/3.82 { }; + gnumake40 = callPackage ../development/tools/build-managers/gnumake/4.0 { }; + gnumake = gnumake382; + + gob2 = callPackage ../development/tools/misc/gob2 { }; + + gradle = callPackage ../development/tools/build-managers/gradle { }; + + gperf = callPackage ../development/tools/misc/gperf { }; + + gtk_doc = callPackage ../development/tools/documentation/gtk-doc { }; + + gtkdialog = callPackage ../development/tools/misc/gtkdialog { }; + + guileLint = callPackage ../development/tools/guile/guile-lint { }; + + gwrap = callPackage ../development/tools/guile/g-wrap { }; + + help2man = callPackage ../development/tools/misc/help2man { + inherit (perlPackages) LocaleGettext; + }; + + hyenae = callPackage ../tools/networking/hyenae { }; + + ibus = callPackage ../development/libraries/ibus { }; + + iconnamingutils = callPackage ../development/tools/misc/icon-naming-utils { + inherit (perlPackages) XMLSimple; + }; + + indent = callPackage ../development/tools/misc/indent { }; + + ino = callPackage ../development/arduino/ino { }; + + inotifyTools = callPackage ../development/tools/misc/inotify-tools { }; + + intel-gpu-tools = callPackage ../development/tools/misc/intel-gpu-tools { + inherit (xorg) libpciaccess dri2proto libX11 libXext libXv libXrandr; + }; + + ired = callPackage ../development/tools/analysis/radare/ired.nix { }; + + itstool = callPackage ../development/tools/misc/itstool { }; + + jam = callPackage ../development/tools/build-managers/jam { }; + + jikespg = callPackage ../development/tools/parsing/jikespg { }; + + jenkins = callPackage ../development/tools/continuous-integration/jenkins { }; + + lcov = callPackage ../development/tools/analysis/lcov { }; + + leiningen = callPackage ../development/tools/build-managers/leiningen { }; + + libtool = libtool_2; + + libtool_1_5 = callPackage ../development/tools/misc/libtool { }; + + libtool_2 = callPackage ../development/tools/misc/libtool/libtool2.nix { }; + + lsof = callPackage ../development/tools/misc/lsof { }; + + ltrace = callPackage ../development/tools/misc/ltrace { }; + + lttng-tools = callPackage ../development/tools/misc/lttng-tools { }; + + lttng-ust = callPackage ../development/tools/misc/lttng-ust { }; + + lttv = callPackage ../development/tools/misc/lttv { }; + + mk = callPackage ../development/tools/build-managers/mk { }; + + neoload = callPackage ../development/tools/neoload { + licenseAccepted = (config.neoload.accept_license or false); + }; + + ninja = callPackage ../development/tools/build-managers/ninja { }; + + nixbang = callPackage ../development/tools/misc/nixbang { + pythonPackages = python3Packages; + }; + + node_webkit = callPackage ../development/tools/node-webkit { + gconf = pkgs.gnome.GConf; + }; + + noweb = callPackage ../development/tools/literate-programming/noweb { }; + + omake = callPackage ../development/tools/ocaml/omake { }; + omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { }; + + opengrok = callPackage ../development/tools/misc/opengrok { }; + + openocd = callPackage ../development/tools/misc/openocd { }; + + oprofile = callPackage ../development/tools/profiling/oprofile { }; + + patchelf = callPackage ../development/tools/misc/patchelf { }; + + peg = callPackage ../development/tools/parsing/peg { }; + + phantomjs = callPackage ../development/tools/phantomjs { + stdenv = if stdenv.isDarwin + then overrideGCC stdenv gccApple + else stdenv; + }; + + pmccabe = callPackage ../development/tools/misc/pmccabe { }; + + /* Make pkgconfig always return a nativeDrv, never a proper crossDrv, + because most usage of pkgconfig as buildInput (inheritance of + pre-cross nixpkgs) means using it using as nativeBuildInput + cross_renaming: we should make all programs use pkgconfig as + nativeBuildInput after the renaming. + */ + pkgconfig = forceNativeDrv (callPackage ../development/tools/misc/pkgconfig { }); + pkgconfigUpstream = lowPrio (pkgconfig.override { vanilla = true; }); + + prelink = callPackage ../development/tools/misc/prelink { }; + + premake3 = callPackage ../development/tools/misc/premake/3.nix { }; + + premake4 = callPackage ../development/tools/misc/premake { }; + + premake = premake4; + + pstack = callPackage ../development/tools/misc/gdb/pstack.nix { }; + + radare = callPackage ../development/tools/analysis/radare { + inherit (gnome) vte; + lua = lua5; + useX11 = config.radare.useX11 or false; + pythonBindings = config.radare.pythonBindings or false; + rubyBindings = config.radare.rubyBindings or false; + luaBindings = config.radare.luaBindings or false; + }; + + ragel = callPackage ../development/tools/parsing/ragel { }; + + re2c = callPackage ../development/tools/parsing/re2c { }; + + remake = callPackage ../development/tools/build-managers/remake { }; + + saleae-logic = callPackage ../development/tools/misc/saleae-logic { }; + + # couldn't find the source yet + seleniumRCBin = callPackage ../development/tools/selenium/remote-control { + jre = jdk; + }; + + selenium-server-standalone = callPackage ../development/tools/selenium/server { }; + + scons = callPackage ../development/tools/build-managers/scons { }; + + simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { }; + + sigrok-cli = callPackage ../development/tools/sigrok-cli { }; + + slimerjs = callPackage ../development/tools/slimerjs {}; + + sloccount = callPackage ../development/tools/misc/sloccount { }; + + smatch = callPackage ../development/tools/analysis/smatch { + buildllvmsparse = false; + buildc2xml = false; + }; + + smc = callPackage ../tools/misc/smc { }; + + sparse = callPackage ../development/tools/analysis/sparse { }; + + speedtest_cli = callPackage ../tools/networking/speedtest-cli { }; + + spin = callPackage ../development/tools/analysis/spin { }; + + splint = callPackage ../development/tools/analysis/splint { + flex = flex_2_5_35; + }; + + stm32flash = callPackage ../development/tools/misc/stm32flash { }; + + strace = callPackage ../development/tools/misc/strace { }; + + swig = callPackage ../development/tools/misc/swig { }; + + swig2 = callPackage ../development/tools/misc/swig/2.x.nix { }; + + swig3 = callPackage ../development/tools/misc/swig/3.x.nix { }; + + swigWithJava = swig; + + swfmill = callPackage ../tools/video/swfmill { }; + + swftools = callPackage ../tools/video/swftools { }; + + tcptrack = callPackage ../development/tools/misc/tcptrack { }; + + teensy-loader = callPackage ../development/tools/misc/teensy { }; + + texinfo413 = callPackage ../development/tools/misc/texinfo/4.13a.nix { }; + texinfo5 = callPackage ../development/tools/misc/texinfo/5.2.nix { }; + texinfo4 = texinfo413; + texinfo = texinfo5; + texinfoInteractive = appendToName "interactive" ( + texinfo.override { interactive = true; } + ); + + texi2html = callPackage ../development/tools/misc/texi2html { }; + + uhd = callPackage ../development/tools/misc/uhd { }; + + uisp = callPackage ../development/tools/misc/uisp { }; + + uncrustify = callPackage ../development/tools/misc/uncrustify { }; + + vagrant = callPackage ../development/tools/vagrant { + ruby = ruby2; + }; + + gdb = callPackage ../development/tools/misc/gdb { + hurd = gnu.hurdCross; + readline = readline63; + inherit (gnu) mig; + }; + + gdbCross = lowPrio (callPackage ../development/tools/misc/gdb { + target = crossSystem; + }); + + valgrind = callPackage ../development/tools/analysis/valgrind { + stdenv = + # On Darwin, Valgrind 3.7.0 expects Apple's GCC (for + # `__private_extern'.) + if stdenv.isDarwin + then overrideGCC stdenv gccApple + else stdenv; + }; + + valkyrie = callPackage ../development/tools/analysis/valkyrie { }; + + xc3sprog = callPackage ../development/tools/misc/xc3sprog { }; + + xmlindent = callPackage ../development/web/xmlindent {}; + + xpwn = callPackage ../development/mobile/xpwn {}; + + xxdiff = callPackage ../development/tools/misc/xxdiff { + bison = bison2; + }; + + yacc = bison; + + yodl = callPackage ../development/tools/misc/yodl { }; + + + ### DEVELOPMENT / LIBRARIES + + a52dec = callPackage ../development/libraries/a52dec { }; + + aacskeys = callPackage ../development/libraries/aacskeys { }; + + aalib = callPackage ../development/libraries/aalib { }; + + accountsservice = callPackage ../development/libraries/accountsservice { }; + + acl = callPackage ../development/libraries/acl { }; + + activemq = callPackage ../development/libraries/apache-activemq { }; + + adns = callPackage ../development/libraries/adns { }; + + afflib = callPackage ../development/libraries/afflib {}; + + agg = callPackage ../development/libraries/agg { }; + + allegro = callPackage ../development/libraries/allegro {}; + allegro5 = callPackage ../development/libraries/allegro/5.nix {}; + allegro5unstable = callPackage + ../development/libraries/allegro/5-unstable.nix {}; + + amrnb = callPackage ../development/libraries/amrnb { }; + + amrwb = callPackage ../development/libraries/amrwb { }; + + apr = callPackage ../development/libraries/apr { }; + + aprutil = callPackage ../development/libraries/apr-util { + bdbSupport = true; + }; + + asio = callPackage ../development/libraries/asio { }; + + aspell = callPackage ../development/libraries/aspell { }; + + aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix { + inherit fetchurl stdenv aspell which; + }); + + aterm = aterm25; + + aterm25 = callPackage ../development/libraries/aterm/2.5.nix { }; + + aterm28 = lowPrio (callPackage ../development/libraries/aterm/2.8.nix { }); + + attica = callPackage ../development/libraries/attica { }; + + attr = callPackage ../development/libraries/attr { }; + + at_spi2_core = callPackage ../development/libraries/at-spi2-core { }; + + at_spi2_atk = callPackage ../development/libraries/at-spi2-atk { }; + + aqbanking = callPackage ../development/libraries/aqbanking { }; + + aubio = callPackage ../development/libraries/aubio { }; + + audiofile = callPackage ../development/libraries/audiofile { }; + + babl_0_0_22 = callPackage ../development/libraries/babl/0_0_22.nix { }; + + babl = callPackage ../development/libraries/babl { }; + + beecrypt = callPackage ../development/libraries/beecrypt { }; + + boehmgc = callPackage ../development/libraries/boehm-gc { }; + + boolstuff = callPackage ../development/libraries/boolstuff { }; + + boost144 = callPackage ../development/libraries/boost/1.44.nix { }; + boost149 = callPackage ../development/libraries/boost/1.49.nix { }; + boost155 = callPackage ../development/libraries/boost/1.55.nix { }; + boost = boost155; + + boostHeaders = callPackage ../development/libraries/boost/header-only-wrapper.nix { }; + + botan = callPackage ../development/libraries/botan { }; + botanUnstable = callPackage ../development/libraries/botan/unstable.nix { }; + + box2d = callPackage ../development/libraries/box2d { }; + box2d_2_0_1 = callPackage ../development/libraries/box2d/2.0.1.nix { }; + + buddy = callPackage ../development/libraries/buddy { }; + + bwidget = callPackage ../development/libraries/bwidget { }; + + c-ares = callPackage ../development/libraries/c-ares { + fetchurl = fetchurlBoot; + }; + + caelum = callPackage ../development/libraries/caelum { }; + + capnproto = callPackage ../development/libraries/capnproto { }; + + scmccid = callPackage ../development/libraries/scmccid { }; + + ccrtp = callPackage ../development/libraries/ccrtp { }; + ccrtp_1_8 = callPackage ../development/libraries/ccrtp/1.8.nix { }; + + celt = callPackage ../development/libraries/celt {}; + celt_0_7 = callPackage ../development/libraries/celt/0.7.nix {}; + celt_0_5_1 = callPackage ../development/libraries/celt/0.5.1.nix {}; + + cgal = callPackage ../development/libraries/CGAL {}; + + cgui = callPackage ../development/libraries/cgui {}; + + check = callPackage ../development/libraries/check { }; + + chipmunk = builderDefsPackage (import ../development/libraries/chipmunk) { + inherit cmake freeglut mesa; + inherit (xlibs) libX11 xproto inputproto libXi libXmu; + }; + + chmlib = callPackage ../development/libraries/chmlib { }; + + chromaprint = callPackage ../development/libraries/chromaprint { }; + + cil = callPackage ../development/libraries/cil { }; + + cilaterm = callPackage ../development/libraries/cil-aterm { + stdenv = overrideInStdenv stdenv [gnumake380]; + }; + + clanlib = callPackage ../development/libraries/clanlib { }; + + classads = callPackage ../development/libraries/classads { }; + + classpath = callPackage ../development/libraries/java/classpath { + javac = gcj; + jvm = gcj; + gconf = gnome.GConf; + }; + + clearsilver = callPackage ../development/libraries/clearsilver { }; + + cln = callPackage ../development/libraries/cln { }; + + clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) { }; + + clucene_core_2 = callPackage ../development/libraries/clucene-core/2.x.nix { }; + + clucene_core_1 = callPackage ../development/libraries/clucene-core { }; + + clucene_core = clucene_core_1; + + clutter = callPackage ../development/libraries/clutter { }; + + clutter_1_18 = callPackage ../development/libraries/clutter/1.18.nix { + cogl = cogl_1_18; + }; + + clutter-gst = callPackage ../development/libraries/clutter-gst { }; + + clutter_gtk = callPackage ../development/libraries/clutter-gtk { }; + clutter_gtk_0_10 = callPackage ../development/libraries/clutter-gtk/0.10.8.nix { }; + + cminpack = callPackage ../development/libraries/cminpack { }; + + cogl = callPackage ../development/libraries/cogl { }; + + cogl_1_18 = callPackage ../development/libraries/cogl/1.18.nix { }; + + coin3d = callPackage ../development/libraries/coin3d { }; + + commoncpp2 = callPackage ../development/libraries/commoncpp2 { }; + + confuse = callPackage ../development/libraries/confuse { }; + + coredumper = callPackage ../development/libraries/coredumper { }; + + ctl = callPackage ../development/libraries/ctl { }; + + cpp-netlib = callPackage ../development/libraries/cpp-netlib { }; + + cppunit = callPackage ../development/libraries/cppunit { }; + + cppnetlib = callPackage ../development/libraries/cppnetlib { + boost = boostHeaders; + }; + + cracklib = callPackage ../development/libraries/cracklib { }; + + cryptopp = callPackage ../development/libraries/crypto++ { }; + + cyrus_sasl = callPackage ../development/libraries/cyrus-sasl { }; + + # Make bdb5 the default as it is the last release under the custom + # bsd-like license + db = db5; + db4 = db48; + db44 = callPackage ../development/libraries/db/db-4.4.nix { }; + db45 = callPackage ../development/libraries/db/db-4.5.nix { }; + db47 = callPackage ../development/libraries/db/db-4.7.nix { }; + db48 = callPackage ../development/libraries/db/db-4.8.nix { }; + db5 = db53; + db53 = callPackage ../development/libraries/db/db-5.3.nix { }; + db6 = db60; + db60 = callPackage ../development/libraries/db/db-6.0.nix { }; + + dbus = callPackage ../development/libraries/dbus { }; + dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { }; + dbus_glib = callPackage ../development/libraries/dbus-glib { }; + dbus_java = callPackage ../development/libraries/java/dbus-java { }; + dbus_python = callPackage ../development/python-modules/dbus { }; + + # Should we deprecate these? Currently there are many references. + dbus_tools = pkgs.dbus.tools; + dbus_libs = pkgs.dbus.libs; + dbus_daemon = pkgs.dbus.daemon; + + dhex = callPackage ../applications/editors/dhex { }; + + dclib = callPackage ../development/libraries/dclib { }; + + dillo = callPackage ../applications/networking/browsers/dillo { + fltk = fltk13; + }; + + directfb = callPackage ../development/libraries/directfb { }; + + dotconf = callPackage ../development/libraries/dotconf { }; + + dssi = callPackage ../development/libraries/dssi {}; + + dragonegg = llvmPackages.dragonegg; + + dxflib = callPackage ../development/libraries/dxflib {}; + + eigen = callPackage ../development/libraries/eigen {}; + + eigen2 = callPackage ../development/libraries/eigen/2.0.nix {}; + + enchant = callPackage ../development/libraries/enchant { }; + + enet = callPackage ../development/libraries/enet { }; + + enginepkcs11 = callPackage ../development/libraries/enginepkcs11 { }; + + epoxy = callPackage ../development/libraries/epoxy { + inherit (xorg) utilmacros libX11; + }; + + esdl = callPackage ../development/libraries/esdl { }; + + exiv2 = callPackage ../development/libraries/exiv2 { }; + + expat = callPackage ../development/libraries/expat { }; + + extremetuxracer = callPackage ../games/extremetuxracer { + libpng = libpng12; + }; + + eventlog = callPackage ../development/libraries/eventlog { }; + + facile = callPackage ../development/libraries/facile { }; + + faac = callPackage ../development/libraries/faac { }; + + faad2 = callPackage ../development/libraries/faad2 { }; + + farsight2 = callPackage ../development/libraries/farsight2 { }; + + farstream = callPackage ../development/libraries/farstream { + inherit (gst_all_1) + gstreamer gst-plugins-base gst-python gst-plugins-good gst-plugins-bad + gst-libav; + }; + + fcgi = callPackage ../development/libraries/fcgi { }; + + ffmpeg_0_6 = callPackage ../development/libraries/ffmpeg/0.6.nix { + vpxSupport = !stdenv.isMips; + }; + + ffmpeg_0_6_90 = callPackage ../development/libraries/ffmpeg/0.6.90.nix { + vpxSupport = !stdenv.isMips; + }; + + ffmpeg_0_10 = callPackage ../development/libraries/ffmpeg/0.10.nix { + vpxSupport = !stdenv.isMips; + + stdenv = if stdenv.isDarwin + then overrideGCC stdenv gccApple + else stdenv; + }; + + ffmpeg_1 = callPackage ../development/libraries/ffmpeg/1.x.nix { + vpxSupport = !stdenv.isMips; + }; + + ffmpeg_2 = callPackage ../development/libraries/ffmpeg/2.x.nix { }; + + ffmpeg = ffmpeg_2; + + ffms = callPackage ../development/libraries/ffms { }; + + fftw = callPackage ../development/libraries/fftw { }; + fftwSinglePrec = fftw.override { precision = "single"; }; + fftwFloat = fftwSinglePrec; # the configure option is just an alias + + flann = callPackage ../development/libraries/flann { }; + + flite = callPackage ../development/libraries/flite { }; + + fltk13 = callPackage ../development/libraries/fltk/fltk13.nix { }; + + fltk20 = callPackage ../development/libraries/fltk { }; + + fmod = callPackage ../development/libraries/fmod { }; + + freeimage = callPackage ../development/libraries/freeimage { }; + + freetts = callPackage ../development/libraries/freetts { }; + + cfitsio = callPackage ../development/libraries/cfitsio { }; + + fontconfig = callPackage ../development/libraries/fontconfig { }; + + makeFontsConf = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}: + import ../development/libraries/fontconfig/make-fonts-conf.nix { + inherit runCommand libxslt fontconfig fontDirectories; + }; + + freealut = callPackage ../development/libraries/freealut { }; + + freeglut = callPackage ../development/libraries/freeglut { }; + + freetype = callPackage ../development/libraries/freetype { }; + + frei0r = callPackage ../development/libraries/frei0r { }; + + fribidi = callPackage ../development/libraries/fribidi { }; + + funambol = callPackage ../development/libraries/funambol { }; + + fam = gamin; + + gamin = callPackage ../development/libraries/gamin { }; + + ganv = callPackage ../development/libraries/ganv { }; + + gav = callPackage ../games/gav { }; + + gsb = callPackage ../games/gsb { }; + + gdome2 = callPackage ../development/libraries/gdome2 { + inherit (gnome) gtkdoc; + }; + + gdbm = callPackage ../development/libraries/gdbm { }; + + gegl = callPackage ../development/libraries/gegl { + # avocodec avformat librsvg + }; + + gegl_0_0_22 = callPackage ../development/libraries/gegl/0_0_22.nix { + # avocodec avformat librsvg + libpng = libpng12; + }; + + geoclue = callPackage ../development/libraries/geoclue {}; + + geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {}; + + geoip = callPackage ../development/libraries/geoip { }; + + geoipjava = callPackage ../development/libraries/java/geoipjava { }; + + geos = callPackage ../development/libraries/geos { }; + + gettext = gettext_0_18; + + gettext_0_17 = callPackage ../development/libraries/gettext/0.17.nix { }; + gettext_0_18 = callPackage ../development/libraries/gettext { }; + + gd = callPackage ../development/libraries/gd { }; + + gdal = callPackage ../development/libraries/gdal { }; + + ggz_base_libs = callPackage ../development/libraries/ggz_base_libs {}; + + giblib = callPackage ../development/libraries/giblib { }; + + libgit2 = callPackage ../development/libraries/git2 { }; + + glew = callPackage ../development/libraries/glew { }; + + glfw = glfw3; + glfw2 = callPackage ../development/libraries/glfw/2.x.nix { }; + glfw3 = callPackage ../development/libraries/glfw/3.x.nix { }; + + glibc = callPackage ../development/libraries/glibc/2.19 { + kernelHeaders = linuxHeaders; + installLocales = config.glibc.locales or false; + machHeaders = null; + hurdHeaders = null; + gccCross = null; + }; + + glibc_memusage = callPackage ../development/libraries/glibc/2.19 { + kernelHeaders = linuxHeaders; + installLocales = false; + withGd = true; + }; + + glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.19) + (let crossGNU = crossSystem != null && crossSystem.config == "i586-pc-gnu"; + in { + inherit stdenv fetchurl; + gccCross = gccCrossStageStatic; + kernelHeaders = if crossGNU then gnu.hurdHeaders else linuxHeadersCross; + installLocales = config.glibc.locales or false; + } + // lib.optionalAttrs crossGNU { + inherit (gnu) machHeaders hurdHeaders libpthreadHeaders mig; + inherit fetchgit; + })); + + + # We can choose: + libcCrossChooser = name : if name == "glibc" then glibcCross + else if name == "uclibc" then uclibcCross + else if name == "msvcrt" then windows.mingw_w64 + else if name == "libSystem" then darwin.xcode + else throw "Unknown libc"; + + libcCross = assert crossSystem != null; libcCrossChooser crossSystem.libc; + + eglibc = callPackage ../development/libraries/eglibc { + kernelHeaders = linuxHeaders; + installLocales = config.glibc.locales or false; + }; + + glibcLocales = callPackage ../development/libraries/glibc/2.19/locales.nix { }; + + glibcInfo = callPackage ../development/libraries/glibc/2.19/info.nix { }; + + glibc_multi = callPackage ../development/libraries/glibc/2.19/multi.nix { + inherit glibc; + glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc; + }; + + glm = callPackage ../development/libraries/glm { }; + + glog = callPackage ../development/libraries/glog { }; + + gloox = callPackage ../development/libraries/gloox { }; + + glpk = callPackage ../development/libraries/glpk { }; + + glsurf = callPackage ../applications/science/math/glsurf { + inherit (ocamlPackages) lablgl findlib camlimages ocaml_mysql mlgmp; + libpng = libpng12; + giflib = giflib_4_1; + }; + + gmime = callPackage ../development/libraries/gmime { }; + + gmm = callPackage ../development/libraries/gmm { }; + + gmp = gmp5; + gmp5 = gmp51; + + gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; }); + + # The GHC bootstrap binaries link against libgmp.so.3, which is in GMP 4.x. + gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { }; + + gmp51 = callPackage ../development/libraries/gmp/5.1.x.nix { }; + + #GMP ex-satellite, so better keep it near gmp + mpfr = callPackage ../development/libraries/mpfr/default.nix { }; + + gobjectIntrospection = callPackage ../development/libraries/gobject-introspection { }; + + goocanvas = callPackage ../development/libraries/goocanvas { }; + + google-gflags = callPackage ../development/libraries/google-gflags { }; + + gperftools = callPackage ../development/libraries/gperftools { }; + + gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer { + callPackage = pkgs.newScope (pkgs // { libav = pkgs.libav_10; }); + }); + + gst_all = { + inherit (pkgs) gstreamer gnonlin gst_python qt_gstreamer; + gstPluginsBase = pkgs.gst_plugins_base; + gstPluginsBad = pkgs.gst_plugins_bad; + gstPluginsGood = pkgs.gst_plugins_good; + gstPluginsUgly = pkgs.gst_plugins_ugly; + gstFfmpeg = pkgs.gst_ffmpeg; + }; + + gstreamer = callPackage ../development/libraries/gstreamer/legacy/gstreamer { + bison = bison2; + }; + + gst_plugins_base = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-base {}; + + gst_plugins_good = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-good {}; + + gst_plugins_bad = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-bad {}; + + gst_plugins_ugly = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-ugly {}; + + gst_ffmpeg = callPackage ../development/libraries/gstreamer/legacy/gst-ffmpeg { + ffmpeg = ffmpeg_0_10; + }; + + gst_python = callPackage ../development/libraries/gstreamer/legacy/gst-python {}; + + gstreamermm = callPackage ../development/libraries/gstreamer/legacy/gstreamermm { }; + + gnonlin = callPackage ../development/libraries/gstreamer/legacy/gnonlin {}; + + gusb = callPackage ../development/libraries/gusb { + inherit (gnome) gtkdoc; + }; + + qt_gstreamer = callPackage ../development/libraries/gstreamer/legacy/qt-gstreamer {}; + + gnet = callPackage ../development/libraries/gnet { }; + + gnu-efi = callPackage ../development/libraries/gnu-efi { }; + + gnutls = gnutls32; + + gnutls31 = callPackage ../development/libraries/gnutls/3.1.nix { + guileBindings = config.gnutls.guile or false; + }; + + gnutls32 = callPackage ../development/libraries/gnutls/3.2.nix { + guileBindings = config.gnutls.guile or false; + }; + + gnutls_with_guile = lowPrio (gnutls.override { guileBindings = true; }); + + gpac = callPackage ../applications/video/gpac { }; + + gpgme = callPackage ../development/libraries/gpgme { + gnupg1 = gnupg1orig; + }; + + grantlee = callPackage ../development/libraries/grantlee { }; + + gsasl = callPackage ../development/libraries/gsasl { }; + + gsl = callPackage ../development/libraries/gsl { }; + + gsm = callPackage ../development/libraries/gsm {}; + + gsoap = callPackage ../development/libraries/gsoap { }; + + gss = callPackage ../development/libraries/gss { }; + + gtkimageview = callPackage ../development/libraries/gtkimageview { }; + + gtkmathview = callPackage ../development/libraries/gtkmathview { }; + + gtkLibs = { + inherit (pkgs) glib glibmm atk atkmm cairo pango pangomm gdk_pixbuf gtk + gtkmm; + }; + + glib = callPackage ../development/libraries/glib { }; + glib-tested = glib.override { doCheck = true; }; # checked version separate to break cycles + glibmm = callPackage ../development/libraries/glibmm { }; + + glib_networking = callPackage ../development/libraries/glib-networking {}; + + atk = callPackage ../development/libraries/atk { }; + atkmm = callPackage ../development/libraries/atkmm { }; + + pixman = callPackage ../development/libraries/pixman { }; + + cairo = callPackage ../development/libraries/cairo { + glSupport = config.cairo.gl or (stdenv.isLinux && + !stdenv.isArm && !stdenv.isMips); + }; + cairomm = callPackage ../development/libraries/cairomm { }; + + pango = callPackage ../development/libraries/pango { }; + pangomm = callPackage ../development/libraries/pangomm { }; + + pangox_compat = callPackage ../development/libraries/pangox-compat { }; + + gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { + # workaround signal 10 in gdk_pixbuf tests + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + gtk2 = callPackage ../development/libraries/gtk+/2.x.nix { + cupsSupport = config.gtk2.cups or stdenv.isLinux; + }; + + gtk3 = callPackage ../development/libraries/gtk+/3.x.nix { }; + + gtk = pkgs.gtk2; + + gtkmm = callPackage ../development/libraries/gtkmm/2.x.nix { }; + gtkmm3 = callPackage ../development/libraries/gtkmm/3.x.nix { }; + + gtkmozembedsharp = callPackage ../development/libraries/gtkmozembed-sharp { + gtksharp = gtksharp2; + }; + + gtksharp1 = callPackage ../development/libraries/gtk-sharp-1 { + inherit (gnome) libglade libgtkhtml gtkhtml + libgnomecanvas libgnomeui libgnomeprint + libgnomeprintui GConf; + }; + + gtksharp2 = callPackage ../development/libraries/gtk-sharp-2 { + inherit (gnome) libglade libgtkhtml gtkhtml + libgnomecanvas libgnomeui libgnomeprint + libgnomeprintui GConf gnomepanel; + }; + + gtksourceviewsharp = callPackage ../development/libraries/gtksourceview-sharp { + inherit (gnome) gtksourceview; + gtksharp = gtksharp2; + }; + + gtkspell = callPackage ../development/libraries/gtkspell { }; + + gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { }; + + gts = callPackage ../development/libraries/gts { }; + + gvfs = callPackage ../development/libraries/gvfs { gconf = gnome.GConf; }; + + gwenhywfar = callPackage ../development/libraries/gwenhywfar { }; + + hamlib = callPackage ../development/libraries/hamlib { }; + + # TODO : Add MIT Kerberos and let admin choose. + kerberos = heimdal; + + heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { }; + + harfbuzz = callPackage ../development/libraries/harfbuzz { }; + + hawknl = callPackage ../development/libraries/hawknl { }; + + herqq = callPackage ../development/libraries/herqq { }; + + hspell = callPackage ../development/libraries/hspell { }; + + hspellDicts = callPackage ../development/libraries/hspell/dicts.nix { }; + + hsqldb = callPackage ../development/libraries/java/hsqldb { }; + + http-parser = callPackage ../development/libraries/http-parser { inherit (pythonPackages) gyp; }; + + hunspell = callPackage ../development/libraries/hunspell { }; + + hwloc = callPackage ../development/libraries/hwloc { + inherit (xlibs) libX11; + }; + + hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { }; + + icu = callPackage ../development/libraries/icu { }; + + id3lib = callPackage ../development/libraries/id3lib { }; + + iksemel = callPackage ../development/libraries/iksemel { }; + + ilbc = callPackage ../development/libraries/ilbc { }; + + ilixi = callPackage ../development/libraries/ilixi { }; + + ilmbase = callPackage ../development/libraries/ilmbase { }; + + imlib = callPackage ../development/libraries/imlib { + libpng = libpng12; + }; + + imlib2 = callPackage ../development/libraries/imlib2 { }; + + incrtcl = callPackage ../development/libraries/incrtcl { }; + + indilib = callPackage ../development/libraries/indilib { }; + + iniparser = callPackage ../development/libraries/iniparser { }; + + intltool = callPackage ../development/tools/misc/intltool { }; + + irrlicht3843 = callPackage ../development/libraries/irrlicht { }; + + isocodes = callPackage ../development/libraries/iso-codes { }; + + itk = callPackage ../development/libraries/itk { }; + + jamp = builderDefsPackage ../games/jamp { + inherit mesa SDL SDL_image SDL_mixer; + }; + + jasper = callPackage ../development/libraries/jasper { }; + + jama = callPackage ../development/libraries/jama { }; + + jansson = callPackage ../development/libraries/jansson { }; + + jbig2dec = callPackage ../development/libraries/jbig2dec { }; + + jetty_gwt = callPackage ../development/libraries/java/jetty-gwt { }; + + jetty_util = callPackage ../development/libraries/java/jetty-util { }; + + json_glib = callPackage ../development/libraries/json-glib { }; + + json-c-0-11 = callPackage ../development/libraries/json-c/0.11.nix { }; # vulnerable + json_c = callPackage ../development/libraries/json-c { }; + + jsoncpp = callPackage ../development/libraries/jsoncpp { }; + + libjson = callPackage ../development/libraries/libjson { }; + + judy = callPackage ../development/libraries/judy { }; + + keybinder = callPackage ../development/libraries/keybinder { + automake = automake111x; + lua = lua5_1; + }; + + keybinder3 = callPackage ../development/libraries/keybinder3 { + automake = automake111x; + lua = lua5_1; + }; + + krb5 = callPackage ../development/libraries/kerberos/krb5.nix { }; + + lcms = lcms1; + + lcms1 = callPackage ../development/libraries/lcms { }; + + lcms2 = callPackage ../development/libraries/lcms2 { }; + + lensfun = callPackage ../development/libraries/lensfun { }; + + lesstif = callPackage ../development/libraries/lesstif { }; + + lesstif93 = callPackage ../development/libraries/lesstif-0.93 { }; + + leveldb = callPackage ../development/libraries/leveldb { }; + + levmar = callPackage ../development/libraries/levmar { }; + + leptonica = callPackage ../development/libraries/leptonica { + libpng = libpng12; + }; + + lgi = callPackage ../development/libraries/lgi { + lua = lua5_1; + }; + + lib3ds = callPackage ../development/libraries/lib3ds { }; + + libaacs = callPackage ../development/libraries/libaacs { }; + + libaal = callPackage ../development/libraries/libaal { }; + + libao = callPackage ../development/libraries/libao { + usePulseAudio = config.pulseaudio or true; + }; + + libarchive = callPackage ../development/libraries/libarchive { }; + + libass = callPackage ../development/libraries/libass { }; + + libassuan1 = callPackage ../development/libraries/libassuan1 { }; + + libassuan = callPackage ../development/libraries/libassuan { }; + + libassuan2_1 = callPackage ../development/libraries/libassuan/git.nix { }; + + libatomic_ops = callPackage ../development/libraries/libatomic_ops {}; + + libav = libav_10; + libav_all = callPackage ../development/libraries/libav { }; + inherit (libav_all) libav_0_8 libav_9 libav_10; + + libavc1394 = callPackage ../development/libraries/libavc1394 { }; + + libbluedevil = callPackage ../development/libraries/libbluedevil { }; + + libbluray = callPackage ../development/libraries/libbluray { }; + + libbs2b = callPackage ../development/libraries/audio/libbs2b { }; + + libcaca = callPackage ../development/libraries/libcaca { }; + + libcanberra = callPackage ../development/libraries/libcanberra { }; + libcanberra_gtk3 = libcanberra.override { gtk = gtk3; }; + libcanberra_kde = if (config.kde_runtime.libcanberraWithoutGTK or true) + then libcanberra.override { gtk = null; } + else libcanberra; + + libcello = callPackage ../development/libraries/libcello {}; + + libcdaudio = callPackage ../development/libraries/libcdaudio { }; + + libcddb = callPackage ../development/libraries/libcddb { }; + + libcdio = callPackage ../development/libraries/libcdio { }; + libcdio082 = callPackage ../development/libraries/libcdio/0.82.nix { }; + + libcdr = callPackage ../development/libraries/libcdr { lcms = lcms2; }; + + libchamplain = callPackage ../development/libraries/libchamplain { + inherit (gnome) libsoup; + }; + + libchamplain_0_6 = callPackage ../development/libraries/libchamplain/0.6.nix {}; + + libchop = callPackage ../development/libraries/libchop { }; + + libcm = callPackage ../development/libraries/libcm { }; + + inherit (gnome3) libcroco; + + libcangjie = callPackage ../development/libraries/libcangjie { }; + + libcredis = callPackage ../development/libraries/libcredis { }; + + libctemplate = callPackage ../development/libraries/libctemplate { }; + + libcue = callPackage ../development/libraries/libcue { }; + + libdaemon = callPackage ../development/libraries/libdaemon { }; + + libdbi = callPackage ../development/libraries/libdbi { }; + + libdbiDriversBase = callPackage ../development/libraries/libdbi-drivers { + mysql = null; + sqlite = null; + }; + + libdbiDrivers = libdbiDriversBase.override { + inherit sqlite mysql; + }; + + libdbusmenu_qt = callPackage ../development/libraries/libdbusmenu-qt { }; + + libdc1394 = callPackage ../development/libraries/libdc1394 { }; + + libdc1394avt = callPackage ../development/libraries/libdc1394avt { }; + + libdevil = callPackage ../development/libraries/libdevil { }; + + libdiscid = callPackage ../development/libraries/libdiscid { }; + + libdivsufsort = callPackage ../development/libraries/libdivsufsort { }; + + libdmtx = callPackage ../development/libraries/libdmtx { }; + + libdnet = callPackage ../development/libraries/libdnet { }; + + libdrm = callPackage ../development/libraries/libdrm { + inherit fetchurl stdenv pkgconfig; + inherit (xorg) libpthreadstubs; + }; + + libdv = callPackage ../development/libraries/libdv { }; + + libdvbpsi = callPackage ../development/libraries/libdvbpsi { }; + + libdwg = callPackage ../development/libraries/libdwg { }; + + libdvdcss = callPackage ../development/libraries/libdvdcss { }; + + libdvdnav = callPackage ../development/libraries/libdvdnav { }; + + libdvdread = callPackage ../development/libraries/libdvdread { }; + + libdwarf = callPackage ../development/libraries/libdwarf { }; + + libeatmydata = callPackage ../development/libraries/libeatmydata { }; + + libebml = callPackage ../development/libraries/libebml { }; + + libedit = callPackage ../development/libraries/libedit { }; + + libelf = callPackage ../development/libraries/libelf { }; + + libfm = callPackage ../development/libraries/libfm { }; + + libgadu = callPackage ../development/libraries/libgadu { }; + + libgdata = gnome3.libgdata; + + libgig = callPackage ../development/libraries/libgig { }; + + libgnome_keyring = callPackage ../development/libraries/libgnome-keyring { }; + libgnome_keyring3 = gnome3.libgnome_keyring; + + libgnurl = callPackage ../development/libraries/libgnurl { }; + + libseccomp = callPackage ../development/libraries/libseccomp { }; + + libsecret = callPackage ../development/libraries/libsecret { }; + + libserialport = callPackage ../development/libraries/libserialport { }; + + libgtop = callPackage ../development/libraries/libgtop {}; + + liblo = callPackage ../development/libraries/liblo { }; + + liblrdf = librdf; + + liblscp = callPackage ../development/libraries/liblscp { }; + + libe-book = callPackage ../development/libraries/libe-book {}; + + libev = builderDefsPackage ../development/libraries/libev { }; + + libevent14 = callPackage ../development/libraries/libevent/1.4.nix { }; + libevent = callPackage ../development/libraries/libevent { }; + + libewf = callPackage ../development/libraries/libewf { }; + + libexif = callPackage ../development/libraries/libexif { }; + + libexosip = callPackage ../development/libraries/exosip {}; + + libexosip_3 = callPackage ../development/libraries/exosip/3.x.nix { + libosip = libosip_3; + }; + + libextractor = callPackage ../development/libraries/libextractor { + libmpeg2 = mpeg2dec; + }; + + libexttextcat = callPackage ../development/libraries/libexttextcat {}; + + libf2c = callPackage ../development/libraries/libf2c {}; + + libfixposix = callPackage ../development/libraries/libfixposix {}; + + libffcall = builderDefsPackage (import ../development/libraries/libffcall) { + inherit fetchcvs; + }; + + libffi = callPackage ../development/libraries/libffi { }; + + libftdi = callPackage ../development/libraries/libftdi { }; + + libftdi1 = callPackage ../development/libraries/libftdi/1.x.nix { }; + + libgcrypt = callPackage ../development/libraries/libgcrypt { }; + + libgcrypt_1_6 = lowPrio (callPackage ../development/libraries/libgcrypt/1.6.nix { }); + + libgdiplus = callPackage ../development/libraries/libgdiplus { }; + + libgksu = callPackage ../development/libraries/libgksu { }; + + libgpgerror = callPackage ../development/libraries/libgpg-error { }; + + libgphoto2 = callPackage ../development/libraries/libgphoto2 { }; + + libgphoto2_4 = callPackage ../development/libraries/libgphoto2/2.4.nix { }; + + libgpod = callPackage ../development/libraries/libgpod { + inherit (pkgs.pythonPackages) mutagen; + }; + + libharu = callPackage ../development/libraries/libharu { }; + + libical = callPackage ../development/libraries/libical { }; + + libicns = callPackage ../development/libraries/libicns { }; + + libimobiledevice = callPackage ../development/libraries/libimobiledevice { }; + + libiodbc = callPackage ../development/libraries/libiodbc { + useGTK = config.libiodbc.gtk or false; + }; + + libivykis = callPackage ../development/libraries/libivykis { }; + + liblastfmSF = callPackage ../development/libraries/liblastfmSF { }; + + liblastfm = callPackage ../development/libraries/liblastfm { }; + + liblqr1 = callPackage ../development/libraries/liblqr-1 { }; + + liblockfile = callPackage ../development/libraries/liblockfile { }; + + liblogging = callPackage ../development/libraries/liblogging { }; + + libmcrypt = callPackage ../development/libraries/libmcrypt {}; + + libmhash = callPackage ../development/libraries/libmhash {}; + + libmodbus = callPackage ../development/libraries/libmodbus {}; + + libmtp = callPackage ../development/libraries/libmtp { }; + + libmsgpack = callPackage ../development/libraries/libmsgpack { }; + + libnatspec = callPackage ../development/libraries/libnatspec { }; + + libnfc = callPackage ../development/libraries/libnfc { }; + + libnfsidmap = callPackage ../development/libraries/libnfsidmap { }; + + libnice = callPackage ../development/libraries/libnice { }; + + liboping = callPackage ../development/libraries/liboping { }; + + libplist = callPackage ../development/libraries/libplist { }; + + libQGLViewer = callPackage ../development/libraries/libqglviewer { }; + + libre = callPackage ../development/libraries/libre {}; + librem = callPackage ../development/libraries/librem {}; + + libresample = callPackage ../development/libraries/libresample {}; + + librevenge = callPackage ../development/libraries/librevenge {}; + + librevisa = callPackage ../development/libraries/librevisa { }; + + libsamplerate = callPackage ../development/libraries/libsamplerate { }; + + libspectre = callPackage ../development/libraries/libspectre { }; + + libgsf = callPackage ../development/libraries/libgsf { }; + + libiconv = callPackage ../development/libraries/libiconv { }; + + libiconvOrEmpty = if libiconvOrNull == null then [] else [libiconv]; + + libiconvOrNull = + if gcc.libc or null != null || stdenv.isGlibc + then null + else libiconv; + + # The logic behind this attribute is broken: libiconvOrNull==null does + # NOT imply libiconv=glibc! On Darwin, for example, we have a native + # libiconv library which is not glibc. + libiconvOrLibc = if libiconvOrNull == null then gcc.libc else libiconv; + + # On non-GNU systems we need GNU Gettext for libintl. + libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux) gettext; + + libid3tag = callPackage ../development/libraries/libid3tag { }; + + libidn = callPackage ../development/libraries/libidn { }; + + libiec61883 = callPackage ../development/libraries/libiec61883 { }; + + libinfinity = callPackage ../development/libraries/libinfinity { + inherit (gnome) gtkdoc; + }; + + libiptcdata = callPackage ../development/libraries/libiptcdata { }; + + libjpeg_original = callPackage ../development/libraries/libjpeg { }; + libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; + libjpeg = if (stdenv.isLinux) then libjpeg_turbo else libjpeg_original; # some problems, both on FreeBSD and Darwin + + libjpeg62 = callPackage ../development/libraries/libjpeg/62.nix { + libtool = libtool_1_5; + }; + + libjson_rpc_cpp = callPackage ../development/libraries/libjson-rpc-cpp { }; + + libkate = callPackage ../development/libraries/libkate { }; + + libksba = callPackage ../development/libraries/libksba { }; + + libmad = callPackage ../development/libraries/libmad { }; + + libmatchbox = callPackage ../development/libraries/libmatchbox { }; + + libmatthew_java = callPackage ../development/libraries/java/libmatthew-java { }; + + libmatroska = callPackage ../development/libraries/libmatroska { }; + + libmcs = callPackage ../development/libraries/libmcs { }; + + libmemcached = callPackage ../development/libraries/libmemcached { }; + + libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { }; + + libmikmod = callPackage ../development/libraries/libmikmod { + # resolve the "stray '@' in program" errors + stdenv = if stdenv.isDarwin + then overrideGCC stdenv gccApple + else stdenv; + }; + + libmilter = callPackage ../development/libraries/libmilter { }; + + libmkv = callPackage ../development/libraries/libmkv { }; + + libmms = callPackage ../development/libraries/libmms { }; + + libmowgli = callPackage ../development/libraries/libmowgli { }; + + libmng = callPackage ../development/libraries/libmng { }; + + libmnl = callPackage ../development/libraries/libmnl { }; + + libmodplug = callPackage ../development/libraries/libmodplug {}; + + libmpcdec = callPackage ../development/libraries/libmpcdec { }; + + libmp3splt = callPackage ../development/libraries/libmp3splt { }; + + libmrss = callPackage ../development/libraries/libmrss { }; + + libmsn = callPackage ../development/libraries/libmsn { }; + + libmspack = callPackage ../development/libraries/libmspack { }; + + libmusclecard = callPackage ../development/libraries/libmusclecard { }; + + libmusicbrainz2 = callPackage ../development/libraries/libmusicbrainz/2.x.nix { }; + + libmusicbrainz3 = callPackage ../development/libraries/libmusicbrainz { }; + + libmusicbrainz5 = callPackage ../development/libraries/libmusicbrainz/5.x.nix { }; + + libmusicbrainz = libmusicbrainz3; + + libmwaw = callPackage ../development/libraries/libmwaw { }; + + libmx = callPackage ../development/libraries/libmx { }; + + libnet = callPackage ../development/libraries/libnet { }; + + libnetfilter_conntrack = callPackage ../development/libraries/libnetfilter_conntrack { }; + + libnetfilter_queue = callPackage ../development/libraries/libnetfilter_queue { }; + + libnfnetlink = callPackage ../development/libraries/libnfnetlink { }; + + libnftnl = callPackage ../development/libraries/libnftnl { }; + + libnih = callPackage ../development/libraries/libnih { }; + + libnova = callPackage ../development/libraries/libnova { }; + + libnxml = callPackage ../development/libraries/libnxml { }; + + libodfgen = callPackage ../development/libraries/libodfgen { }; + + libofa = callPackage ../development/libraries/libofa { }; + + libofx = callPackage ../development/libraries/libofx { }; + + libogg = callPackage ../development/libraries/libogg { }; + + liboggz = callPackage ../development/libraries/liboggz { }; + + liboil = callPackage ../development/libraries/liboil { }; + + liboop = callPackage ../development/libraries/liboop { }; + + libopus = callPackage ../development/libraries/libopus { }; + + libosinfo = callPackage ../development/libraries/libosinfo {}; + + libosip = callPackage ../development/libraries/osip {}; + + libosip_3 = callPackage ../development/libraries/osip/3.nix {}; + + libotr = callPackage ../development/libraries/libotr { + libgcrypt = libgcrypt_1_6; + }; + + libotr_3_2 = callPackage ../development/libraries/libotr/3.2.nix { }; + + libp11 = callPackage ../development/libraries/libp11 { }; + + libpar2 = callPackage ../development/libraries/libpar2 { }; + + libpcap = callPackage ../development/libraries/libpcap { }; + + libpipeline = callPackage ../development/libraries/libpipeline { }; + + libpng = callPackage ../development/libraries/libpng { }; + libpng_apng = libpng.override { apngSupport = true; }; + libpng12 = callPackage ../development/libraries/libpng/12.nix { }; + libpng15 = callPackage ../development/libraries/libpng/15.nix { }; + + libpaper = callPackage ../development/libraries/libpaper { }; + + libproxy = callPackage ../development/libraries/libproxy { + stdenv = if stdenv.isDarwin + then overrideGCC stdenv gcc + else stdenv; + }; + + libpseudo = callPackage ../development/libraries/libpseudo { }; + + libpwquality = callPackage ../development/libraries/libpwquality { }; + + libqalculate = callPackage ../development/libraries/libqalculate { }; + + librsvg = callPackage ../development/libraries/librsvg { + gtk2 = null; gtk3 = null; # neither gtk version by default + }; + + librsync = callPackage ../development/libraries/librsync { }; + + libsearpc = callPackage ../development/libraries/libsearpc { }; + + libsigcxx = callPackage ../development/libraries/libsigcxx { }; + + libsigcxx12 = callPackage ../development/libraries/libsigcxx/1.2.nix { }; + + libsigsegv = callPackage ../development/libraries/libsigsegv { }; + + # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5 + libsigsegv_25 = callPackage ../development/libraries/libsigsegv/2.5.nix { }; + + libsndfile = callPackage ../development/libraries/libsndfile { }; + + libsodium = callPackage ../development/libraries/libsodium { }; + + libsoup = callPackage ../development/libraries/libsoup { }; + + libssh = callPackage ../development/libraries/libssh { }; + + libssh2 = callPackage ../development/libraries/libssh2 { }; + + libstartup_notification = callPackage ../development/libraries/startup-notification { }; + + libspatialindex = callPackage ../development/libraries/libspatialindex { }; + + libspatialite = callPackage ../development/libraries/libspatialite { }; + + libtar = callPackage ../development/libraries/libtar { }; + + libtasn1 = callPackage ../development/libraries/libtasn1 { }; + + libtheora = callPackage ../development/libraries/libtheora { }; + + libtiff = callPackage ../development/libraries/libtiff { }; + + libtiger = callPackage ../development/libraries/libtiger { }; + + libtommath = callPackage ../development/libraries/libtommath { }; + + libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { + # fix "unrecognized option -arch" error + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + libtoxcore = callPackage ../development/libraries/libtoxcore { }; + + libtsm = callPackage ../development/libraries/libtsm { }; + + libtunepimp = callPackage ../development/libraries/libtunepimp { }; + + libtxc_dxtn = callPackage ../development/libraries/libtxc_dxtn { }; + + libtxc_dxtn_s2tc = callPackage ../development/libraries/libtxc_dxtn_s2tc { }; + + libgeotiff = callPackage ../development/libraries/libgeotiff { }; + + libunistring = callPackage ../development/libraries/libunistring { }; + + libupnp = callPackage ../development/libraries/pupnp { }; + + giflib = callPackage ../development/libraries/giflib { }; + giflib_4_1 = callPackage ../development/libraries/giflib/4.1.nix { }; + + libungif = callPackage ../development/libraries/giflib/libungif.nix { }; + + libunibreak = callPackage ../development/libraries/libunibreak { }; + + libunique = callPackage ../development/libraries/libunique/default.nix { }; + + liburcu = callPackage ../development/libraries/liburcu { }; + + libusb = callPackage ../development/libraries/libusb {}; + + libusb1 = callPackage ../development/libraries/libusb1 { + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + libunwind = callPackage ../development/libraries/libunwind { }; + + libuvVersions = callPackage ../development/libraries/libuv { }; + + libv4l = lowPrio (v4l_utils.override { + withQt4 = false; + }); + + libva = callPackage ../development/libraries/libva { }; + + libvdpau = callPackage ../development/libraries/libvdpau { }; + + libvirt = callPackage ../development/libraries/libvirt { }; + + libvirt-glib = callPackage ../development/libraries/libvirt-glib { }; + + libvisio = callPackage ../development/libraries/libvisio { }; + + libvisual = callPackage ../development/libraries/libvisual { }; + + libvncserver = callPackage ../development/libraries/libvncserver {}; + + libviper = callPackage ../development/libraries/libviper { }; + + libvpx = callPackage ../development/libraries/libvpx { }; + + libvterm = callPackage ../development/libraries/libvterm { }; + + libvorbis = callPackage ../development/libraries/libvorbis { }; + + libwebp = callPackage ../development/libraries/libwebp { }; + + libwmf = callPackage ../development/libraries/libwmf { }; + + libwnck = libwnck2; + libwnck2 = callPackage ../development/libraries/libwnck { }; + libwnck3 = callPackage ../development/libraries/libwnck/3.x.nix { }; + + libwpd = callPackage ../development/libraries/libwpd { }; + + libwpd_08 = callPackage ../development/libraries/libwpd/0.8.nix { }; + + libwpg = callPackage ../development/libraries/libwpg { }; + + libx86 = builderDefsPackage ../development/libraries/libx86 {}; + + libxdg_basedir = callPackage ../development/libraries/libxdg-basedir { }; + + libxkbcommon = callPackage ../development/libraries/libxkbcommon { }; + + libxklavier = callPackage ../development/libraries/libxklavier { }; + + libxmi = callPackage ../development/libraries/libxmi { }; + + libxml2 = callPackage ../development/libraries/libxml2 { + pythonSupport = false; + }; + + libxml2Python = lowPrio (libxml2.override { + pythonSupport = true; + }); + + libxmlxx = callPackage ../development/libraries/libxmlxx { }; + + libxmp = callPackage ../development/libraries/libxmp { }; + + libxslt = callPackage ../development/libraries/libxslt { }; + + libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii { + inherit fetchurl stdenv; + }); + + libyaml = callPackage ../development/libraries/libyaml { }; + + libyamlcpp = callPackage ../development/libraries/libyaml-cpp { }; + libyamlcpp03 = callPackage ../development/libraries/libyaml-cpp/0.3.x.nix { }; + + libyubikey = callPackage ../development/libraries/libyubikey {}; + + libzip = callPackage ../development/libraries/libzip { }; + + libzdb = callPackage ../development/libraries/libzdb { }; + + libzrtpcpp = callPackage ../development/libraries/libzrtpcpp { }; + libzrtpcpp_1_6 = callPackage ../development/libraries/libzrtpcpp/1.6.nix { + ccrtp = ccrtp_1_8; + }; + + libwacom = callPackage ../development/libraries/libwacom { }; + + lightning = callPackage ../development/libraries/lightning { }; + + lirc = callPackage ../development/libraries/lirc { }; + + liquidfun = callPackage ../development/libraries/liquidfun { }; + + liquidwar = builderDefsPackage ../games/liquidwar { + inherit (xlibs) xproto libX11 libXrender; + inherit gmp mesa libjpeg + expat gettext perl + SDL SDL_image SDL_mixer SDL_ttf + curl sqlite + libogg libvorbis libcaca csound cunit + ; + guile = guile_1_8; + libpng = libpng15; # 0.0.13 needs libpng 1.2--1.5 + }; + + log4cpp = callPackage ../development/libraries/log4cpp { }; + + log4cxx = callPackage ../development/libraries/log4cxx { }; + + log4cplus = callPackage ../development/libraries/log4cplus { }; + + loudmouth = callPackage ../development/libraries/loudmouth { }; + + lzo = callPackage ../development/libraries/lzo { }; + + mdds_0_7_1 = callPackage ../development/libraries/mdds/0.7.1.nix { }; + mdds = callPackage ../development/libraries/mdds { }; + + # failed to build + mediastreamer = callPackage ../development/libraries/mediastreamer { }; + + menu-cache = callPackage ../development/libraries/menu-cache { }; + + mesaSupported = lib.elem system lib.platforms.mesaPlatforms; + + mesaDarwinOr = alternative: if stdenv.isDarwin + then callPackage ../development/libraries/mesa-darwin { } + else alternative; + mesa_noglu = mesaDarwinOr (callPackage ../development/libraries/mesa { + # makes it slower, but during runtime we link against just mesa_drivers + # through /run/opengl-driver*, which is overriden according to config.grsecurity + grsecEnabled = true; + }); + mesa_glu = mesaDarwinOr (callPackage ../development/libraries/mesa-glu { }); + mesa_drivers = mesaDarwinOr ( + let mo = mesa_noglu.override { + grsecEnabled = config.grsecurity or false; + }; + in mo.drivers + ); + mesa = mesaDarwinOr (buildEnv { + name = "mesa-${mesa_noglu.version}"; + paths = [ mesa_noglu mesa_glu ]; + }); + + metaEnvironment = recurseIntoAttrs (let callPackage = newScope pkgs.metaEnvironment; in rec { + sdfLibrary = callPackage ../development/libraries/sdf-library { aterm = aterm28; }; + toolbuslib = callPackage ../development/libraries/toolbuslib { aterm = aterm28; inherit (windows) w32api; }; + cLibrary = callPackage ../development/libraries/c-library { aterm = aterm28; }; + errorSupport = callPackage ../development/libraries/error-support { aterm = aterm28; }; + ptSupport = callPackage ../development/libraries/pt-support { aterm = aterm28; }; + ptableSupport = callPackage ../development/libraries/ptable-support { aterm = aterm28; }; + configSupport = callPackage ../development/libraries/config-support { aterm = aterm28; }; + asfSupport = callPackage ../development/libraries/asf-support { aterm = aterm28; }; + tideSupport = callPackage ../development/libraries/tide-support { aterm = aterm28; }; + rstoreSupport = callPackage ../development/libraries/rstore-support { aterm = aterm28; }; + sdfSupport = callPackage ../development/libraries/sdf-support { aterm = aterm28; }; + sglr = callPackage ../development/libraries/sglr { aterm = aterm28; }; + ascSupport = callPackage ../development/libraries/asc-support { aterm = aterm28; }; + pgen = callPackage ../development/libraries/pgen { aterm = aterm28; }; + }); + + ming = callPackage ../development/libraries/ming { }; + + minizip = callPackage ../development/libraries/minizip { }; + + minmay = callPackage ../development/libraries/minmay { }; + + miro = callPackage ../applications/video/miro { + inherit (pythonPackages) pywebkitgtk pysqlite pycurl mutagen; + }; + + mkvtoolnix = callPackage ../applications/video/mkvtoolnix { }; + + mlt-qt4 = callPackage ../development/libraries/mlt { + qt = qt4; + SDL = SDL_pulseaudio; + }; + + mlt-qt5 = callPackage ../development/libraries/mlt { + qt = qt5; + SDL = SDL_pulseaudio; + }; + + movit = callPackage ../development/libraries/movit { }; + + mps = callPackage ../development/libraries/mps { }; + + libmpeg2 = callPackage ../development/libraries/libmpeg2 { }; + + mpeg2dec = libmpeg2; + + msilbc = callPackage ../development/libraries/msilbc { }; + + mp4v2 = callPackage ../development/libraries/mp4v2 { }; + + mpc = callPackage ../development/libraries/mpc { }; + + mpich2 = callPackage ../development/libraries/mpich2 { }; + + mtdev = callPackage ../development/libraries/mtdev { }; + + mtpfs = callPackage ../tools/filesystems/mtpfs { }; + + mu = callPackage ../tools/networking/mu { + texinfo = texinfo4; + }; + + muparser = callPackage ../development/libraries/muparser { }; + + mygpoclient = callPackage ../development/python-modules/mygpoclient { }; + + mygui = callPackage ../development/libraries/mygui {}; + + myguiSvn = callPackage ../development/libraries/mygui/svn.nix {}; + + mysocketw = callPackage ../development/libraries/mysocketw { }; + + mythes = callPackage ../development/libraries/mythes { }; + + nanomsg = callPackage ../development/libraries/nanomsg { }; + + ncurses = callPackage ../development/libraries/ncurses { + unicode = system != "i686-cygwin"; + }; + + neon = callPackage ../development/libraries/neon { + compressionSupport = true; + sslSupport = true; + }; + + nethack = builderDefsPackage (import ../games/nethack) { + inherit ncurses flex bison; + }; + + nettle = callPackage ../development/libraries/nettle { }; + + newt = callPackage ../development/libraries/newt { }; + + nix-plugins = callPackage ../development/libraries/nix-plugins { + nix = pkgs.nixUnstable; + }; + + nspr = callPackage ../development/libraries/nspr { }; + + nss = lowPrio (callPackage ../development/libraries/nss { }); + + nssTools = callPackage ../development/libraries/nss { + includeTools = true; + }; + + ntrack = callPackage ../development/libraries/ntrack { }; + + nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { }; + + ode = builderDefsPackage (import ../development/libraries/ode) { }; + + ogre = callPackage ../development/libraries/ogre {}; + + ogrepaged = callPackage ../development/libraries/ogrepaged { }; + + oniguruma = callPackage ../development/libraries/oniguruma { }; + + openal = callPackage ../development/libraries/openal { }; + + # added because I hope that it has been easier to compile on x86 (for blender) + openalSoft = callPackage ../development/libraries/openal-soft { }; + + openbabel = callPackage ../development/libraries/openbabel { }; + + opencascade = callPackage ../development/libraries/opencascade { }; + + opencascade_6_5 = callPackage ../development/libraries/opencascade/6.5.nix { + automake = automake111x; + ftgl = ftgl212; + }; + + opencascade_oce = callPackage ../development/libraries/opencascade/oce.nix { }; + + opencsg = callPackage ../development/libraries/opencsg { }; + + openct = callPackage ../development/libraries/openct { }; + + opencv = callPackage ../development/libraries/opencv { }; + + opencv_2_1 = callPackage ../development/libraries/opencv/2.1.nix { + libpng = libpng12; + }; + + # this ctl version is needed by openexr_viewers + openexr_ctl = callPackage ../development/libraries/openexr_ctl { }; + + openexr = callPackage ../development/libraries/openexr { }; + + openldap = callPackage ../development/libraries/openldap { + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + openlierox = callPackage ../games/openlierox { }; + + libopensc_dnie = callPackage ../development/libraries/libopensc-dnie { }; + + opencolorio = callPackage ../development/libraries/opencolorio { }; + + ois = callPackage ../development/libraries/ois {}; + + opal = callPackage ../development/libraries/opal {}; + + openjpeg = callPackage ../development/libraries/openjpeg { lcms = lcms2; }; + + openscenegraph = callPackage ../development/libraries/openscenegraph { + giflib = giflib_4_1; + ffmpeg = ffmpeg_0_10; + }; + + openspades = callPackage ../games/openspades {}; + + libressl = callPackage ../development/libraries/libressl { }; + + boringssl = callPackage ../development/libraries/boringssl { }; + + openssl = callPackage ../development/libraries/openssl { + fetchurl = fetchurlBoot; + cryptodevHeaders = linuxPackages.cryptodev.override { + fetchurl = fetchurlBoot; + onlyHeaders = true; + }; + }; + + ortp = callPackage ../development/libraries/ortp { + srtp = srtp_linphone; + }; + + p11_kit = callPackage ../development/libraries/p11-kit { }; + + paperkey = callPackage ../tools/security/paperkey { }; + + pangoxsl = callPackage ../development/libraries/pangoxsl { }; + + pcl = callPackage ../development/libraries/pcl { + vtk = vtkWithQt4; + }; + + pcre = callPackage ../development/libraries/pcre { + unicodeSupport = config.pcre.unicode or true; + }; + + pdf2xml = callPackage ../development/libraries/pdf2xml {} ; + + phonon = callPackage ../development/libraries/phonon { }; + + phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { }; + + phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { }; + + physfs = callPackage ../development/libraries/physfs { }; + + pkcs11helper = callPackage ../development/libraries/pkcs11helper { }; + + plib = callPackage ../development/libraries/plib { }; + + pocketsphinx = callPackage ../development/libraries/pocketsphinx { }; + + podofo = callPackage ../development/libraries/podofo { }; + + polkit = callPackage ../development/libraries/polkit { + spidermonkey = spidermonkey_185; + }; + + polkit_qt_1 = callPackage ../development/libraries/polkit-qt-1 { }; + + policykit = callPackage ../development/libraries/policykit { }; + + poppler = callPackage ../development/libraries/poppler { lcms = lcms2; }; + popplerQt4 = poppler.poppler_qt4; + + popt = callPackage ../development/libraries/popt { }; + + portaudio = callPackage ../development/libraries/portaudio { + # resolves a variety of compile-time errors + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + portaudioSVN = callPackage ../development/libraries/portaudio/svn-head.nix { }; + + portmidi = callPackage ../development/libraries/portmidi {}; + + prison = callPackage ../development/libraries/prison { }; + + proj = callPackage ../development/libraries/proj { }; + + postgis = callPackage ../development/libraries/postgis { }; + + protobuf = callPackage ../development/libraries/protobuf { }; + + protobufc = callPackage ../development/libraries/protobufc { }; + + pth = callPackage ../development/libraries/pth { }; + + ptlib = callPackage ../development/libraries/ptlib {}; + + re2 = callPackage ../development/libraries/re2 { }; + + qca2 = callPackage ../development/libraries/qca2 {}; + + qca2_ossl = callPackage ../development/libraries/qca2/ossl.nix {}; + + qimageblitz = callPackage ../development/libraries/qimageblitz {}; + + qjson = callPackage ../development/libraries/qjson { }; + + qoauth = callPackage ../development/libraries/qoauth { }; + + qt3 = callPackage ../development/libraries/qt-3 { + openglSupport = mesaSupported; + libpng = libpng12; + }; + + qt4 = pkgs.kde4.qt4; + + qt48 = callPackage ../development/libraries/qt-4.x/4.8 { + # GNOME dependencies are not used unless gtkStyle == true + mesa = mesa_noglu; + inherit (pkgs.gnome) libgnomeui GConf gnome_vfs; + cups = if stdenv.isLinux then cups else null; + + # resolve unrecognised flag '-fconstant-cfstrings' errors + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + qt48Full = qt48.override { + docs = true; + demos = true; + examples = true; + developerBuild = true; + }; + + qt4SDK = qtcreator.override { + sdkBuild = true; + qtLib = qt48Full; + }; + + qt53Full = qt53.override { + buildDocs = true; + buildExamples = true; + buildTests = true; + developerBuild = true; + }; + + qt53 = callPackage ../development/libraries/qt-5/qt-5.3.nix { + mesa = mesa_noglu; + cups = if stdenv.isLinux then cups else null; + # GNOME dependencies are not used unless gtkStyle == true + inherit (gnome) libgnomeui GConf gnome_vfs; + bison = bison2; # error: too few arguments to function 'int yylex(... + }; + + qt5 = callPackage ../development/libraries/qt-5 { + mesa = mesa_noglu; + cups = if stdenv.isLinux then cups else null; + # GNOME dependencies are not used unless gtkStyle == true + inherit (gnome) libgnomeui GConf gnome_vfs; + bison = bison2; # error: too few arguments to function 'int yylex(... + }; + + qt5Full = qt5.override { + buildDocs = true; + buildExamples = true; + buildTests = true; + developerBuild = true; + }; + + qt5SDK = qtcreator.override { + sdkBuild = true; + qtLib = qt5Full; + }; + + qtcreator = callPackage ../development/qtcreator { + qtLib = qt48.override { developerBuild = true; }; + }; + + qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { }; + + quesoglc = callPackage ../development/libraries/quesoglc { }; + + qwt = callPackage ../development/libraries/qwt {}; + + qwt6 = callPackage ../development/libraries/qwt/6.nix { }; + + rabbitmq-c = callPackage ../development/libraries/rabbitmq-c {}; + + rabbitmq-java-client = callPackage ../development/libraries/rabbitmq-java-client {}; + + raul = callPackage ../development/libraries/audio/raul { }; + + readline = readline6; # 6.2 works, 6.3 breaks python, parted + + readline4 = callPackage ../development/libraries/readline/readline4.nix { }; + + readline5 = callPackage ../development/libraries/readline/readline5.nix { }; + + readline6 = callPackage ../development/libraries/readline/readline6.nix { }; + + readline63 = callPackage ../development/libraries/readline/readline6.3.nix { }; + + librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { }; + + librdf_raptor2 = callPackage ../development/libraries/librdf/raptor2.nix { }; + + librdf_rasqal = callPackage ../development/libraries/librdf/rasqal.nix { }; + + librdf_redland = callPackage ../development/libraries/librdf/redland.nix { }; + + librdf = callPackage ../development/libraries/librdf { }; + + lilv = callPackage ../development/libraries/audio/lilv { }; + + lv2 = callPackage ../development/libraries/audio/lv2 { }; + + lvtk = callPackage ../development/libraries/audio/lvtk { }; + + qrupdate = callPackage ../development/libraries/qrupdate { }; + + redland = pkgs.librdf_redland; + + rhino = callPackage ../development/libraries/java/rhino { + javac = gcj; + jvm = gcj; + }; + + rlog = callPackage ../development/libraries/rlog { }; + + rubberband = callPackage ../development/libraries/rubberband { + fftw = fftwSinglePrec; + inherit (vamp) vampSDK; + }; + + sbc = callPackage ../development/libraries/sbc { }; + + schroedinger = callPackage ../development/libraries/schroedinger { }; + + SDL = callPackage ../development/libraries/SDL { + openglSupport = mesaSupported; + alsaSupport = (!stdenv.isDarwin); + x11Support = true; + pulseaudioSupport = stdenv.isDarwin; # better go through ALSA + + # resolve the unrecognized -fpascal-strings option error + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + # Fixes major problems with choppy sound in MLT / Kdenlive / Shotcut + SDL_pulseaudio = SDL.override { pulseaudioSupport = true; }; + + SDL_gfx = callPackage ../development/libraries/SDL_gfx { }; + + SDL_image = callPackage ../development/libraries/SDL_image { + # provide an Objective-C compiler + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + SDL_mixer = callPackage ../development/libraries/SDL_mixer { }; + + SDL_net = callPackage ../development/libraries/SDL_net { }; + + SDL_sound = callPackage ../development/libraries/SDL_sound { }; + + SDL_ttf = callPackage ../development/libraries/SDL_ttf { }; + + SDL2 = callPackage ../development/libraries/SDL2 { + openglSupport = mesaSupported; + alsaSupport = true; + x11Support = true; + pulseaudioSupport = false; # better go through ALSA + }; + + SDL2_image = callPackage ../development/libraries/SDL2_image { }; + + SDL2_mixer = callPackage ../development/libraries/SDL2_mixer { }; + + SDL2_net = callPackage ../development/libraries/SDL2_net { }; + + SDL2_gfx = callPackage ../development/libraries/SDL2_gfx { }; + + serd = callPackage ../development/libraries/serd {}; + + serf = callPackage ../development/libraries/serf {}; + + silgraphite = callPackage ../development/libraries/silgraphite {}; + graphite2 = callPackage ../development/libraries/silgraphite/graphite2.nix {}; + + simgear = callPackage ../development/libraries/simgear { }; + + sfml_git = callPackage ../development/libraries/sfml { }; + + skalibs = callPackage ../development/libraries/skalibs { }; + + slang = callPackage ../development/libraries/slang { }; + + slibGuile = callPackage ../development/libraries/slib { + scheme = guile_1_8; + texinfo = texinfo4; # otherwise erros: must be after `@defun' to use `@defunx' + }; + + smpeg = callPackage ../development/libraries/smpeg { }; + + snack = callPackage ../development/libraries/snack { + # optional + }; + + snappy = callPackage ../development/libraries/snappy { }; + + sodium = callPackage ../development/libraries/sodium {}; + + sofia_sip = callPackage ../development/libraries/sofia-sip { }; + + soprano = callPackage ../development/libraries/soprano { }; + + soqt = callPackage ../development/libraries/soqt { }; + + sord = callPackage ../development/libraries/sord {}; + + spandsp = callPackage ../development/libraries/spandsp {}; + + speechd = callPackage ../development/libraries/speechd { }; + + speech_tools = callPackage ../development/libraries/speech-tools {}; + + speex = callPackage ../development/libraries/speex { }; + + sphinxbase = callPackage ../development/libraries/sphinxbase { }; + + spice = callPackage ../development/libraries/spice { + celt = celt_0_5_1; + inherit (xlibs) libXrandr libXfixes libXext libXrender libXinerama; + inherit (pythonPackages) pyparsing; + }; + + spice_gtk = callPackage ../development/libraries/spice-gtk { }; + + spice_protocol = callPackage ../development/libraries/spice-protocol { }; + + sratom = callPackage ../development/libraries/audio/sratom { }; + + srtp = callPackage ../development/libraries/srtp {}; + + srtp_linphone = callPackage ../development/libraries/srtp/linphone.nix { }; + + sqlite = lowPrio (callPackage ../development/libraries/sqlite { + readline = null; + ncurses = null; + }); + + sqliteInteractive = appendToName "interactive" (sqlite.override { + inherit readline ncurses; + }); + + sqlcipher = lowPrio (callPackage ../development/libraries/sqlcipher { + readline = null; + ncurses = null; + }); + + stfl = callPackage ../development/libraries/stfl { + stdenv = if stdenv.isDarwin + then overrideGCC stdenv gccApple + else stdenv; + }; + + stlink = callPackage ../development/tools/misc/stlink { }; + + steghide = callPackage ../tools/security/steghide {}; + + stepmania = callPackage ../games/stepmania {}; + + stlport = callPackage ../development/libraries/stlport { }; + + strigi = callPackage ../development/libraries/strigi { clucene_core = clucene_core_2; }; + + subtitleeditor = callPackage ../applications/video/subtitleeditor { }; + + suil = callPackage ../development/libraries/audio/suil { }; + + suitesparse = callPackage ../development/libraries/suitesparse { }; + + sutils = callPackage ../tools/misc/sutils { }; + + sword = callPackage ../development/libraries/sword { }; + + szip = callPackage ../development/libraries/szip { }; + + t1lib = callPackage ../development/libraries/t1lib { }; + + taglib = callPackage ../development/libraries/taglib { }; + + taglib_extras = callPackage ../development/libraries/taglib-extras { }; + + talloc = callPackage ../development/libraries/talloc { }; + + tclap = callPackage ../development/libraries/tclap {}; + + tclgpg = callPackage ../development/libraries/tclgpg { }; + + tcllib = callPackage ../development/libraries/tcllib { }; + + tcltls = callPackage ../development/libraries/tcltls { }; + + tdb = callPackage ../development/libraries/tdb { }; + + tecla = callPackage ../development/libraries/tecla { }; + + telepathy_glib = callPackage ../development/libraries/telepathy/glib { }; + + telepathy_farstream = callPackage ../development/libraries/telepathy/farstream {}; + + telepathy_qt = callPackage ../development/libraries/telepathy/qt { }; + + thrift = callPackage ../development/libraries/thrift { }; + + tinyxml = tinyxml2; + + tinyxml2 = callPackage ../development/libraries/tinyxml/2.6.2.nix { }; + + tk = callPackage ../development/libraries/tk { }; + + tnt = callPackage ../development/libraries/tnt { }; + + tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { }; + tokyotyrant = callPackage ../development/libraries/tokyo-tyrant { }; + + tremor = callPackage ../development/libraries/tremor { }; + + unicap = callPackage ../development/libraries/unicap {}; + + tsocks = callPackage ../development/libraries/tsocks { }; + + unixODBC = callPackage ../development/libraries/unixODBC { }; + + unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers { + inherit fetchurl stdenv unixODBC glibc libtool openssl zlib; + inherit postgresql mysql sqlite; + }); + + urt = callPackage ../development/libraries/urt { }; + + ustr = callPackage ../development/libraries/ustr { }; + + usbredir = callPackage ../development/libraries/usbredir { + libusb = libusb1; + }; + + ucommon = callPackage ../development/libraries/ucommon { }; + + v8 = callPackage ../development/libraries/v8 { + inherit (pythonPackages) gyp; + }; + + vaapiIntel = callPackage ../development/libraries/vaapi-intel { }; + + vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { }; + + vamp = callPackage ../development/libraries/audio/vamp { }; + + vcdimager = callPackage ../development/libraries/vcdimager { }; + + vigra = callPackage ../development/libraries/vigra { + inherit (pkgs.pythonPackages) numpy; + }; + + vlock = callPackage ../misc/screensavers/vlock { }; + + vmime = callPackage ../development/libraries/vmime { }; + + vrpn = callPackage ../development/libraries/vrpn { }; + + vtk = callPackage ../development/libraries/vtk { }; + + vtkWithQt4 = vtk.override { qtLib = qt4; }; + + vxl = callPackage ../development/libraries/vxl { + libpng = libpng12; + }; + + wayland = callPackage ../development/libraries/wayland { }; + + webkit = webkitgtk; + + webkitgtk = callPackage ../development/libraries/webkitgtk { + harfbuzz = harfbuzz.override { + withIcu = true; + }; + gst-plugins-base = gst_all_1.gst-plugins-base; + }; + + webkitgtk2 = webkitgtk.override { + withGtk2 = true; + enableIntrospection = false; + }; + + wildmidi = callPackage ../development/libraries/wildmidi { }; + + wvstreams = callPackage ../development/libraries/wvstreams { }; + + wxGTK = wxGTK28; + + wxGTK28 = callPackage ../development/libraries/wxGTK-2.8 { + inherit (gnome) GConf; + withMesa = lib.elem system lib.platforms.mesaPlatforms; + }; + + wxGTK29 = callPackage ../development/libraries/wxGTK-2.9/default.nix { + inherit (gnome) GConf; + withMesa = lib.elem system lib.platforms.mesaPlatforms; + + # use for Objective-C++ compiler + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + wxGTK30 = callPackage ../development/libraries/wxGTK-3.0/default.nix { + inherit (gnome) GConf; + withMesa = lib.elem system lib.platforms.mesaPlatforms; + + # use for Objective-C++ compiler + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + wtk = callPackage ../development/libraries/wtk { }; + + x264 = callPackage ../development/libraries/x264 { }; + + xapian = callPackage ../development/libraries/xapian { }; + + xapianBindings = callPackage ../development/libraries/xapian/bindings { # TODO perl php Java, tcl, C#, python + }; + + xapian10 = callPackage ../development/libraries/xapian/1.0.x.nix { }; + + xapianBindings10 = callPackage ../development/libraries/xapian/bindings/1.0.x.nix { # TODO perl php Java, tcl, C#, python + }; + + Xaw3d = callPackage ../development/libraries/Xaw3d { }; + + xbase = callPackage ../development/libraries/xbase { }; + + xcb-util-cursor = callPackage ../development/libraries/xcb-util-cursor { }; + + xdo = callPackage ../tools/misc/xdo { }; + + xineLib = callPackage ../development/libraries/xine-lib { + ffmpeg = ffmpeg_1; + }; + + xautolock = callPackage ../misc/screensavers/xautolock { }; + + xercesc = callPackage ../development/libraries/xercesc {}; + + xlibsWrapper = callPackage ../development/libraries/xlibs-wrapper { + packages = [ + freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt + xlibs.libXft xlibs.libXext xlibs.libSM xlibs.libICE + xlibs.xextproto + ]; + }; + + xmlrpc_c = callPackage ../development/libraries/xmlrpc-c { }; + + xmlsec = callPackage ../development/libraries/xmlsec { }; + + xvidcore = callPackage ../development/libraries/xvidcore { }; + + xylib = callPackage ../development/libraries/xylib { }; + + yajl = callPackage ../development/libraries/yajl { }; + + zangband = builderDefsPackage (import ../games/zangband) { + inherit ncurses flex bison autoconf automake m4 coreutils; + }; + + zeitgeist = callPackage ../development/libraries/zeitgeist { }; + + zlib = callPackage ../development/libraries/zlib { + fetchurl = fetchurlBoot; + }; + + zlibStatic = lowPrio (appendToName "static" (callPackage ../development/libraries/zlib { + static = true; + })); + + zeromq2 = callPackage ../development/libraries/zeromq/2.x.nix {}; + zeromq3 = callPackage ../development/libraries/zeromq/3.x.nix {}; + zeromq4 = callPackage ../development/libraries/zeromq/4.x.nix {}; + + zziplib = callPackage ../development/libraries/zziplib { }; + + + ### DEVELOPMENT / LIBRARIES / JAVA + + atermjava = callPackage ../development/libraries/java/aterm { + stdenv = overrideInStdenv stdenv [gnumake380]; + }; + + commonsFileUpload = callPackage ../development/libraries/java/jakarta-commons/file-upload { }; + + fastjar = callPackage ../development/tools/java/fastjar { }; + + httpunit = callPackage ../development/libraries/java/httpunit { }; + + gwtdragdrop = callPackage ../development/libraries/java/gwt-dragdrop { }; + + gwtwidgets = callPackage ../development/libraries/java/gwt-widgets { }; + + jakartabcel = callPackage ../development/libraries/java/jakarta-bcel { + regexp = jakartaregexp; + }; + + jakartaregexp = callPackage ../development/libraries/java/jakarta-regexp { }; + + javaCup = callPackage ../development/libraries/java/cup { }; + + javasvn = callPackage ../development/libraries/java/javasvn { }; + + jclasslib = callPackage ../development/tools/java/jclasslib { }; + + jdom = callPackage ../development/libraries/java/jdom { }; + + jflex = callPackage ../development/libraries/java/jflex { }; + + jjtraveler = callPackage ../development/libraries/java/jjtraveler { + stdenv = overrideInStdenv stdenv [gnumake380]; + }; + + junit = callPackage ../development/libraries/java/junit { antBuild = releaseTools.antBuild; }; + + junixsocket = callPackage ../development/libraries/java/junixsocket { }; + + jzmq = callPackage ../development/libraries/java/jzmq { }; + + lucene = callPackage ../development/libraries/java/lucene { }; + + mockobjects = callPackage ../development/libraries/java/mockobjects { }; + + saxon = callPackage ../development/libraries/java/saxon { }; + + saxonb = callPackage ../development/libraries/java/saxon/default8.nix { }; + + sharedobjects = callPackage ../development/libraries/java/shared-objects { + stdenv = overrideInStdenv stdenv [gnumake380]; + }; + + smack = callPackage ../development/libraries/java/smack { }; + + swt = callPackage ../development/libraries/java/swt { + inherit (gnome) libsoup; + }; + + + ### DEVELOPMENT / LIBRARIES / JAVASCRIPT + + jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { }; + + yuicompressor = callPackage ../development/tools/yuicompressor { }; + + ### DEVELOPMENT / LISP MODULES + + asdf = callPackage ../development/lisp-modules/asdf { + texLive = null; + }; + + clwrapperFunction = callPackage ../development/lisp-modules/clwrapper; + + wrapLisp = lisp: clwrapperFunction { inherit lisp; }; + + lispPackagesFor = clwrapper: callPackage ../development/lisp-modules/lisp-packages.nix { + inherit clwrapper; + }; + + lispPackagesClisp = lispPackagesFor (wrapLisp clisp); + lispPackagesSBCL = lispPackagesFor (wrapLisp sbcl); + lispPackages = recurseIntoAttrs lispPackagesSBCL; + + + ### DEVELOPMENT / PERL MODULES + + buildPerlPackage = import ../development/perl-modules/generic perl; + + perlPackages = recurseIntoAttrs (import ./perl-packages.nix { + inherit pkgs; + overrides = (config.perlPackageOverrides or (p: {})) pkgs; + }); + + perl514Packages = import ./perl-packages.nix { + pkgs = pkgs // { + perl = perl514; + buildPerlPackage = import ../development/perl-modules/generic perl514; + }; + overrides = (config.perl514PackageOverrides or (p: {})) pkgs; + }; + + perlXMLParser = perlPackages.XMLParser; + + ack = perlPackages.ack; + + perlArchiveCpio = perlPackages.ArchiveCpio; + + perlcritic = perlPackages.PerlCritic; + + planetary_annihilation = callPackage ../games/planetaryannihilation { }; + + + ### DEVELOPMENT / PYTHON MODULES + + # python function with default python interpreter + buildPythonPackage = pythonPackages.buildPythonPackage; + + # `nix-env -i python-nose` installs for 2.7, the default python. + # Therefore we do not recurse into attributes here, in contrast to + # python27Packages. `nix-env -iA python26Packages.nose` works + # regardless. + python26Packages = import ./python-packages.nix { + inherit pkgs; + python = python26; + }; + + python27Packages = lib.hiPrioSet (recurseIntoAttrs (import ./python-packages.nix { + inherit pkgs; + python = python27; + })); + + python32Packages = import ./python-packages.nix { + inherit pkgs; + python = python32; + }; + + python33Packages = recurseIntoAttrs (import ./python-packages.nix { + inherit pkgs; + python = python33; + }); + + python34Packages = recurseIntoAttrs (import ./python-packages.nix { + inherit pkgs; + python = python34; + }); + + pypyPackages = recurseIntoAttrs (import ./python-packages.nix { + inherit pkgs; + python = pypy; + }); + + foursuite = callPackage ../development/python-modules/4suite { }; + + bsddb3 = callPackage ../development/python-modules/bsddb3 { }; + + ecdsa = callPackage ../development/python-modules/ecdsa { }; + + numeric = callPackage ../development/python-modules/numeric { }; + + pil = pythonPackages.pil; + + psyco = callPackage ../development/python-modules/psyco { }; + + pycairo = pythonPackages.pycairo; + + pycapnp = pythonPackages.pycapnp; + + pycrypto = pythonPackages.pycrypto; + + pycups = callPackage ../development/python-modules/pycups { }; + + pyexiv2 = callPackage ../development/python-modules/pyexiv2 { }; + + pygame = callPackage ../development/python-modules/pygame { }; + + pygobject = pythonPackages.pygobject; + + pygobject3 = pythonPackages.pygobject3; + + pygtk = pythonPackages.pygtk; + + pyGtkGlade = pythonPackages.pyGtkGlade; + + pylint = callPackage ../development/python-modules/pylint { }; + + pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) { + inherit python openssl; + }; + + rhpl = callPackage ../development/python-modules/rhpl { }; + + sip = callPackage ../development/python-modules/sip { }; + + pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + + pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { }; + + pysideGeneratorrunner = callPackage ../development/python-modules/pyside/generatorrunner.nix { }; + + pyside = callPackage ../development/python-modules/pyside { }; + + pysideTools = callPackage ../development/python-modules/pyside/tools.nix { }; + + pysideShiboken = callPackage ../development/python-modules/pyside/shiboken.nix { }; + + pyx = callPackage ../development/python-modules/pyx { }; + + pyxml = callPackage ../development/python-modules/pyxml { }; + + rbtools = callPackage ../development/python-modules/rbtools { }; + + setuptools = pythonPackages.setuptools; + + slowaes = callPackage ../development/python-modules/slowaes { }; + + wxPython = pythonPackages.wxPython; + wxPython28 = pythonPackages.wxPython28; + + twisted = pythonPackages.twisted; + + ZopeInterface = pythonPackages.zope_interface; + + ### DEVELOPMENT / R MODULES + + R = callPackage ../applications/science/math/R { + inherit (xlibs) libX11 libXt; + texLive = texLiveAggregationFun { paths = [ texLive texLiveExtra ]; }; + withRecommendedPackages = false; + }; + + rWrapper = callPackage ../development/r-modules/wrapper.nix { + # Those packages are usually installed as part of the R build. + recommendedPackages = with rPackages; [ MASS lattice Matrix nlme + survival boot cluster codetools foreign KernSmooth rpart class + nnet spatial mgcv ]; + # Override this attribute to register additional libraries. + packages = []; + }; + + rPackages = import ../development/r-modules/cran-packages.nix { + inherit pkgs; + overrides = (config.rPackageOverrides or (p: {})) pkgs; + }; + + ### SERVERS + + rdf4store = callPackage ../servers/http/4store { }; + + apacheHttpd = pkgs.apacheHttpd_2_2; + + apacheHttpd_2_2 = callPackage ../servers/http/apache-httpd/2.2.nix { + sslSupport = true; + }; + + apacheHttpd_2_4 = lowPrio (callPackage ../servers/http/apache-httpd/2.4.nix { + sslSupport = true; + }); + + apcupsd = callPackage ../servers/apcupsd { }; + + sabnzbd = callPackage ../servers/sabnzbd { }; + + bind = callPackage ../servers/dns/bind { }; + + bird = callPackage ../servers/bird { }; + + couchdb = callPackage ../servers/http/couchdb { + spidermonkey = spidermonkey_185; + python = python27; + sphinx = python27Packages.sphinx; + erlang = erlangR16; + }; + + dico = callPackage ../servers/dico { }; + + dict = callPackage ../servers/dict { + libmaa = callPackage ../servers/dict/libmaa.nix {}; + }; + + dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix { + inherit builderDefs; + }); + + dictDBCollector = import ../servers/dict/dictd-db-collector.nix { + inherit stdenv lib dict; + }; + + dictdWiktionary = callPackage ../servers/dict/dictd-wiktionary.nix {}; + + dictdWordnet = callPackage ../servers/dict/dictd-wordnet.nix {}; + + diod = callPackage ../servers/diod { }; + + dovecot = dovecot21; + + dovecot21 = callPackage ../servers/mail/dovecot { }; + + dovecot22 = callPackage ../servers/mail/dovecot/2.2.x.nix { }; + + dovecot_pigeonhole = callPackage ../servers/mail/dovecot-pigeonhole { }; + + etcd = callPackage ../servers/etcd { }; + + ejabberd = callPackage ../servers/xmpp/ejabberd { + erlang = erlangR16; + }; + + elasticmq = callPackage ../servers/elasticmq { }; + + etcdctl = callPackage ../development/tools/etcdctl { }; + + fcgiwrap = callPackage ../servers/fcgiwrap { }; + + felix = callPackage ../servers/felix { }; + + felix_remoteshell = callPackage ../servers/felix/remoteshell.nix { }; + + fingerd_bsd = callPackage ../servers/fingerd/bsd-fingerd { }; + + firebird = callPackage ../servers/firebird { icu = null; }; + firebirdSuper = callPackage ../servers/firebird { superServer = true; }; + + fleet = callPackage ../servers/fleet { }; + + freepops = callPackage ../servers/mail/freepops { }; + + freeswitch = callPackage ../servers/sip/freeswitch { }; + + ghostOne = callPackage ../servers/games/ghost-one { + boost = boost144.override { taggedLayout = true; }; + }; + + ircdHybrid = callPackage ../servers/irc/ircd-hybrid { }; + + jboss = callPackage ../servers/http/jboss { }; + + jboss_mysql_jdbc = callPackage ../servers/http/jboss/jdbc/mysql { }; + + jetty = callPackage ../servers/http/jetty { }; + + jetty61 = callPackage ../servers/http/jetty/6.1 { }; + + joseki = callPackage ../servers/http/joseki {}; + + leafnode = callPackage ../servers/news/leafnode { }; + + lighttpd = callPackage ../servers/http/lighttpd { }; + + mailman = callPackage ../servers/mail/mailman { }; + + mediatomb = callPackage ../servers/mediatomb { }; + + memcached = callPackage ../servers/memcached {}; + + mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd/default.nix { }; + + mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { }; + + mod_python = callPackage ../servers/http/apache-modules/mod_python { }; + + mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { }; + + mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { }; + + mpd = callPackage ../servers/mpd { + aacSupport = config.mpd.aacSupport or true; + ffmpegSupport = config.mpd.ffmpegSupport or true; + }; + + mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { }; + + miniHttpd = callPackage ../servers/http/mini-httpd {}; + + mlmmj = callPackage ../servers/mail/mlmmj { }; + + myserver = callPackage ../servers/http/myserver { }; + + nginx = callPackage ../servers/http/nginx { + rtmp = true; + fullWebDAV = true; + syslog = true; + moreheaders = true; + }; + + ngircd = callPackage ../servers/irc/ngircd { }; + + nix-binary-cache = callPackage ../servers/http/nix-binary-cache {}; + + nsd = callPackage ../servers/dns/nsd { }; + + nsq = callPackage ../servers/nsq { }; + + openresty = callPackage ../servers/http/openresty { }; + + opensmtpd = callPackage ../servers/mail/opensmtpd { }; + + petidomo = callPackage ../servers/mail/petidomo { }; + + popa3d = callPackage ../servers/mail/popa3d { }; + + postfix = callPackage ../servers/mail/postfix { }; + + postfix211 = callPackage ../servers/mail/postfix/2.11.nix { }; + + pulseaudio = callPackage ../servers/pulseaudio { + gconf = gnome.GConf; + # The following are disabled in the default build, because if this + # functionality is desired, they are only needed in the PulseAudio + # server. + bluez = null; + avahi = null; + }; + pulseaudioFull = pulseaudio.override { + bluez = bluez5; + avahi = avahi; + jackaudioSupport = true; + x11Support = true; + }; + + tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { }; + + pies = callPackage ../servers/pies { }; + + portmap = callPackage ../servers/portmap { }; + + rpcbind = callPackage ../servers/rpcbind { }; + + #monetdb = callPackage ../servers/sql/monetdb { }; + + mariadb = callPackage ../servers/sql/mariadb {}; + + mongodb = callPackage ../servers/nosql/mongodb { }; + + riak = callPackage ../servers/nosql/riak/1.3.1.nix { }; + + influxdb = callPackage ../servers/nosql/influxdb { }; + + mysql51 = import ../servers/sql/mysql/5.1.x.nix { + inherit fetchurl ncurses zlib perl openssl stdenv; + ps = procps; /* !!! Linux only */ + }; + + mysql55 = callPackage ../servers/sql/mysql/5.5.x.nix { }; + + mysql = mysql51; + + mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { }; + + nagios = callPackage ../servers/monitoring/nagios { }; + + munin = callPackage ../servers/monitoring/munin { }; + + nagiosPluginsOfficial = callPackage ../servers/monitoring/nagios/plugins/official-2.x.nix { }; + + neo4j = callPackage ../servers/nosql/neo4j { }; + + net_snmp = callPackage ../servers/monitoring/net-snmp { }; + + riemann = callPackage ../servers/monitoring/riemann { }; + + oidentd = callPackage ../servers/identd/oidentd { }; + + openfire = callPackage ../servers/xmpp/openfire { }; + + oracleXE = callPackage ../servers/sql/oracle-xe { }; + + OVMF = callPackage ../applications/virtualization/OVMF { }; + + postgresql = postgresql92; + + postgresql84 = callPackage ../servers/sql/postgresql/8.4.x.nix { }; + + postgresql90 = callPackage ../servers/sql/postgresql/9.0.x.nix { }; + + postgresql91 = callPackage ../servers/sql/postgresql/9.1.x.nix { }; + + postgresql92 = callPackage ../servers/sql/postgresql/9.2.x.nix { }; + + postgresql93 = callPackage ../servers/sql/postgresql/9.3.x.nix { }; + + postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { }; + + psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { }; + + pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) { + inherit xmpppy pythonIRClib python makeWrapper; + }; + + pyMAILt = builderDefsPackage (import ../servers/xmpp/pyMAILt) { + inherit xmpppy python makeWrapper fetchcvs; + }; + + qpid-cpp = callPackage ../servers/amqp/qpid-cpp { }; + + rabbitmq_server = callPackage ../servers/amqp/rabbitmq-server { }; + + radius = callPackage ../servers/radius { }; + + redis = callPackage ../servers/nosql/redis { }; + + redstore = callPackage ../servers/http/redstore { }; + + restund = callPackage ../servers/restund {}; + + rethinkdb = callPackage ../servers/nosql/rethinkdb { }; + + rippled = callPackage ../servers/rippled { }; + + s6 = callPackage ../servers/s6 { }; + + spamassassin = callPackage ../servers/mail/spamassassin { + inherit (perlPackages) HTMLParser NetDNS NetAddrIP DBFile + HTTPDate MailDKIM LWP IOSocketSSL; + }; + + samba = callPackage ../servers/samba { }; + + # A lightweight Samba, useful for non-Linux-based OSes. + samba_light = lowPrio (callPackage ../servers/samba { + pam = null; + fam = null; + cups = null; + acl = null; + openldap = null; + # libunwind 1.0.1 is not ported to GNU/Hurd. + libunwind = null; + }); + + serfdom = callPackage ../servers/serfdom { }; + + seyren = callPackage ../servers/monitoring/seyren { }; + + shishi = callPackage ../servers/shishi { }; + + sipwitch = callPackage ../servers/sip/sipwitch { }; + + spawn_fcgi = callPackage ../servers/http/spawn-fcgi { }; + + squids = recurseIntoAttrs( import ../servers/squid/squids.nix { + inherit fetchurl stdenv perl lib composableDerivation + openldap pam db cyrus_sasl kerberos libcap expat libxml2 libtool + openssl; + }); + squid = squids.squid31; # has ipv6 support + + thttpd = callPackage ../servers/http/thttpd { }; + + storm = callPackage ../servers/computing/storm { }; + + tomcat5 = callPackage ../servers/http/tomcat/5.0.nix { }; + + tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { }; + + tomcat7 = callPackage ../servers/http/tomcat/7.0.nix { }; + + tomcat8 = callPackage ../servers/http/tomcat/8.0.nix { }; + + tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { }; + + axis2 = callPackage ../servers/http/tomcat/axis2 { }; + + unifi = callPackage ../servers/unifi { }; + + virtuoso6 = callPackage ../servers/sql/virtuoso/6.x.nix { }; + + virtuoso7 = callPackage ../servers/sql/virtuoso/7.x.nix { }; + + virtuoso = virtuoso6; + + vsftpd = callPackage ../servers/ftp/vsftpd { }; + + winstone = callPackage ../servers/http/winstone { }; + + xinetd = callPackage ../servers/xinetd { }; + + zookeeper = callPackage ../servers/zookeeper { }; + + xquartz = callPackage ../servers/x11/xquartz { }; + quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; }; + + xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix { + inherit clangStdenv fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig + libxslt expat libpng zlib perl mesa_drivers spice_protocol + dbus libuuid openssl gperf m4 + autoconf automake libtool xmlto asciidoc flex bison python mtdev pixman; + mesa = mesa_noglu; + udev = if stdenv.isLinux then udev else null; + libdrm = if stdenv.isLinux then libdrm else null; + } // { + xf86videointel-testing = callPackage ../servers/x11/xorg/xf86-video-intel-testing.nix { }; + }); + + xorgReplacements = callPackage ../servers/x11/xorg/replacements.nix { }; + + xorgVideoUnichrome = callPackage ../servers/x11/xorg/unichrome/default.nix { }; + + yaws = callPackage ../servers/http/yaws { }; + + zabbix = recurseIntoAttrs (import ../servers/monitoring/zabbix { + inherit fetchurl stdenv pkgconfig postgresql curl openssl zlib; + }); + + zabbix20 = callPackage ../servers/monitoring/zabbix/2.0.nix { }; + zabbix22 = callPackage ../servers/monitoring/zabbix/2.2.nix { }; + + + ### OS-SPECIFIC + + afuse = callPackage ../os-specific/linux/afuse { }; + + amdUcode = callPackage ../os-specific/linux/microcode/amd.nix { }; + + autofs5 = callPackage ../os-specific/linux/autofs/autofs-v5.nix { }; + + _915resolution = callPackage ../os-specific/linux/915resolution { }; + + nfsUtils = callPackage ../os-specific/linux/nfs-utils { }; + + acpi = callPackage ../os-specific/linux/acpi { }; + + acpid = callPackage ../os-specific/linux/acpid { }; + + acpitool = callPackage ../os-specific/linux/acpitool { }; + + alienfx = callPackage ../os-specific/linux/alienfx { }; + + alsaLib = callPackage ../os-specific/linux/alsa-lib { }; + + alsaPlugins = callPackage ../os-specific/linux/alsa-plugins { + jack2 = null; + }; + + alsaPluginWrapper = callPackage ../os-specific/linux/alsa-plugins/wrapper.nix { }; + + alsaUtils = callPackage ../os-specific/linux/alsa-utils { }; + alsaOss = callPackage ../os-specific/linux/alsa-oss { }; + + microcode2ucode = callPackage ../os-specific/linux/microcode/converter.nix { }; + + microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { }; + + apparmor = callPackage ../os-specific/linux/apparmor { + inherit (perlPackages) LocaleGettext TermReadKey RpcXML; + bison = bison2; + }; + + atop = callPackage ../os-specific/linux/atop { }; + + audit = callPackage ../os-specific/linux/audit { }; + + b43Firmware_5_1_138 = callPackage ../os-specific/linux/firmware/b43-firmware/5.1.138.nix { }; + + b43FirmwareCutter = callPackage ../os-specific/linux/firmware/b43-firmware-cutter { }; + + batctl = callPackage ../os-specific/linux/batman-adv/batctl.nix { }; + + bluez4 = callPackage ../os-specific/linux/bluez { + pygobject = pygobject3; + }; + + bluez5 = lowPrio (callPackage ../os-specific/linux/bluez/bluez5.nix { }); + + bluez = bluez4; + + inherit (pythonPackages) bedup; + + beret = callPackage ../games/beret { }; + + bridge_utils = callPackage ../os-specific/linux/bridge-utils { }; + + busybox = callPackage ../os-specific/linux/busybox { }; + + checkpolicy = callPackage ../os-specific/linux/checkpolicy { }; + + checksec = callPackage ../os-specific/linux/checksec { }; + + cifs_utils = callPackage ../os-specific/linux/cifs-utils { }; + + conky = callPackage ../os-specific/linux/conky { + mpdSupport = config.conky.mpdSupport or true; + x11Support = config.conky.x11Support or false; + xdamage = config.conky.xdamage or false; + wireless = config.conky.wireless or false; + luaSupport = config.conky.luaSupport or false; + rss = config.conky.rss or false; + weatherMetar = config.conky.weatherMetar or false; + weatherXoap = config.conky.weatherXoap or false; + }; + + cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { }; + + cryopid = callPackage ../os-specific/linux/cryopid { }; + + criu = callPackage ../os-specific/linux/criu { }; + + cryptsetup = callPackage ../os-specific/linux/cryptsetup { }; + + cramfsswap = callPackage ../os-specific/linux/cramfsswap { }; + + darwin = rec { + cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools-port { + cross = assert crossSystem != null; crossSystem; + inherit maloader; + xctoolchain = xcode.toolchain; + }); + + maloader = callPackage ../os-specific/darwin/maloader { + inherit opencflite; + }; + + opencflite = callPackage ../os-specific/darwin/opencflite {}; + + xcode = callPackage ../os-specific/darwin/xcode {}; + }; + + devicemapper = lvm2; + + disk_indicator = callPackage ../os-specific/linux/disk-indicator { }; + + dmidecode = callPackage ../os-specific/linux/dmidecode { }; + + dmtcp = callPackage ../os-specific/linux/dmtcp { }; + + dietlibc = callPackage ../os-specific/linux/dietlibc { }; + + directvnc = builderDefsPackage ../os-specific/linux/directvnc { + inherit libjpeg pkgconfig zlib directfb; + inherit (xlibs) xproto; + }; + + dmraid = callPackage ../os-specific/linux/dmraid { + devicemapper = devicemapper.override {enable_dmeventd = true;}; + }; + + drbd = callPackage ../os-specific/linux/drbd { }; + + dstat = callPackage ../os-specific/linux/dstat { + # pythonFull includes the "curses" standard library module, for pretty + # dstat color output + python = pythonFull; + }; + + libossp_uuid = callPackage ../development/libraries/libossp-uuid { }; + + libuuid = + if crossSystem != null && crossSystem.config == "i586-pc-gnu" + then (utillinux // { + crossDrv = lib.overrideDerivation utillinux.crossDrv (args: { + # `libblkid' fails to build on GNU/Hurd. + configureFlags = args.configureFlags + + " --disable-libblkid --disable-mount --disable-libmount" + + " --disable-fsck --enable-static --disable-partx"; + doCheck = false; + CPPFLAGS = # ugly hack for ugly software! + lib.concatStringsSep " " + (map (v: "-D${v}=4096") + [ "PATH_MAX" "MAXPATHLEN" "MAXHOSTNAMELEN" ]); + }); + }) + else if stdenv.isLinux + then utillinux + else null; + + e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { }; + + ebtables = callPackage ../os-specific/linux/ebtables { }; + + eject = utillinux; + + ffado = callPackage ../os-specific/linux/ffado { }; + + fbterm = callPackage ../os-specific/linux/fbterm { }; + + firejail = callPackage ../os-specific/linux/firejail {}; + + fuse = callPackage ../os-specific/linux/fuse { }; + + fxload = callPackage ../os-specific/linux/fxload { }; + + gfxtablet = callPackage ../os-specific/linux/gfxtablet {}; + + gpm = callPackage ../servers/gpm { }; + + gradm = callPackage ../os-specific/linux/gradm { + flex = flex_2_5_35; + }; + + hdparm = callPackage ../os-specific/linux/hdparm { }; + + hibernate = callPackage ../os-specific/linux/hibernate { }; + + hostapd = callPackage ../os-specific/linux/hostapd { }; + + htop = + if stdenv.isLinux then + callPackage ../os-specific/linux/htop { } + else if stdenv.isDarwin then + callPackage ../os-specific/darwin/htop { } + else null; + + # GNU/Hurd core packages. + gnu = recurseIntoAttrs (callPackage ../os-specific/gnu { + inherit platform crossSystem; + }); + + hwdata = callPackage ../os-specific/linux/hwdata { }; + + i7z = callPackage ../os-specific/linux/i7z { }; + + ifplugd = callPackage ../os-specific/linux/ifplugd { }; + + iomelt = callPackage ../os-specific/linux/iomelt { }; + + iotop = callPackage ../os-specific/linux/iotop { }; + + iproute = callPackage ../os-specific/linux/iproute { }; + + iputils = callPackage ../os-specific/linux/iputils { + sp = spCompat; + inherit (perlPackages) SGMLSpm; + }; + + iptables = callPackage ../os-specific/linux/iptables { }; + + iw = callPackage ../os-specific/linux/iw { }; + + jujuutils = callPackage ../os-specific/linux/jujuutils { }; + + kbd = callPackage ../os-specific/linux/kbd { }; + + kmscon = callPackage ../os-specific/linux/kmscon { }; + + latencytop = callPackage ../os-specific/linux/latencytop { }; + + ldm = callPackage ../os-specific/linux/ldm { }; + + libaio = callPackage ../os-specific/linux/libaio { }; + + libatasmart = callPackage ../os-specific/linux/libatasmart { }; + + libcgroup = callPackage ../os-specific/linux/libcgroup { }; + + libnl = callPackage ../os-specific/linux/libnl { }; + libnl_3_2_19 = callPackage ../os-specific/linux/libnl/3.2.19.nix { }; + + linuxConsoleTools = callPackage ../os-specific/linux/consoletools { }; + + # -- Linux kernel expressions ------------------------------------------------ + + linuxHeaders = linuxHeaders_3_7; + + linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix { + inherit stdenv fetchurl perl; + cross = assert crossSystem != null; crossSystem; + }); + + linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { + inherit stdenv fetchurl perl; + cross = assert crossSystem != null; crossSystem; + }); + + linuxHeaders_3_7 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { }; + + linuxHeaders_3_14 = callPackage ../os-specific/linux/kernel-headers/3.14.nix { }; + + # We can choose: + linuxHeadersCrossChooser = ver : if ver == "2.4" then linuxHeaders24Cross + else if ver == "2.6" then linuxHeaders26Cross + else throw "Unknown linux kernel version"; + + linuxHeadersCross = assert crossSystem != null; + linuxHeadersCrossChooser crossSystem.platform.kernelMajor; + + kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { }; + + linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) { + inherit fetchurl stdenv perl buildLinux; + kernelPatches = []; + }; + + linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) { + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + ]; + }; + + linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) { + inherit fetchurl stdenv perl buildLinux; + }; + + linux_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) { + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 + ]; + }; + + linux_3_12 = makeOverridable (import ../os-specific/linux/kernel/linux-3.12.nix) { + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 + ]; + }; + + linux_3_14 = makeOverridable (import ../os-specific/linux/kernel/linux-3.14.nix) { + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 + ]; + }; + + linux_3_15 = makeOverridable (import ../os-specific/linux/kernel/linux-3.15.nix) { + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 + ]; + }; + + linux_3_16 = makeOverridable (import ../os-specific/linux/kernel/linux-3.16.nix) { + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 + ]; + }; + + linux_testing = makeOverridable (import ../os-specific/linux/kernel/linux-testing.nix) { + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 + ]; + }; + + /* grsec configuration + + We build several flavors of 'default' grsec kernels. These are + built by default with Hydra. If the user selects a matching + 'default' flavor, then the pre-canned package set can be + chosen. Typically, users will make very basic choices like + 'security' + 'server' or 'performance' + 'desktop' with + virtualisation support. These will then be picked. + + Note: Xen guest kernels are included for e.g. NixOps deployments + to EC2, where Xen is the Hypervisor. + */ + + grFlavors = import ../build-support/grsecurity/flavors.nix; + + mkGrsecurity = opts: + (import ../build-support/grsecurity { + grsecOptions = opts; + inherit pkgs lib; + }); + + grKernel = opts: (mkGrsecurity opts).grsecKernel; + grPackage = opts: recurseIntoAttrs (mkGrsecurity opts).grsecPackage; + + # Stable kernels + linux_grsec_stable_desktop = grKernel grFlavors.linux_grsec_stable_desktop; + linux_grsec_stable_server = grKernel grFlavors.linux_grsec_stable_server; + linux_grsec_stable_server_xen = grKernel grFlavors.linux_grsec_stable_server_xen; + + # Testing kernels + linux_grsec_testing_desktop = grKernel grFlavors.linux_grsec_testing_desktop; + linux_grsec_testing_server = grKernel grFlavors.linux_grsec_testing_server; + linux_grsec_testing_server_xen = grKernel grFlavors.linux_grsec_testing_server_xen; + + /* Linux kernel modules are inherently tied to a specific kernel. So + rather than provide specific instances of those packages for a + specific kernel, we have a function that builds those packages + for a specific kernel. This function can then be called for + whatever kernel you're using. */ + + linuxPackagesFor = kernel: self: let callPackage = newScope self; in { + inherit kernel; + + acpi_call = callPackage ../os-specific/linux/acpi-call {}; + + batman_adv = callPackage ../os-specific/linux/batman-adv {}; + + bbswitch = callPackage ../os-specific/linux/bbswitch {}; + + ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { }; + + blcr = callPackage ../os-specific/linux/blcr { }; + + cryptodev = callPackage ../os-specific/linux/cryptodev { }; + + cpupower = callPackage ../os-specific/linux/cpupower { }; + + e1000e = callPackage ../os-specific/linux/e1000e {}; + + v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { }; + + frandom = callPackage ../os-specific/linux/frandom { }; + + ktap = callPackage ../os-specific/linux/ktap { }; + + lttng-modules = callPackage ../os-specific/linux/lttng-modules { }; + + broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { }; + + nvidiabl = callPackage ../os-specific/linux/nvidiabl { }; + + nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { }; + + nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { }; + nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { }; + + openafsClient = callPackage ../servers/openafs-client { }; + + openiscsi = callPackage ../os-specific/linux/open-iscsi { }; + + wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { }; + + kernelHeaders = callPackage ../os-specific/linux/kernel-headers { }; + + klibc = callPackage ../os-specific/linux/klibc { }; + + klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { }); + + + /* compiles but has to be integrated into the kernel somehow + Let's have it uncommented and finish it.. + */ + ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { }; + + netatop = callPackage ../os-specific/linux/netatop { }; + + perf = callPackage ../os-specific/linux/kernel/perf.nix { }; + + psmouse_alps = callPackage ../os-specific/linux/psmouse-alps { }; + + spl = callPackage ../os-specific/linux/spl { }; + spl_git = callPackage ../os-specific/linux/spl/git.nix { }; + + sysdig = callPackage ../os-specific/linux/sysdig {}; + + tp_smapi = callPackage ../os-specific/linux/tp_smapi { }; + + v86d = callPackage ../os-specific/linux/v86d { }; + + virtualbox = callPackage ../applications/virtualization/virtualbox { + stdenv = stdenv_32bit; + inherit (gnome) libIDL; + enableExtensionPack = config.virtualbox.enableExtensionPack or false; + }; + + virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { }; + + zfs = callPackage ../os-specific/linux/zfs { }; + zfs_git = callPackage ../os-specific/linux/zfs/git.nix { }; + }; + + # The current default kernel / kernel modules. + linux = linuxPackages.kernel; + linuxPackages = linuxPackages_3_12; + + # Update this when adding the newest kernel major version! + linux_latest = pkgs.linux_3_16; + linuxPackages_latest = pkgs.linuxPackages_3_16; + + # Build the kernel modules for the some of the kernels. + linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2); + linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4); + linuxPackages_3_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi; + linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10); + linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice; + linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); + linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14); + linuxPackages_3_15 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_15 linuxPackages_3_15); + linuxPackages_3_16 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_16 linuxPackages_3_16); + linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing); + + # grsecurity flavors + # Stable kernels + linuxPackages_grsec_stable_desktop = grPackage grFlavors.linux_grsec_stable_desktop; + linuxPackages_grsec_stable_server = grPackage grFlavors.linux_grsec_stable_server; + linuxPackages_grsec_stable_server_xen = grPackage grFlavors.linux_grsec_stable_server_xen; + + # Testing kernels + linuxPackages_grsec_testing_desktop = grPackage grFlavors.linux_grsec_testing_desktop; + linuxPackages_grsec_testing_server = grPackage grFlavors.linux_grsec_testing_server; + linuxPackages_grsec_testing_server_xen = grPackage grFlavors.linux_grsec_testing_server_xen; + + # A function to build a manually-configured kernel + linuxManualConfig = pkgs.buildLinux; + buildLinux = import ../os-specific/linux/kernel/manual-config.nix { + inherit (pkgs) stdenv runCommand nettools bc perl kmod writeTextFile ubootChooser; + }; + + keyutils = callPackage ../os-specific/linux/keyutils { }; + + libselinux = callPackage ../os-specific/linux/libselinux { }; + + libsemanage = callPackage ../os-specific/linux/libsemanage { }; + + libraw = callPackage ../development/libraries/libraw { }; + + libraw1394 = callPackage ../development/libraries/libraw1394 { }; + + libsexy = callPackage ../development/libraries/libsexy { }; + + libsepol = callPackage ../os-specific/linux/libsepol { }; + + libsmbios = callPackage ../os-specific/linux/libsmbios { }; + + lm_sensors = callPackage ../os-specific/linux/lm-sensors { }; + + lockdep = callPackage ../os-specific/linux/lockdep { }; + + lsiutil = callPackage ../os-specific/linux/lsiutil { }; + + kmod = callPackage ../os-specific/linux/kmod { }; + + kmod-blacklist-ubuntu = callPackage ../os-specific/linux/kmod-blacklist-ubuntu { }; + + kvm = qemu_kvm; + + libcap = callPackage ../os-specific/linux/libcap { }; + + libcap_progs = callPackage ../os-specific/linux/libcap/progs.nix { }; + + libcap_pam = callPackage ../os-specific/linux/libcap/pam.nix { }; + + libcap_manpages = callPackage ../os-specific/linux/libcap/man.nix { }; + + libcap_ng = callPackage ../os-specific/linux/libcap-ng { }; + + libnscd = callPackage ../os-specific/linux/libnscd { }; + + libnotify = callPackage ../development/libraries/libnotify { }; + + libvolume_id = callPackage ../os-specific/linux/libvolume_id { }; + + lsscsi = callPackage ../os-specific/linux/lsscsi { }; + + lvm2 = callPackage ../os-specific/linux/lvm2 { }; + + mdadm = callPackage ../os-specific/linux/mdadm { }; + + mingetty = callPackage ../os-specific/linux/mingetty { }; + + module_init_tools = callPackage ../os-specific/linux/module-init-tools { }; + + aggregateModules = modules: + callPackage ../os-specific/linux/kmod/aggregator.nix { + inherit modules; + }; + + multipath_tools = callPackage ../os-specific/linux/multipath-tools { }; + + musl = callPackage ../os-specific/linux/musl { }; + + nettools = callPackage ../os-specific/linux/net-tools { }; + + neverball = callPackage ../games/neverball { + libpng = libpng15; + }; + + nftables = callPackage ../os-specific/linux/nftables { }; + + numactl = callPackage ../os-specific/linux/numactl { }; + + gocode = callPackage ../development/tools/gocode { }; + + gogoclient = callPackage ../os-specific/linux/gogoclient { }; + + nss_ldap = callPackage ../os-specific/linux/nss_ldap { }; + + pam = callPackage ../os-specific/linux/pam { }; + + # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader ) + + pam_ccreds = callPackage ../os-specific/linux/pam_ccreds { }; + + pam_console = callPackage ../os-specific/linux/pam_console { + libtool = libtool_1_5; + }; + + pam_devperm = callPackage ../os-specific/linux/pam_devperm { }; + + pam_krb5 = callPackage ../os-specific/linux/pam_krb5 { }; + + pam_ldap = callPackage ../os-specific/linux/pam_ldap { }; + + pam_login = callPackage ../os-specific/linux/pam_login { }; + + pam_ssh_agent_auth = callPackage ../os-specific/linux/pam_ssh_agent_auth { }; + + pam_usb = callPackage ../os-specific/linux/pam_usb { }; + + paxctl = callPackage ../os-specific/linux/paxctl { }; + + pax-utils = callPackage ../os-specific/linux/pax-utils { }; + + pcmciaUtils = callPackage ../os-specific/linux/pcmciautils { + firmware = config.pcmciaUtils.firmware or []; + config = config.pcmciaUtils.config or null; + }; + + plymouth = callPackage ../os-specific/linux/plymouth { + automake = automake113x; + }; + + pmount = callPackage ../os-specific/linux/pmount { }; + + pmutils = callPackage ../os-specific/linux/pm-utils { }; + + pmtools = callPackage ../os-specific/linux/pmtools { }; + + policycoreutils = callPackage ../os-specific/linux/policycoreutils { }; + + powertop = callPackage ../os-specific/linux/powertop { }; + + prayer = callPackage ../servers/prayer { }; + + procps = procps-ng; + + procps-old = lowPrio (callPackage ../os-specific/linux/procps { }); + + procps-ng = callPackage ../os-specific/linux/procps-ng { }; + + watch = callPackage ../os-specific/linux/procps/watch.nix { }; + + qemu_kvm = lowPrio (qemu.override { x86Only = true; }); + + firmwareLinuxNonfree = callPackage ../os-specific/linux/firmware/firmware-linux-nonfree { }; + + radeontools = callPackage ../os-specific/linux/radeontools { }; + + raspberrypifw = callPackage ../os-specific/linux/firmware/raspberrypi {}; + + regionset = callPackage ../os-specific/linux/regionset { }; + + rfkill = callPackage ../os-specific/linux/rfkill { }; + + rfkill_udev = callPackage ../os-specific/linux/rfkill/udev.nix { }; + + rtkit = callPackage ../os-specific/linux/rtkit { }; + + sdparm = callPackage ../os-specific/linux/sdparm { }; + + sepolgen = callPackage ../os-specific/linux/sepolgen { }; + + setools = callPackage ../os-specific/linux/setools { }; + + shadow = callPackage ../os-specific/linux/shadow { }; + + statifier = builderDefsPackage (import ../os-specific/linux/statifier) { }; + + sysdig = callPackage ../os-specific/linux/sysdig { + kernel = null; + }; # pkgs.sysdig is a client, for a driver look at linuxPackagesFor + + sysfsutils = callPackage ../os-specific/linux/sysfsutils { }; + + sysprof = callPackage ../development/tools/profiling/sysprof { + inherit (gnome) libglade; + }; + + # Provided with sysfsutils. + libsysfs = sysfsutils; + systool = sysfsutils; + + sysklogd = callPackage ../os-specific/linux/sysklogd { }; + + syslinux = callPackage ../os-specific/linux/syslinux { }; + + sysstat = callPackage ../os-specific/linux/sysstat { }; + + systemd = callPackage ../os-specific/linux/systemd { + linuxHeaders = linuxHeaders_3_14; + }; + + systemtap = callPackage ../development/tools/profiling/systemtap { + inherit (gnome) libglademm; + }; + + # In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get + # LVM2 working in systemd. + systemd_with_lvm2 = pkgs.lib.overrideDerivation pkgs.systemd (p: { + name = p.name + "-with-lvm2"; + postInstall = p.postInstall + '' + cp "${pkgs.lvm2}/lib/systemd/system-generators/"* $out/lib/systemd/system-generators + ''; + }); + + sysvinit = callPackage ../os-specific/linux/sysvinit { }; + + sysvtools = callPackage ../os-specific/linux/sysvinit { + withoutInitTools = true; + }; + + # FIXME: `tcp-wrapper' is actually not OS-specific. + tcp_wrappers = callPackage ../os-specific/linux/tcp-wrappers { }; + + trackballs = callPackage ../games/trackballs { + debug = false; + guile = guile_1_8; + }; + + tunctl = callPackage ../os-specific/linux/tunctl { }; + + ubootChooser = name : if name == "upstream" then ubootUpstream + else if name == "sheevaplug" then ubootSheevaplug + else if name == "guruplug" then ubootGuruplug + else if name == "nanonote" then ubootNanonote + else throw "Unknown uboot"; + + ubootUpstream = callPackage ../misc/uboot { }; + + ubootSheevaplug = callPackage ../misc/uboot/sheevaplug.nix { }; + + ubootNanonote = callPackage ../misc/uboot/nanonote.nix { }; + + ubootGuruplug = callPackage ../misc/uboot/guruplug.nix { }; + + uclibc = callPackage ../os-specific/linux/uclibc { }; + + uclibcCross = lowPrio (callPackage ../os-specific/linux/uclibc { + inherit fetchurl stdenv libiconv; + linuxHeaders = linuxHeadersCross; + gccCross = gccCrossStageStatic; + cross = assert crossSystem != null; crossSystem; + }); + + udev145 = callPackage ../os-specific/linux/udev/145.nix { }; + udev = pkgs.systemd; + + udisks1 = callPackage ../os-specific/linux/udisks/1-default.nix { }; + udisks2 = callPackage ../os-specific/linux/udisks/2-default.nix { }; + udisks = udisks1; + + udisks_glue = callPackage ../os-specific/linux/udisks-glue { }; + + untie = callPackage ../os-specific/linux/untie { }; + + upower = callPackage ../os-specific/linux/upower { }; + + upower_99 = callPackage ../os-specific/linux/upower/0.99.nix { }; + + upstart = callPackage ../os-specific/linux/upstart { }; + + usbutils = callPackage ../os-specific/linux/usbutils { }; + + usermount = callPackage ../os-specific/linux/usermount { }; + + utillinux = lowPrio (callPackage ../os-specific/linux/util-linux { + ncurses = null; + perl = null; + }); + + utillinuxCurses = utillinux.override { + inherit ncurses perl; + }; + + v4l_utils = callPackage ../os-specific/linux/v4l-utils { + withQt4 = true; + }; + + windows = rec { + cygwinSetup = callPackage ../os-specific/windows/cygwin-setup { }; + + jom = callPackage ../os-specific/windows/jom { }; + + w32api = callPackage ../os-specific/windows/w32api { + gccCross = gccCrossStageStatic; + binutilsCross = binutilsCross; + }; + + w32api_headers = w32api.override { + onlyHeaders = true; + }; + + mingw_runtime = callPackage ../os-specific/windows/mingwrt { + gccCross = gccCrossMingw2; + binutilsCross = binutilsCross; + }; + + mingw_runtime_headers = mingw_runtime.override { + onlyHeaders = true; + }; + + mingw_headers1 = buildEnv { + name = "mingw-headers-1"; + paths = [ w32api_headers mingw_runtime_headers ]; + }; + + mingw_headers2 = buildEnv { + name = "mingw-headers-2"; + paths = [ w32api mingw_runtime_headers ]; + }; + + mingw_headers3 = buildEnv { + name = "mingw-headers-3"; + paths = [ w32api mingw_runtime ]; + }; + + mingw_w64 = callPackage ../os-specific/windows/mingw-w64 { + gccCross = gccCrossStageStatic; + binutilsCross = binutilsCross; + }; + + mingw_w64_headers = callPackage ../os-specific/windows/mingw-w64 { + onlyHeaders = true; + }; + + mingw_w64_pthreads = callPackage ../os-specific/windows/mingw-w64 { + onlyPthreads = true; + }; + + pthreads = callPackage ../os-specific/windows/pthread-w32 { + mingw_headers = mingw_headers3; + }; + + wxMSW = callPackage ../os-specific/windows/wxMSW-2.8 { }; + }; + + wesnoth = callPackage ../games/wesnoth { + lua = lua5; + }; + + wirelesstools = callPackage ../os-specific/linux/wireless-tools { }; + + wpa_supplicant = callPackage ../os-specific/linux/wpa_supplicant { }; + + wpa_supplicant_gui = callPackage ../os-specific/linux/wpa_supplicant/gui.nix { }; + + xf86_input_mtrack = callPackage ../os-specific/linux/xf86-input-mtrack { + inherit (xorg) utilmacros xproto inputproto xorgserver; + }; + + xf86_input_multitouch = + callPackage ../os-specific/linux/xf86-input-multitouch { }; + + xf86_input_wacom = callPackage ../os-specific/linux/xf86-input-wacom { }; + + xf86_video_nested = callPackage ../os-specific/linux/xf86-video-nested { + inherit (xorg) fontsproto renderproto utilmacros xorgserver; + }; + + xf86_video_nouveau = xorg.xf86videonouveau; + + xmoto = builderDefsPackage (import ../games/xmoto) { + inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng + freeglut mesa SDL SDL_mixer SDL_image SDL_net SDL_ttf + lua5 ode libxdg_basedir libxml2; + }; + + xorg_sys_opengl = callPackage ../os-specific/linux/opengl/xorg-sys { }; + + zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { }; + + + ### DATA + + andagii = callPackage ../data/fonts/andagii {}; + + anonymousPro = callPackage ../data/fonts/anonymous-pro {}; + + arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) { }; + + aurulent-sans = callPackage ../data/fonts/aurulent-sans { }; + + bakoma_ttf = callPackage ../data/fonts/bakoma-ttf { }; + + cacert = callPackage ../data/misc/cacert { }; + + cantarell_fonts = callPackage ../data/fonts/cantarell-fonts { }; + + comic-neue = callPackage ../data/fonts/comic-neue { }; + + corefonts = callPackage ../data/fonts/corefonts { }; + + wrapFonts = paths : ((import ../data/fonts/fontWrap) { + inherit fetchurl stdenv builderDefs paths; + inherit (xorg) mkfontdir mkfontscale; + }); + + clearlyU = callPackage ../data/fonts/clearlyU { }; + + cm_unicode = callPackage ../data/fonts/cm-unicode {}; + + dejavu_fonts = callPackage ../data/fonts/dejavu-fonts { + inherit (perlPackages) FontTTF; + }; + + docbook5 = callPackage ../data/sgml+xml/schemas/docbook-5.0 { }; + + docbook_sgml_dtd_31 = callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix { }; + + docbook_sgml_dtd_41 = callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix { }; + + docbook_xml_dtd_412 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix { }; + + docbook_xml_dtd_42 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix { }; + + docbook_xml_dtd_43 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix { }; + + docbook_xml_dtd_45 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix { }; + + docbook_xml_ebnf_dtd = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf { }; + + docbook_xml_xslt = docbook_xsl; + + docbook_xsl = callPackage ../data/sgml+xml/stylesheets/xslt/docbook-xsl { }; + + docbook5_xsl = docbook_xsl_ns; + + docbook_xsl_ns = callPackage ../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns { }; + + dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { }; + + eb-garamond = callPackage ../data/fonts/eb-garamond { }; + + fira = callPackage ../data/fonts/fira { }; + + freefont_ttf = callPackage ../data/fonts/freefont-ttf { }; + + freepats = callPackage ../data/misc/freepats { }; + + gentium = callPackage ../data/fonts/gentium {}; + + gnome_user_docs = callPackage ../data/documentation/gnome-user-docs { }; + + inherit (gnome3) gsettings_desktop_schemas; + + hicolor_icon_theme = callPackage ../data/icons/hicolor-icon-theme { }; + + inconsolata = callPackage ../data/fonts/inconsolata {}; + + ipafont = callPackage ../data/fonts/ipafont {}; + + junicode = callPackage ../data/fonts/junicode { }; + + kochi-substitute = callPackage ../data/fonts/kochi-substitute {}; + + kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {}; + + liberation_ttf = callPackage ../data/fonts/redhat-liberation-fonts { }; + + libertine = builderDefsPackage (import ../data/fonts/libertine) { + inherit fetchurl fontforge lib; + }; + + lmmath = callPackage ../data/fonts/lmodern/lmmath.nix {}; + + lmodern = callPackage ../data/fonts/lmodern { }; + + lohit-fonts = callPackage ../data/fonts/lohit-fonts { }; + + manpages = callPackage ../data/documentation/man-pages { }; + + miscfiles = callPackage ../data/misc/miscfiles { }; + + mobile_broadband_provider_info = callPackage ../data/misc/mobile-broadband-provider-info { }; + + mph_2b_damase = callPackage ../data/fonts/mph-2b-damase { }; + + nafees = callPackage ../data/fonts/nafees { }; + + oldstandard = callPackage ../data/fonts/oldstandard { }; + + opensans-ttf = callPackage ../data/fonts/opensans-ttf { }; + + poly = callPackage ../data/fonts/poly { }; + + posix_man_pages = callPackage ../data/documentation/man-pages-posix { }; + + pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { }; + + shared_mime_info = callPackage ../data/misc/shared-mime-info { }; + + shared_desktop_ontologies = callPackage ../data/misc/shared-desktop-ontologies { }; + + stdmanpages = callPackage ../data/documentation/std-man-pages { }; + + symbola = callPackage ../data/fonts/symbola { }; + + iana_etc = callPackage ../data/misc/iana-etc { }; + + poppler_data = callPackage ../data/misc/poppler-data { }; + + r3rs = callPackage ../data/documentation/rnrs/r3rs.nix { }; + + r4rs = callPackage ../data/documentation/rnrs/r4rs.nix { }; + + r5rs = callPackage ../data/documentation/rnrs/r5rs.nix { }; + + source-code-pro = callPackage ../data/fonts/source-code-pro {}; + + source-sans-pro = callPackage ../data/fonts/source-sans-pro { }; + + source-serif-pro = callPackage ../data/fonts/source-serif-pro { }; + + source-han-sans-japanese = callPackage ../data/fonts/source-han-sans/japanese.nix {}; + source-han-sans-korean = callPackage ../data/fonts/source-han-sans/korean.nix {}; + source-han-sans-simplified-chinese = callPackage ../data/fonts/source-han-sans/simplified-chinese.nix {}; + source-han-sans-traditional-chinese = callPackage ../data/fonts/source-han-sans/traditional-chinese.nix {}; + + tango-icon-theme = callPackage ../data/icons/tango-icon-theme { }; + + themes = name: import (../data/misc/themes + ("/" + name + ".nix")) { + inherit fetchurl; + }; + + theano = callPackage ../data/fonts/theano { }; + + tempora_lgc = callPackage ../data/fonts/tempora-lgc { }; + + terminus_font = callPackage ../data/fonts/terminus-font { }; + + tipa = callPackage ../data/fonts/tipa { }; + + ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { }; + + tzdata = callPackage ../data/misc/tzdata { }; + + ubuntu_font_family = callPackage ../data/fonts/ubuntu-font-family { }; + + ucsFonts = callPackage ../data/fonts/ucs-fonts { }; + + unifont = callPackage ../data/fonts/unifont { }; + + vistafonts = callPackage ../data/fonts/vista-fonts { }; + + wqy_microhei = callPackage ../data/fonts/wqy-microhei { }; + + wqy_zenhei = callPackage ../data/fonts/wqy-zenhei { }; + + xhtml1 = callPackage ../data/sgml+xml/schemas/xml-dtd/xhtml1 { }; + + xkeyboard_config = xorg.xkeyboardconfig; + + + ### APPLICATIONS + + a2jmidid = callPackage ../applications/audio/a2jmidid { }; + + aangifte2006 = callPackage_i686 ../applications/taxes/aangifte-2006 { }; + + aangifte2007 = callPackage_i686 ../applications/taxes/aangifte-2007 { }; + + aangifte2008 = callPackage_i686 ../applications/taxes/aangifte-2008 { }; + + aangifte2009 = callPackage_i686 ../applications/taxes/aangifte-2009 { }; + + aangifte2010 = callPackage_i686 ../applications/taxes/aangifte-2010 { }; + + aangifte2011 = callPackage_i686 ../applications/taxes/aangifte-2011 { }; + + aangifte2012 = callPackage_i686 ../applications/taxes/aangifte-2012 { }; + + aangifte2013 = callPackage_i686 ../applications/taxes/aangifte-2013 { }; + + abcde = callPackage ../applications/audio/abcde { + inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID; + libcdio = libcdio082; + }; + + abiword = callPackage ../applications/office/abiword { + inherit (gnome) libglade libgnomecanvas; + }; + + abook = callPackage ../applications/misc/abook { }; + + adobe-reader = callPackage_i686 ../applications/misc/adobe-reader { }; + + aewan = callPackage ../applications/editors/aewan { }; + + alchemy = callPackage ../applications/graphics/alchemy { }; + + ams-lv2 = callPackage ../applications/audio/ams-lv2 { }; + + amsn = callPackage ../applications/networking/instant-messengers/amsn { }; + + antiword = callPackage ../applications/office/antiword {}; + + ardour = ardour3; + + ardour3 = lowPrio (callPackage ../applications/audio/ardour { + inherit (gnome) libgnomecanvas libgnomecanvasmm; + }); + + arora = callPackage ../applications/networking/browsers/arora { }; + + atom = callPackage ../applications/editors/atom { + gconf = gnome.GConf; + }; + + aseprite = callPackage ../applications/editors/aseprite { + giflib = giflib_4_1; + }; + + audacious = callPackage ../applications/audio/audacious { }; + + audacity = callPackage ../applications/audio/audacity { + ffmpeg = ffmpeg_0_10; + }; + + milkytracker = callPackage ../applications/audio/milkytracker { }; + + aumix = callPackage ../applications/audio/aumix { + gtkGUI = false; + }; + + autopanosiftc = callPackage ../applications/graphics/autopanosiftc { }; + + avidemux = callPackage ../applications/video/avidemux { }; + + avogadro = callPackage ../applications/science/chemistry/avogadro { + eigen = eigen2; + }; + + avrdudess = callPackage ../applications/misc/avrdudess { }; + + avxsynth = callPackage ../applications/video/avxsynth { }; + + awesome-3-4 = callPackage ../applications/window-managers/awesome/3.4.nix { + lua = lua5; + cairo = cairo.override { xcbSupport = true; }; + }; + awesome-3-5 = callPackage ../applications/window-managers/awesome { + lua = lua5_1; + cairo = cairo.override { xcbSupport = true; }; + }; + awesome = awesome-3-5; + + inherit (gnome3) baobab; + + backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { }; + + backintime-gnome = callPackage ../applications/networking/sync/backintime/gnome.nix { }; + + backintime = backintime-gnome; + + bar = callPackage ../applications/window-managers/bar { }; + + baresip = callPackage ../applications/networking/instant-messengers/baresip { + ffmpeg = ffmpeg_1; + }; + + batik = callPackage ../applications/graphics/batik { }; + + bazaar = callPackage ../applications/version-management/bazaar { }; + + bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) { + inherit bazaar; + }; + + beast = callPackage ../applications/audio/beast { + inherit (gnome) libgnomecanvas libart_lgpl; + guile = guile_1_8; + }; + + bibletime = callPackage ../applications/misc/bibletime { }; + + bitcoin = callPackage ../applications/misc/bitcoin {}; + bitcoind = callPackage ../applications/misc/bitcoin { gui = false; }; + + altcoins = recurseIntoAttrs ( + callPackage ../applications/misc/bitcoin/altcoins.nix {} + ); + + bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { + gnutls = gnutls; + libotr = libotr_3_2; + }; + + blender = callPackage ../applications/misc/blender { + python = python34; + }; + + bristol = callPackage ../applications/audio/bristol { }; + + bspwm = callPackage ../applications/window-managers/bspwm { }; + + bvi = callPackage ../applications/editors/bvi { }; + + calf = callPackage ../applications/audio/calf { + inherit (gnome) libglade; + }; + + calibre = callPackage ../applications/misc/calibre { + inherit (pythonPackages) pyqt5 sip_4_16; + }; + + camlistore = callPackage ../applications/misc/camlistore { }; + + carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) { + inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss + gtkspell aspell gettext ncurses avahi dbus dbus_glib python + libtool automake autoconf gstreamer; + inherit gtk glib; + inherit (gnome) startupnotification GConf ; + inherit (xlibs) libXScrnSaver scrnsaverproto libX11 xproto kbproto; + }; + funpidgin = carrier; + + cc1394 = callPackage ../applications/video/cc1394 { }; + + cddiscid = callPackage ../applications/audio/cd-discid { }; + + cdparanoia = cdparanoiaIII; + + cdparanoiaIII = callPackage ../applications/audio/cdparanoia { }; + + cdrtools = callPackage ../applications/misc/cdrtools { }; + + centerim = callPackage ../applications/networking/instant-messengers/centerim { }; + + cgit = callPackage ../applications/version-management/git-and-tools/cgit { }; + + cgminer = callPackage ../applications/misc/cgminer { + amdappsdk = amdappsdk28; + }; + + chatzilla = callPackage ../applications/networking/irc/chatzilla { }; + + chromium = callPackage ../applications/networking/browsers/chromium { + channel = "stable"; + pulseSupport = config.pulseaudio or true; + enablePepperFlash = config.chromium.enablePepperFlash or false; + enablePepperPDF = config.chromium.enablePepperPDF or false; + }; + + chromiumBeta = lowPrio (chromium.override { channel = "beta"; }); + + chromiumDev = lowPrio (chromium.override { channel = "dev"; }); + + cinelerra = callPackage ../applications/video/cinelerra { }; + + clipit = callPackage ../applications/misc/clipit { }; + + cmus = callPackage ../applications/audio/cmus { }; + + compiz = callPackage ../applications/window-managers/compiz { + inherit (gnome) GConf ORBit2 metacity; + boost = boost149; # https://bugs.launchpad.net/compiz/+bug/1131864 + }; + + coriander = callPackage ../applications/video/coriander { + inherit (gnome) libgnomeui GConf; + }; + + csound = callPackage ../applications/audio/csound { }; + + cinepaint = callPackage ../applications/graphics/cinepaint { + fltk = fltk13; + libpng = libpng12; + }; + + codeblocks = callPackage ../applications/editors/codeblocks { }; + codeblocksFull = callPackage ../applications/editors/codeblocks { contribPlugins = true; }; + + codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) { + inherit makeWrapper; + python = pythonFull; + }; + + comical = callPackage ../applications/graphics/comical { }; + + conkeror = callPackage ../applications/networking/browsers/conkeror { }; + + conkerorWrapper = wrapFirefox { + browser = conkeror; + browserName = "conkeror"; + desktopName = "Conkeror"; + }; + + cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) { + inherit cmake patchelf; + imagemagick = imagemagick; + }; + + cvs = callPackage ../applications/version-management/cvs { }; + + cvsps = callPackage ../applications/version-management/cvsps { }; + + cvs2svn = callPackage ../applications/version-management/cvs2svn { }; + + d4x = callPackage ../applications/misc/d4x { }; + + darcs = with haskellPackages_ghc783; callPackage ../applications/version-management/darcs { + cabal = cabal.override { + extension = self : super : { + isLibrary = false; + configureFlags = "-f-library " + super.configureFlags or ""; + }; + }; + }; + + darktable = callPackage ../applications/graphics/darktable { + inherit (gnome) GConf libglade; + }; + + dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; }; + + dia = callPackage ../applications/graphics/dia { + inherit (pkgs.gnome) libart_lgpl libgnomeui; + }; + + diffuse = callPackage ../applications/version-management/diffuse { }; + + distrho = callPackage ../applications/audio/distrho {}; + + djvulibre = callPackage ../applications/misc/djvulibre { }; + + djvu2pdf = callPackage ../tools/typesetting/djvu2pdf { }; + + djview = callPackage ../applications/graphics/djview { }; + djview4 = pkgs.djview; + + dmenu = callPackage ../applications/misc/dmenu { + enableXft = config.dmenu.enableXft or false; + }; + + dmtx = builderDefsPackage (import ../tools/graphics/dmtx) { + inherit libpng libtiff libjpeg imagemagick librsvg + pkgconfig bzip2 zlib libtool freetype fontconfig + ghostscript jasper xz; + inherit (xlibs) libX11; + }; + + docker = callPackage ../applications/virtualization/docker { }; + + doodle = callPackage ../applications/search/doodle { }; + + dunst = callPackage ../applications/misc/dunst { }; + + dvb_apps = callPackage ../applications/video/dvb-apps { }; + + dvdauthor = callPackage ../applications/video/dvdauthor { }; + + dwb = callPackage ../applications/networking/browsers/dwb { dconf = gnome3.dconf; }; + + dwbWrapper = wrapFirefox + { browser = dwb; browserName = "dwb"; desktopName = "dwb"; + }; + + dwm = callPackage ../applications/window-managers/dwm { + patches = config.dwm.patches or []; + }; + + dzen2 = callPackage ../applications/window-managers/dzen2 { }; + + eaglemode = callPackage ../applications/misc/eaglemode { }; + + eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse { }); + + ed = callPackage ../applications/editors/ed { }; + + ekho = callPackage ../applications/audio/ekho { }; + + electrum = callPackage ../applications/misc/electrum { }; + + elinks = callPackage ../applications/networking/browsers/elinks { }; + + elvis = callPackage ../applications/editors/elvis { }; + + emacs = emacs24; + + emacs24 = callPackage ../applications/editors/emacs-24 { + # use override to enable additional features + libXaw = xlibs.libXaw; + Xaw3d = null; + gconf = null; + librsvg = null; + alsaLib = null; + imagemagick = null; + }; + + emacs24-nox = lowPrio (appendToName "nox" (emacs24.override { + withX = false; + })); + + emacs24Macport = lowPrio (callPackage ../applications/editors/emacs-24/macport.nix { + stdenv = pkgs.clangStdenv; + }); + + emacsPackages = emacs: self: let callPackage = newScope self; in rec { + inherit emacs; + + autoComplete = callPackage ../applications/editors/emacs-modes/auto-complete { }; + + bbdb = callPackage ../applications/editors/emacs-modes/bbdb { }; + + bbdb3 = callPackage ../applications/editors/emacs-modes/bbdb/3.nix {}; + + cedet = callPackage ../applications/editors/emacs-modes/cedet { }; + + calfw = callPackage ../applications/editors/emacs-modes/calfw { }; + + coffee = callPackage ../applications/editors/emacs-modes/coffee { }; + + colorTheme = callPackage ../applications/editors/emacs-modes/color-theme { }; + + colorThemeSolarized = callPackage ../applications/editors/emacs-modes/color-theme-solarized { }; + + cryptol = callPackage ../applications/editors/emacs-modes/cryptol { }; + + cua = callPackage ../applications/editors/emacs-modes/cua { }; + + darcsum = callPackage ../applications/editors/emacs-modes/darcsum { }; + + # ecb = callPackage ../applications/editors/emacs-modes/ecb { }; + + jabber = callPackage ../applications/editors/emacs-modes/jabber { }; + + emacsClangCompleteAsync = callPackage ../applications/editors/emacs-modes/emacs-clang-complete-async { }; + + emacsSessionManagement = callPackage ../applications/editors/emacs-modes/session-management-for-emacs { }; + + emacsw3m = callPackage ../applications/editors/emacs-modes/emacs-w3m { }; + + emms = callPackage ../applications/editors/emacs-modes/emms { }; + + ess = callPackage ../applications/editors/emacs-modes/ess { }; + + flymakeCursor = callPackage ../applications/editors/emacs-modes/flymake-cursor { }; + + gh = callPackage ../applications/editors/emacs-modes/gh { }; + + graphvizDot = callPackage ../applications/editors/emacs-modes/graphviz-dot { }; + + gist = callPackage ../applications/editors/emacs-modes/gist { }; + + idris = callPackage ../applications/editors/emacs-modes/idris { }; + + jade = callPackage ../applications/editors/emacs-modes/jade { }; + + jdee = callPackage ../applications/editors/emacs-modes/jdee { + # Requires Emacs 23, for `avl-tree'. + }; + + js2 = callPackage ../applications/editors/emacs-modes/js2 { }; + + stratego = callPackage ../applications/editors/emacs-modes/stratego { }; + + haskellMode = callPackage ../applications/editors/emacs-modes/haskell { }; + + ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { }; + + structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode { + inherit (haskellPackages) cabal haskellSrcExts; + }; + + tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { }; + + hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { }; + + htmlize = callPackage ../applications/editors/emacs-modes/htmlize { }; + + logito = callPackage ../applications/editors/emacs-modes/logito { }; + + loremIpsum = callPackage ../applications/editors/emacs-modes/lorem-ipsum { }; + + magit = callPackage ../applications/editors/emacs-modes/magit { }; + + maudeMode = callPackage ../applications/editors/emacs-modes/maude { }; + + metaweblog = callPackage ../applications/editors/emacs-modes/metaweblog { }; + + notmuch = lowPrio (callPackage ../applications/networking/mailreaders/notmuch { }); + + offlineimap = callPackage ../applications/editors/emacs-modes/offlineimap {}; + + # This is usually a newer version of Org-Mode than that found in GNU Emacs, so + # we want it to have higher precedence. + org = hiPrio (callPackage ../applications/editors/emacs-modes/org { }); + + org2blog = callPackage ../applications/editors/emacs-modes/org2blog { }; + + pcache = callPackage ../applications/editors/emacs-modes/pcache { }; + + phpMode = callPackage ../applications/editors/emacs-modes/php { }; + + prologMode = callPackage ../applications/editors/emacs-modes/prolog { }; + + proofgeneral_4_2 = callPackage ../applications/editors/emacs-modes/proofgeneral/4.2.nix { + texinfo = texinfo4 ; + texLive = pkgs.texLiveAggregationFun { + paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; + }; + }; + proofgeneral_4_3_pre = callPackage ../applications/editors/emacs-modes/proofgeneral/4.3pre.nix { + texinfo = texinfo4 ; + texLive = pkgs.texLiveAggregationFun { + paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; + }; + }; + proofgeneral = self.proofgeneral_4_2; + + quack = callPackage ../applications/editors/emacs-modes/quack { }; + + rectMark = callPackage ../applications/editors/emacs-modes/rect-mark { }; + + remember = callPackage ../applications/editors/emacs-modes/remember { }; + + rudel = callPackage ../applications/editors/emacs-modes/rudel { }; + + sbtMode = callPackage ../applications/editors/emacs-modes/sbt-mode { }; + + scalaMode1 = callPackage ../applications/editors/emacs-modes/scala-mode/v1.nix { }; + scalaMode2 = callPackage ../applications/editors/emacs-modes/scala-mode/v2.nix { }; + + sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { }; + + writeGood = callPackage ../applications/editors/emacs-modes/writegood { }; + + xmlRpc = callPackage ../applications/editors/emacs-modes/xml-rpc { }; + }; + + emacs24Packages = recurseIntoAttrs (emacsPackages emacs24 pkgs.emacs24Packages); + + inherit (gnome3) empathy; + + epdfview = callPackage ../applications/misc/epdfview { }; + + inherit (gnome3) epiphany; + + espeak = callPackage ../applications/audio/espeak { }; + + espeakedit = callPackage ../applications/audio/espeak/edit.nix { }; + + esniper = callPackage ../applications/networking/esniper { }; + + etherape = callPackage ../applications/networking/sniffers/etherape { + inherit (gnome) gnomedocutils libgnome libglade libgnomeui scrollkeeper; + }; + + evilvte = callPackage ../applications/misc/evilvte { + configH = config.evilvte.config or ""; + }; + + evopedia = callPackage ../applications/misc/evopedia { }; + + keepassx = callPackage ../applications/misc/keepassx { }; + keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { }; + + inherit (gnome3) evince; + evolution_data_server = gnome3.evolution_data_server; + + keepass = callPackage ../applications/misc/keepass { }; + + exrdisplay = callPackage ../applications/graphics/exrdisplay { + fltk = fltk20; + }; + + fbpanel = callPackage ../applications/window-managers/fbpanel { }; + + fbreader = callPackage ../applications/misc/fbreader { }; + + fetchmail = import ../applications/misc/fetchmail { + inherit stdenv fetchurl openssl; + }; + + fldigi = callPackage ../applications/audio/fldigi { }; + + fluidsynth = callPackage ../applications/audio/fluidsynth { }; + + fossil = callPackage ../applications/version-management/fossil { }; + + fribid = callPackage ../applications/networking/browsers/mozilla-plugins/fribid { }; + + fvwm = callPackage ../applications/window-managers/fvwm { }; + + geany = callPackage ../applications/editors/geany { }; + + gksu = callPackage ../applications/misc/gksu { }; + + gnuradio = callPackage ../applications/misc/gnuradio { + inherit (pythonPackages) lxml numpy scipy matplotlib pyopengl; + fftw = fftwFloat; + }; + + gnuradio-osmosdr = callPackage ../applications/misc/gnuradio-osmosdr { }; + + goldendict = callPackage ../applications/misc/goldendict { }; + + google-musicmanager = callPackage ../applications/audio/google-musicmanager { }; + + gpicview = callPackage ../applications/graphics/gpicview { }; + + gqrx = callPackage ../applications/misc/gqrx { }; + + grass = import ../applications/misc/grass { + inherit (xlibs) libXmu libXext libXp libX11 libXt libSM libICE libXpm + libXaw libXrender; + inherit config composableDerivation stdenv fetchurl + lib flex bison cairo fontconfig + gdal zlib ncurses gdbm proj pkgconfig swig + blas liblapack libjpeg libpng mysql unixODBC mesa postgresql python + readline sqlite tcl tk libtiff freetype makeWrapper wxGTK; + fftw = fftwSinglePrec; + ffmpeg = ffmpeg_0_10; + motif = lesstif; + opendwg = libdwg; + wxPython = wxPython28; + }; + + grip = callPackage ../applications/misc/grip { + inherit (gnome) libgnome libgnomeui vte; + }; + + gtimelog = pythonPackages.gtimelog; + + inherit (gnome3) gucharmap; + + guitarix = callPackage ../applications/audio/guitarix { + fftw = fftwSinglePrec; + }; + + photivo = callPackage ../applications/graphics/photivo { }; + + wavesurfer = callPackage ../applications/misc/audio/wavesurfer { }; + + wireshark = callPackage ../applications/networking/sniffers/wireshark { }; + + wvdial = callPackage ../os-specific/linux/wvdial { }; + + fbida = callPackage ../applications/graphics/fbida { }; + + fdupes = callPackage ../tools/misc/fdupes { }; + + feh = callPackage ../applications/graphics/feh { }; + + filezilla = callPackage ../applications/networking/ftp/filezilla { }; + + firefox13Pkgs = callPackage ../applications/networking/browsers/firefox/13.0.nix { + inherit (gnome) libIDL; + }; + + firefox13Wrapper = wrapFirefox { browser = firefox13Pkgs.firefox; }; + + firefox30Pkgs = callPackage ../applications/networking/browsers/firefox/30.nix { + inherit (gnome) libIDL; + inherit (pythonPackages) pysqlite; + libpng = libpng_apng; + }; + + firefox = callPackage ../applications/networking/browsers/firefox { + inherit (gnome) libIDL; + inherit (pythonPackages) pysqlite; + }; + + firefoxWrapper = wrapFirefox { browser = pkgs.firefox; }; + + firefox-bin = callPackage ../applications/networking/browsers/firefox-bin { + gconf = pkgs.gnome.GConf; + inherit (pkgs.gnome) libgnome libgnomeui; + inherit (pkgs.xlibs) libX11 libXScrnSaver libXext + libXinerama libXrender libXt; + }; + + flac = callPackage ../applications/audio/flac { }; + + flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 { + debug = config.flashplayer.debug or false; + }; + + fluxbox = callPackage ../applications/window-managers/fluxbox { }; + + freecad = callPackage ../applications/graphics/freecad { + opencascade = opencascade_6_5; + inherit (pythonPackages) matplotlib pycollada; + }; + + freemind = callPackage ../applications/misc/freemind { + jdk = jdk; + jre = jdk; + }; + + freenet = callPackage ../applications/networking/p2p/freenet { }; + + freepv = callPackage ../applications/graphics/freepv { }; + + xfontsel = callPackage ../applications/misc/xfontsel { }; + xlsfonts = callPackage ../applications/misc/xlsfonts { }; + + freerdp = callPackage ../applications/networking/remote/freerdp { + ffmpeg = ffmpeg_1; + }; + + freerdpUnstable = callPackage ../applications/networking/remote/freerdp/unstable.nix { }; + + freicoin = callPackage ../applications/misc/freicoin { }; + + fspot = callPackage ../applications/graphics/f-spot { + inherit (gnome) libgnome libgnomeui; + gtksharp = gtksharp1; + }; + + fuze = callPackage ../applications/networking/instant-messengers/fuze {}; + + gcolor2 = callPackage ../applications/graphics/gcolor2 { }; + + get_iplayer = callPackage ../applications/misc/get_iplayer {}; + + gimp_2_8 = callPackage ../applications/graphics/gimp/2.8.nix { + inherit (gnome) libart_lgpl; + webkit = null; + lcms = lcms2; + wrapPython = pythonPackages.wrapPython; + }; + + gimp = gimp_2_8; + + gimpPlugins = recurseIntoAttrs (import ../applications/graphics/gimp/plugins { + inherit pkgs gimp; + }); + + gitAndTools = recurseIntoAttrs (import ../applications/version-management/git-and-tools { + inherit pkgs; + }); + git = gitAndTools.git; + gitFull = gitAndTools.gitFull; + gitSVN = gitAndTools.gitSVN; + + gitRepo = callPackage ../applications/version-management/git-repo { + python = python27; + }; + + gitolite = callPackage ../applications/version-management/gitolite { }; + + inherit (gnome3) gitg; + + giv = callPackage ../applications/graphics/giv { + pcre = pcre.override { unicodeSupport = true; }; + }; + + gmrun = callPackage ../applications/misc/gmrun {}; + + gnucash = callPackage ../applications/office/gnucash { + inherit (gnome2) libgnomeui libgtkhtml gtkhtml libbonoboui libgnomeprint libglade libart_lgpl; + gconf = gnome2.GConf; + guile = guile_1_8; + slibGuile = slibGuile.override { scheme = guile_1_8; }; + goffice = goffice_0_8; + }; + + goffice_0_8 = callPackage ../desktops/gnome-3/3.10/misc/goffice/0.8.nix { + inherit (gnome2) libglade libgnomeui; + gconf = gnome2.GConf; + libart = gnome2.libart_lgpl; + }; # latest version: gnome3.goffice + + ideas = recurseIntoAttrs ( (callPackage ../applications/editors/idea { }) + // (callPackage ../applications/editors/idea/pycharm.nix { })); + + libquvi = callPackage ../applications/video/quvi/library.nix { }; + + mi2ly = callPackage ../applications/audio/mi2ly {}; + + praat = callPackage ../applications/audio/praat { }; + + quvi = callPackage ../applications/video/quvi/tool.nix { }; + + quvi_scripts = callPackage ../applications/video/quvi/scripts.nix { }; + + qjackctl = callPackage ../applications/audio/qjackctl { }; + + gkrellm = callPackage ../applications/misc/gkrellm { }; + + gmu = callPackage ../applications/audio/gmu { }; + + gnash = callPackage ../applications/video/gnash { + inherit (gnome) gtkglext; + }; + + gnome_mplayer = callPackage ../applications/video/gnome-mplayer { + inherit (gnome) GConf; + }; + + gnumeric = callPackage ../applications/office/gnumeric { + inherit (gnome3) goffice gnome_icon_theme; + }; + + gnunet = callPackage ../applications/networking/p2p/gnunet { + libgcrypt = libgcrypt_1_6; + }; + + gnunet_svn = lowPrio (callPackage ../applications/networking/p2p/gnunet/svn.nix { + libgcrypt = libgcrypt_1_6; + }); + + gocr = callPackage ../applications/graphics/gocr { }; + + gobby5 = callPackage ../applications/editors/gobby { + inherit (gnome) gtksourceview; + }; + + gphoto2 = callPackage ../applications/misc/gphoto2 { }; + + gphoto2fs = builderDefsPackage ../applications/misc/gphoto2/gphotofs.nix { + inherit libgphoto2 fuse pkgconfig glib libtool; + }; + + graphicsmagick = callPackage ../applications/graphics/graphicsmagick { }; + graphicsmagick_q16 = callPackage ../applications/graphics/graphicsmagick { quantumdepth = 16; }; + + graphicsmagick137 = callPackage ../applications/graphics/graphicsmagick/1.3.7.nix { + libpng = libpng12; + }; + + gtkpod = callPackage ../applications/audio/gtkpod { + inherit (gnome) libglade; + }; + + jbidwatcher = callPackage ../applications/misc/jbidwatcher { + java = if stdenv.isLinux then jre else jdk; + }; + + qrdecode = builderDefsPackage (import ../tools/graphics/qrdecode) { + libpng = libpng12; + opencv = opencv_2_1; + }; + + qrencode = callPackage ../tools/graphics/qrencode { }; + + gecko_mediaplayer = callPackage ../applications/networking/browsers/mozilla-plugins/gecko-mediaplayer { + inherit (gnome) GConf; + browser = firefox; + }; + + geeqie = callPackage ../applications/graphics/geeqie { }; + + gigedit = callPackage ../applications/audio/gigedit { }; + + gqview = callPackage ../applications/graphics/gqview { }; + + gmpc = callPackage ../applications/audio/gmpc { }; + + gmtk = callPackage ../applications/networking/browsers/mozilla-plugins/gmtk { + inherit (gnome) GConf; + }; + + googleearth = callPackage_i686 ../applications/misc/googleearth { }; + + google_talk_plugin = callPackage ../applications/networking/browsers/mozilla-plugins/google-talk-plugin { + libpng = libpng12; + }; + + gosmore = builderDefsPackage ../applications/misc/gosmore { + inherit fetchsvn curl pkgconfig libxml2 gtk; + }; + + gpsbabel = callPackage ../applications/misc/gpsbabel { }; + + gpscorrelate = callPackage ../applications/misc/gpscorrelate { }; + + gpsd = callPackage ../servers/gpsd { }; + + guitone = callPackage ../applications/version-management/guitone { + graphviz = graphviz_2_32; + }; + + gv = callPackage ../applications/misc/gv { }; + + guvcview = callPackage ../os-specific/linux/guvcview { }; + + hello = callPackage ../applications/misc/hello/ex-2 { }; + + herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { }; + + hexchat = callPackage ../applications/networking/irc/hexchat { }; + + hexedit = callPackage ../applications/editors/hexedit { }; + + hipchat = callPackage ../applications/networking/instant-messengers/hipchat { }; + + homebank = callPackage ../applications/office/homebank { }; + + htmldoc = callPackage ../applications/misc/htmldoc { + fltk = fltk13; + }; + + hugin = callPackage ../applications/graphics/hugin { }; + + hydrogen = callPackage ../applications/audio/hydrogen { }; + + i3 = callPackage ../applications/window-managers/i3 { }; + + i3lock = callPackage ../applications/window-managers/i3/lock.nix { + inherit (xorg) libxkbfile; + cairo = cairo.override { xcbSupport = true; }; + }; + + i3minator = callPackage ../tools/misc/i3minator { }; + + i3status = callPackage ../applications/window-managers/i3/status.nix { }; + + i810switch = callPackage ../os-specific/linux/i810switch { }; + + icewm = callPackage ../applications/window-managers/icewm { }; + + id3v2 = callPackage ../applications/audio/id3v2 { }; + + ifenslave = callPackage ../os-specific/linux/ifenslave { }; + + ii = callPackage ../applications/networking/irc/ii { }; + + ike = callPackage ../applications/ike { }; + + ikiwiki = callPackage ../applications/misc/ikiwiki { + inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber + HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder LocaleGettext + RpcXML XMLSimple PerlMagick YAML YAMLLibYAML HTMLTree Filechdir + AuthenPassphrase NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay; + }; + + imagemagick = callPackage ../applications/graphics/ImageMagick { + tetex = null; + librsvg = null; + }; + + imagemagickBig = lowPrio (callPackage ../applications/graphics/ImageMagick { }); + + # Impressive, formerly known as "KeyJNote". + impressive = callPackage ../applications/office/impressive { + # XXX These are the PyOpenGL dependencies, which we need here. + inherit (pythonPackages) pyopengl; + }; + + inferno = callPackage_i686 ../applications/inferno { }; + + inkscape = callPackage ../applications/graphics/inkscape { + inherit (pythonPackages) lxml; + lcms = lcms2; + }; + + ion3 = callPackage ../applications/window-managers/ion-3 { + lua = lua5; + }; + + ipe = callPackage ../applications/graphics/ipe { }; + + iptraf = callPackage ../applications/networking/iptraf { }; + + irssi = callPackage ../applications/networking/irc/irssi { + # compile with gccApple on darwin to support the -no-cpp-precompile flag + stdenv = if stdenv.isDarwin + then stdenvAdapters.overrideGCC stdenv gccApple + else stdenv; + }; + + irssi_fish = callPackage ../applications/networking/irc/irssi/fish { }; + + irssi_otr = callPackage ../applications/networking/irc/irssi/otr { }; + + bip = callPackage ../applications/networking/irc/bip { }; + + jack_capture = callPackage ../applications/audio/jack-capture { }; + + jack_oscrolloscope = callPackage ../applications/audio/jack-oscrolloscope { }; + + jack_rack = callPackage ../applications/audio/jack-rack { }; + + jackmeter = callPackage ../applications/audio/jackmeter { }; + + jalv = callPackage ../applications/audio/jalv { }; + + jedit = callPackage ../applications/editors/jedit { }; + + jigdo = callPackage ../applications/misc/jigdo { }; + + jitsi = callPackage ../applications/networking/instant-messengers/jitsi { }; + + joe = callPackage ../applications/editors/joe { }; + + jbrout = callPackage ../applications/graphics/jbrout { + inherit (pythonPackages) lxml; + }; + + jwm = callPackage ../applications/window-managers/jwm { }; + + k3d = callPackage ../applications/graphics/k3d { + inherit (pkgs.gnome2) gtkglext; + }; + + keepnote = callPackage ../applications/office/keepnote { + pygtk = pyGtkGlade; + }; + + kermit = callPackage ../tools/misc/kermit { }; + + keymon = callPackage ../applications/video/key-mon { }; + + kino = callPackage ../applications/video/kino { + inherit (gnome) libglade; + }; + + koji = callPackage ../tools/package-management/koji { }; + + lame = callPackage ../applications/audio/lame { }; + + larswm = callPackage ../applications/window-managers/larswm { }; + + lash = callPackage ../applications/audio/lash { }; + + ladspaH = callPackage ../applications/audio/ladspa-plugins/ladspah.nix { }; + + ladspaPlugins = callPackage ../applications/audio/ladspa-plugins { + fftw = fftwSinglePrec; + }; + + caps = callPackage ../applications/audio/caps { }; + + lastwatch = callPackage ../applications/audio/lastwatch { }; + + lastfmsubmitd = callPackage ../applications/audio/lastfmsubmitd { }; + + lbdb = callPackage ../tools/misc/lbdb { }; + + lci = callPackage ../applications/science/logic/lci {}; + + ldcpp = callPackage ../applications/networking/p2p/ldcpp { + inherit (gnome) libglade; + }; + + librecad = callPackage ../applications/misc/librecad { }; + + librecad2 = callPackage ../applications/misc/librecad/2.0.nix { }; + + libreoffice = callPackage ../applications/office/libreoffice { + inherit (perlPackages) ArchiveZip CompressZlib; + inherit (gnome) GConf ORBit2 gnome_vfs; + zip = zip.override { enableNLS = false; }; + boost = boost155; + jdk = openjdk; + fontsConf = makeFontsConf { + fontDirectories = [ + freefont_ttf xorg.fontmiscmisc xorg.fontbhttf + ]; + }; + clucene_core = clucene_core_2; + lcms = lcms2; + harfbuzz = harfbuzz.override { + withIcu = true; withGraphite2 = true; + }; + }; + + liferea = callPackage ../applications/networking/newsreaders/liferea { }; + + lingot = callPackage ../applications/audio/lingot { + inherit (gnome) libglade; + }; + + links = callPackage ../applications/networking/browsers/links { }; + + ledger = callPackage ../applications/office/ledger/2.6.3.nix { }; + ledger3 = callPackage ../applications/office/ledger/3.0.nix { }; + + lighttable = callPackage ../applications/editors/lighttable {}; + + links2 = callPackage ../applications/networking/browsers/links2 { }; + + linphone = callPackage ../applications/networking/instant-messengers/linphone rec { + inherit (gnome) libglade; + libexosip = libexosip_3; + libosip = libosip_3; + }; + + linuxsampler = callPackage ../applications/audio/linuxsampler { + bison = bison2; + }; + + llpp = callPackage ../applications/misc/llpp { inherit (ocamlPackages) lablgl; }; + + lmms = callPackage ../applications/audio/lmms { }; + + lrzsz = callPackage ../tools/misc/lrzsz { }; + + luminanceHDR = callPackage ../applications/graphics/luminance-hdr { }; + + lxdvdrip = callPackage ../applications/video/lxdvdrip { }; + + handbrake = callPackage ../applications/video/handbrake { }; + + lilyterm = callPackage ../applications/misc/lilyterm { + inherit (gnome) vte; + gtk = gtk2; + }; + + lynx = callPackage ../applications/networking/browsers/lynx { }; + + lyx = callPackage ../applications/misc/lyx { }; + + makeself = callPackage ../applications/misc/makeself { }; + + matchbox = callPackage ../applications/window-managers/matchbox { }; + + mcpp = callPackage ../development/compilers/mcpp { }; + + mda_lv2 = callPackage ../applications/audio/mda-lv2 { }; + + meld = callPackage ../applications/version-management/meld { + inherit (gnome) scrollkeeper; + pygtk = pyGtkGlade; + }; + + mcomix = callPackage ../applications/graphics/mcomix { }; + + mercurial = callPackage ../applications/version-management/mercurial { + inherit (pythonPackages) curses docutils; + guiSupport = false; # use mercurialFull to get hgk GUI + }; + + mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; }); + + merkaartor = callPackage ../applications/misc/merkaartor { }; + + meshlab = callPackage ../applications/graphics/meshlab { }; + + mhwaveedit = callPackage ../applications/audio/mhwaveedit {}; + + mid2key = callPackage ../applications/audio/mid2key { }; + + midori = callPackage ../applications/networking/browsers/midori { }; + + midoriWrapper = wrapFirefox + { browser = midori; browserName = "midori"; desktopName = "Midori"; + icon = "${midori}/share/icons/hicolor/22x22/apps/midori.png"; + }; + + mikmod = callPackage ../applications/audio/mikmod { }; + + minicom = callPackage ../tools/misc/minicom { }; + + minimodem = callPackage ../applications/audio/minimodem { }; + + minidjvu = callPackage ../applications/graphics/minidjvu { }; + + mirage = callPackage ../applications/graphics/mirage {}; + + mixxx = callPackage ../applications/audio/mixxx { + inherit (vamp) vampSDK; + }; + + mmex = callPackage ../applications/office/mmex { }; + + moc = callPackage ../applications/audio/moc { }; + + monkeysAudio = callPackage ../applications/audio/monkeys-audio { }; + + monodevelop = callPackage ../applications/editors/monodevelop { + inherit (gnome) gnome_vfs libbonobo libglade libgnome GConf; + mozilla = firefox; + gtksharp = gtksharp2; + }; + + monodoc = callPackage ../applications/editors/monodoc { + gtksharp = gtksharp1; + }; + + monotone = callPackage ../applications/version-management/monotone { + lua = lua5; + boost = boost149; + }; + + monotoneViz = builderDefsPackage (import ../applications/version-management/monotone-viz/mtn-head.nix) { + inherit ocaml graphviz pkgconfig autoconf automake libtool glib gtk; + inherit (ocamlPackages) lablgtk; + inherit (gnome) libgnomecanvas; + }; + + mopidy = callPackage ../applications/audio/mopidy { }; + + mopidy-spotify = callPackage ../applications/audio/mopidy-spotify { }; + + mopidy-moped = callPackage ../applications/audio/mopidy-moped { }; + + mozilla = callPackage ../applications/networking/browsers/mozilla { + inherit (gnome) libIDL; + }; + + mozplugger = builderDefsPackage (import ../applications/networking/browsers/mozilla-plugins/mozplugger) { + inherit firefox; + inherit (xlibs) libX11 xproto; + }; + + easytag = callPackage ../applications/audio/easytag { }; + + mp3info = callPackage ../applications/audio/mp3info { }; + + mp3splt = callPackage ../applications/audio/mp3splt { }; + + mpc123 = callPackage ../applications/audio/mpc123 { }; + + mpg123 = callPackage ../applications/audio/mpg123 { }; + + mpg321 = callPackage ../applications/audio/mpg321 { }; + + mpc_cli = callPackage ../applications/audio/mpc { }; + + ncmpc = callPackage ../applications/audio/ncmpc { }; + + ncmpcpp = callPackage ../applications/audio/ncmpcpp { }; + + normalize = callPackage ../applications/audio/normalize { }; + + mplayer = callPackage ../applications/video/mplayer { + pulseSupport = config.pulseaudio or false; + vdpauSupport = config.mplayer.vdpauSupport or false; + }; + + mplayer2 = callPackage ../applications/video/mplayer2 { + ffmpeg = libav_9; # see https://trac.macports.org/ticket/44386 + }; + + MPlayerPlugin = browser: + import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in { + inherit browser; + inherit fetchurl stdenv pkgconfig gettext; + inherit (xlibs) libXpm; + # !!! should depend on MPlayer + }; + + mpv = callPackage ../applications/video/mpv { + lua = lua5_1; + bs2bSupport = config.mpv.bs2bSupport or true; + quviSupport = config.mpv.quviSupport or false; + cacaSupport = config.mpv.cacaSupport or true; + vaapiSupport = config.mpv.vaapiSupport or false; + }; + + mrxvt = callPackage ../applications/misc/mrxvt { }; + + multisync = callPackage ../applications/misc/multisync { + inherit (gnome) ORBit2 libbonobo libgnomeui GConf; + }; + + mumble = callPackage ../applications/networking/mumble { + avahi = avahi.override { + withLibdnssdCompat = true; + }; + jackSupport = config.mumble.jackSupport or false; + speechdSupport = config.mumble.speechdSupport or false; + }; + + murmur = callPackage ../applications/networking/mumble/murmur.nix { + avahi = avahi.override { + withLibdnssdCompat = true; + }; + iceSupport = config.murmur.iceSupport or true; + }; + + mutt = callPackage ../applications/networking/mailreaders/mutt { }; + + namecoin = callPackage ../applications/misc/namecoin { }; + namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { }; + + pcmanfm = callPackage ../applications/misc/pcmanfm { }; + + ruby_gpgme = callPackage ../development/libraries/ruby_gpgme { + ruby = ruby19; + hoe = rubyLibs.hoe; + }; + + ruby_ncursesw_sup = callPackage ../development/libraries/ruby_ncursesw_sup { }; + + shotcut = callPackage ../applications/video/shotcut { mlt = mlt-qt5; }; + + smplayer = callPackage ../applications/video/smplayer { }; + + sup = with rubyLibs; callPackage ../applications/networking/mailreaders/sup { + ruby = ruby19.override { + cursesSupport = true; + }; + + inherit gettext highline iconv locale lockfile + text trollop xapian_ruby which; + + rmail_sup = ""; # missing + unicode = ""; + + # See https://github.com/NixOS/nixpkgs/issues/1804 and + # https://github.com/NixOS/nixpkgs/issues/2146 + bundler = pkgs.lib.overrideDerivation pkgs.rubyLibs.bundler ( + oldAttrs: { + dontPatchShebangs = 1; + } + ); + chronic = chronic; + gpgme = ruby_gpgme; + mime_types = mime_types; + ncursesw_sup = ruby_ncursesw_sup; + rake = rake; + }; + + synfigstudio = callPackage ../applications/graphics/synfigstudio { + fontsConf = makeFontsConf { fontDirectories = [ freefont_ttf ]; }; + }; + + sxhkd = callPackage ../applications/window-managers/sxhkd { }; + + msmtp = callPackage ../applications/networking/msmtp { }; + + imapfilter = callPackage ../applications/networking/mailreaders/imapfilter.nix { + lua = lua5; + }; + + mupdf = callPackage ../applications/misc/mupdf { }; + + mypaint = callPackage ../applications/graphics/mypaint { }; + + mythtv = callPackage ../applications/video/mythtv { }; + + tvtime = callPackage ../applications/video/tvtime { + kernel = linux; + }; + + nano = callPackage ../applications/editors/nano { }; + + nanoblogger = callPackage ../applications/misc/nanoblogger { }; + + navipowm = callPackage ../applications/misc/navipowm { }; + + navit = callPackage ../applications/misc/navit { }; + + netbeans = callPackage ../applications/editors/netbeans { }; + + ncdu = callPackage ../tools/misc/ncdu { }; + + ncdc = callPackage ../applications/networking/p2p/ncdc { }; + + nedit = callPackage ../applications/editors/nedit { + motif = lesstif; + }; + + netsurfBrowser = netsurf.browser; + netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; }); + + notmuch = callPackage ../applications/networking/mailreaders/notmuch { + # use emacsPackages.notmuch if you want emacs support + emacs = null; + }; + + nova = callPackage ../applications/virtualization/nova { }; + + novaclient = callPackage ../applications/virtualization/nova/client.nix { }; + + nspluginwrapper = callPackage ../applications/networking/browsers/mozilla-plugins/nspluginwrapper {}; + + nvi = callPackage ../applications/editors/nvi { }; + + nvpy = callPackage ../applications/editors/nvpy { }; + + obconf = callPackage ../tools/X11/obconf { + inherit (gnome) libglade; + }; + + ocrad = callPackage ../applications/graphics/ocrad { }; + + offrss = callPackage ../applications/networking/offrss { }; + + ogmtools = callPackage ../applications/video/ogmtools { }; + + omxplayer = callPackage ../applications/video/omxplayer { }; + + oneteam = callPackage ../applications/networking/instant-messengers/oneteam {}; + + openbox = callPackage ../applications/window-managers/openbox { }; + + openimageio = callPackage ../applications/graphics/openimageio { }; + + openjump = callPackage ../applications/misc/openjump { }; + + openscad = callPackage ../applications/graphics/openscad {}; + + opera = callPackage ../applications/networking/browsers/opera { + inherit (pkgs.kde4) kdelibs; + }; + + opusfile = callPackage ../applications/audio/opusfile { }; + + opusTools = callPackage ../applications/audio/opus-tools { }; + + pamixer = callPackage ../applications/audio/pamixer { }; + + pan = callPackage ../applications/networking/newsreaders/pan { + spellChecking = false; + }; + + panotools = callPackage ../applications/graphics/panotools { }; + + pavucontrol = callPackage ../applications/audio/pavucontrol { }; + + paraview = callPackage ../applications/graphics/paraview { }; + + pencil = callPackage ../applications/graphics/pencil { }; + + petrifoo = callPackage ../applications/audio/petrifoo { + inherit (gnome) libgnomecanvas; + }; + + pdftk = callPackage ../tools/typesetting/pdftk { }; + pdfgrep = callPackage ../tools/typesetting/pdfgrep { }; + + pianobar = callPackage ../applications/audio/pianobar { }; + + pianobooster = callPackage ../applications/audio/pianobooster { }; + + picard = callPackage ../applications/audio/picard { }; + + picocom = callPackage ../tools/misc/picocom { }; + + pidgin = callPackage ../applications/networking/instant-messengers/pidgin { + openssl = if config.pidgin.openssl or true then openssl else null; + gnutls = if config.pidgin.gnutls or false then gnutls else null; + libgcrypt = if config.pidgin.gnutls or false then libgcrypt else null; + startupnotification = libstartup_notification; + }; + + pidginlatex = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex { + imagemagick = imagemagickBig; + }; + + pidginlatexSF = builderDefsPackage + (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix) + { + inherit pkgconfig pidgin texLive imagemagick which glib gtk; + }; + + pidginmsnpecan = callPackage ../applications/networking/instant-messengers/pidgin-plugins/msn-pecan { }; + + pidginotr = callPackage ../applications/networking/instant-messengers/pidgin-plugins/otr { }; + + pidginsipe = callPackage ../applications/networking/instant-messengers/pidgin-plugins/sipe { }; + + toxprpl = callPackage ../applications/networking/instant-messengers/pidgin-plugins/tox-prpl { }; + + pinfo = callPackage ../applications/misc/pinfo { }; + + pinta = callPackage ../applications/graphics/pinta { + gtksharp = gtksharp2; + }; + + pommed = callPackage ../os-specific/linux/pommed { + inherit (xorg) libXpm; + }; + + potrace = callPackage ../applications/graphics/potrace {}; + + posterazor = callPackage ../applications/misc/posterazor { }; + + pqiv = callPackage ../applications/graphics/pqiv { }; + + qiv = callPackage ../applications/graphics/qiv { }; + + processing = callPackage ../applications/graphics/processing { inherit (xorg) libXxf86vm; }; + + # perhaps there are better apps for this task? It's how I had configured my preivous system. + # And I don't want to rewrite all rules + procmail = callPackage ../applications/misc/procmail { }; + + pstree = callPackage ../applications/misc/pstree { }; + + pulseview = callPackage ../applications/science/electronics/pulseview { }; + + puredata = callPackage ../applications/audio/puredata { }; + + pythonmagick = callPackage ../applications/graphics/PythonMagick { }; + + qbittorrent = callPackage ../applications/networking/p2p/qbittorrent { }; + + eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp { }; + + qemu = callPackage ../applications/virtualization/qemu { }; + + qmmp = callPackage ../applications/audio/qmmp { }; + + qsampler = callPackage ../applications/audio/qsampler { }; + + qsynth = callPackage ../applications/audio/qsynth { }; + + qtpfsgui = callPackage ../applications/graphics/qtpfsgui { }; + + qtractor = callPackage ../applications/audio/qtractor { }; + + quodlibet = callPackage ../applications/audio/quodlibet { + inherit (pythonPackages) mutagen; + }; + + quodlibet-with-gst-plugins = callPackage ../applications/audio/quodlibet { + inherit (pythonPackages) mutagen; + withGstPlugins = true; + gst_plugins_bad = null; + }; + + rakarrack = callPackage ../applications/audio/rakarrack { + inherit (xorg) libXpm libXft; + fltk = fltk13; + }; + + rapcad = callPackage ../applications/graphics/rapcad {}; + + rapidsvn = callPackage ../applications/version-management/rapidsvn { }; + + ratpoison = callPackage ../applications/window-managers/ratpoison { }; + + rawtherapee = callPackage ../applications/graphics/rawtherapee { + fftw = fftwSinglePrec; + }; + + rcs = callPackage ../applications/version-management/rcs { }; + + rdesktop = callPackage ../applications/networking/remote/rdesktop { }; + + recode = callPackage ../tools/text/recode { }; + + retroshare = callPackage ../applications/networking/p2p/retroshare { + qt = qt4; + }; + + retroshare06 = lowPrio (callPackage ../applications/networking/p2p/retroshare/0.6.nix { + qt = qt4; + }); + + rsync = callPackage ../applications/networking/sync/rsync { + enableACLs = !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD); + enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false); + }; + + rtl-sdr = callPackage ../applications/misc/rtl-sdr { }; + + rubyripper = callPackage ../applications/audio/rubyripper {}; + + rxvt = callPackage ../applications/misc/rxvt { }; + + # = urxvt + rxvt_unicode = callPackage ../applications/misc/rxvt_unicode { + perlSupport = true; + gdkPixbufSupport = true; + unicode3Support = true; + }; + + sakura = callPackage ../applications/misc/sakura { + inherit (gnome) vte; + }; + + sbagen = callPackage ../applications/misc/sbagen { }; + + scite = callPackage ../applications/editors/scite { }; + + scribus = callPackage ../applications/office/scribus { + inherit (gnome) libart_lgpl; + }; + + seafile-client = callPackage ../applications/networking/seafile-client { }; + + seeks = callPackage ../tools/networking/p2p/seeks { + opencv = opencv_2_1; + }; + + seg3d = callPackage ../applications/graphics/seg3d { + wxGTK = wxGTK28.override { unicode = false; }; + }; + + seq24 = callPackage ../applications/audio/seq24 { }; + + setbfree = callPackage ../applications/audio/setbfree { }; + + sflphone = callPackage ../applications/networking/instant-messengers/sflphone { + gtk = gtk3; + }; + + siproxd = callPackage ../applications/networking/siproxd { }; + + skype = callPackage_i686 ../applications/networking/instant-messengers/skype { }; + + skype4pidgin = callPackage ../applications/networking/instant-messengers/pidgin-plugins/skype4pidgin { }; + + skype_call_recorder = callPackage ../applications/networking/instant-messengers/skype-call-recorder { }; + + slrn = callPackage ../applications/networking/newsreaders/slrn { }; + + spideroak = callPackage ../applications/networking/spideroak { }; + + ssvnc = callPackage ../applications/networking/remote/ssvnc { }; + + st = callPackage ../applications/misc/st { + conf = config.st.conf or null; + }; + + stella = callPackage ../misc/emulators/stella { }; + + linuxstopmotion = callPackage ../applications/video/linuxstopmotion { }; + + sweethome3d = recurseIntoAttrs ( (callPackage ../applications/misc/sweethome3d { }) + // (callPackage ../applications/misc/sweethome3d/editors.nix { + sweethome3dApp = sweethome3d.application; + }) + ); + + sxiv = callPackage ../applications/graphics/sxiv { }; + + bittorrentSync = callPackage ../applications/networking/bittorrentsync { }; + + dropbox = callPackage ../applications/networking/dropbox { }; + + dropbox-cli = callPackage ../applications/networking/dropbox-cli { }; + + lightdm = callPackage ../applications/display-managers/lightdm { }; + + lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm-gtk-greeter { }; + + # slic3r 0.9.10b says: "Running Slic3r under Perl >= 5.16 is not supported nor recommended" + slic3r = callPackage ../applications/misc/slic3r { + perlPackages = perl514Packages; + perl = perl514; + }; + + curaengine = callPackage ../applications/misc/curaengine { }; + + cura = callPackage ../applications/misc/cura { }; + + printrun = callPackage ../applications/misc/printrun { }; + + slim = callPackage ../applications/display-managers/slim { + libpng = libpng12; + }; + + smartdeblur = callPackage ../applications/graphics/smartdeblur { }; + + snd = callPackage ../applications/audio/snd { }; + + shntool = callPackage ../applications/audio/shntool { }; + + sonic_visualiser = callPackage ../applications/audio/sonic-visualiser { + inherit (pkgs.vamp) vampSDK; + inherit (pkgs.xlibs) libX11; + fftw = pkgs.fftwSinglePrec; + }; + + sox = callPackage ../applications/misc/audio/sox { }; + + soxr = callPackage ../applications/misc/audio/soxr { }; + + spotify = callPackage ../applications/audio/spotify { + inherit (gnome) GConf; + libpng = libpng12; + }; + + libspotify = callPackage ../development/libraries/libspotify { + apiKey = config.libspotify.apiKey or null; + }; + + stalonetray = callPackage ../applications/window-managers/stalonetray {}; + + stp = callPackage ../applications/science/logic/stp {}; + + stumpwm = lispPackages.stumpwm; + + sublime = callPackage ../applications/editors/sublime { }; + + sublime3 = lowPrio (callPackage ../applications/editors/sublime3 { }); + + subversion = callPackage ../applications/version-management/subversion/default.nix { + bdbSupport = true; + httpServer = false; + httpSupport = true; + pythonBindings = false; + perlBindings = false; + javahlBindings = false; + saslSupport = false; + httpd = apacheHttpd; + sasl = cyrus_sasl; + }; + + subversionClient = appendToName "client" (subversion.override { + bdbSupport = false; + perlBindings = true; + pythonBindings = true; + }); + + surf = callPackage ../applications/misc/surf { + webkit = webkitgtk2; + }; + + svk = perlPackages.SVK; + + swh_lv2 = callPackage ../applications/audio/swh-lv2 { }; + + sylpheed = callPackage ../applications/networking/mailreaders/sylpheed { + sslSupport = true; + gpgSupport = true; + }; + + symlinks = callPackage ../tools/system/symlinks { }; + + syncthing = callPackage ../applications/networking/syncthing { }; + + # linux only by now + synergy = callPackage ../applications/misc/synergy { }; + + tabbed = callPackage ../applications/window-managers/tabbed { }; + + tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs { + inherit (pythonPackages) twisted foolscap simplejson nevow zfec + pycryptopp sqlite3 darcsver setuptoolsTrial setuptoolsDarcs + numpy pyasn1 mock; + }; + + tailor = builderDefsPackage (import ../applications/version-management/tailor) { + inherit makeWrapper python; + }; + + tangogps = callPackage ../applications/misc/tangogps { + gconf = gnome.GConf; + }; + + teamspeak_client = callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { }; + teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { }; + + taskjuggler = callPackage ../applications/misc/taskjuggler { }; + + taskwarrior = callPackage ../applications/misc/taskwarrior { }; + + taskserver = callPackage ../servers/misc/taskserver { }; + + telegram-cli = callPackage ../applications/networking/instant-messengers/telegram-cli/default.nix { }; + + telepathy_gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { }; + + telepathy_haze = callPackage ../applications/networking/instant-messengers/telepathy/haze {}; + + telepathy_logger = callPackage ../applications/networking/instant-messengers/telepathy/logger {}; + + telepathy_mission_control = callPackage ../applications/networking/instant-messengers/telepathy/mission-control { }; + + telepathy_rakia = callPackage ../applications/networking/instant-messengers/telepathy/rakia { }; + + telepathy_salut = callPackage ../applications/networking/instant-messengers/telepathy/salut {}; + + terminator = callPackage ../applications/misc/terminator { + vte = gnome.vte.override { pythonSupport = true; }; + inherit (pythonPackages) notify; + }; + + tesseract = callPackage ../applications/graphics/tesseract { }; + + thinkingRock = callPackage ../applications/misc/thinking-rock { }; + + thunderbird = callPackage ../applications/networking/mailreaders/thunderbird { + inherit (gnome) libIDL; + inherit (pythonPackages) pysqlite; + libpng = libpng_apng; + }; + + thunderbird-bin = callPackage ../applications/networking/mailreaders/thunderbird-bin { + gconf = pkgs.gnome.GConf; + inherit (pkgs.gnome) libgnome libgnomeui; + inherit (pkgs.xlibs) libX11 libXScrnSaver libXext + libXinerama libXrender libXt; + }; + + tig = gitAndTools.tig; + + tilda = callPackage ../applications/misc/tilda { + vte = gnome3.vte; + gtk = gtk3; + }; + + timidity = callPackage ../tools/misc/timidity { }; + + tint2 = callPackage ../applications/misc/tint2 { }; + + tkcvs = callPackage ../applications/version-management/tkcvs { }; + + tla = callPackage ../applications/version-management/arch { }; + + todo-txt-cli = callPackage ../applications/office/todo.txt-cli { }; + + torchat = callPackage ../applications/networking/instant-messengers/torchat { + wrapPython = pythonPackages.wrapPython; + }; + + toxic = callPackage ../applications/networking/instant-messengers/toxic { }; + + transcode = callPackage ../applications/audio/transcode { }; + + transmission = callPackage ../applications/networking/p2p/transmission { }; + transmission_gtk = transmission.override { enableGTK3 = true; }; + + transmission_remote_gtk = callPackage ../applications/networking/p2p/transmission-remote-gtk {}; + + trayer = callPackage ../applications/window-managers/trayer { }; + + tree = callPackage ../tools/system/tree {}; + + tribler = callPackage ../applications/networking/p2p/tribler { }; + + twister = callPackage ../applications/networking/p2p/twister { }; + + twmn = callPackage ../applications/misc/twmn { }; + + twinkle = callPackage ../applications/networking/instant-messengers/twinkle { }; + + umurmur = callPackage ../applications/networking/umurmur { }; + + unison = callPackage ../applications/networking/sync/unison { + inherit (ocamlPackages) lablgtk; + enableX11 = config.unison.enableX11 or true; + }; + + uucp = callPackage ../tools/misc/uucp { }; + + uvccapture = callPackage ../applications/video/uvccapture { }; + + uwimap = callPackage ../tools/networking/uwimap { }; + + uzbl = callPackage ../applications/networking/browsers/uzbl { + webkit = webkitgtk2; + }; + + uTox = callPackage ../applications/networking/instant-messengers/utox { }; + + vanitygen = callPackage ../applications/misc/vanitygen { }; + + vbindiff = callPackage ../applications/editors/vbindiff { }; + + vcprompt = callPackage ../applications/version-management/vcprompt { }; + + vdpauinfo = callPackage ../tools/X11/vdpauinfo { }; + + veracity = callPackage ../applications/version-management/veracity {}; + + viewMtn = builderDefsPackage (import ../applications/version-management/viewmtn/0.10.nix) + { + inherit monotone cheetahTemplate highlight ctags + makeWrapper graphviz which python; + flup = pythonPackages.flup; + }; + + vim = callPackage ../applications/editors/vim { }; + + macvim = callPackage ../applications/editors/vim/macvim.nix { }; + + vimHugeX = vim_configurable; + + vim_configurable = callPackage ../applications/editors/vim/configurable.nix { + inherit (pkgs) fetchurl fetchhg stdenv ncurses pkgconfig gettext + composableDerivation lib config glib gtk python perl tcl ruby; + inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu + libICE; + + features = "huge"; # one of tiny, small, normal, big or huge + lua = pkgs.lua5; + gui = config.vim.gui or "auto"; + + # optional features by flags + flags = [ "python" "X11" ]; # only flag "X11" by now + + # so that we can use gccApple if we're building on darwin + inherit stdenvAdapters gccApple; + }; + + vimNox = lowPrio (vim_configurable.override { source = "vim-nox"; }); + + qvim = lowPrio (callPackage ../applications/editors/vim/qvim.nix { + inherit (pkgs) fetchgit stdenv ncurses pkgconfig gettext + composableDerivation lib config python perl tcl ruby qt4; + inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu + libICE; + + inherit (pkgs) stdenvAdapters gccApple; + + features = "huge"; # one of tiny, small, normal, big or huge + lua = pkgs.lua5; + flags = [ "python" "X11" ]; # only flag "X11" by now + }); + + vimpc = callPackage ../applications/audio/vimpc { }; + + virtviewer = callPackage ../applications/virtualization/virt-viewer { + gtkvnc = gtkvnc.override { enableGTK3 = true; }; + spice_gtk = spice_gtk.override { enableGTK3 = true; }; + }; + virtmanager = callPackage ../applications/virtualization/virt-manager { + inherit (gnome) gnome_python; + vte = gnome3.vte; + dconf = gnome3.dconf; + gtkvnc = gtkvnc.override { enableGTK3 = true; }; + spice_gtk = spice_gtk.override { enableGTK3 = true; }; + }; + + virtinst = callPackage ../applications/virtualization/virtinst {}; + + virtualgl = callPackage ../tools/X11/virtualgl { }; + + bumblebee = callPackage ../tools/X11/bumblebee { }; + + vkeybd = callPackage ../applications/audio/vkeybd { + inherit (xlibs) libX11; + }; + + vlc = callPackage ../applications/video/vlc { }; + + vmpk = callPackage ../applications/audio/vmpk { }; + + vnstat = callPackage ../applications/networking/vnstat { }; + + vorbisTools = callPackage ../applications/audio/vorbis-tools { }; + + vue = callPackage ../applications/misc/vue { + jre = icedtea7_jre; + }; + + vwm = callPackage ../applications/window-managers/vwm { }; + + vym = callPackage ../applications/misc/vym { }; + + w3m = callPackage ../applications/networking/browsers/w3m { + graphicsSupport = false; + }; + + weechat = callPackage ../applications/networking/irc/weechat { }; + + weechatDevel = lowPrio (callPackage ../applications/networking/irc/weechat/devel.nix { }); + + weston = callPackage ../applications/window-managers/weston { }; + + windowmaker = callPackage ../applications/window-managers/windowmaker { }; + + winswitch = callPackage ../tools/X11/winswitch { }; + + wings = callPackage ../applications/graphics/wings { + erlang = erlangR14; + esdl = esdl.override { erlang = erlangR14; }; + }; + + wmname = callPackage ../applications/misc/wmname { }; + + wmctrl = callPackage ../tools/X11/wmctrl { }; + + # I'm keen on wmiimenu only >wmii-3.5 no longer has it... + wmiimenu = import ../applications/window-managers/wmii31 { + libixp = libixp_for_wmii; + inherit fetchurl /* fetchhg */ stdenv gawk; + inherit (xlibs) libX11; + }; + + wmiiSnap = import ../applications/window-managers/wmii { + libixp = libixp_for_wmii; + inherit fetchurl /* fetchhg */ stdenv gawk; + inherit (xlibs) libX11 xextproto libXt libXext; + includeUnpack = config.stdenv.includeUnpack or false; + }; + + wordnet = callPackage ../applications/misc/wordnet { }; + + wrapFirefox = + { browser, browserName ? "firefox", desktopName ? "Firefox", nameSuffix ? "" + , icon ? "${browser}/lib/${browser.name}/browser/icons/mozicon128.png" }: + let + cfg = stdenv.lib.attrByPath [ browserName ] {} config; + enableAdobeFlash = cfg.enableAdobeFlash or false; + enableGnash = cfg.enableGnash or false; + in + import ../applications/networking/browsers/firefox/wrapper.nix { + inherit stdenv lib makeWrapper makeDesktopItem browser browserName desktopName nameSuffix icon; + plugins = + assert !(enableGnash && enableAdobeFlash); + ([ ] + ++ lib.optional enableGnash gnash + ++ lib.optional enableAdobeFlash flashplayer + ++ lib.optional (cfg.enableDjvu or false) (djview4) + ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser) + ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer + ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin + ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin + ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid + ++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome_shell + ); + libs = [ gstreamer gst_plugins_base ] ++ lib.optionals (cfg.enableQuakeLive or false) + (with xlibs; [ stdenv.gcc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]); + gtk_modules = [ libcanberra ]; + }; + + wxhexeditor = callPackage ../applications/editors/wxhexeditor { }; + + x11vnc = callPackage ../tools/X11/x11vnc { }; + + x2vnc = callPackage ../tools/X11/x2vnc { }; + + xaos = builderDefsPackage (import ../applications/graphics/xaos) { + inherit (xlibs) libXt libX11 libXext xextproto xproto; + inherit gsl aalib zlib intltool gettext perl; + libpng = libpng12; + }; + + xara = callPackage ../applications/graphics/xara { }; + + xawtv = callPackage ../applications/video/xawtv { }; + + xbindkeys = callPackage ../tools/X11/xbindkeys { }; + + xbmc = callPackage ../applications/video/xbmc { + ffmpeg = ffmpeg_1; + }; + + xca = callPackage ../applications/misc/xca { }; + + xcalib = callPackage ../tools/X11/xcalib { }; + + xcape = callPackage ../tools/X11/xcape { }; + + xchainkeys = callPackage ../tools/X11/xchainkeys { }; + + xchat = callPackage ../applications/networking/irc/xchat { }; + + xchm = callPackage ../applications/misc/xchm { }; + + xcompmgr = callPackage ../applications/window-managers/xcompmgr { }; + + compton = callPackage ../applications/window-managers/compton { }; + + xdaliclock = callPackage ../tools/misc/xdaliclock {}; + + xdg-user-dirs = callPackage ../tools/X11/xdg-user-dirs { }; + + xdg_utils = callPackage ../tools/X11/xdg-utils { }; + + xdotool = callPackage ../tools/X11/xdotool { }; + + xen = callPackage ../applications/virtualization/xen { + stdenv = overrideGCC stdenv gcc45; + }; + + xfe = callPackage ../applications/misc/xfe { + fox = fox_1_6; + }; + + xfig = callPackage ../applications/graphics/xfig { }; + + xineUI = callPackage ../applications/video/xine-ui { }; + + xneur_0_13 = callPackage ../applications/misc/xneur { }; + + xneur_0_8 = callPackage ../applications/misc/xneur/0.8.nix { }; + + xneur = xneur_0_13; + + gxneur = callPackage ../applications/misc/gxneur { + inherit (gnome) libglade GConf; + }; + + xournal = callPackage ../applications/graphics/xournal { + inherit (gnome) libgnomeprint libgnomeprintui libgnomecanvas; + }; + + xpdf = callPackage ../applications/misc/xpdf { + motif = lesstif; + base14Fonts = "${ghostscript}/share/ghostscript/fonts"; + }; + + xkb_switch = callPackage ../tools/X11/xkb-switch { }; + + libxpdf = callPackage ../applications/misc/xpdf/libxpdf.nix { }; + + xpra = callPackage ../tools/X11/xpra { }; + + xrestop = callPackage ../tools/X11/xrestop { }; + + xscreensaver = callPackage ../misc/screensavers/xscreensaver { + inherit (gnome) libglade; + }; + + xsynth_dssi = callPackage ../applications/audio/xsynth-dssi { }; + + xterm = callPackage ../applications/misc/xterm { }; + + finalterm = callPackage ../applications/misc/finalterm { }; + + xtrace = callPackage ../tools/X11/xtrace { }; + + xlaunch = callPackage ../tools/X11/xlaunch { }; + + xmacro = callPackage ../tools/X11/xmacro { }; + + xmove = callPackage ../applications/misc/xmove { }; + + xmp = callPackage ../applications/audio/xmp { }; + + xnee = callPackage ../tools/X11/xnee { }; + + xvidcap = callPackage ../applications/video/xvidcap { + inherit (gnome) scrollkeeper libglade; + }; + + yate = callPackage ../applications/misc/yate { }; + + inherit (gnome3) yelp; + + qgis = callPackage ../applications/misc/qgis {}; + + qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { }; + + ykpers = callPackage ../applications/misc/ykpers {}; + + yoshimi = callPackage ../applications/audio/yoshimi { + fltk = fltk13; + }; + + zathuraCollection = recurseIntoAttrs + (let callPackage = newScope pkgs.zathuraCollection; in + import ../applications/misc/zathura { + inherit callPackage pkgs fetchurl; + useMupdf = config.zathura.useMupdf or false; + }); + + zathura = zathuraCollection.zathuraWrapper; + + zed = callPackage ../applications/editors/zed { }; + + zeroc_ice = callPackage ../development/libraries/zeroc-ice { }; + + girara = callPackage ../applications/misc/girara { + gtk = gtk3; + }; + + zgrviewer = callPackage ../applications/graphics/zgrviewer {}; + + zim = callPackage ../applications/office/zim { + pygtk = pyGtkGlade; + }; + + zotero = callPackage ../applications/office/zotero { + xulrunner = xulrunner_30; + }; + + zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { }; + + + ### GAMES + + alienarena = callPackage ../games/alienarena { }; + + andyetitmoves = if stdenv.isLinux then callPackage ../games/andyetitmoves {} else null; + + anki = callPackage ../games/anki { }; + + asc = callPackage ../games/asc { + lua = lua5; + libsigcxx = libsigcxx12; + }; + + astromenace = callPackage ../games/astromenace { }; + + atanks = callPackage ../games/atanks {}; + + ballAndPaddle = callPackage ../games/ball-and-paddle { + guile = guile_1_8; + }; + + bitsnbots = callPackage ../games/bitsnbots { + lua = lua5; + }; + + blackshades = callPackage ../games/blackshades { }; + + blackshadeselite = callPackage ../games/blackshadeselite { }; + + blobby = callPackage ../games/blobby { }; + + bsdgames = callPackage ../games/bsdgames { }; + + btanks = callPackage ../games/btanks { }; + + bzflag = callPackage ../games/bzflag { }; + + castle_combat = callPackage ../games/castle-combat { }; + + chessdb = callPackage ../games/chessdb { }; + + construoBase = lowPrio (callPackage ../games/construo { + mesa = null; + freeglut = null; + }); + + construo = construoBase.override { + inherit mesa freeglut; + }; + + crack_attack = callPackage ../games/crack-attack { }; + + crafty = callPackage ../games/crafty { }; + craftyFull = appendToName "full" (crafty.override { fullVariant = true; }); + + crrcsim = callPackage ../games/crrcsim {}; + + dhewm3 = callPackage ../games/dhewm3 {}; + + drumkv1 = callPackage ../applications/audio/drumkv1 { }; + + dwarf_fortress = callPackage_i686 ../games/dwarf-fortress { + SDL_image = pkgsi686Linux.SDL_image.override { + libpng = pkgsi686Linux.libpng12; + }; + }; + + dwarf_fortress_2014 = callPackage_i686 ../games/dwarf-fortress/df2014.nix { + SDL_image = pkgsi686Linux.SDL_image.override { + libpng = pkgsi686Linux.libpng12; + }; + }; + + dwarf_fortress_modable = appendToName "moddable" (dwarf_fortress.override { + copyDataDirectory = true; + }); + + dwarf_fortress_2014_modable = appendToName "moddable" (dwarf_fortress_2014.override { + copyDataDirectory = true; + }); + + dwarf-therapist = callPackage ../games/dwarf-therapist { }; + + d1x_rebirth = callPackage ../games/d1x-rebirth { }; + + d2x_rebirth = callPackage ../games/d2x-rebirth { }; + + eboard = callPackage ../games/eboard { }; + + eduke32 = callPackage ../games/eduke32 { }; + + egoboo = callPackage ../games/egoboo { }; + + exult = callPackage ../games/exult { }; + + flightgear = callPackage ../games/flightgear { }; + + freeciv = callPackage ../games/freeciv { }; + + freeciv_gtk = callPackage ../games/freeciv { + gtkClient = true; + sdlClient = false; + }; + + freedink = callPackage ../games/freedink { }; + + fsg = callPackage ../games/fsg { + wxGTK = wxGTK28.override { unicode = false; }; + }; + + gemrb = callPackage ../games/gemrb { }; + + gl117 = callPackage ../games/gl-117 {}; + + glestae = callPackage ../games/glestae {}; + + globulation2 = callPackage ../games/globulation {}; + + gltron = callPackage ../games/gltron { }; + + gnuchess = callPackage ../games/gnuchess { }; + + gnugo = callPackage ../games/gnugo { }; + + gparted = callPackage ../tools/misc/gparted { }; + + gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { + inherit (gnome) libglademm; + }; + + gtypist = callPackage ../games/gtypist { }; + + hexen = callPackage ../games/hexen { }; + + icbm3d = callPackage ../games/icbm3d { }; + + ingen = callPackage ../applications/audio/ingen { }; + + instead = callPackage ../games/instead { + lua = lua5; + }; + + kobodeluxe = callPackage ../games/kobodeluxe { }; + + lincity = builderDefsPackage (import ../games/lincity) { + inherit (xlibs) libX11 libXext xextproto + libICE libSM xproto; + inherit libpng zlib; + }; + + lincity_ng = callPackage ../games/lincity/ng.nix {}; + + mars = callPackage ../games/mars { }; + + micropolis = callPackage ../games/micropolis { }; + + mnemosyne = callPackage ../games/mnemosyne { + inherit (pythonPackages) matplotlib cherrypy sqlite3; + }; + + naev = callPackage ../games/naev { }; + + nexuiz = callPackage ../games/nexuiz { }; + + njam = callPackage ../games/njam { }; + + oilrush = callPackage ../games/oilrush { }; + + openra = callPackage ../games/openra { }; + + openttd = callPackage ../games/openttd { + zlib = zlibStatic; + }; + + opentyrian = callPackage ../games/opentyrian { }; + + openxcom = callPackage ../games/openxcom { }; + + pingus = callPackage ../games/pingus {}; + + pioneers = callPackage ../games/pioneers { }; + + pong3d = callPackage ../games/pong3d { }; + + prboom = callPackage ../games/prboom { }; + + quake3demo = callPackage ../games/quake3/wrapper { + name = "quake3-demo-${quake3game.name}"; + description = "Demo of Quake 3 Arena, a classic first-person shooter"; + game = quake3game; + paks = [quake3demodata]; + }; + + quake3demodata = callPackage ../games/quake3/demo { }; + + quake3game = callPackage ../games/quake3/game { }; + + quantumminigolf = callPackage ../games/quantumminigolf {}; + + racer = callPackage ../games/racer { }; + + residualvm = callPackage ../games/residualvm { + openglSupport = mesaSupported; + }; + + rigsofrods = callPackage ../games/rigsofrods { + mygui = myguiSvn; + }; + + rili = callPackage ../games/rili { }; + + rogue = callPackage ../games/rogue { }; + + samplv1 = callPackage ../applications/audio/samplv1 { }; + + sauerbraten = callPackage ../games/sauerbraten {}; + + scid = callPackage ../games/scid { }; + + scummvm = callPackage ../games/scummvm { }; + + scorched3d = callPackage ../games/scorched3d { }; + + sdlmame = callPackage ../games/sdlmame { }; + + sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) { + inherit pkgconfig fetchsvn perl gtk; + inherit (xlibs) libX11; + }; + + simutrans = callPackage ../games/simutrans { }; + + soi = callPackage ../games/soi {}; + + # You still can override by passing more arguments. + spaceOrbit = callPackage ../games/orbit { }; + + spring = callPackage ../games/spring { }; + + springLobby = callPackage ../games/spring/springlobby.nix { }; + + stardust = callPackage ../games/stardust {}; + + steam = callPackage_i686 ../games/steam {}; + + steamChrootEnv = callPackage_i686 ../games/steam/chrootenv.nix { + zenity = gnome2.zenity; + }; + + stuntrally = callPackage ../games/stuntrally { }; + + superTux = callPackage ../games/super-tux { }; + + superTuxKart = callPackage ../games/super-tux-kart { }; + + synthv1 = callPackage ../applications/audio/synthv1 { }; + + tbe = callPackage ../games/the-butterfly-effect {}; + + teetertorture = callPackage ../games/teetertorture { }; + + teeworlds = callPackage ../games/teeworlds { }; + + tennix = callPackage ../games/tennix { }; + + tibia = callPackage ../games/tibia { }; + + tintin = callPackage ../games/tintin { }; + + tpm = callPackage ../games/thePenguinMachine { }; + + tremulous = callPackage ../games/tremulous { }; + + speed_dreams = callPackage ../games/speed-dreams { + # Torcs wants to make shared libraries linked with plib libraries (it provides static). + # i686 is the only platform I know than can do that linking without plib built with -fPIC + plib = plib.override { enablePIC = !stdenv.isi686; }; + libpng = libpng12; + }; + + torcs = callPackage ../games/torcs { + # Torcs wants to make shared libraries linked with plib libraries (it provides static). + # i686 is the only platform I know than can do that linking without plib built with -fPIC + plib = plib.override { enablePIC = !stdenv.isi686; }; + }; + + trigger = callPackage ../games/trigger { }; + + typespeed = callPackage ../games/typespeed { }; + + ufoai = callPackage ../games/ufoai { }; + + ultimatestunts = callPackage ../games/ultimatestunts { }; + + ultrastardx = callPackage ../games/ultrastardx { + ffmpeg = ffmpeg_0_6; + lua = lua5; + }; + + unvanquished = callPackage ../games/unvanquished { }; + + uqm = callPackage ../games/uqm { }; + + urbanterror = callPackage ../games/urbanterror { }; + + ut2004demo = callPackage ../games/ut2004demo { }; + + vdrift = callPackage ../games/vdrift { }; + + vectoroids = callPackage ../games/vectoroids { }; + + vessel = callPackage_i686 ../games/vessel { }; + + warmux = callPackage ../games/warmux { }; + + warsow = callPackage ../games/warsow { + libjpeg = libjpeg62; + }; + + warzone2100 = callPackage ../games/warzone2100 { }; + + widelands = callPackage ../games/widelands { + lua = lua5_1; + }; + + worldofgoo_demo = callPackage ../games/worldofgoo { + demo = true; + }; + + worldofgoo = callPackage ../games/worldofgoo { }; + + xboard = callPackage ../games/xboard { }; + + xconq = callPackage ../games/xconq {}; + + # TODO: the corresponding nix file is missing + # xracer = callPackage ../games/xracer { }; + + xonotic = callPackage ../games/xonotic { }; + + xskat = callPackage ../games/xskat { }; + + xsokoban = builderDefsPackage (import ../games/xsokoban) { + inherit (xlibs) libX11 xproto libXpm libXt; + }; + + zdoom = callPackage ../games/zdoom { }; + + zod = callPackage ../games/zod { }; + + zoom = callPackage ../games/zoom { }; + + keen4 = callPackage ../games/keen4 { }; + + zeroad = callPackage ../games/0ad { }; + + ### DESKTOP ENVIRONMENTS + + cinnamon = recurseIntoAttrs rec { + callPackage = newScope pkgs.cinnamon; + inherit (gnome3) gnome_common libgnomekbd gnome-menus zenity; + + muffin = callPackage ../desktops/cinnamon/muffin.nix { } ; + + cinnamon-control-center = callPackage ../desktops/cinnamon/cinnamon-control-center.nix{ }; + + cinnamon-settings-daemon = callPackage ../desktops/cinnamon/cinnamon-settings-daemon.nix{ }; + + cinnamon-session = callPackage ../desktops/cinnamon/cinnamon-session.nix{ } ; + + cinnamon-desktop = callPackage ../desktops/cinnamon/cinnamon-desktop.nix { }; + + cinnamon-translations = callPackage ../desktops/cinnamon/cinnamon-translations.nix { }; + + cjs = callPackage ../desktops/cinnamon/cjs.nix { }; + }; + + enlightenment = callPackage ../desktops/enlightenment { }; + + e17 = recurseIntoAttrs ( + let callPackage = newScope pkgs.e17; in + import ../desktops/e17 { inherit callPackage pkgs; } + ); + + e18 = recurseIntoAttrs ( + let callPackage = newScope pkgs.e18; in + import ../desktops/e18 { inherit callPackage pkgs; } + ); + + gnome2 = callPackage ../desktops/gnome-2 { + callPackage = pkgs.newScope pkgs.gnome2; + self = pkgs.gnome2; + } // pkgs.gtkLibs // { + # Backwards compatibility; + inherit (pkgs) libsoup libwnck gtk_doc gnome_doc_utils; + }; + + gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.10 { + callPackage = pkgs.newScope pkgs.gnome3; + self = pkgs.gnome3; + }); + + gnome3_12 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.12 { + callPackage = pkgs.newScope pkgs.gnome3_12; + }); + + gnome = recurseIntoAttrs gnome2; + + hsetroot = callPackage ../tools/X11/hsetroot { }; + + kakasi = callPackage ../tools/text/kakasi { }; + + kde4 = recurseIntoAttrs pkgs.kde412; + + kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde412 ); + + kde412 = kdePackagesFor (pkgs.kde412 // { + eigen = eigen2; + libusb = libusb1; + libcanberra = libcanberra_kde; + }) ../desktops/kde-4.12; + + kdePackagesFor = self: dir: + let callPackageOrig = callPackage; in + let + callPackage = newScope self; + kde4 = callPackageOrig dir { + inherit callPackage callPackageOrig; + }; + in kde4 // { + inherit kde4; + + wrapper = callPackage ../build-support/kdewrapper {}; + + recurseForRelease = true; + + akunambol = callPackage ../applications/networking/sync/akunambol { }; + + amarok = callPackage ../applications/audio/amarok { }; + + bangarang = callPackage ../applications/video/bangarang { }; + + basket = callPackage ../applications/office/basket { }; + + bluedevil = callPackage ../tools/bluetooth/bluedevil { }; + + calligra = callPackage ../applications/office/calligra { }; + + colord-kde = callPackage ../tools/misc/colord-kde { }; + + digikam = if builtins.compareVersions "4.9" kde4.release == 1 then + callPackage ../applications/graphics/digikam/2.nix { } + else + callPackage ../applications/graphics/digikam { }; + + eventlist = callPackage ../applications/office/eventlist {}; + + k3b = callPackage ../applications/misc/k3b { }; + + kadu = callPackage ../applications/networking/instant-messengers/kadu { }; + + kbibtex = callPackage ../applications/office/kbibtex { }; + + kde_gtk_config = callPackage ../tools/misc/kde-gtk-config { }; + + kde_wacomtablet = callPackage ../applications/misc/kde-wacomtablet { }; + + kdeconnect = callPackage ../applications/misc/kdeconnect { }; + + kdenlive = callPackage ../applications/video/kdenlive { mlt = mlt-qt4; }; + + kdesvn = callPackage ../applications/version-management/kdesvn { }; + + kdevelop = callPackage ../applications/editors/kdevelop { }; + + kdevplatform = callPackage ../development/libraries/kdevplatform { }; + + kdiff3 = callPackage ../tools/text/kdiff3 { }; + + kile = callPackage ../applications/editors/kile { }; + + kmplayer = callPackage ../applications/video/kmplayer { }; + + kmymoney = callPackage ../applications/office/kmymoney { }; + + kipi_plugins = callPackage ../applications/graphics/kipi-plugins { }; + + konversation = callPackage ../applications/networking/irc/konversation { }; + + kvirc = callPackage ../applications/networking/irc/kvirc { }; + + krename = callPackage ../applications/misc/krename { }; + + krusader = callPackage ../applications/misc/krusader { }; + + ksshaskpass = callPackage ../tools/security/ksshaskpass {}; + + ktorrent = callPackage ../applications/networking/p2p/ktorrent { }; + + kuickshow = callPackage ../applications/graphics/kuickshow { }; + + libalkimia = callPackage ../development/libraries/libalkimia { }; + + libktorrent = callPackage ../development/libraries/libktorrent { }; + + libkvkontakte = callPackage ../development/libraries/libkvkontakte { }; + + liblikeback = callPackage ../development/libraries/liblikeback { }; + + libmm-qt = callPackage ../development/libraries/libmm-qt { }; + + libnm-qt = callPackage ../development/libraries/libnm-qt { }; + + networkmanagement = callPackage ../tools/networking/networkmanagement { }; + + partitionManager = callPackage ../tools/misc/partition-manager { }; + + plasma-nm = callPackage ../tools/networking/plasma-nm { }; + + polkit_kde_agent = callPackage ../tools/security/polkit-kde-agent { }; + + psi = callPackage ../applications/networking/instant-messengers/psi { }; + + qtcurve = callPackage ../misc/themes/qtcurve { }; + + quassel = callPackage ../applications/networking/irc/quassel { dconf = gnome3.dconf; }; + + quasselWithoutKDE = (self.quassel.override { + withKDE = false; + tag = "-without-kde"; + }); + + quasselDaemon = (self.quassel.override { + monolithic = false; + daemon = true; + tag = "-daemon"; + }); + + quasselClient = (self.quassel.override { + monolithic = false; + client = true; + tag = "-client"; + }); + + quasselClientWithoutKDE = (self.quasselClient.override { + withKDE = false; + tag = "-client-without-kde"; + }); + + rekonq = callPackage ../applications/networking/browsers/rekonq { }; + + kwebkitpart = callPackage ../applications/networking/browsers/kwebkitpart { }; + + rsibreak = callPackage ../applications/misc/rsibreak { }; + + semnotes = callPackage ../applications/misc/semnotes { }; + + skrooge = callPackage ../applications/office/skrooge { }; + + telepathy = callPackage ../applications/networking/instant-messengers/telepathy/kde {}; + + yakuake = callPackage ../applications/misc/yakuake { }; + + zanshin = callPackage ../applications/office/zanshin { }; + + kwooty = callPackage ../applications/networking/newsreaders/kwooty { }; + }; + + redshift = callPackage ../applications/misc/redshift { + inherit (xorg) libX11 libXrandr libxcb randrproto libXxf86vm + xf86vidmodeproto; + inherit (gnome) GConf; + inherit (pythonPackages) pyxdg; + geoclue = geoclue2; + }; + + oxygen_gtk = callPackage ../misc/themes/gtk2/oxygen-gtk { }; + + gtk_engines = callPackage ../misc/themes/gtk2/gtk-engines { }; + + gtk-engine-murrine = callPackage ../misc/themes/gtk2/gtk-engine-murrine { }; + + gnome_themes_standard = gnome3.gnome_themes_standard; + + mate-icon-theme = callPackage ../misc/themes/mate-icon-theme { }; + + mate-themes = callPackage ../misc/themes/mate-themes { }; + + xfce = xfce4_10; + xfce4_10 = recurseIntoAttrs (import ../desktops/xfce { inherit pkgs newScope; }); + + + ### SCIENCE + + ### SCIENCE/GEOMETRY + + drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) { + inherit (gnome) libglade; + inherit libxml2 perl intltool libtool pkgconfig gtk; + guile = guile_1_8; + }; + + tetgen = callPackage ../applications/science/geometry/tetgen { }; + + + ### SCIENCE/BIOLOGY + + alliance = callPackage ../applications/science/electronics/alliance { + motif = lesstif; + }; + + arb = callPackage ../applications/science/biology/arb { + lesstif = lesstif93; + }; + + archimedes = callPackage ../applications/science/electronics/archimedes { }; + + biolib = callPackage ../development/libraries/science/biology/biolib { }; + + emboss = callPackage ../applications/science/biology/emboss { }; + + mrbayes = callPackage ../applications/science/biology/mrbayes { }; + + ncbiCTools = builderDefsPackage ../development/libraries/ncbi { + inherit tcsh mesa lesstif; + inherit (xlibs) libX11 libXaw xproto libXt libSM libICE + libXmu libXext; + }; + + ncbi_tools = callPackage ../applications/science/biology/ncbi-tools { }; + + paml = callPackage ../applications/science/biology/paml { }; + + pal2nal = callPackage ../applications/science/biology/pal2nal { }; + + plink = callPackage ../applications/science/biology/plink/default.nix { }; + + + ### SCIENCE/MATH + + arpack = callPackage ../development/libraries/science/math/arpack { }; + + atlas = callPackage ../development/libraries/science/math/atlas { + # The build process measures CPU capabilities and optimizes the + # library to perform best on that particular machine. That is a + # great feature, but it's of limited use with pre-built binaries + # coming from a central build farm. + tolerateCpuTimingInaccuracy = true; + }; + + blas = callPackage ../development/libraries/science/math/blas { }; + + content = builderDefsPackage ../applications/science/math/content { + inherit mesa lesstif; + inherit (xlibs) libX11 libXaw xproto libXt libSM libICE + libXmu libXext libXcursor; + }; + + jags = callPackage ../applications/science/math/jags { }; + + liblapack = callPackage ../development/libraries/science/math/liblapack { }; + liblapack_3_5_0 = callPackage ../development/libraries/science/math/liblapack/3.5.0.nix { }; + + liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { }; + + # julia is pinned to specific versions of openblas, so keep old versions + # until they aren't needed. The un-versioned attribute may continue to track + # upstream development. + openblas = callPackage ../development/libraries/science/math/openblas { + liblapack = liblapack_3_5_0; + }; + openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix { + liblapack = liblapack_3_5_0; + }; + openblas_0_2_2 = callPackage ../development/libraries/science/math/openblas/0.2.2.nix { }; + + mathematica = callPackage ../applications/science/math/mathematica { }; + + sage = callPackage ../applications/science/math/sage { }; + + ### SCIENCE/MOLECULAR-DYNAMICS + + gromacs = callPackage ../applications/science/molecular-dynamics/gromacs { + singlePrec = true; + fftw = fftwSinglePrec; + cmake = cmakeCurses; + }; + + gromacsDouble = lowPrio (callPackage ../applications/science/molecular-dynamics/gromacs { + singlePrec = false; + fftw = fftw; + cmake = cmakeCurses; + }); + + + ### SCIENCE/LOGIC + + abc-verifier = callPackage ../applications/science/logic/abc {}; + + alt-ergo = callPackage ../applications/science/logic/alt-ergo {}; + + coq = callPackage ../applications/science/logic/coq { + inherit (ocamlPackages) findlib lablgtk; + camlp5 = ocamlPackages.camlp5_transitional; + }; + + coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix { + inherit (ocamlPackages) findlib lablgtk; + camlp5 = ocamlPackages.camlp5_transitional; + }; + + coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix { + inherit (ocamlPackages) findlib lablgtk; + camlp5 = ocamlPackages.camlp5_transitional; + }; + + cvc3 = callPackage ../applications/science/logic/cvc3 {}; + + ekrhyper = callPackage ../applications/science/logic/ekrhyper {}; + + eprover = callPackage ../applications/science/logic/eprover { + texLive = texLiveAggregationFun { + paths = [ + texLive texLiveExtra + ]; + }; + }; + + ginac = callPackage ../applications/science/math/ginac { }; + + hol = callPackage ../applications/science/logic/hol { }; + + hol_light = callPackage ../applications/science/logic/hol_light { + inherit (ocamlPackages) findlib; + camlp5 = ocamlPackages.camlp5_strict; + }; + + isabelle = import ../applications/science/logic/isabelle { + inherit (pkgs) stdenv fetchurl nettools perl polyml; + inherit (pkgs.emacs24Packages) proofgeneral; + }; + + iprover = callPackage ../applications/science/logic/iprover {}; + + leo2 = callPackage ../applications/science/logic/leo2 {}; + + logisim = callPackage ../applications/science/logic/logisim {}; + + ltl2ba = callPackage ../applications/science/logic/ltl2ba {}; + + matita = callPackage ../applications/science/logic/matita { + ocaml = ocaml_3_11_2; + inherit (ocamlPackages_3_11_2) findlib lablgtk ocaml_expat gmetadom ocaml_http + lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet camlzip ocaml_pcre; + ulex08 = ocamlPackages_3_11_2.ulex08.override { camlp5 = ocamlPackages_3_11_2.camlp5_5_transitional; }; + }; + + matita_130312 = lowPrio (callPackage ../applications/science/logic/matita/130312.nix { + inherit (ocamlPackages) findlib lablgtk ocaml_expat gmetadom ocaml_http + ocaml_mysql ocamlnet ulex08 camlzip ocaml_pcre; + }); + + minisat = callPackage ../applications/science/logic/minisat {}; + + opensmt = callPackage ../applications/science/logic/opensmt { }; + + otter = callPackage ../applications/science/logic/otter {}; + + picosat = callPackage ../applications/science/logic/picosat {}; + + prooftree = callPackage ../applications/science/logic/prooftree { + inherit (ocamlPackages) findlib lablgtk; + camlp5 = ocamlPackages.camlp5_transitional; + }; + + prover9 = callPackage ../applications/science/logic/prover9 { }; + + satallax = callPackage ../applications/science/logic/satallax {}; + + spass = callPackage ../applications/science/logic/spass {}; + + ssreflect = callPackage ../applications/science/logic/ssreflect { + camlp5 = ocamlPackages.camlp5_transitional; + }; + + tptp = callPackage ../applications/science/logic/tptp {}; + + twelf = callPackage ../applications/science/logic/twelf { + smlnj = if stdenv.isDarwin + then smlnjBootstrap + else smlnj; + }; + + verifast = callPackage ../applications/science/logic/verifast {}; + + why3 = callPackage ../applications/science/logic/why3 {}; + + yices = callPackage ../applications/science/logic/yices {}; + + z3 = callPackage ../applications/science/logic/z3 {}; + + boolector = boolector15; + boolector15 = callPackage ../applications/science/logic/boolector {}; + boolector16 = lowPrio (callPackage ../applications/science/logic/boolector { + useV16 = true; + }); + + ### SCIENCE / ELECTRONICS + + eagle = callPackage_i686 ../applications/science/electronics/eagle { }; + + caneda = callPackage ../applications/science/electronics/caneda { }; + + gtkwave = callPackage ../applications/science/electronics/gtkwave { }; + + kicad = callPackage ../applications/science/electronics/kicad { + wxGTK = wxGTK29; + }; + + ngspice = callPackage ../applications/science/electronics/ngspice { }; + + qucs = callPackage ../applications/science/electronics/qucs { }; + + xoscope = callPackage ../applications/science/electronics/xoscope { }; + + + ### SCIENCE / MATH + + ecm = callPackage ../applications/science/math/ecm { }; + + eukleides = callPackage ../applications/science/math/eukleides { + texinfo = texinfo4; + }; + + fricas = callPackage ../applications/science/math/fricas { }; + + gap = callPackage ../applications/science/math/gap { }; + + maxima = callPackage ../applications/science/math/maxima { }; + + wxmaxima = callPackage ../applications/science/math/wxmaxima { }; + + pari = callPackage ../applications/science/math/pari {}; + + pspp = callPackage ../applications/science/math/pssp { + inherit (gnome) libglade gtksourceview; + }; + + singular = callPackage ../applications/science/math/singular {}; + + scilab = callPackage ../applications/science/math/scilab { + withXaw3d = false; + withTk = true; + withGtk = false; + withOCaml = true; + withX = true; + }; + + msieve = callPackage ../applications/science/math/msieve { }; + + weka = callPackage ../applications/science/math/weka { }; + + yad = callPackage ../tools/misc/yad { }; + + yacas = callPackage ../applications/science/math/yacas { }; + + speedcrunch = callPackage ../applications/science/math/speedcrunch { + qt = qt4; + cmake = cmakeCurses; + }; + + + ### SCIENCE / MISC + + boinc = callPackage ../applications/science/misc/boinc { }; + + celestia = callPackage ../applications/science/astronomy/celestia { + lua = lua5_1; + inherit (xlibs) libXmu; + inherit (pkgs.gnome) gtkglext; + }; + + fityk = callPackage ../applications/science/misc/fityk { }; + + gravit = callPackage ../applications/science/astronomy/gravit { }; + + golly = callPackage ../applications/science/misc/golly { }; + + megam = callPackage ../applications/science/misc/megam { }; + + root = callPackage ../applications/science/misc/root { }; + + simgrid = callPackage ../applications/science/misc/simgrid { }; + + spyder = callPackage ../applications/science/spyder { + inherit (pythonPackages) pyflakes rope sphinx numpy scipy matplotlib; # recommended + inherit (pythonPackages) ipython pep8; # optional + inherit pylint; + }; + + stellarium = callPackage ../applications/science/astronomy/stellarium { }; + + tulip = callPackage ../applications/science/misc/tulip { }; + + vite = callPackage ../applications/science/misc/vite { }; + + xplanet = callPackage ../applications/science/astronomy/xplanet { }; + + ### MISC + + atari800 = callPackage ../misc/emulators/atari800 { }; + + ataripp = callPackage ../misc/emulators/atari++ { }; + + auctex = callPackage ../tools/typesetting/tex/auctex { }; + + beep = callPackage ../misc/beep { }; + + cups = callPackage ../misc/cups { libusb = libusb1; }; + + cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { }; + + gutenprint = callPackage ../misc/drivers/gutenprint { }; + + gutenprintBin = callPackage ../misc/drivers/gutenprint/bin.nix { }; + + cupsBjnp = callPackage ../misc/cups/drivers/cups-bjnp { }; + + darcnes = callPackage ../misc/emulators/darcnes { }; + + dbacl = callPackage ../tools/misc/dbacl { }; + + dblatex = callPackage ../tools/typesetting/tex/dblatex { + enableAllFeatures = false; + }; + + dblatexFull = appendToName "full" (dblatex.override { + enableAllFeatures = true; + }); + + dosbox = callPackage ../misc/emulators/dosbox { }; + + dpkg = callPackage ../tools/package-management/dpkg { }; + + ekiga = newScope pkgs.gnome ../applications/networking/instant-messengers/ekiga { }; + + emulationstation = callPackage ../misc/emulators/emulationstation { }; + + electricsheep = callPackage ../misc/screensavers/electricsheep { }; + + fakenes = callPackage ../misc/emulators/fakenes { }; + + fceux = callPackage ../misc/emulators/fceux { }; + + foldingathome = callPackage ../misc/foldingathome { }; + + foo2zjs = callPackage ../misc/drivers/foo2zjs {}; + + foomatic_filters = callPackage ../misc/drivers/foomatic-filters {}; + + freestyle = callPackage ../misc/freestyle { }; + + gajim = callPackage ../applications/networking/instant-messengers/gajim { }; + + gammu = callPackage ../applications/misc/gammu { }; + + gensgs = callPackage_i686 ../misc/emulators/gens-gs { }; + + ghostscript = callPackage ../misc/ghostscript { + x11Support = false; + cupsSupport = config.ghostscript.cups or (!stdenv.isDarwin); + gnuFork = config.ghostscript.gnu or false; + }; + + ghostscriptX = appendToName "with-X" (ghostscript.override { + x11Support = true; + }); + + guix = callPackage ../tools/package-management/guix { }; + + gxemul = callPackage ../misc/gxemul { }; + + hatari = callPackage ../misc/emulators/hatari { }; + + hplip = callPackage ../misc/drivers/hplip { }; + + hplipWithPlugin = hplip.override { withPlugin = true; }; + + # using the new configuration style proposal which is unstable + jack1 = callPackage ../misc/jackaudio/jack1.nix { }; + + jack2 = callPackage ../misc/jackaudio { }; + + keynav = callPackage ../tools/X11/keynav { }; + + lazylist = callPackage ../tools/typesetting/tex/lazylist { }; + + lilypond = callPackage ../misc/lilypond { guile = guile_1_8; }; + + martyr = callPackage ../development/libraries/martyr { }; + + maven = maven3; + maven3 = callPackage ../misc/maven { jdk = openjdk; }; + + mess = callPackage ../misc/emulators/mess { + inherit (pkgs.gnome) GConf; + }; + + mupen64plus = callPackage ../misc/emulators/mupen64plus { }; + + mupen64plus1_5 = callPackage ../misc/emulators/mupen64plus/1.5.nix { }; + + nix = nixStable; + + nixStable = callPackage ../tools/package-management/nix { + storeDir = config.nix.storeDir or "/nix/store"; + stateDir = config.nix.stateDir or "/nix/var"; + }; + + nixUnstable = callPackage ../tools/package-management/nix/unstable.nix { + storeDir = config.nix.storeDir or "/nix/store"; + stateDir = config.nix.stateDir or "/nix/var"; + }; + + nixops = callPackage ../tools/package-management/nixops { }; + + nix-prefetch-scripts = callPackage ../tools/package-management/nix-prefetch-scripts { }; + + nix-repl = callPackage ../tools/package-management/nix-repl { }; + + nut = callPackage ../applications/misc/nut { }; + + solfege = callPackage ../misc/solfege { + pysqlite = pkgs.pythonPackages.sqlite3; + }; + + disnix = callPackage ../tools/package-management/disnix { }; + + dysnomia = callPackage ../tools/package-management/disnix/dysnomia { + enableApacheWebApplication = config.disnix.enableApacheWebApplication or false; + enableAxis2WebService = config.disnix.enableAxis2WebService or false; + enableEjabberdDump = config.disnix.enableEjabberdDump or false; + enableMySQLDatabase = config.disnix.enableMySQLDatabase or false; + enablePostgreSQLDatabase = config.disnix.enablePostgreSQLDatabase or false; + enableSubversionRepository = config.disnix.enableSubversionRepository or false; + enableTomcatWebApplication = config.disnix.enableTomcatWebApplication or false; + }; + + disnixos = callPackage ../tools/package-management/disnix/disnixos { }; + + DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService { }; + + latex2html = callPackage ../tools/typesetting/tex/latex2html/default.nix { + tex = tetex; + }; + + lkproof = callPackage ../tools/typesetting/tex/lkproof { }; + + mysqlWorkbench = newScope gnome ../applications/misc/mysql-workbench { + lua = lua5; + inherit (pythonPackages) pexpect paramiko; + }; + + robomongo = callPackage ../applications/misc/robomongo { }; + + opkg = callPackage ../tools/package-management/opkg { }; + + pgadmin = callPackage ../applications/misc/pgadmin { }; + + pgf = pgf2; + + # Keep the old PGF since some documents don't render properly with + # the new one. + pgf1 = callPackage ../tools/typesetting/tex/pgf/1.x.nix { }; + + pgf2 = callPackage ../tools/typesetting/tex/pgf/2.x.nix { }; + + pgfplots = callPackage ../tools/typesetting/tex/pgfplots { }; + + pjsip = callPackage ../applications/networking/pjsip { }; + + polytable = callPackage ../tools/typesetting/tex/polytable { }; + + PPSSPP = callPackage ../misc/emulators/ppsspp { }; + + uae = callPackage ../misc/emulators/uae { }; + + putty = callPackage ../applications/networking/remote/putty { }; + + retroarch = callPackage ../misc/emulators/retroarch { }; + + rssglx = callPackage ../misc/screensavers/rss-glx { }; + + xlockmore = callPackage ../misc/screensavers/xlockmore { }; + + samsungUnifiedLinuxDriver = import ../misc/cups/drivers/samsung { + inherit fetchurl stdenv; + inherit cups ghostscript glibc patchelf; + gcc = import ../development/compilers/gcc/4.4 { + inherit stdenv fetchurl gmp mpfr noSysDirs gettext which; + texinfo = texinfo4; + profiledCompiler = true; + }; + }; + + saneBackends = callPackage ../applications/graphics/sane/backends.nix { + gt68xxFirmware = config.sane.gt68xxFirmware or null; + snapscanFirmware = config.sane.snapscanFirmware or null; + hotplugSupport = config.sane.hotplugSupport or true; + libusb = libusb1; + }; + + saneBackendsGit = callPackage ../applications/graphics/sane/backends-git.nix { + gt68xxFirmware = config.sane.gt68xxFirmware or null; + snapscanFirmware = config.sane.snapscanFirmware or null; + hotplugSupport = config.sane.hotplugSupport or true; + }; + + mkSaneConfig = callPackage ../applications/graphics/sane/config.nix { }; + + saneFrontends = callPackage ../applications/graphics/sane/frontends.nix { }; + + seafile-shared = callPackage ../misc/seafile-shared { }; + + slock = callPackage ../misc/screensavers/slock { }; + + sourceAndTags = import ../misc/source-and-tags { + inherit pkgs stdenv unzip lib ctags; + hasktags = haskellPackages.hasktags; + }; + + splix = callPackage ../misc/cups/drivers/splix { }; + + streamripper = callPackage ../applications/audio/streamripper { }; + + sqsh = callPackage ../development/tools/sqsh { }; + + tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; }; + + tex4ht = callPackage ../tools/typesetting/tex/tex4ht { }; + + texFunctions = import ../tools/typesetting/tex/nix pkgs; + + texLive = builderDefsPackage (import ../tools/typesetting/tex/texlive) { + inherit builderDefs zlib bzip2 ncurses libpng ed lesstif ruby potrace + gd t1lib freetype icu perl expat curl xz pkgconfig zziplib texinfo + libjpeg bison python fontconfig flex poppler libpaper graphite2 + makeWrapper; + inherit (xlibs) libXaw libX11 xproto libXt libXpm + libXmu libXext xextproto libSM libICE; + ghostscript = ghostscriptX; + harfbuzz = harfbuzz.override { + withIcu = true; withGraphite2 = true; + }; + }; + + texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun { + paths = [ texLive texLiveExtra lmodern texLiveCMSuper texLiveLatexXColor + texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht texinfo + texLiveModerntimeline ]; + }); + + /* Look in configurations/misc/raskin.nix for usage example (around revisions + where TeXLive was added) + + (texLiveAggregationFun { + paths = [texLive texLiveExtra texLiveCMSuper + texLiveBeamer + ]; + }) + + You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list) + Just installing a few packages doesn't work. + */ + texLiveAggregationFun = params: + builderDefsPackage (import ../tools/typesetting/tex/texlive/aggregate.nix) + ({inherit poppler perl makeWrapper;} // params); + + texDisser = callPackage ../tools/typesetting/tex/disser {}; + + texLiveContext = builderDefsPackage (import ../tools/typesetting/tex/texlive/context.nix) { + inherit texLive; + }; + + texLiveExtra = builderDefsPackage (import ../tools/typesetting/tex/texlive/extra.nix) { + inherit texLive xz; + }; + + texLiveCMSuper = builderDefsPackage (import ../tools/typesetting/tex/texlive/cm-super.nix) { + inherit texLive; + }; + + texLiveLatexXColor = builderDefsPackage (import ../tools/typesetting/tex/texlive/xcolor.nix) { + inherit texLive; + }; + + texLivePGF = builderDefsPackage (import ../tools/typesetting/tex/texlive/pgf.nix) { + inherit texLiveLatexXColor texLive; + }; + + texLiveBeamer = builderDefsPackage (import ../tools/typesetting/tex/texlive/beamer.nix) { + inherit texLiveLatexXColor texLivePGF texLive; + }; + + texLiveModerncv = builderDefsPackage (import ../tools/typesetting/tex/texlive/moderncv.nix) { + inherit texLive unzip; + }; + + texLiveModerntimeline = builderDefsPackage (import ../tools/typesetting/tex/texlive/moderntimeline.nix) { + inherit texLive unzip; + }; + + thermald = callPackage ../tools/system/thermald { }; + + thinkfan = callPackage ../tools/system/thinkfan { }; + + vice = callPackage ../misc/emulators/vice { + libX11 = xlibs.libX11; + giflib = giflib_4_1; + }; + + viewnior = callPackage ../applications/graphics/viewnior { }; + + vimPlugins = recurseIntoAttrs (callPackage ../misc/vim-plugins { }); + + vimprobable2 = callPackage ../applications/networking/browsers/vimprobable2 { + webkit = webkitgtk2; + }; + + vimprobable2Wrapper = wrapFirefox + { browser = vimprobable2; browserName = "vimprobable2"; desktopName = "Vimprobable2"; + }; + + vimb = callPackage ../applications/networking/browsers/vimb { + webkit = webkitgtk2; + }; + + vimbWrapper = wrapFirefox { + browser = vimb; + browserName = "vimb"; + desktopName = "Vimb"; + }; + + VisualBoyAdvance = callPackage ../misc/emulators/VisualBoyAdvance { }; + + # Wine cannot be built in 64-bit; use a 32-bit build instead. + wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix { + bison = bison2; + }; + + wineUnstable = lowPrio (callPackage_i686 ../misc/emulators/wine/unstable.nix { + bison = bison2; + }); + + wine = wineStable; + + winetricks = callPackage ../misc/emulators/wine/winetricks.nix { + inherit (gnome2) zenity; + }; + + wxmupen64plus = callPackage ../misc/emulators/wxmupen64plus { }; + + x2x = callPackage ../tools/X11/x2x { }; + + xboxdrv = callPackage ../misc/drivers/xboxdrv { }; + + xinput_calibrator = callPackage ../tools/X11/xinput_calibrator { + inherit (xlibs) libXi inputproto; + }; + + xosd = callPackage ../misc/xosd { }; + + xsane = callPackage ../applications/graphics/sane/xsane.nix { + libpng = libpng12; + saneBackends = saneBackends; + }; + + yafc = callPackage ../applications/networking/yafc { }; + + yandex-disk = callPackage ../tools/filesystems/yandex-disk { }; + + myEnvFun = import ../misc/my-env { + inherit substituteAll pkgs; + inherit (stdenv) mkDerivation; + }; + + # patoline requires a rather large ocaml compilation environment. + # this is why it is build as an environment and not just a normal package. + # remark : the emacs mode is also installed, but you have to adjust your load-path. + PatolineEnv = pack: myEnvFun { + name = "patoline"; + buildInputs = [ stdenv ncurses mesa freeglut libzip gcc + pack.ocaml pack.findlib pack.camomile + pack.dypgen pack.ocaml_sqlite3 pack.camlzip + pack.lablgtk pack.camlimages pack.ocaml_cairo + pack.lablgl pack.ocamlnet pack.cryptokit + pack.ocaml_pcre pack.patoline + ]; + # this is to circumvent the bug with libgcc_s.so.1 which is + # not found when using thread + extraCmds = '' + LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gcc.gcc}/lib + export LD_LIBRARY_PATH + ''; + }; + + patoline = PatolineEnv ocamlPackages_4_00_1; + + znc = callPackage ../applications/networking/znc { }; + + zncModules = recurseIntoAttrs ( + callPackage ../applications/networking/znc/modules.nix { } + ); + + zsnes = callPackage_i686 ../misc/emulators/zsnes { }; + + snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { }; + + higan = callPackage ../misc/emulators/higan { }; + + misc = import ../misc/misc.nix { inherit pkgs stdenv; }; + + bullet = callPackage ../development/libraries/bullet {}; + + dart = callPackage ../development/interpreters/dart { }; + + httrack = callPackage ../tools/backup/httrack { }; + + mg = callPackage ../applications/editors/mg { }; + + + # Attributes for backward compatibility. + adobeReader = adobe-reader; + asciidocFull = asciidoc-full; # added 2014-06-22 + lttngTools = lttng-tools; # added 2014-07-31 + lttngUst = lttng-ust; # added 2014-07-31 + + +}; in self; in pkgs From df3061295e6a48920400936917e60755fc5d4769 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 3 Sep 2014 11:09:05 +0400 Subject: [PATCH 0668/2163] Specify correct version for Symbola --- pkgs/data/fonts/symbola/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/data/fonts/symbola/default.nix b/pkgs/data/fonts/symbola/default.nix index b324e52d021..70375a22bae 100644 --- a/pkgs/data/fonts/symbola/default.nix +++ b/pkgs/data/fonts/symbola/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, unzip }: stdenv.mkDerivation rec { - name = "symbola-7.12"; + name = "symbola-7.17"; src = fetchurl { url = "http://users.teilar.gr/~g1951d/Symbola.zip"; From d48a7a17df09248112efccf2a166b75bb7b2021e Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 28 Aug 2014 15:27:20 -0700 Subject: [PATCH 0669/2163] nixos/network-interfaces: Sanitize sys-subsystem device names Currently, nixos will allow for interface names with special characters such as the hyphen to be used. This presents a problem when using systemd device names as the namespace paths are separated using hyphens. Within systemd, if a device name has a hyphen it should be replaced with the escape sequence \x2d. This patch sanitizes all interface names before they are used in a systemd device string. --- nixos/modules/tasks/network-interfaces.nix | 29 +++++++++++++--------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index ca7a5ab77ad..868039177d8 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -1,6 +1,7 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, utils, ... }: with lib; +with utils; let @@ -10,6 +11,10 @@ let hasSits = cfg.sits != { }; hasBonds = cfg.bonds != { }; + # We must escape interfaces due to the systemd interpretation + subsystemDevice = interface: + "sys-subsystem-net-devices-${escapeSystemdPath interface}.device"; + addrOpts = v: assert v == 4 || v == 6; { @@ -603,8 +608,8 @@ in nameValuePair "${i.name}-cfg" { description = "Configuration of ${i.name}"; wantedBy = [ "network-interfaces.target" ]; - bindsTo = [ "sys-subsystem-net-devices-${i.name}.device" ]; - after = [ "sys-subsystem-net-devices-${i.name}.device" ]; + bindsTo = [ (subsystemDevice i.name) ]; + after = [ (subsystemDevice i.name) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute pkgs.gawk ]; @@ -684,7 +689,7 @@ in { description = "Virtual Network Interface ${i.name}"; requires = [ "dev-net-tun.device" ]; after = [ "dev-net-tun.device" ]; - wantedBy = [ "network.target" "sys-subsystem-net-devices-${i.name}.device" ]; + wantedBy = [ "network.target" (subsystemDevice i.name) ]; path = [ pkgs.iproute ]; serviceConfig = { Type = "oneshot"; @@ -702,10 +707,10 @@ in createBridgeDevice = n: v: nameValuePair "${n}-netdev" (let - deps = map (i: "sys-subsystem-net-devices-${i}.device") v.interfaces; + deps = map subsystemDevice v.interfaces; in { description = "Bridge Interface ${n}"; - wantedBy = [ "network.target" "sys-subsystem-net-devices-${n}.device" ]; + wantedBy = [ "network.target" (subsystemDevice n) ]; bindsTo = deps; after = deps; serviceConfig.Type = "oneshot"; @@ -742,10 +747,10 @@ in createBondDevice = n: v: nameValuePair "${n}-netdev" (let - deps = map (i: "sys-subsystem-net-devices-${i}.device") v.interfaces; + deps = map subsystemDevice v.interfaces; in { description = "Bond Interface ${n}"; - wantedBy = [ "network.target" "sys-subsystem-net-devices-${n}.device" ]; + wantedBy = [ "network.target" (subsystemDevice n) ]; bindsTo = deps; after = deps; serviceConfig.Type = "oneshot"; @@ -781,10 +786,10 @@ in createSitDevice = n: v: nameValuePair "${n}-netdev" (let - deps = optional (v.dev != null) "sys-subsystem-net-devices-${v.dev}.device"; + deps = optional (v.dev != null) (subsystemDevice v.dev); in { description = "6-to-4 Tunnel Interface ${n}"; - wantedBy = [ "network.target" "sys-subsystem-net-devices-${n}.device" ]; + wantedBy = [ "network.target" (subsystemDevice n) ]; bindsTo = deps; after = deps; serviceConfig.Type = "oneshot"; @@ -807,10 +812,10 @@ in createVlanDevice = n: v: nameValuePair "${n}-netdev" (let - deps = [ "sys-subsystem-net-devices-${v.interface}.device" ]; + deps = [ (subsystemDevice v.interface) ]; in { description = "Vlan Interface ${n}"; - wantedBy = [ "network.target" "sys-subsystem-net-devices-${n}.device" ]; + wantedBy = [ "network.target" (subsystemDevice n) ]; bindsTo = deps; after = deps; serviceConfig.Type = "oneshot"; From 18c5119f18d7ef9f3053e05b2b41f1c006e99994 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 3 Sep 2014 11:36:37 +0400 Subject: [PATCH 0670/2163] Fix maintainers entry --- pkgs/applications/misc/vym/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/vym/default.nix b/pkgs/applications/misc/vym/default.nix index c23be51c3e8..c2dc9aed44a 100644 --- a/pkgs/applications/misc/vym/default.nix +++ b/pkgs/applications/misc/vym/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { ''; homepage = http://www.insilmaril.de/vym/; license = stdenv.lib.licenses.gpl2; - maintainer = stdenv.lib.maintainers.AndersonTorres; + maintainer = [ stdenv.lib.maintainers.AndersonTorres ]; platforms = stdenv.lib.platforms.linux; }; } From 4dac1990d7c5f7bd7a512872d1420d86bf4acc54 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Wed, 3 Sep 2014 11:47:47 +0400 Subject: [PATCH 0671/2163] FME: New Package #3695 --- pkgs/applications/misc/fme/default.nix | 34 + pkgs/top-level/all-packages.nix | 5 + pkgs/top-level/all-packages.nix.orig | 11653 ----------------------- 3 files changed, 39 insertions(+), 11653 deletions(-) create mode 100644 pkgs/applications/misc/fme/default.nix delete mode 100644 pkgs/top-level/all-packages.nix.orig diff --git a/pkgs/applications/misc/fme/default.nix b/pkgs/applications/misc/fme/default.nix new file mode 100644 index 00000000000..93abd13da0c --- /dev/null +++ b/pkgs/applications/misc/fme/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, pkgconfig, autoconf, automake, gettext +, fluxbox, bc, gtkmm, glibmm, libglademm, libsigcxx +}: + +stdenv.mkDerivation rec{ + + name = "fme-${version}"; + version = "1.1.3"; + + src = fetchurl { + url = "https://github.com/rdehouss/fme/archive/v${version}.tar.gz"; + sha256 = "d1c81a6a38c0faad02943ad65d6d0314bd205c6de841669a2efe43e4c503e63d"; + }; + + buildInputs = [ pkgconfig autoconf automake gettext fluxbox bc gtkmm glibmm libglademm libsigcxx ]; + + preConfigure = '' + ./autogen.sh + ''; + + meta = { + description = "Editor for Fluxbox menus"; + longDescription = '' + Fluxbox Menu Editor is a menu editor for the Window Manager Fluxbox written in C++ + with the libraries Gtkmm, Glibmm, libglademm and gettext for internationalization. + Its user-friendly interface will help you to edit, delete, move (Drag and Drop) + a row, a submenu, etc very easily. + ''; + homepage = https://github.com/rdehouss/fme/; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b7462553522..15d4061b29d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8844,6 +8844,11 @@ let fluxbox = callPackage ../applications/window-managers/fluxbox { }; + fme = callPackage ../applications/misc/fme { + inherit (gnome) libglademm; + inherit pkgconfig autoconf automake gettext; + }; + freecad = callPackage ../applications/graphics/freecad { opencascade = opencascade_6_5; inherit (pythonPackages) matplotlib pycollada; diff --git a/pkgs/top-level/all-packages.nix.orig b/pkgs/top-level/all-packages.nix.orig deleted file mode 100644 index 6e5caa3af9e..00000000000 --- a/pkgs/top-level/all-packages.nix.orig +++ /dev/null @@ -1,11653 +0,0 @@ -/* This file composes the Nix Packages collection. That is, it - imports the functions that build the various packages, and calls - them with appropriate arguments. The result is a set of all the - packages in the Nix Packages collection for some particular - platform. */ - - -{ # The system (e.g., `i686-linux') for which to build the packages. - system ? builtins.currentSystem - -, # The standard environment to use. Only used for bootstrapping. If - # null, the default standard environment is used. - bootStdenv ? null - -, # Non-GNU/Linux OSes are currently "impure" platforms, with their libc - # outside of the store. Thus, GCC, GFortran, & co. must always look for - # files in standard system directories (/usr/include, etc.) - noSysDirs ? (system != "x86_64-darwin" - && system != "x86_64-freebsd" && system != "i686-freebsd" - && system != "x86_64-kfreebsd-gnu") - - # More flags for the bootstrapping of stdenv. -, gccWithCC ? true -, gccWithProfiling ? true - -, # Allow a configuration attribute set to be passed in as an - # argument. Otherwise, it's read from $NIXPKGS_CONFIG or - # ~/.nixpkgs/config.nix. - config ? null - -, crossSystem ? null -, platform ? null -}: - - -let config_ = config; platform_ = platform; in # rename the function arguments - -let - - lib = import ../../lib; - - # The contents of the configuration file found at $NIXPKGS_CONFIG or - # $HOME/.nixpkgs/config.nix. - # for NIXOS (nixos-rebuild): use nixpkgs.config option - config = - let - toPath = builtins.toPath; - getEnv = x: if builtins ? getEnv then builtins.getEnv x else ""; - pathExists = name: - builtins ? pathExists && builtins.pathExists (toPath name); - - configFile = getEnv "NIXPKGS_CONFIG"; - homeDir = getEnv "HOME"; - configFile2 = homeDir + "/.nixpkgs/config.nix"; - - configExpr = - if config_ != null then config_ - else if configFile != "" && pathExists configFile then import (toPath configFile) - else if homeDir != "" && pathExists configFile2 then import (toPath configFile2) - else {}; - - in - # allow both: - # { /* the config */ } and - # { pkgs, ... } : { /* the config */ } - if builtins.isFunction configExpr - then configExpr { inherit pkgs; } - else configExpr; - - # Allow setting the platform in the config file. Otherwise, let's use a reasonable default (pc) - - platformAuto = let - platforms = (import ./platforms.nix); - in - if system == "armv6l-linux" then platforms.raspberrypi - else if system == "armv5tel-linux" then platforms.sheevaplug - else if system == "mips64el-linux" then platforms.fuloong2f_n32 - else if system == "x86_64-linux" then platforms.pc64 - else if system == "i686-linux" then platforms.pc32 - else platforms.pcBase; - - platform = if platform_ != null then platform_ - else config.platform or platformAuto; - - # Helper functions that are exported through `pkgs'. - helperFunctions = - stdenvAdapters // - (import ../build-support/trivial-builders.nix { inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; }); - - stdenvAdapters = - import ../stdenv/adapters.nix pkgs; - - - # Allow packages to be overriden globally via the `packageOverrides' - # configuration option, which must be a function that takes `pkgs' - # as an argument and returns a set of new or overriden packages. - # The `packageOverrides' function is called with the *original* - # (un-overriden) set of packages, allowing packageOverrides - # attributes to refer to the original attributes (e.g. "foo = - # ... pkgs.foo ..."). - pkgs = applyGlobalOverrides (config.packageOverrides or (pkgs: {})); - - - # Return the complete set of packages, after applying the overrides - # returned by the `overrider' function (see above). Warning: this - # function is very expensive! - applyGlobalOverrides = overrider: - let - # Call the overrider function. We don't want stdenv overrides - # in the case of cross-building, or otherwise the basic - # overrided packages will not be built with the crossStdenv - # adapter. - overrides = overrider pkgsOrig // - (lib.optionalAttrs (pkgsOrig.stdenv ? overrides && crossSystem == null) (pkgsOrig.stdenv.overrides pkgsOrig)); - - # The un-overriden packages, passed to `overrider'. - pkgsOrig = pkgsFun pkgs {}; - - # The overriden, final packages. - pkgs = pkgsFun pkgs overrides; - in pkgs; - - - # The package compositions. Yes, this isn't properly indented. - pkgsFun = pkgs: overrides: - with helperFunctions; - let defaultScope = pkgs // pkgs.xorg; self = self_ // overrides; - self_ = with self; helperFunctions // { - - # Make some arguments passed to all-packages.nix available - inherit system platform; - - # Allow callPackage to fill in the pkgs argument - inherit pkgs; - - - # We use `callPackage' to be able to omit function arguments that - # can be obtained from `pkgs' or `pkgs.xorg' (i.e. `defaultScope'). - # Use `newScope' for sets of packages in `pkgs' (see e.g. `gnome' - # below). - callPackage = newScope {}; - - newScope = extra: lib.callPackageWith (defaultScope // extra); - - - # Override system. This is useful to build i686 packages on x86_64-linux. - forceSystem = system: kernel: (import ./all-packages.nix) { - inherit system; - platform = platform // { kernelArch = kernel; }; - inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config - crossSystem; - }; - - - # Used by wine, firefox with debugging version of Flash, ... - pkgsi686Linux = forceSystem "i686-linux" "i386"; - - callPackage_i686 = lib.callPackageWith (pkgsi686Linux // pkgsi686Linux.xorg); - - - # For convenience, allow callers to get the path to Nixpkgs. - path = ../..; - - - ### Symbolic names. - - x11 = xlibsWrapper; - - # `xlibs' is the set of X library components. This used to be the - # old modular X llibraries project (called `xlibs') but now it's just - # the set of packages in the modular X.org tree (which also includes - # non-library components like the server, drivers, fonts, etc.). - xlibs = xorg // {xlibs = xlibsWrapper;}; - - - ### Helper functions. - - inherit lib config stdenvAdapters; - - inherit (lib) lowPrio hiPrio appendToName makeOverridable; - inherit (misc) versionedDerivation; - - # Applying this to an attribute set will cause nix-env to look - # inside the set for derivations. - recurseIntoAttrs = attrs: attrs // { recurseForDerivations = true; }; - - builderDefs = lib.composedArgsAndFun (import ../build-support/builder-defs/builder-defs.nix) { - inherit stringsWithDeps lib stdenv writeScript - fetchurl fetchmtn fetchgit; - }; - - builderDefsPackage = builderDefs.builderDefsPackage builderDefs; - - stringsWithDeps = lib.stringsWithDeps; - - - ### Nixpkgs maintainer tools - - nix-generate-from-cpan = callPackage ../../maintainers/scripts/nix-generate-from-cpan.nix { }; - - nixpkgs-lint = callPackage ../../maintainers/scripts/nixpkgs-lint.nix { }; - - - ### STANDARD ENVIRONMENT - - - allStdenvs = import ../stdenv { - inherit system platform config; - allPackages = args: import ./all-packages.nix ({ inherit config system; } // args); - }; - - defaultStdenv = allStdenvs.stdenv // { inherit platform; }; - - stdenvCross = lowPrio (makeStdenvCross defaultStdenv crossSystem binutilsCross gccCrossStageFinal); - - stdenv = - if bootStdenv != null then (bootStdenv // {inherit platform;}) else - if crossSystem != null then - stdenvCross - else - let - changer = config.replaceStdenv or null; - in if changer != null then - changer { - # We import again all-packages to avoid recursivities. - pkgs = import ./all-packages.nix { - # We remove packageOverrides to avoid recursivities - config = removeAttrs config [ "replaceStdenv" ]; - }; - } - else - defaultStdenv; - - stdenvApple = stdenvAdapters.overrideGCC allStdenvs.stdenvNative gccApple; - - forceNativeDrv = drv : if crossSystem == null then drv else - (drv // { crossDrv = drv.nativeDrv; }); - - # A stdenv capable of building 32-bit binaries. On x86_64-linux, - # it uses GCC compiled with multilib support; on i686-linux, it's - # just the plain stdenv. - stdenv_32bit = lowPrio ( - if system == "x86_64-linux" then - overrideGCC stdenv gcc48_multi - else - stdenv); - - - ### BUILD SUPPORT - - attrSetToDir = arg: import ../build-support/upstream-updater/attrset-to-dir.nix { - inherit writeTextFile stdenv lib; - theAttrSet = arg; - }; - - autoreconfHook = makeSetupHook - { substitutions = { inherit autoconf automake libtool; }; } - ../build-support/setup-hooks/autoreconf.sh; - - buildEnv = import ../build-support/buildenv { - inherit (pkgs) runCommand perl; - }; - - buildFHSChrootEnv = import ../build-support/build-fhs-chrootenv { - inherit stdenv glibc glibcLocales gcc coreutils diffutils findutils; - inherit gnused gnugrep gnutar gzip bzip2 bashInteractive xz shadow gawk; - inherit less buildEnv; - }; - - dotnetenv = import ../build-support/dotnetenv { - inherit stdenv; - dotnetfx = dotnetfx40; - }; - - scatterOutputHook = makeSetupHook {} ../build-support/setup-hooks/scatter_output.sh; - - vsenv = callPackage ../build-support/vsenv { - vs = vs90wrapper; - }; - - fetchbower = import ../build-support/fetchbower { - inherit stdenv git; - inherit (nodePackages) fetch-bower; - }; - - fetchbzr = import ../build-support/fetchbzr { - inherit stdenv bazaar; - }; - - fetchcvs = import ../build-support/fetchcvs { - inherit stdenv cvs; - }; - - fetchdarcs = import ../build-support/fetchdarcs { - inherit stdenv darcs nix; - }; - - fetchgit = import ../build-support/fetchgit { - inherit stdenv git cacert; - }; - - fetchgitPrivate = import ../build-support/fetchgit/private.nix { - inherit fetchgit writeScript openssh stdenv; - }; - - fetchgitrevision = import ../build-support/fetchgitrevision runCommand git; - - fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {}); - - packer = callPackage ../development/tools/packer { }; - - fetchpatch = callPackage ../build-support/fetchpatch { }; - - fetchsvn = import ../build-support/fetchsvn { - inherit stdenv subversion openssh; - sshSupport = true; - }; - - fetchsvnrevision = import ../build-support/fetchsvnrevision runCommand subversion; - - fetchsvnssh = import ../build-support/fetchsvnssh { - inherit stdenv subversion openssh expect; - sshSupport = true; - }; - - fetchhg = import ../build-support/fetchhg { - inherit stdenv mercurial nix; - }; - - # `fetchurl' downloads a file from the network. - fetchurl = import ../build-support/fetchurl { - inherit curl stdenv; - }; - - # A wrapper around fetchurl that generates miror://gnome URLs automatically - fetchurlGnome = callPackage ../build-support/fetchurl/gnome.nix { }; - - # fetchurlBoot is used for curl and its dependencies in order to - # prevent a cyclic dependency (curl depends on curl.tar.bz2, - # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl). It - # uses the curl from the previous bootstrap phase (e.g. a statically - # linked curl in the case of stdenv-linux). - fetchurlBoot = stdenv.fetchurlBoot; - - fetchzip = import ../build-support/fetchzip { inherit lib fetchurl unzip; }; - - fetchFromGitHub = { owner, repo, rev, sha256 }: fetchzip { - name = "${repo}-${rev}-src"; - url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz"; - inherit sha256; - }; - - resolveMirrorURLs = {url}: fetchurl { - showURLs = true; - inherit url; - }; - - libredirect = callPackage ../build-support/libredirect { }; - - makeDesktopItem = import ../build-support/make-desktopitem { - inherit stdenv; - }; - - makeAutostartItem = import ../build-support/make-startupitem { - inherit stdenv; - inherit lib; - }; - - makeInitrd = {contents, compressor ? "gzip -9"}: - import ../build-support/kernel/make-initrd.nix { - inherit stdenv perl perlArchiveCpio cpio contents ubootChooser compressor; - }; - - makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh; - - makeModulesClosure = { kernel, rootModules, allowMissing ? false }: - import ../build-support/kernel/modules-closure.nix { - inherit stdenv kmod kernel nukeReferences rootModules allowMissing; - }; - - pathsFromGraph = ../build-support/kernel/paths-from-graph.pl; - - srcOnly = args: (import ../build-support/src-only) ({inherit stdenv; } // args); - - substituteAll = import ../build-support/substitute/substitute-all.nix { - inherit stdenv; - }; - - replaceDependency = import ../build-support/replace-dependency.nix { - inherit runCommand nix lib; - }; - - nukeReferences = callPackage ../build-support/nuke-references/default.nix { }; - - vmTools = import ../build-support/vm/default.nix { - inherit pkgs; - }; - - releaseTools = import ../build-support/release/default.nix { - inherit pkgs; - }; - - composableDerivation = (import ../../lib/composable-derivation.nix) { - inherit pkgs lib; - }; - - platforms = import ./platforms.nix; - - setJavaClassPath = makeSetupHook { } ../build-support/setup-hooks/set-java-classpath.sh; - - fixDarwinDylibNames = makeSetupHook { } ../build-support/setup-hooks/fix-darwin-dylib-names.sh; - - keepBuildTree = makeSetupHook { } ../build-support/setup-hooks/keep-build-tree.sh; - - enableGCOVInstrumentation = makeSetupHook { } ../build-support/setup-hooks/enable-coverage-instrumentation.sh; - - makeGCOVReport = makeSetupHook - { deps = [ pkgs.lcov pkgs.enableGCOVInstrumentation ]; } - ../build-support/setup-hooks/make-coverage-analysis-report.sh; - - - ### TOOLS - - abduco = callPackage ../tools/misc/abduco { }; - - acct = callPackage ../tools/system/acct { }; - - acoustidFingerprinter = callPackage ../tools/audio/acoustid-fingerprinter { - ffmpeg = ffmpeg_1; - }; - - actdiag = pythonPackages.actdiag; - - adom = callPackage ../games/adom { }; - - aefs = callPackage ../tools/filesystems/aefs { }; - - aegisub = callPackage ../applications/video/aegisub { - wxGTK = wxGTK30; - lua = lua5_1; - }; - - aespipe = callPackage ../tools/security/aespipe { }; - - aescrypt = callPackage ../tools/misc/aescrypt { }; - - ahcpd = callPackage ../tools/networking/ahcpd { }; - - aircrackng = callPackage ../tools/networking/aircrack-ng { }; - - analog = callPackage ../tools/admin/analog {}; - - apktool = callPackage ../development/tools/apktool { - buildTools = androidenv.buildTools; - }; - - apt-offline = callPackage ../tools/misc/apt-offline { }; - - archivemount = callPackage ../tools/filesystems/archivemount { }; - - arandr = callPackage ../tools/X11/arandr { }; - - arcanist = callPackage ../development/tools/misc/arcanist {}; - - arduino_core = callPackage ../development/arduino/arduino-core { - jdk = jdk; - jre = jdk; - }; - - argyllcms = callPackage ../tools/graphics/argyllcms {}; - - arp-scan = callPackage ../tools/misc/arp-scan { }; - - ascii = callPackage ../tools/text/ascii { }; - - asymptote = builderDefsPackage ../tools/graphics/asymptote { - inherit freeglut ghostscriptX imagemagick fftw boehmgc - mesa ncurses readline gsl libsigsegv python zlib perl - texinfo xz; - texLive = texLiveAggregationFun { - paths = [ texLive texLiveExtra texLiveCMSuper ]; - }; - }; - - awscli = callPackage ../tools/admin/awscli { }; - - ec2_api_tools = callPackage ../tools/virtualization/ec2-api-tools { }; - - ec2_ami_tools = callPackage ../tools/virtualization/ec2-ami-tools { }; - - altermime = callPackage ../tools/networking/altermime {}; - - amule = callPackage ../tools/networking/p2p/amule { }; - - amuleDaemon = appendToName "daemon" (amule.override { - monolithic = false; - daemon = true; - }); - - amuleGui = appendToName "gui" (amule.override { - monolithic = false; - client = true; - }); - - androidenv = import ../development/mobile/androidenv { - inherit pkgs; - pkgs_i686 = pkgsi686Linux; - }; - - apg = callPackage ../tools/security/apg { }; - - grc = callPackage ../tools/misc/grc { }; - - otool = callPackage ../os-specific/darwin/otool { }; - - pass = callPackage ../tools/security/pass { - gnupg = gnupg1compat; - }; - - setfile = callPackage ../os-specific/darwin/setfile { }; - - install_name_tool = callPackage ../os-specific/darwin/install_name_tool { }; - - xcodeenv = callPackage ../development/mobile/xcodeenv { }; - - titaniumenv = callPackage ../development/mobile/titaniumenv { - inherit pkgs; - pkgs_i686 = pkgsi686Linux; - }; - - inherit (androidenv) androidsdk_4_4 androidndk; - - aria2 = callPackage ../tools/networking/aria2 { }; - aria = aria2; - - at = callPackage ../tools/system/at { }; - - atftp = callPackage ../tools/networking/atftp {}; - - autogen = callPackage ../development/tools/misc/autogen { }; - - autojump = callPackage ../tools/misc/autojump { }; - - autorandr = callPackage ../tools/misc/autorandr { - inherit (xorg) xrandr xdpyinfo; - }; - - avahi = callPackage ../development/libraries/avahi { - qt4Support = config.avahi.qt4Support or false; - }; - - aws = callPackage ../tools/virtualization/aws { }; - - aws_mturk_clt = callPackage ../tools/misc/aws-mturk-clt { }; - - axel = callPackage ../tools/networking/axel { }; - - azureus = callPackage ../tools/networking/p2p/azureus { }; - - basex = callPackage ../tools/text/xml/basex { }; - - babeld = callPackage ../tools/networking/babeld { }; - - badvpn = callPackage ../tools/networking/badvpn {}; - - banner = callPackage ../games/banner {}; - - barcode = callPackage ../tools/graphics/barcode {}; - - bc = callPackage ../tools/misc/bc { }; - - bcache-tools = callPackage ../tools/filesystems/bcache-tools { }; - - bchunk = callPackage ../tools/cd-dvd/bchunk { }; - - bfr = callPackage ../tools/misc/bfr { }; - - bindfs = callPackage ../tools/filesystems/bindfs { }; - - bitbucket-cli = pythonPackages.bitbucket-cli; - - blockdiag = pythonPackages.blockdiag; - - bmon = callPackage ../tools/misc/bmon { }; - - bochs = callPackage ../applications/virtualization/bochs { wxSupport = false; }; - - boomerang = callPackage ../development/tools/boomerang { }; - - bootchart = callPackage ../tools/system/bootchart { }; - - bro = callPackage ../applications/networking/ids/bro { }; - - bsod = callPackage ../misc/emulators/bsod { }; - - btrfsProgs = callPackage ../tools/filesystems/btrfsprogs { }; - - bwm_ng = callPackage ../tools/networking/bwm-ng { }; - - byobu = callPackage ../tools/misc/byobu { }; - - capstone = callPackage ../development/libraries/capstone { }; - - catdoc = callPackage ../tools/text/catdoc { }; - - ccnet = callPackage ../tools/networking/ccnet { }; - - consul = callPackage ../servers/consul { }; - consul_ui = callPackage ../servers/consul/ui.nix { }; - - chntpw = callPackage ../tools/security/chntpw { }; - - coprthr = callPackage ../development/libraries/coprthr { - flex = flex_2_5_35; - }; - - crawl = callPackage ../games/crawl { lua = lua5; }; - - cv = callPackage ../tools/misc/cv { }; - - direnv = callPackage ../tools/misc/direnv { }; - - ditaa = callPackage ../tools/graphics/ditaa { }; - - dlx = callPackage ../misc/emulators/dlx { }; - - eggdrop = callPackage ../tools/networking/eggdrop { }; - - enca = callPackage ../tools/text/enca { }; - - fasd = callPackage ../tools/misc/fasd { - inherit (haskellPackages) pandoc; - }; - - fop = callPackage ../tools/typesetting/fop { }; - - mcrl = callPackage ../tools/misc/mcrl { }; - - mcrl2 = callPackage ../tools/misc/mcrl2 { }; - - mpdcron = callPackage ../tools/audio/mpdcron { }; - - syslogng = callPackage ../tools/system/syslog-ng { }; - - syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { }; - - rsyslog = callPackage ../tools/system/rsyslog { }; - - mcrypt = callPackage ../tools/misc/mcrypt { }; - - mcelog = callPackage ../os-specific/linux/mcelog { }; - - apparix = callPackage ../tools/misc/apparix { }; - - appdata-tools = callPackage ../tools/misc/appdata-tools { }; - - asciidoc = callPackage ../tools/typesetting/asciidoc { - inherit (pythonPackages) matplotlib numpy aafigure recursivePthLoader; - enableStandardFeatures = false; - }; - - asciidoc-full = appendToName "full" (asciidoc.override { - inherit (pythonPackages) pygments; - enableStandardFeatures = true; - }); - - autossh = callPackage ../tools/networking/autossh { }; - - bacula = callPackage ../tools/backup/bacula { }; - - beanstalkd = callPackage ../servers/beanstalkd { }; - - bgs = callPackage ../tools/X11/bgs { }; - - biber = callPackage ../tools/typesetting/biber { - inherit (perlPackages) - autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf - DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K - ExtUtilsLibBuilder FileSlurp IPCRun3 Log4Perl LWPProtocolHttps ListAllUtils - ListMoreUtils ModuleBuild MozillaCA ReadonlyXS RegexpCommon TextBibTeX - UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter; - }; - - bibtextools = callPackage ../tools/typesetting/bibtex-tools { - inherit (strategoPackages016) strategoxt sdf; - }; - - bittorrent = callPackage ../tools/networking/p2p/bittorrent { - gui = true; - }; - - bittornado = callPackage ../tools/networking/p2p/bit-tornado { }; - - blueman = callPackage ../tools/bluetooth/blueman { - inherit (pythonPackages) notify; - }; - - bmrsa = builderDefsPackage (import ../tools/security/bmrsa/11.nix) { - inherit unzip; - }; - - bogofilter = callPackage ../tools/misc/bogofilter { }; - - bsdiff = callPackage ../tools/compression/bsdiff { }; - - btar = callPackage ../tools/backup/btar { }; - - bud = callPackage ../tools/networking/bud { - inherit (pythonPackages) gyp; - }; - - bup = callPackage ../tools/backup/bup { - inherit (pythonPackages) pyxattr pylibacl setuptools fuse; - inherit (haskellPackages) pandoc; - par2Support = (config.bup.par2Support or false); - }; - - ori = callPackage ../tools/backup/ori { }; - - atool = callPackage ../tools/archivers/atool { }; - - bzip2 = callPackage ../tools/compression/bzip2 { }; - - cabextract = callPackage ../tools/archivers/cabextract { }; - - cadaver = callPackage ../tools/networking/cadaver { }; - - cantata = callPackage ../applications/audio/cantata { }; - - can-utils = callPackage ../os-specific/linux/can-utils { }; - - ccid = callPackage ../tools/security/ccid { }; - - ccrypt = callPackage ../tools/security/ccrypt { }; - - cdecl = callPackage ../development/tools/cdecl { }; - - cdrdao = callPackage ../tools/cd-dvd/cdrdao { }; - - cdrkit = callPackage ../tools/cd-dvd/cdrkit { }; - - ceph = callPackage ../tools/filesystems/ceph { }; - - cfdg = builderDefsPackage ../tools/graphics/cfdg { - inherit libpng bison flex ffmpeg; - }; - - checkinstall = callPackage ../tools/package-management/checkinstall { }; - - cheetahTemplate = builderDefsPackage (import ../tools/text/cheetah-template/2.0.1.nix) { - inherit makeWrapper python; - }; - - chkrootkit = callPackage ../tools/security/chkrootkit { }; - - chrony = callPackage ../tools/networking/chrony { }; - - chunkfs = callPackage ../tools/filesystems/chunkfs { }; - - chunksync = callPackage ../tools/backup/chunksync { }; - - cjdns = callPackage ../tools/networking/cjdns { }; - - cksfv = callPackage ../tools/networking/cksfv { }; - - clementine = callPackage ../applications/audio/clementine { }; - - ciopfs = callPackage ../tools/filesystems/ciopfs { }; - - colord = callPackage ../tools/misc/colord { }; - - colord-gtk = callPackage ../tools/misc/colord-gtk { }; - - colordiff = callPackage ../tools/text/colordiff { }; - - concurrencykit = callPackage ../development/libraries/concurrencykit { }; - - connect = callPackage ../tools/networking/connect { }; - - conspy = callPackage ../os-specific/linux/conspy {}; - - connman = callPackage ../tools/networking/connman { }; - - connmanui = callPackage ../tools/networking/connmanui { }; - - convertlit = callPackage ../tools/text/convertlit { }; - - collectd = callPackage ../tools/system/collectd { }; - - colormake = callPackage ../development/tools/build-managers/colormake { }; - - cowsay = callPackage ../tools/misc/cowsay { }; - - cpuminer = callPackage ../tools/misc/cpuminer { }; - - cpuminer-multi = callPackage ../tools/misc/cpuminer-multi { }; - - cuetools = callPackage ../tools/cd-dvd/cuetools { }; - - unifdef = callPackage ../development/tools/misc/unifdef { }; - - "unionfs-fuse" = callPackage ../tools/filesystems/unionfs-fuse { }; - - usb_modeswitch = callPackage ../development/tools/misc/usb-modeswitch { }; - - anthy = callPackage ../tools/inputmethods/anthy { }; - - biosdevname = callPackage ../tools/networking/biosdevname { }; - - clamav = callPackage ../tools/security/clamav { }; - - cloc = callPackage ../tools/misc/cloc { - inherit (perlPackages) perl AlgorithmDiff RegexpCommon; - }; - - cloog = callPackage ../development/libraries/cloog { }; - - cloogppl = callPackage ../development/libraries/cloog-ppl { }; - - convmv = callPackage ../tools/misc/convmv { }; - - cool-old-term = callPackage ../applications/misc/cool-old-term { }; - - coreutils = callPackage ../tools/misc/coreutils - { - # TODO: Add ACL support for cross-Linux. - aclSupport = crossSystem == null && stdenv.isLinux; - }; - - cpio = callPackage ../tools/archivers/cpio { }; - - cromfs = callPackage ../tools/archivers/cromfs { }; - - cron = callPackage ../tools/system/cron { }; - - cudatoolkit5 = callPackage ../development/compilers/cudatoolkit/5.5.nix { - python = python26; - }; - - cudatoolkit6 = callPackage ../development/compilers/cudatoolkit/6.0.nix { - python = python26; - }; - - cudatoolkit = cudatoolkit5; - - curl = callPackage ../tools/networking/curl rec { - fetchurl = fetchurlBoot; - zlibSupport = true; - sslSupport = zlibSupport; - scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin; - }; - - curl3 = callPackage ../tools/networking/curl/7.15.nix rec { - zlibSupport = true; - sslSupport = zlibSupport; - }; - - cunit = callPackage ../tools/misc/cunit { }; - - curlftpfs = callPackage ../tools/filesystems/curlftpfs { }; - - cutter = callPackage ../tools/networking/cutter { }; - - dadadodo = builderDefsPackage (import ../tools/text/dadadodo) { }; - - daq = callPackage ../applications/networking/ids/daq { }; - - dar = callPackage ../tools/archivers/dar { }; - - davfs2 = callPackage ../tools/filesystems/davfs2 { }; - - dbench = callPackage ../development/tools/misc/dbench { }; - - dcraw = callPackage ../tools/graphics/dcraw { }; - - debian_devscripts = callPackage ../tools/misc/debian-devscripts { - inherit (perlPackages) CryptSSLeay LWP TimeDate DBFile FileDesktopEntry; - }; - - debootstrap = callPackage ../tools/misc/debootstrap { }; - - detox = callPackage ../tools/misc/detox { }; - - ddclient = callPackage ../tools/networking/ddclient { }; - - dd_rescue = callPackage ../tools/system/dd_rescue { }; - - ddrescue = callPackage ../tools/system/ddrescue { }; - - deluge = pythonPackages.deluge; - - desktop_file_utils = callPackage ../tools/misc/desktop-file-utils { }; - - despotify = callPackage ../development/libraries/despotify { }; - - dev86 = callPackage ../development/compilers/dev86 { }; - - dnsmasq = callPackage ../tools/networking/dnsmasq { }; - - dnstop = callPackage ../tools/networking/dnstop { }; - - dhcp = callPackage ../tools/networking/dhcp { }; - - dhcpcd = callPackage ../tools/networking/dhcpcd { }; - - di = callPackage ../tools/system/di { }; - - diffstat = callPackage ../tools/text/diffstat { }; - - diffutils = callPackage ../tools/text/diffutils { }; - - wgetpaste = callPackage ../tools/text/wgetpaste { }; - - dirmngr = callPackage ../tools/security/dirmngr { }; - - disper = callPackage ../tools/misc/disper { }; - - dmd = callPackage ../development/compilers/dmd { }; - - dmg2img = callPackage ../tools/misc/dmg2img { }; - - docbook2odf = callPackage ../tools/typesetting/docbook2odf { - inherit (perlPackages) PerlMagick; - }; - - docbook2x = callPackage ../tools/typesetting/docbook2x { - inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport; - }; - - dosfstools = callPackage ../tools/filesystems/dosfstools { }; - - dotnetfx35 = callPackage ../development/libraries/dotnetfx35 { }; - - dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { }; - - dolphinEmu = callPackage ../misc/emulators/dolphin-emu { }; - dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix { }; - - dropbear = callPackage ../tools/networking/dropbear { }; - - dtach = callPackage ../tools/misc/dtach { }; - - duo-unix = callPackage ../tools/security/duo-unix { }; - - duplicity = callPackage ../tools/backup/duplicity { - inherit (pythonPackages) boto lockfile; - gnupg = gnupg1; - }; - - duply = callPackage ../tools/backup/duply { }; - - dvdplusrwtools = callPackage ../tools/cd-dvd/dvd+rw-tools { }; - - dvgrab = callPackage ../tools/video/dvgrab { }; - - dvtm = callPackage ../tools/misc/dvtm { }; - - e2fsprogs = callPackage ../tools/filesystems/e2fsprogs { }; - - easyrsa = callPackage ../tools/networking/easyrsa { }; - - ebook_tools = callPackage ../tools/text/ebook-tools { }; - - ecryptfs = callPackage ../tools/security/ecryptfs { }; - - editres = callPackage ../tools/graphics/editres { - inherit (xlibs) libXt libXaw; - inherit (xorg) utilmacros; - }; - - edk2 = callPackage ../development/compilers/edk2 { }; - - emscripten = callPackage ../development/compilers/emscripten { }; - - emscriptenfastcomp = callPackage ../development/compilers/emscripten-fastcomp { }; - - efibootmgr = callPackage ../tools/system/efibootmgr { }; - - efivar = callPackage ../tools/system/efivar { }; - - evemu = callPackage ../tools/system/evemu { }; - - elasticsearch = callPackage ../servers/search/elasticsearch { }; - - elasticsearchPlugins = recurseIntoAttrs ( - callPackage ../servers/search/elasticsearch/plugins.nix { } - ); - - emv = callPackage ../tools/misc/emv { }; - - enblendenfuse = callPackage ../tools/graphics/enblend-enfuse { }; - - encfs = callPackage ../tools/filesystems/encfs { }; - - enscript = callPackage ../tools/text/enscript { }; - - ethtool = callPackage ../tools/misc/ethtool { }; - - ettercap = callPackage ../applications/networking/sniffers/ettercap { }; - - euca2ools = callPackage ../tools/virtualization/euca2ools { pythonPackages = python26Packages; }; - - evtest = callPackage ../applications/misc/evtest { }; - - exempi = callPackage ../development/libraries/exempi { }; - - execline = callPackage ../tools/misc/execline { }; - - exercism = callPackage ../development/tools/exercism { }; - - exif = callPackage ../tools/graphics/exif { }; - - exiftags = callPackage ../tools/graphics/exiftags { }; - - extundelete = callPackage ../tools/filesystems/extundelete { }; - - expect = callPackage ../tools/misc/expect { }; - - f2fs-tools = callPackage ../tools/filesystems/f2fs-tools { }; - - fabric = pythonPackages.fabric; - - fail2ban = callPackage ../tools/security/fail2ban { - systemd = systemd.override { - pythonSupport = true; - }; - }; - - fakeroot = callPackage ../tools/system/fakeroot { }; - - fakechroot = callPackage ../tools/system/fakechroot { }; - - fcitx = callPackage ../tools/inputmethods/fcitx { }; - - fcron = callPackage ../tools/system/fcron { }; - - fdm = callPackage ../tools/networking/fdm {}; - - figlet = callPackage ../tools/misc/figlet { }; - - file = callPackage ../tools/misc/file { }; - - filegive = callPackage ../tools/networking/filegive { }; - - fileschanged = callPackage ../tools/misc/fileschanged { }; - - findutils = callPackage ../tools/misc/findutils { }; - - finger_bsd = callPackage ../tools/networking/bsd-finger { }; - - fio = callPackage ../tools/system/fio { }; - - flashtool = callPackage_i686 ../development/mobile/flashtool { - platformTools = androidenv.platformTools; - }; - - flashrom = callPackage ../tools/misc/flashrom { }; - - flpsed = callPackage ../applications/editors/flpsed { }; - - flvstreamer = callPackage ../tools/networking/flvstreamer { }; - - libbsd = callPackage ../development/libraries/libbsd { }; - - lprof = callPackage ../tools/graphics/lprof { }; - - fdk_aac = callPackage ../development/libraries/fdk-aac { }; - - flvtool2 = callPackage ../tools/video/flvtool2 { }; - - fontforge = lowPrio (callPackage ../tools/misc/fontforge { }); - - fontforgeX = callPackage ../tools/misc/fontforge { - withX11 = true; - }; - - forktty = callPackage ../os-specific/linux/forktty {}; - - fortune = callPackage ../tools/misc/fortune { }; - - fox = callPackage ../development/libraries/fox/default.nix { - libpng = libpng12; - }; - - fox_1_6 = callPackage ../development/libraries/fox/fox-1.6.nix { }; - - fping = callPackage ../tools/networking/fping {}; - - fprot = callPackage ../tools/security/fprot { }; - - freeipmi = callPackage ../tools/system/freeipmi {}; - - freetalk = callPackage ../applications/networking/instant-messengers/freetalk { - guile = guile_1_8; - }; - - freetds = callPackage ../development/libraries/freetds { }; - - ftgl = callPackage ../development/libraries/ftgl { }; - - ftgl212 = callPackage ../development/libraries/ftgl/2.1.2.nix { }; - - fuppes = callPackage ../tools/networking/fuppes { - ffmpeg = ffmpeg_0_6_90; - }; - - fsfs = callPackage ../tools/filesystems/fsfs { }; - - fuse_zip = callPackage ../tools/filesystems/fuse-zip { }; - - fuse_exfat = callPackage ../tools/filesystems/fuse-exfat { }; - - dos2unix = callPackage ../tools/text/dos2unix { }; - - uni2ascii = callPackage ../tools/text/uni2ascii { }; - - g500-control = callPackage ../tools/misc/g500-control { }; - - galculator = callPackage ../applications/misc/galculator { - gtk = gtk3; - }; - - gawk = callPackage ../tools/text/gawk { }; - - gawkInteractive = appendToName "interactive" - (gawk.override { readlineSupport = true; }); - - gbdfed = callPackage ../tools/misc/gbdfed { - gtk = gtk2; - }; - - gdmap = callPackage ../tools/system/gdmap { }; - - genext2fs = callPackage ../tools/filesystems/genext2fs { }; - - gengetopt = callPackage ../development/tools/misc/gengetopt { }; - - getmail = callPackage ../tools/networking/getmail { }; - - getopt = callPackage ../tools/misc/getopt { }; - - gftp = callPackage ../tools/networking/gftp { }; - - gifsicle = callPackage ../tools/graphics/gifsicle { }; - - glusterfs = callPackage ../tools/filesystems/glusterfs { }; - - glmark2 = callPackage ../tools/graphics/glmark2 { }; - - glxinfo = callPackage ../tools/graphics/glxinfo { }; - - gmvault = callPackage ../tools/networking/gmvault { }; - - gnokii = builderDefsPackage (import ../tools/misc/gnokii) { - inherit intltool perl gettext libusb pkgconfig bluez readline pcsclite - libical gtk glib; - inherit (xorg) libXpm; - }; - - gnufdisk = callPackage ../tools/system/fdisk { - guile = guile_1_8; - }; - - gnugrep = callPackage ../tools/text/gnugrep { - libiconv = libiconvOrNull; - }; - - gnulib = callPackage ../development/tools/gnulib { }; - - gnupatch = callPackage ../tools/text/gnupatch { }; - - gnupg1orig = callPackage ../tools/security/gnupg1 { }; - - gnupg1compat = callPackage ../tools/security/gnupg1compat { }; - - # use config.packageOverrides if you prefer original gnupg1 - gnupg1 = gnupg1compat; - - gnupg = callPackage ../tools/security/gnupg { libusb = libusb1; }; - - gnupg2_1 = lowPrio (callPackage ../tools/security/gnupg/git.nix { - libassuan = libassuan2_1; - }); - - gnuplot = callPackage ../tools/graphics/gnuplot { }; - - gnuplot_qt = gnuplot.override { withQt = true; }; - - # must have AquaTerm installed separately - gnuplot_aquaterm = gnuplot.override { aquaterm = true; }; - - gnused = callPackage ../tools/text/gnused { }; - - gnutar = callPackage ../tools/archivers/gnutar { }; - - gnuvd = callPackage ../tools/misc/gnuvd { }; - - goaccess = callPackage ../tools/misc/goaccess { }; - - googleAuthenticator = callPackage ../os-specific/linux/google-authenticator { }; - - gource = callPackage ../applications/version-management/gource {}; - - gpodder = callPackage ../applications/audio/gpodder { }; - - gptfdisk = callPackage ../tools/system/gptfdisk { }; - - grafana = callPackage ../development/tools/misc/grafana { }; - - grafx2 = callPackage ../applications/graphics/grafx2 {}; - - graphviz = callPackage ../tools/graphics/graphviz { }; - - /* Readded by Michael Raskin. There are programs in the wild - * that do want 2.0 but not 2.22. Please give a day's notice for - * objections before removal. The feature is integer coordinates - */ - graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { }; - - /* Readded by Michael Raskin. There are programs in the wild - * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for - * objections before removal. The feature is libgraph. - */ - graphviz_2_32 = callPackage ../tools/graphics/graphviz/2.32.nix { }; - - grive = callPackage ../tools/filesystems/grive { - json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable - }; - - groff = callPackage ../tools/text/groff { - ghostscript = null; - }; - - grub = callPackage_i686 ../tools/misc/grub { - buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; - }; - - grub2 = callPackage ../tools/misc/grub/2.0x.nix { }; - - grub2_efi = grub2.override { efiSupport = true; }; - - grub2_zfs = grub2.override { zfsSupport = true; }; - - gssdp = callPackage ../development/libraries/gssdp { - inherit (gnome) libsoup; - }; - - gt5 = callPackage ../tools/system/gt5 { }; - - gtest = callPackage ../development/libraries/gtest {}; - gmock = callPackage ../development/libraries/gmock {}; - - gtkdatabox = callPackage ../development/libraries/gtkdatabox {}; - - gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { }; - - gtkvnc = callPackage ../tools/admin/gtk-vnc {}; - - gtmess = callPackage ../applications/networking/instant-messengers/gtmess { }; - - gummiboot = callPackage ../tools/misc/gummiboot { }; - - gupnp = callPackage ../development/libraries/gupnp { - inherit (gnome) libsoup; - }; - - gupnp_av = callPackage ../development/libraries/gupnp-av {}; - - gupnp_igd = callPackage ../development/libraries/gupnp-igd {}; - - gupnptools = callPackage ../tools/networking/gupnp-tools {}; - - gvpe = builderDefsPackage ../tools/networking/gvpe { - inherit openssl gmp nettools iproute; - }; - - gvolicon = callPackage ../tools/audio/gvolicon {}; - - gzip = callPackage ../tools/compression/gzip { }; - - gzrt = callPackage ../tools/compression/gzrt { }; - - partclone = callPackage ../tools/backup/partclone { }; - - partimage = callPackage ../tools/backup/partimage { }; - - pigz = callPackage ../tools/compression/pigz { }; - - haproxy = callPackage ../tools/networking/haproxy { }; - - haveged = callPackage ../tools/security/haveged { }; - - hawkthorne = callPackage ../games/hawkthorne { love = love_0_9; }; - - hardlink = callPackage ../tools/system/hardlink { }; - - hashcat = callPackage ../tools/security/hashcat { }; - - halibut = callPackage ../tools/typesetting/halibut { }; - - hddtemp = callPackage ../tools/misc/hddtemp { }; - - hdf5 = callPackage ../tools/misc/hdf5 { - szip = null; - mpi = null; - }; - - hdf5-mpi = hdf5.override { - szip = null; - mpi = pkgs.openmpi; - }; - - heimdall = callPackage ../tools/misc/heimdall { }; - - hevea = callPackage ../tools/typesetting/hevea { }; - - highlight = callPackage ../tools/text/highlight { - lua = lua5; - }; - - host = callPackage ../tools/networking/host { }; - - hping = callPackage ../tools/networking/hping { }; - - httpie = callPackage ../tools/networking/httpie { }; - - httpfs2 = callPackage ../tools/filesystems/httpfs { }; - - # FIXME: This Hydra snapshot is outdated and depends on the `nixPerl', - # which no longer exists. - # - # hydra = callPackage ../development/tools/misc/hydra { - # nix = nixUnstable; - # }; - - iasl = callPackage ../development/compilers/iasl { }; - - icecast = callPackage ../servers/icecast { }; - - icoutils = callPackage ../tools/graphics/icoutils { }; - - idutils = callPackage ../tools/misc/idutils { }; - - idle3tools = callPackage ../tools/system/idle3tools { }; - - iftop = callPackage ../tools/networking/iftop { }; - - imapproxy = callPackage ../tools/networking/imapproxy { }; - - imapsync = callPackage ../tools/networking/imapsync { - inherit (perlPackages) MailIMAPClient; - }; - - inadyn = callPackage ../tools/networking/inadyn { }; - - inetutils = callPackage ../tools/networking/inetutils { }; - - ioping = callPackage ../tools/system/ioping {}; - - iodine = callPackage ../tools/networking/iodine { }; - - iperf = callPackage ../tools/networking/iperf { }; - - ipmitool = callPackage ../tools/system/ipmitool { - static = false; - }; - - ipmiutil = callPackage ../tools/system/ipmiutil {}; - - ised = callPackage ../tools/misc/ised {}; - - isl = callPackage ../development/libraries/isl { }; - isl_0_12 = callPackage ../development/libraries/isl/0.12.2.nix { }; - - isync = callPackage ../tools/networking/isync { }; - - jd-gui = callPackage_i686 ../tools/security/jd-gui { }; - - jdiskreport = callPackage ../tools/misc/jdiskreport { }; - - jfsrec = callPackage ../tools/filesystems/jfsrec { - boost = boost144; - }; - - jfsutils = callPackage ../tools/filesystems/jfsutils { }; - - jhead = callPackage ../tools/graphics/jhead { }; - - jing = callPackage ../tools/text/xml/jing { }; - - jmtpfs = callPackage ../tools/filesystems/jmtpfs { }; - - jnettop = callPackage ../tools/networking/jnettop { }; - - jq = callPackage ../development/tools/jq {}; - - jscoverage = callPackage ../development/tools/misc/jscoverage { }; - - jwhois = callPackage ../tools/networking/jwhois { }; - - kazam = callPackage ../applications/video/kazam { }; - - kalibrate-rtl = callPackage ../tools/misc/kalibrate-rtl { }; - - kexectools = callPackage ../os-specific/linux/kexectools { }; - - keychain = callPackage ../tools/misc/keychain { }; - - kismet = callPackage ../applications/networking/sniffers/kismet { }; - - less = callPackage ../tools/misc/less { }; - - lockfileProgs = callPackage ../tools/misc/lockfile-progs { }; - - logstash = callPackage ../tools/misc/logstash { }; - - logstash-forwarder = callPackage ../tools/misc/logstash-forwarder { }; - - kippo = callPackage ../servers/kippo { }; - - klavaro = callPackage ../games/klavaro {}; - - kzipmix = callPackage_i686 ../tools/compression/kzipmix { }; - - minidlna = callPackage ../tools/networking/minidlna { - ffmpeg = ffmpeg_0_10; - }; - - mmv = callPackage ../tools/misc/mmv { }; - - most = callPackage ../tools/misc/most { }; - - multitail = callPackage ../tools/misc/multitail { }; - - netperf = callPackage ../applications/networking/netperf { }; - - ninka = callPackage ../development/tools/misc/ninka { }; - - nodejs = callPackage ../development/web/nodejs {}; - - nodePackages = recurseIntoAttrs (import ./node-packages.nix { - inherit pkgs stdenv nodejs fetchurl fetchgit; - neededNatives = [python] ++ lib.optional (lib.elem system lib.platforms.linux) utillinux; - self = pkgs.nodePackages; - }); - - ldapvi = callPackage ../tools/misc/ldapvi { }; - - ldns = callPackage ../development/libraries/ldns { }; - - lftp = callPackage ../tools/networking/lftp { }; - - libconfig = callPackage ../development/libraries/libconfig { }; - - libee = callPackage ../development/libraries/libee { }; - - libestr = callPackage ../development/libraries/libestr { }; - - libevdev = callPackage ../development/libraries/libevdev { }; - - liboauth = callPackage ../development/libraries/liboauth { }; - - libtirpc = callPackage ../development/libraries/ti-rpc { }; - - libshout = callPackage ../development/libraries/libshout { }; - - libqmi = callPackage ../development/libraries/libqmi { }; - - libmbim = callPackage ../development/libraries/libmbim { }; - - libtorrent = callPackage ../tools/networking/p2p/libtorrent { }; - - logcheck = callPackage ../tools/system/logcheck { - inherit (perlPackages) mimeConstruct; - }; - - logrotate = callPackage ../tools/system/logrotate { }; - - logstalgia = callPackage ../tools/graphics/logstalgia {}; - - lout = callPackage ../tools/typesetting/lout { }; - - lrzip = callPackage ../tools/compression/lrzip { }; - - # lsh installs `bin/nettle-lfib-stream' and so does Nettle. Give the - # former a lower priority than Nettle. - lsh = lowPrio (callPackage ../tools/networking/lsh { }); - - lshw = callPackage ../tools/system/lshw { }; - - lxc = callPackage ../os-specific/linux/lxc { }; - - lzip = callPackage ../tools/compression/lzip { }; - - lzma = xz; - - xz = callPackage ../tools/compression/xz { }; - - lzop = callPackage ../tools/compression/lzop { }; - - maildrop = callPackage ../tools/networking/maildrop { }; - - mailpile = callPackage ../applications/networking/mailreaders/mailpile { }; - - mailutils = callPackage ../tools/networking/mailutils { - guile = guile_1_8; - }; - - mairix = callPackage ../tools/text/mairix { }; - - makemkv = callPackage ../applications/video/makemkv { }; - - man = callPackage ../tools/misc/man { }; - - man_db = callPackage ../tools/misc/man-db { }; - - memtest86 = callPackage ../tools/misc/memtest86 { }; - - memtest86plus = callPackage ../tools/misc/memtest86+ { }; - - meo = callPackage ../tools/security/meo { }; - - mc = callPackage ../tools/misc/mc { }; - - mcabber = callPackage ../applications/networking/instant-messengers/mcabber { }; - - mcron = callPackage ../tools/system/mcron { - guile = guile_1_8; - }; - - mdbtools = callPackage ../tools/misc/mdbtools { }; - - mdbtools_git = callPackage ../tools/misc/mdbtools/git.nix { - inherit (gnome) scrollkeeper; - }; - - mednafen = callPackage ../misc/emulators/mednafen { }; - - mednafen-server = callPackage ../misc/emulators/mednafen/server.nix { }; - - megacli = callPackage ../tools/misc/megacli { }; - - megatools = callPackage ../tools/networking/megatools { }; - - mfcuk = callPackage ../tools/security/mfcuk { }; - - minecraft = callPackage ../games/minecraft { }; - - minecraft-server = callPackage ../games/minecraft-server { }; - - minetest = callPackage ../games/minetest { - libpng = libpng12; - }; - - miniupnpc = callPackage ../tools/networking/miniupnpc { }; - - miniupnpd = callPackage ../tools/networking/miniupnpd { }; - - minixml = callPackage ../development/libraries/minixml { }; - - mjpegtools = callPackage ../tools/video/mjpegtools { }; - - mkcue = callPackage ../tools/cd-dvd/mkcue { }; - - mkpasswd = callPackage ../tools/security/mkpasswd { }; - - mktemp = callPackage ../tools/security/mktemp { }; - - mktorrent = callPackage ../tools/misc/mktorrent { }; - - modemmanager = callPackage ../tools/networking/modemmanager {}; - - monit = callPackage ../tools/system/monit { }; - - mosh = callPackage ../tools/networking/mosh { - boost = boostHeaders; - inherit (perlPackages) IOTty; - }; - - mpage = callPackage ../tools/text/mpage { }; - - mr = callPackage ../applications/version-management/mr { }; - - mscgen = callPackage ../tools/graphics/mscgen { }; - - msf = builderDefsPackage (import ../tools/security/metasploit/3.1.nix) { - inherit ruby makeWrapper; - }; - - mssys = callPackage ../tools/misc/mssys { }; - - mtdutils = callPackage ../tools/filesystems/mtdutils { }; - - mtools = callPackage ../tools/filesystems/mtools { }; - - mtr = callPackage ../tools/networking/mtr {}; - - multitran = recurseIntoAttrs (let callPackage = newScope pkgs.multitran; in rec { - multitrandata = callPackage ../tools/text/multitran/data { }; - - libbtree = callPackage ../tools/text/multitran/libbtree { }; - - libmtsupport = callPackage ../tools/text/multitran/libmtsupport { }; - - libfacet = callPackage ../tools/text/multitran/libfacet { }; - - libmtquery = callPackage ../tools/text/multitran/libmtquery { }; - - mtutils = callPackage ../tools/text/multitran/mtutils { }; - }); - - munge = callPackage ../tools/security/munge { }; - - muscleframework = callPackage ../tools/security/muscleframework { }; - - muscletool = callPackage ../tools/security/muscletool { }; - - mysql2pgsql = callPackage ../tools/misc/mysql2pgsql { }; - - namazu = callPackage ../tools/text/namazu { }; - - nbd = callPackage ../tools/networking/nbd { }; - - ndjbdns = callPackage ../tools/networking/ndjbdns { }; - - netatalk = callPackage ../tools/filesystems/netatalk { }; - - netcdf = callPackage ../development/libraries/netcdf { }; - - nc6 = callPackage ../tools/networking/nc6 { }; - - ncat = callPackage ../tools/networking/ncat { }; - - ncftp = callPackage ../tools/networking/ncftp { }; - - ncompress = callPackage ../tools/compression/ncompress { }; - - ndisc6 = callPackage ../tools/networking/ndisc6 { }; - - netboot = callPackage ../tools/networking/netboot {}; - - netcat = callPackage ../tools/networking/netcat { }; - - netcat-openbsd = callPackage ../tools/networking/netcat-openbsd { }; - - nethogs = callPackage ../tools/networking/nethogs { }; - - netkittftp = callPackage ../tools/networking/netkit/tftp { }; - - netpbm = callPackage ../tools/graphics/netpbm { }; - - netrw = callPackage ../tools/networking/netrw { }; - - netselect = callPackage ../tools/networking/netselect { }; - - networkmanager = callPackage ../tools/networking/network-manager { }; - - networkmanager_openvpn = callPackage ../tools/networking/network-manager/openvpn.nix { }; - - networkmanager_pptp = callPackage ../tools/networking/network-manager/pptp.nix { }; - - networkmanager_vpnc = callPackage ../tools/networking/network-manager/vpnc.nix { }; - - networkmanager_openconnect = callPackage ../tools/networking/network-manager/openconnect.nix { }; - - networkmanagerapplet = newScope gnome ../tools/networking/network-manager-applet { dconf = gnome3.dconf; }; - - newsbeuter = callPackage ../applications/networking/feedreaders/newsbeuter { }; - - newsbeuter-dev = callPackage ../applications/networking/feedreaders/newsbeuter/dev.nix { }; - - ngrep = callPackage ../tools/networking/ngrep { }; - - ngrok = callPackage ../tools/misc/ngrok { }; - - mpack = callPackage ../tools/networking/mpack { }; - - pa_applet = callPackage ../tools/audio/pa-applet { }; - - pnmixer = callPackage ../tools/audio/pnmixer { }; - - nifskope = callPackage ../tools/graphics/nifskope { }; - - nilfs_utils = callPackage ../tools/filesystems/nilfs-utils {}; - - nitrogen = callPackage ../tools/X11/nitrogen {}; - - nlopt = callPackage ../development/libraries/nlopt {}; - - npapi_sdk = callPackage ../development/libraries/npapi-sdk {}; - - npth = callPackage ../development/libraries/npth {}; - - nmap = callPackage ../tools/security/nmap { }; - - nmap_graphical = callPackage ../tools/security/nmap { - inherit (pythonPackages) pysqlite; - graphicalSupport = true; - }; - - notbit = callPackage ../applications/networking/notbit { }; - - nox = callPackage ../tools/package-management/nox { - pythonPackages = python3Packages; - nix = nixUnstable; - }; - - nss_pam_ldapd = callPackage ../tools/networking/nss-pam-ldapd {}; - - ntfs3g = callPackage ../tools/filesystems/ntfs-3g { }; - - # ntfsprogs are merged into ntfs-3g - ntfsprogs = pkgs.ntfs3g; - - ntop = callPackage ../tools/networking/ntop { }; - - ntopng = callPackage ../tools/networking/ntopng { }; - - ntp = callPackage ../tools/networking/ntp { }; - - numdiff = callPackage ../tools/text/numdiff { }; - - nssmdns = callPackage ../tools/networking/nss-mdns { }; - - nwdiag = pythonPackages.nwdiag; - - nylon = callPackage ../tools/networking/nylon { }; - - nzbget = callPackage ../tools/networking/nzbget { }; - - oathToolkit = callPackage ../tools/security/oath-toolkit { }; - - obex_data_server = callPackage ../tools/bluetooth/obex-data-server { }; - - obexd = callPackage ../tools/bluetooth/obexd { }; - - obexfs = callPackage ../tools/bluetooth/obexfs { }; - - obexftp = callPackage ../tools/bluetooth/obexftp { }; - - obnam = callPackage ../tools/backup/obnam { }; - - odt2txt = callPackage ../tools/text/odt2txt { }; - - offlineimap = callPackage ../tools/networking/offlineimap { - inherit (pythonPackages) sqlite3; - }; - - opendbx = callPackage ../development/libraries/opendbx { }; - - opendkim = callPackage ../development/libraries/opendkim { }; - - opendylan = callPackage ../development/compilers/opendylan { - opendylan-bootstrap = opendylan_bin; - }; - - opendylan_bin = callPackage ../development/compilers/opendylan/bin.nix { }; - - openjade = callPackage ../tools/text/sgml/openjade { }; - - openntpd = callPackage ../tools/networking/openntpd { }; - - openobex = callPackage ../tools/bluetooth/openobex { }; - - openopc = callPackage ../tools/misc/openopc { - pythonFull = python27Full.override { - extraLibs = [ python27Packages.pyro3 ]; - }; - }; - - openresolv = callPackage ../tools/networking/openresolv { }; - - opensc = callPackage ../tools/security/opensc { }; - - opensc_dnie_wrapper = callPackage ../tools/security/opensc-dnie-wrapper { }; - - openssh = - callPackage ../tools/networking/openssh { - hpnSupport = false; - withKerberos = false; - etcDir = "/etc/ssh"; - pam = if stdenv.isLinux then pam else null; - }; - - openssh_hpn = pkgs.appendToName "with-hpn" (openssh.override { hpnSupport = true; }); - - openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; }); - - opensp = callPackage ../tools/text/sgml/opensp { }; - - spCompat = callPackage ../tools/text/sgml/opensp/compat.nix { }; - - openvpn = callPackage ../tools/networking/openvpn { }; - - openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { }; - - openvswitch = callPackage ../os-specific/linux/openvswitch { }; - - optipng = callPackage ../tools/graphics/optipng { - libpng = libpng12; - }; - - oslrd = callPackage ../tools/networking/oslrd { }; - - ossec = callPackage ../tools/security/ossec {}; - - otpw = callPackage ../os-specific/linux/otpw { }; - - p7zip = callPackage ../tools/archivers/p7zip { }; - - pal = callPackage ../tools/misc/pal { }; - - panomatic = callPackage ../tools/graphics/panomatic { }; - - par2cmdline = callPackage ../tools/networking/par2cmdline { }; - - parallel = callPackage ../tools/misc/parallel { }; - - parcellite = callPackage ../tools/misc/parcellite { }; - - patchutils = callPackage ../tools/text/patchutils { }; - - parted = callPackage ../tools/misc/parted { hurd = null; }; - - pitivi = callPackage ../applications/video/pitivi { - gst = gst_all_1; - clutter-gtk = clutter_gtk; - inherit (gnome3) gnome_icon_theme gnome_icon_theme_symbolic; - }; - - p0f = callPackage ../tools/security/p0f { }; - - pngout = callPackage ../tools/graphics/pngout { }; - - hurdPartedCross = - if crossSystem != null && crossSystem.config == "i586-pc-gnu" - then (makeOverridable - ({ hurd }: - (parted.override { - # Needs the Hurd's libstore. - inherit hurd; - - # The Hurd wants a libparted.a. - enableStatic = true; - - gettext = null; - readline = null; - devicemapper = null; - }).crossDrv) - { hurd = gnu.hurdCrossIntermediate; }) - else null; - - ipsecTools = callPackage ../os-specific/linux/ipsec-tools { flex = flex_2_5_35; }; - - patch = gnupatch; - - pbzip2 = callPackage ../tools/compression/pbzip2 { }; - - pciutils = callPackage ../tools/system/pciutils { }; - - pcsclite = callPackage ../tools/security/pcsclite { }; - - pdf2djvu = callPackage ../tools/typesetting/pdf2djvu { }; - - pdfjam = callPackage ../tools/typesetting/pdfjam { }; - - jbig2enc = callPackage ../tools/graphics/jbig2enc { }; - - pdfread = callPackage ../tools/graphics/pdfread { }; - - briss = callPackage ../tools/graphics/briss { }; - - bully = callPackage ../tools/networking/bully { }; - - pdnsd = callPackage ../tools/networking/pdnsd { }; - - peco = callPackage ../tools/text/peco { }; - - pg_top = callPackage ../tools/misc/pg_top { }; - - pdsh = callPackage ../tools/networking/pdsh { - rsh = true; # enable internal rsh implementation - ssh = openssh; - }; - - pfstools = callPackage ../tools/graphics/pfstools { }; - - philter = callPackage ../tools/networking/philter { }; - - pinentry = callPackage ../tools/security/pinentry { }; - - pius = callPackage ../tools/security/pius { }; - - pk2cmd = callPackage ../tools/misc/pk2cmd { }; - - plantuml = callPackage ../tools/misc/plantuml { }; - - plan9port = callPackage ../tools/system/plan9port { }; - - ploticus = callPackage ../tools/graphics/ploticus { - libpng = libpng12; - }; - - plotutils = callPackage ../tools/graphics/plotutils { }; - - plowshare = callPackage ../tools/misc/plowshare { }; - - pngcrush = callPackage ../tools/graphics/pngcrush { }; - - pngnq = callPackage ../tools/graphics/pngnq { }; - - pngtoico = callPackage ../tools/graphics/pngtoico { - libpng = libpng12; - }; - - pngquant = callPackage ../tools/graphics/pngquant { }; - - podiff = callPackage ../tools/text/podiff { }; - - poedit = callPackage ../tools/text/poedit { }; - - polipo = callPackage ../servers/polipo { }; - - polkit_gnome = callPackage ../tools/security/polkit-gnome { }; - - ponysay = callPackage ../tools/misc/ponysay { }; - - povray = callPackage ../tools/graphics/povray { }; - - ppl = callPackage ../development/libraries/ppl { }; - - ppp = callPackage ../tools/networking/ppp { }; - - pptp = callPackage ../tools/networking/pptp {}; - - prey-bash-client = callPackage ../tools/security/prey { }; - - projectm = callPackage ../applications/audio/projectm { }; - - proxychains = callPackage ../tools/networking/proxychains { }; - - proxytunnel = callPackage ../tools/misc/proxytunnel { }; - - cntlm = callPackage ../tools/networking/cntlm { }; - - pastebinit = callPackage ../tools/misc/pastebinit { }; - - psmisc = callPackage ../os-specific/linux/psmisc { }; - - pstoedit = callPackage ../tools/graphics/pstoedit { }; - - pv = callPackage ../tools/misc/pv { }; - - pwgen = callPackage ../tools/security/pwgen { }; - - pwnat = callPackage ../tools/networking/pwnat { }; - - pycangjie = callPackage ../development/python-modules/pycangjie { }; - - pydb = callPackage ../development/tools/pydb { }; - - pystringtemplate = callPackage ../development/python-modules/stringtemplate { }; - - pythonDBus = dbus_python; - - pythonIRClib = builderDefsPackage (import ../development/python-modules/irclib) { - inherit python; - }; - - pythonSexy = builderDefsPackage (import ../development/python-modules/libsexy) { - inherit python libsexy pkgconfig libxml2 pygtk pango gtk glib; - }; - - openmpi = callPackage ../development/libraries/openmpi { }; - - qhull = callPackage ../development/libraries/qhull { }; - - qjoypad = callPackage ../tools/misc/qjoypad { }; - - qshowdiff = callPackage ../tools/text/qshowdiff { }; - - quilt = callPackage ../development/tools/quilt { }; - - radvd = callPackage ../tools/networking/radvd { }; - - ranger = callPackage ../applications/misc/ranger { }; - - privateer = callPackage ../games/privateer { }; - - rtmpdump = callPackage ../tools/video/rtmpdump { }; - - reaverwps = callPackage ../tools/networking/reaver-wps {}; - - recutils = callPackage ../tools/misc/recutils { }; - - recoll = callPackage ../applications/search/recoll { }; - - reiser4progs = callPackage ../tools/filesystems/reiser4progs { }; - - reiserfsprogs = callPackage ../tools/filesystems/reiserfsprogs { }; - - relfs = callPackage ../tools/filesystems/relfs { - inherit (gnome) gnome_vfs GConf; - }; - - remarkjs = callPackage ../development/web/remarkjs { }; - - remind = callPackage ../tools/misc/remind { }; - - remmina = callPackage ../applications/networking/remote/remmina {}; - - renameutils = callPackage ../tools/misc/renameutils { }; - - replace = callPackage ../tools/text/replace { }; - - reptyr = callPackage ../os-specific/linux/reptyr {}; - - rdiff_backup = callPackage ../tools/backup/rdiff-backup { }; - - rdmd = callPackage ../development/compilers/rdmd { }; - - rhash = callPackage ../tools/security/rhash { }; - - riemann_c_client = callPackage ../tools/misc/riemann-c-client { }; - - ripmime = callPackage ../tools/networking/ripmime {}; - - rkflashtool = callPackage ../tools/misc/rkflashtool { }; - - rmlint = callPackage ../tools/misc/rmlint {}; - - rng_tools = callPackage ../tools/security/rng-tools { }; - - rsnapshot = callPackage ../tools/backup/rsnapshot { - # For the `logger' command, we can use either `utillinux' or - # GNU Inetutils. The latter is more portable. - logger = inetutils; - }; - - rlwrap = callPackage ../tools/misc/rlwrap { }; - - rockbox_utility = callPackage ../tools/misc/rockbox-utility { }; - - rpPPPoE = builderDefsPackage (import ../tools/networking/rp-pppoe) { - inherit ppp; - }; - - rpm = callPackage ../tools/package-management/rpm { }; - - rrdtool = callPackage ../tools/misc/rrdtool { }; - - rtorrent = callPackage ../tools/networking/p2p/rtorrent { }; - - rubber = callPackage ../tools/typesetting/rubber { }; - - rxp = callPackage ../tools/text/xml/rxp { }; - - rzip = callPackage ../tools/compression/rzip { }; - - s3backer = callPackage ../tools/filesystems/s3backer { }; - - s3cmd = callPackage ../tools/networking/s3cmd { }; - - s3cmd_15_pre_81e3842f7a = lowPrio (callPackage ../tools/networking/s3cmd/git.nix { }); - - s3sync = callPackage ../tools/networking/s3sync { - ruby = ruby18; - }; - - s6Dns = callPackage ../tools/networking/s6-dns { }; - - s6LinuxUtils = callPackage ../os-specific/linux/s6-linux-utils { }; - - s6Networking = callPackage ../tools/networking/s6-networking { }; - - s6PortableUtils = callPackage ../tools/misc/s6-portable-utils { }; - - sablotron = callPackage ../tools/text/xml/sablotron { }; - - safecopy = callPackage ../tools/system/safecopy { }; - - salut_a_toi = callPackage ../applications/networking/instant-messengers/salut-a-toi {}; - - samplicator = callPackage ../tools/networking/samplicator { }; - - screen = callPackage ../tools/misc/screen { }; - - scrot = callPackage ../tools/graphics/scrot { }; - - scrypt = callPackage ../tools/security/scrypt { }; - - sdcv = callPackage ../applications/misc/sdcv { }; - - sec = callPackage ../tools/admin/sec { }; - - seccure = callPackage ../tools/security/seccure { }; - - setserial = builderDefsPackage (import ../tools/system/setserial) { - inherit groff; - }; - - seqdiag = pythonPackages.seqdiag; - - screenfetch = callPackage ../tools/misc/screenfetch { }; - - sg3_utils = callPackage ../tools/system/sg3_utils { }; - - sharutils = callPackage ../tools/archivers/sharutils { }; - - shotwell = callPackage ../applications/graphics/shotwell { }; - - shebangfix = callPackage ../tools/misc/shebangfix { }; - - shellinabox = callPackage ../servers/shellinabox { }; - - siege = callPackage ../tools/networking/siege {}; - - silc_client = callPackage ../applications/networking/instant-messengers/silc-client { }; - - silc_server = callPackage ../servers/silc-server { }; - - silver-searcher = callPackage ../tools/text/silver-searcher { }; - - simplescreenrecorder = callPackage ../applications/video/simplescreenrecorder { }; - - sleuthkit = callPackage ../tools/system/sleuthkit {}; - - slimrat = callPackage ../tools/networking/slimrat { - inherit (perlPackages) WWWMechanize LWP; - }; - - slsnif = callPackage ../tools/misc/slsnif { }; - - smartmontools = callPackage ../tools/system/smartmontools { }; - - smbldaptools = callPackage ../tools/networking/smbldaptools { - inherit (perlPackages) NetLDAP CryptSmbHash DigestSHA1; - }; - - smbnetfs = callPackage ../tools/filesystems/smbnetfs {}; - - snort = callPackage ../applications/networking/ids/snort { }; - - snx = callPackage_i686 ../tools/networking/snx { - inherit (pkgsi686Linux) pam gcc33; - inherit (pkgsi686Linux.xlibs) libX11; - }; - - solr = callPackage ../servers/search/solr { }; - - sparsehash = callPackage ../development/libraries/sparsehash { }; - - spiped = callPackage ../tools/networking/spiped { }; - - sproxy = haskellPackages.callPackage ../tools/networking/sproxy { }; - - sproxy-web = haskellPackages.callPackage ../tools/networking/sproxy-web { }; - - stardict = callPackage ../applications/misc/stardict/stardict.nix { - inherit (gnome) libgnomeui scrollkeeper; - }; - - storebrowse = callPackage ../tools/system/storebrowse { }; - - fusesmb = callPackage ../tools/filesystems/fusesmb { }; - - sl = callPackage ../tools/misc/sl { }; - - socat = callPackage ../tools/networking/socat { }; - - socat2pre = lowPrio (callPackage ../tools/networking/socat/2.x.nix { }); - - sourceHighlight = callPackage ../tools/text/source-highlight { - # Boost 1.54 causes the "test_regexranges" test to fail - boost = boost149; - }; - - spaceFM = callPackage ../applications/misc/spacefm { }; - - squashfsTools = callPackage ../tools/filesystems/squashfs { }; - - sshfsFuse = callPackage ../tools/filesystems/sshfs-fuse { }; - - sshuttle = callPackage ../tools/security/sshuttle { }; - - sudo = callPackage ../tools/security/sudo { }; - - suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) { }; - - super = callPackage ../tools/security/super { }; - - ssdeep = callPackage ../tools/security/ssdeep { }; - - ssmtp = callPackage ../tools/networking/ssmtp { - tlsSupport = true; - }; - - ssss = callPackage ../tools/security/ssss { }; - - storeBackup = callPackage ../tools/backup/store-backup { }; - - stow = callPackage ../tools/misc/stow { }; - - stun = callPackage ../tools/networking/stun { }; - - stunnel = callPackage ../tools/networking/stunnel { }; - - su = shadow.su; - - surfraw = callPackage ../tools/networking/surfraw { }; - - swec = callPackage ../tools/networking/swec { - inherit (perlPackages) LWP URI HTMLParser HTTPServerSimple Parent; - }; - - svnfs = callPackage ../tools/filesystems/svnfs { }; - - sysbench = callPackage ../development/tools/misc/sysbench {}; - - system_config_printer = callPackage ../tools/misc/system-config-printer { - libxml2 = libxml2Python; - }; - - sitecopy = callPackage ../tools/networking/sitecopy { }; - - stricat = callPackage ../tools/security/stricat { }; - - privoxy = callPackage ../tools/networking/privoxy { }; - - t1utils = callPackage ../tools/misc/t1utils { }; - - tarsnap = callPackage ../tools/backup/tarsnap { }; - - tcpcrypt = callPackage ../tools/security/tcpcrypt { }; - - tboot = callPackage ../tools/security/tboot { }; - - tcl2048 = callPackage ../games/tcl2048 { }; - - tcpdump = callPackage ../tools/networking/tcpdump { }; - - tcpflow = callPackage ../tools/networking/tcpflow { }; - - teamviewer = callPackage_i686 ../applications/networking/remote/teamviewer { }; - - # Work In Progress: it doesn't start unless running a daemon as root - teamviewer8 = lowPrio (callPackage_i686 ../applications/networking/remote/teamviewer/8.nix { }); - - telnet = callPackage ../tools/networking/telnet { }; - - texmacs = callPackage ../applications/editors/texmacs { - tex = texLive; /* tetex is also an option */ - extraFonts = true; - guile = guile_1_8; - }; - - texmaker = callPackage ../applications/editors/texmaker { }; - - texstudio = callPackage ../applications/editors/texstudio { }; - - tiled-qt = callPackage ../applications/editors/tiled-qt { qt = qt4; }; - - tinc = callPackage ../tools/networking/tinc { }; - - tiny8086 = callPackage ../applications/virtualization/8086tiny { }; - - tmpwatch = callPackage ../tools/misc/tmpwatch { }; - - tmux = callPackage ../tools/misc/tmux { }; - - tor = callPackage ../tools/security/tor { }; - - torbutton = callPackage ../tools/security/torbutton { }; - - torbrowser = callPackage ../tools/security/tor/torbrowser.nix { }; - - torsocks = callPackage ../tools/security/tor/torsocks.nix { }; - - tpm-quote-tools = callPackage ../tools/security/tpm-quote-tools { }; - - tpm-tools = callPackage ../tools/security/tpm-tools { }; - - trickle = callPackage ../tools/networking/trickle {}; - - trousers = callPackage ../tools/security/trousers { }; - - ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; - - ttysnoop = callPackage ../os-specific/linux/ttysnoop {}; - - twitterBootstrap = callPackage ../development/web/twitter-bootstrap {}; - - txt2man = callPackage ../tools/misc/txt2man { }; - - ucl = callPackage ../development/libraries/ucl { }; - - ucspi-tcp = callPackage ../tools/networking/ucspi-tcp { }; - - udftools = callPackage ../tools/filesystems/udftools {}; - - udptunnel = callPackage ../tools/networking/udptunnel { }; - - ufraw = callPackage ../applications/graphics/ufraw { }; - - unetbootin = callPackage ../tools/cd-dvd/unetbootin { }; - - unfs3 = callPackage ../servers/unfs3 { }; - - unoconv = callPackage ../tools/text/unoconv { }; - - upx = callPackage ../tools/compression/upx { }; - - urlview = callPackage ../applications/misc/urlview {}; - - usbmuxd = callPackage ../tools/misc/usbmuxd {}; - - vacuum = callPackage ../applications/networking/instant-messengers/vacuum {}; - - volatility = callPackage ../tools/security/volatility { }; - - vidalia = callPackage ../tools/security/vidalia { }; - - vbetool = builderDefsPackage ../tools/system/vbetool { - inherit pciutils libx86 zlib; - }; - - vde2 = callPackage ../tools/networking/vde2 { }; - - vboot_reference = callPackage ../tools/system/vboot_reference { }; - - vcsh = callPackage ../applications/version-management/vcsh { }; - - verilog = callPackage ../applications/science/electronics/verilog {}; - - vfdecrypt = callPackage ../tools/misc/vfdecrypt { }; - - vifm = callPackage ../applications/misc/vifm { }; - - viking = callPackage ../applications/misc/viking { - inherit (gnome) scrollkeeper; - }; - - vnc2flv = callPackage ../tools/video/vnc2flv {}; - - vncrec = builderDefsPackage ../tools/video/vncrec { - inherit (xlibs) imake libX11 xproto gccmakedep libXt - libXmu libXaw libXext xextproto libSM libICE libXpm - libXp; - }; - - vobcopy = callPackage ../tools/cd-dvd/vobcopy { }; - - vobsub2srt = callPackage ../tools/cd-dvd/vobsub2srt { }; - - vorbisgain = callPackage ../tools/misc/vorbisgain { }; - - vpnc = callPackage ../tools/networking/vpnc { }; - - openconnect = callPackage ../tools/networking/openconnect.nix { }; - - vtun = callPackage ../tools/networking/vtun { }; - - wal_e = callPackage ../tools/backup/wal-e { }; - - watchman = callPackage ../development/tools/watchman { }; - - wbox = callPackage ../tools/networking/wbox {}; - - welkin = callPackage ../tools/graphics/welkin {}; - - testdisk = callPackage ../tools/misc/testdisk { }; - - htmlTidy = callPackage ../tools/text/html-tidy { }; - - html-xml-utils = callPackage ../tools/text/xml/html-xml-utils { }; - - tftp_hpa = callPackage ../tools/networking/tftp-hpa {}; - - tigervnc = callPackage ../tools/admin/tigervnc { - fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc - xorg.fontbhlucidatypewriter75dpi ]; - inherit (xorg) xorgserver; - fltk = fltk13; - }; - - tightvnc = callPackage ../tools/admin/tightvnc { - fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc - xorg.fontbhlucidatypewriter75dpi ]; - }; - - time = callPackage ../tools/misc/time { }; - - tkabber = callPackage ../applications/networking/instant-messengers/tkabber { }; - - qfsm = callPackage ../applications/science/electronics/qfsm { }; - - tkgate = callPackage ../applications/science/electronics/tkgate/1.x.nix { - inherit (xlibs) libX11 imake xproto gccmakedep; - }; - - # The newer package is low-priority because it segfaults at startup. - tkgate2 = lowPrio (callPackage ../applications/science/electronics/tkgate/2.x.nix { - inherit (xlibs) libX11; - }); - - tm = callPackage ../tools/system/tm { }; - - trang = callPackage ../tools/text/xml/trang { }; - - tre = callPackage ../development/libraries/tre { }; - - ts = callPackage ../tools/system/ts { }; - - transfig = callPackage ../tools/graphics/transfig { - libpng = libpng12; - }; - - truecrypt = callPackage ../applications/misc/truecrypt { - wxGUI = config.truecrypt.wxGUI or true; - }; - - ttmkfdir = callPackage ../tools/misc/ttmkfdir { }; - - uim = callPackage ../tools/inputmethods/uim { - inherit (pkgs.kde4) kdelibs; - }; - - uhub = callPackage ../servers/uhub { }; - - unclutter = callPackage ../tools/misc/unclutter { }; - - unbound = callPackage ../tools/networking/unbound { }; - - units = callPackage ../tools/misc/units { }; - - unrar = callPackage ../tools/archivers/unrar { }; - - xar = callPackage ../tools/compression/xar { }; - - xarchive = callPackage ../tools/archivers/xarchive { }; - - xarchiver = callPackage ../tools/archivers/xarchiver { }; - - xcruiser = callPackage ../applications/misc/xcruiser { }; - - unarj = callPackage ../tools/archivers/unarj { }; - - unshield = callPackage ../tools/archivers/unshield { }; - - unzip = callPackage ../tools/archivers/unzip { }; - - unzipNLS = lowPrio (unzip.override { enableNLS = true; }); - - uptimed = callPackage ../tools/system/uptimed { }; - - urlwatch = callPackage ../tools/networking/urlwatch { }; - - varnish = callPackage ../servers/varnish { }; - - varnish2 = callPackage ../servers/varnish/2.1.nix { }; - - venus = callPackage ../tools/misc/venus { - python = python27; - }; - - vlan = callPackage ../tools/networking/vlan { }; - - wakelan = callPackage ../tools/networking/wakelan { }; - - wavemon = callPackage ../tools/networking/wavemon { }; - - w3cCSSValidator = callPackage ../tools/misc/w3c-css-validator { - tomcat = tomcat6; - }; - - wdfs = callPackage ../tools/filesystems/wdfs { }; - - wdiff = callPackage ../tools/text/wdiff { }; - - webalizer = callPackage ../tools/networking/webalizer { }; - - webdruid = builderDefsPackage ../tools/admin/webdruid { - inherit zlib libpng freetype gd which - libxml2 geoip; - }; - - weighttp = callPackage ../tools/networking/weighttp { }; - - wget = callPackage ../tools/networking/wget { - inherit (perlPackages) LWP; - }; - - which = callPackage ../tools/system/which { }; - - wicd = callPackage ../tools/networking/wicd { }; - - wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf { }; - - wv = callPackage ../tools/misc/wv { }; - - wv2 = callPackage ../tools/misc/wv2 { }; - - x86info = callPackage ../os-specific/linux/x86info { }; - - x11_ssh_askpass = callPackage ../tools/networking/x11-ssh-askpass { }; - - xbursttools = assert stdenv ? glibc; import ../tools/misc/xburst-tools { - inherit stdenv fetchgit autoconf automake confuse pkgconfig libusb libusb1; - # It needs a cross compiler for mipsel to build the firmware it will - # load into the Ben Nanonote - gccCross = - let - pkgsCross = (import ./all-packages.nix) { - inherit system; - inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config; - # Ben Nanonote system - crossSystem = { - config = "mipsel-unknown-linux"; - bigEndian = true; - arch = "mips"; - float = "soft"; - withTLS = true; - libc = "uclibc"; - platform = { - name = "ben_nanonote"; - kernelMajor = "2.6"; - # It's not a bcm47xx processor, but for the headers this should work - kernelHeadersBaseConfig = "bcm47xx_defconfig"; - kernelArch = "mips"; - }; - gcc = { - arch = "mips32"; - }; - }; - }; - in - pkgsCross.gccCrossStageStatic; - }; - - xclip = callPackage ../tools/misc/xclip { }; - - xtitle = callPackage ../tools/misc/xtitle { }; - - xdelta = callPackage ../tools/compression/xdelta { }; - - xdummy = callPackage ../tools/misc/xdummy { }; - - xfsprogs = callPackage ../tools/filesystems/xfsprogs { }; - - xmlroff = callPackage ../tools/typesetting/xmlroff { - inherit (gnome) libgnomeprint; - }; - - xmlstarlet = callPackage ../tools/text/xml/xmlstarlet { }; - - xmlto = callPackage ../tools/typesetting/xmlto { }; - - xmltv = callPackage ../tools/misc/xmltv { }; - - xmpppy = builderDefsPackage (import ../development/python-modules/xmpppy) { - inherit python setuptools; - }; - - xorriso = callPackage ../tools/cd-dvd/xorriso { }; - - xpf = callPackage ../tools/text/xml/xpf { - libxml2 = libxml2Python; - }; - - xsel = callPackage ../tools/misc/xsel { }; - - xtreemfs = callPackage ../tools/filesystems/xtreemfs {}; - - xvfb_run = callPackage ../tools/misc/xvfb-run { inherit (texFunctions) fontsConf; }; - - youtubeDL = callPackage ../tools/misc/youtube-dl { }; - - zbar = callPackage ../tools/graphics/zbar { - pygtk = lib.overrideDerivation pygtk (x: { - gtk = gtk2; - }); - }; - - zdelta = callPackage ../tools/compression/zdelta { }; - - zfstools = callPackage ../tools/filesystems/zfstools { - zfs = linuxPackages.zfs; - }; - - zile = callPackage ../applications/editors/zile { }; - - zip = callPackage ../tools/archivers/zip { }; - - zpaq = callPackage ../tools/archivers/zpaq { }; - zpaqd = callPackage ../tools/archivers/zpaq/zpaqd.nix { }; - - zsync = callPackage ../tools/compression/zsync { }; - - - ### SHELLS - - bash = lowPrio (callPackage ../shells/bash { - texinfo = null; - }); - - bashInteractive = appendToName "interactive" (callPackage ../shells/bash { - interactive = true; - readline = readline63; # Includes many vi mode fixes - }); - - bashCompletion = callPackage ../shells/bash-completion { }; - - dash = callPackage ../shells/dash { }; - - fish = callPackage ../shells/fish { - python = python27Full; - }; - - tcsh = callPackage ../shells/tcsh { }; - - rush = callPackage ../shells/rush { }; - - zsh = callPackage ../shells/zsh { }; - - - ### DEVELOPMENT / COMPILERS - - abc = - abcPatchable []; - - abcPatchable = patches : - import ../development/compilers/abc/default.nix { - inherit stdenv fetchurl patches jre apacheAnt; - javaCup = callPackage ../development/libraries/java/cup { }; - }; - - aldor = callPackage ../development/compilers/aldor { }; - - aliceml = callPackage ../development/compilers/aliceml { }; - - aspectj = callPackage ../development/compilers/aspectj { }; - - ats = callPackage ../development/compilers/ats { }; - ats2 = callPackage ../development/compilers/ats2 { }; - - avra = callPackage ../development/compilers/avra { }; - - bigloo = callPackage ../development/compilers/bigloo { }; - - chicken = callPackage ../development/compilers/chicken { }; - - ccl = builderDefsPackage ../development/compilers/ccl {}; - - clang = wrapClang llvmPackages.clang; - - clang_34 = wrapClang llvmPackages_34.clang; - clang_33 = wrapClang (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix); - - clangAnalyzer = callPackage ../development/tools/analysis/clang-analyzer { - clang = clang_34; - llvmPackages = llvmPackages_34; - }; - - clangUnwrapped = llvm: pkg: callPackage pkg { - stdenv = if stdenv.isDarwin then stdenvApple else stdenv; - inherit llvm; - }; - - clangSelf = clangWrapSelf llvmPackagesSelf.clang; - - clangWrapSelf = build: (import ../build-support/clang-wrapper) { - clang = build; - stdenv = clangStdenv; - libc = glibc; - binutils = binutils; - shell = bash; - inherit libcxx coreutils zlib; - nativeTools = false; - nativeLibc = false; - }; - - #Use this instead of stdenv to build with clang - clangStdenv = lowPrio (stdenvAdapters.overrideGCC stdenv clang); - libcxxStdenv = stdenvAdapters.overrideGCC stdenv (clangWrapSelf llvmPackages.clang); - - clean = callPackage ../development/compilers/clean { }; - - closurecompiler = callPackage ../development/compilers/closure { }; - - cmucl_binary = callPackage ../development/compilers/cmucl/binary.nix { }; - - compcert = callPackage ../development/compilers/compcert {}; - - cryptol1 = lowPrio (callPackage ../development/compilers/cryptol/1.8.x.nix {}); - cryptol2 = with haskellPackages_ghc763; callPackage ../development/compilers/cryptol/2.0.x.nix { - Cabal = Cabal_1_18_1_3; - cabalInstall = cabalInstall_1_18_0_3; - process = process_1_2_0_0; - }; - - cython = pythonPackages.cython; - cython3 = python3Packages.cython; - - dylan = callPackage ../development/compilers/gwydion-dylan { - dylan = callPackage ../development/compilers/gwydion-dylan/binary.nix { }; - }; - - ecl = callPackage ../development/compilers/ecl { }; - - eql = callPackage ../development/compilers/eql {}; - - adobe_flex_sdk = callPackage ../development/compilers/adobe-flex-sdk { }; - - fpc = callPackage ../development/compilers/fpc { }; - - gambit = callPackage ../development/compilers/gambit { }; - - gcc = gcc48; - - gcc33 = wrapGCC (import ../development/compilers/gcc/3.3 { - inherit fetchurl stdenv noSysDirs; - }); - - gcc34 = wrapGCC (import ../development/compilers/gcc/3.4 { - inherit fetchurl stdenv noSysDirs; - }); - - gcc48_realCross = lib.addMetaAttrs { hydraPlatforms = []; } - (callPackage ../development/compilers/gcc/4.8 { - inherit noSysDirs; - binutilsCross = binutilsCross; - libcCross = libcCross; - profiledCompiler = false; - enableMultilib = false; - crossStageStatic = false; - cross = assert crossSystem != null; crossSystem; - }); - - gcc_realCross = gcc48_realCross; - - gccCrossStageStatic = let - libcCross1 = - if stdenv.cross.libc == "msvcrt" then windows.mingw_w64_headers - else if stdenv.cross.libc == "libSystem" then darwin.xcode - else null; - in - wrapGCCCross { - gcc = forceNativeDrv (lib.addMetaAttrs { hydraPlatforms = []; } ( - gcc_realCross.override { - crossStageStatic = true; - langCC = false; - libcCross = libcCross1; - enableShared = false; - })); - libc = libcCross1; - binutils = binutilsCross; - cross = assert crossSystem != null; crossSystem; - }; - - # Only needed for mingw builds - gccCrossMingw2 = wrapGCCCross { - gcc = gccCrossStageStatic.gcc; - libc = windows.mingw_headers2; - binutils = binutilsCross; - cross = assert crossSystem != null; crossSystem; - }; - - gccCrossStageFinal = wrapGCCCross { - gcc = forceNativeDrv (gcc_realCross.override { - libpthreadCross = - # FIXME: Don't explicitly refer to `i586-pc-gnu'. - if crossSystem != null && crossSystem.config == "i586-pc-gnu" - then gnu.libpthreadCross - else null; - - # XXX: We have troubles cross-compiling libstdc++ on MinGW (see - # ), so don't even try. - langCC = (crossSystem == null - || crossSystem.config != "i686-pc-mingw32"); - }); - libc = libcCross; - binutils = binutilsCross; - cross = assert crossSystem != null; crossSystem; - }; - - gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.4) { - inherit fetchurl stdenv gmp mpfr /* ppl cloogppl */ - gettext which noSysDirs; - texinfo = texinfo4; - profiledCompiler = true; - })); - - gcc45 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.5 { - inherit fetchurl stdenv gmp mpfr mpc libelf zlib perl - gettext which noSysDirs; - texinfo = texinfo4; - - ppl = null; - cloogppl = null; - - # bootstrapping a profiled compiler does not work in the sheevaplug: - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 - profiledCompiler = !stdenv.isArm; - - # When building `gcc.crossDrv' (a "Canadian cross", with host == target - # and host != build), `cross' must be null but the cross-libc must still - # be passed. - cross = null; - libcCross = if crossSystem != null then libcCross else null; - libpthreadCross = - if crossSystem != null && crossSystem.config == "i586-pc-gnu" - then gnu.libpthreadCross - else null; - })); - - gcc46 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 { - inherit noSysDirs; - - ppl = null; - cloog = null; - - # bootstrapping a profiled compiler does not work in the sheevaplug: - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 - profiledCompiler = false; - - # When building `gcc.crossDrv' (a "Canadian cross", with host == target - # and host != build), `cross' must be null but the cross-libc must still - # be passed. - cross = null; - libcCross = if crossSystem != null then libcCross else null; - libpthreadCross = - if crossSystem != null && crossSystem.config == "i586-pc-gnu" - then gnu.libpthreadCross - else null; - texinfo = texinfo413; - })); - - gcc48 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.8 { - inherit noSysDirs; - - # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion - profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64)); - - # When building `gcc.crossDrv' (a "Canadian cross", with host == target - # and host != build), `cross' must be null but the cross-libc must still - # be passed. - cross = null; - libcCross = if crossSystem != null then libcCross else null; - libpthreadCross = - if crossSystem != null && crossSystem.config == "i586-pc-gnu" - then gnu.libpthreadCross - else null; - })); - - gcc48_multi = - if system == "x86_64-linux" then lowPrio ( - wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc48.gcc.override { - stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc.gcc); - profiledCompiler = false; - enableMultilib = true; - })) - else throw "Multilib gcc not supported on ‘${system}’"; - - gcc48_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.8 { - stripped = false; - - inherit noSysDirs; - cross = null; - libcCross = null; - binutilsCross = null; - })); - - gcc49 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.9 { - inherit noSysDirs; - - # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion - profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64)); - - # When building `gcc.crossDrv' (a "Canadian cross", with host == target - # and host != build), `cross' must be null but the cross-libc must still - # be passed. - cross = null; - libcCross = if crossSystem != null then libcCross else null; - libpthreadCross = - if crossSystem != null && crossSystem.config == "i586-pc-gnu" - then gnu.libpthreadCross - else null; - })); - - gccApple = - assert stdenv.isDarwin; - wrapGCC (makeOverridable (import ../development/compilers/gcc/4.2-apple64) { - inherit fetchurl noSysDirs; - profiledCompiler = true; - # Since it fails to build with GCC 4.6, build it with the "native" - # Apple-GCC. - stdenv = allStdenvs.stdenvNative; - }); - - gfortran = gfortran48; - - gfortran48 = wrapGCC (gcc48.gcc.override { - name = "gfortran"; - langFortran = true; - langCC = false; - langC = false; - profiledCompiler = false; - }); - - gcj = gcj48; - - gcj48 = wrapGCC (gcc48.gcc.override { - name = "gcj"; - langJava = true; - langFortran = false; - langCC = false; - langC = false; - profiledCompiler = false; - inherit zip unzip zlib boehmgc gettext pkgconfig perl; - inherit gtk; - inherit (gnome) libart_lgpl; - inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender - libXrandr xproto renderproto xextproto inputproto randrproto; - }); - - gnat = gnat45; - - gnat45 = wrapGCC (gcc45.gcc.override { - name = "gnat"; - langCC = false; - langC = true; - langAda = true; - profiledCompiler = false; - inherit gnatboot; - # We can't use the ppl stuff, because we would have - # libstdc++ problems. - cloogppl = null; - ppl = null; - }); - - gnat46 = wrapGCC (gcc46.gcc.override { - name = "gnat"; - langCC = false; - langC = true; - langAda = true; - profiledCompiler = false; - gnatboot = gnat45; - # We can't use the ppl stuff, because we would have - # libstdc++ problems. - ppl = null; - cloog = null; - }); - - gnatboot = wrapGCC (import ../development/compilers/gnatboot { - inherit fetchurl stdenv; - }); - - gccgo = gccgo48; - - gccgo48 = wrapGCC (gcc48.gcc.override { - name = "gccgo"; - langCC = true; #required for go. - langC = true; - langGo = true; - }); - - ghdl = wrapGCC (import ../development/compilers/gcc/4.3 { - inherit stdenv fetchurl gmp mpfr noSysDirs gnat; - texinfo = texinfo4; - name = "ghdl"; - langVhdl = true; - langCC = false; - langC = false; - profiledCompiler = false; - enableMultilib = false; - }); - - ghdl_mcode = callPackage ../development/compilers/ghdl { }; - - gcl = builderDefsPackage ../development/compilers/gcl { - inherit mpfr m4 binutils fetchcvs emacs zlib which - texinfo; - gmp = gmp4; - inherit (xlibs) libX11 xproto inputproto libXi - libXext xextproto libXt libXaw libXmu; - inherit stdenv; - texLive = texLiveAggregationFun { - paths = [ - texLive texLiveExtra - ]; - }; - }; - - jhc = callPackage ../development/compilers/jhc { - inherit (haskellPackages_ghc763) ghc binary zlib utf8String readline fgl - regexCompat HsSyck random; - }; - - gcc-arm-embedded-4_7 = callPackage_i686 ../development/compilers/gcc-arm-embedded { - version = "4.7-2013q3-20130916"; - releaseType = "update"; - sha256 = "1bd9bi9q80xn2rpy0rn1vvj70rh15kb7dmah0qs4q2rv78fqj40d"; - }; - gcc-arm-embedded-4_8 = callPackage_i686 ../development/compilers/gcc-arm-embedded { - version = "4.8-2014q1-20140314"; - releaseType = "update"; - sha256 = "ce92859550819d4a3d1a6e2672ea64882b30afa2c08cf67fa8e1d93788c2c577"; - }; - gcc-arm-embedded = gcc-arm-embedded-4_8; - - # Haskell and GHC - - # Import Haskell infrastructure. - - haskell = let pkgs_ = pkgs // { gmp = gmp.override { withStatic = true; }; }; - callPackage = newScope pkgs_; - newScope = extra: lib.callPackageWith (pkgs_ // pkgs_.xorg // extra); - in callPackage ./haskell-defaults.nix { pkgs = pkgs_; inherit callPackage newScope; }; - - # Available GHC versions. - - # For several compiler versions, we export a large set of Haskell-related - # packages. - - # NOTE (recurseIntoAttrs): After discussion, we originally decided to - # enable it for all GHC versions. However, this is getting too much, - # particularly in connection with Hydra builds for all these packages. - # So we enable it for selected versions only. We build all ghcs, though - - ghc = recurseIntoAttrs (lib.mapAttrs' (name: value: - lib.nameValuePair (builtins.substring (builtins.stringLength "packages_") (builtins.stringLength name) name) value.ghc - ) (lib.filterAttrs (name: value: - builtins.substring 0 (builtins.stringLength "packages_") name == "packages_" - ) haskell)); - - haskellPackages = haskellPackages_ghc783; - haskellPlatform = haskellPlatformPackages."2013_2_0_0"; - - haskellPackages_ghc6104 = haskell.packages_ghc6104; - haskellPackages_ghc6123 = haskell.packages_ghc6123; - haskellPackages_ghc704 = haskell.packages_ghc704; - haskellPackages_ghc722 = haskell.packages_ghc722; - haskellPackages_ghc742 = haskell.packages_ghc742; - haskellPackages_ghc763 = haskell.packages_ghc763; - haskellPackages_ghc783_no_profiling = recurseIntoAttrs haskell.packages_ghc783.noProfiling; - haskellPackages_ghc783_profiling = recurseIntoAttrs haskell.packages_ghc783.profiling; - haskellPackages_ghc783 = recurseIntoAttrs haskell.packages_ghc783.highPrio; - haskellPackages_ghcHEAD = haskell.packages_ghcHEAD; - - haskellPlatformPackages = recurseIntoAttrs (import ../development/libraries/haskell/haskell-platform { inherit pkgs; }); - - haxe = callPackage ../development/compilers/haxe { }; - - hhvm = callPackage ../development/compilers/hhvm { }; - hiphopvm = hhvm; /* Compatibility alias */ - - falcon = builderDefsPackage (import ../development/interpreters/falcon) { - inherit cmake; - }; - - fsharp = callPackage ../development/compilers/fsharp {}; - - go_1_0 = callPackage ../development/compilers/go { }; - - go_1_1 = - if stdenv.isDarwin then - callPackage ../development/compilers/go/1.1-darwin.nix { } - else - callPackage ../development/compilers/go/1.1.nix { }; - - go_1_2 = callPackage ../development/compilers/go/1.2.nix { }; - - go_1_3 = callPackage ../development/compilers/go/1.3.nix { }; - - go = go_1_3; - - gox = callPackage ../development/compilers/go/gox.nix { }; - - gprolog = callPackage ../development/compilers/gprolog { }; - - gwt240 = callPackage ../development/compilers/gwt/2.4.0.nix { }; - - icedtea7_jdk = callPackage ../development/compilers/icedtea rec { - jdk = openjdk; - jdkPath = "${openjdk}/lib/openjdk"; - } // { outputs = [ "out" ]; }; - - icedtea7_jre = (lib.setName "icedtea7-${lib.getVersion pkgs.icedtea7_jdk.jre}" (lib.addMetaAttrs - { description = "Free Java runtime environment based on OpenJDK 7.0 and the IcedTea project"; } - pkgs.icedtea7_jdk.jre)) // { outputs = [ "jre" ]; }; - - icedtea7_web = callPackage ../development/compilers/icedtea-web { - jdk = "${icedtea7_jdk}/lib/icedtea"; - }; - - ikarus = callPackage ../development/compilers/ikarus { }; - - hugs = callPackage ../development/compilers/hugs { }; - - path64 = callPackage ../development/compilers/path64 { }; - - openjdk = - if stdenv.isDarwin then - callPackage ../development/compilers/openjdk-darwin { } - else - let - openjdkBootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix { }; - in (callPackage ../development/compilers/openjdk { - jdk = openjdkBootstrap; - }) // { outputs = [ "out" ]; }; - - # FIXME: Need a way to set per-output meta attributes. - openjre = (lib.setName "openjre-${lib.getVersion pkgs.openjdk.jre}" (lib.addMetaAttrs - { description = "The open-source Java Runtime Environment"; } - pkgs.openjdk.jre)) // { outputs = [ "jre" ]; }; - - jdk = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" - then pkgs.openjdk - else pkgs.oraclejdk; - jre = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" - then pkgs.openjre - else pkgs.oraclejre; - - oraclejdk = pkgs.jdkdistro true false; - - oraclejdk7 = pkgs.oraclejdk7distro true false; - - oraclejdk8 = pkgs.oraclejdk8distro true false; - - oraclejre = lowPrio (pkgs.jdkdistro false false); - - oraclejre7 = lowPrio (pkgs.oraclejdk7distro false false); - - oraclejre8 = lowPrio (pkgs.oraclejdk8distro false false); - - jrePlugin = lowPrio (pkgs.jdkdistro false true); - - supportsJDK = - system == "i686-linux" || - system == "x86_64-linux"; - - jdkdistro = installjdk: pluginSupport: - assert supportsJDK; - (if pluginSupport then appendToName "with-plugin" else x: x) - (callPackage ../development/compilers/oraclejdk/jdk6-linux.nix { }); - - oraclejdk7distro = installjdk: pluginSupport: - assert supportsJDK; - (if pluginSupport then appendToName "with-plugin" else x: x) - (callPackage ../development/compilers/oraclejdk/jdk7-linux.nix { inherit installjdk; }); - - oraclejdk8distro = installjdk: pluginSupport: - assert supportsJDK; - (if pluginSupport then appendToName "with-plugin" else x: x) - (callPackage ../development/compilers/oraclejdk/jdk8-linux.nix { inherit installjdk; }); - - jikes = callPackage ../development/compilers/jikes { }; - - juliaGit = callPackage ../development/compilers/julia/git-20131013.nix { - liblapack = liblapack.override {shared = true;}; - llvm = llvm_33; - openblas = openblas_0_2_2; - }; - julia021 = callPackage ../development/compilers/julia/0.2.1.nix { - liblapack = liblapack.override {shared = true;}; - llvm = llvm_33; - openblas = openblas_0_2_2; - }; - julia030 = let - liblapack = liblapack_3_5_0.override {shared = true;}; - in callPackage ../development/compilers/julia/0.3.0.nix { - inherit liblapack; - suitesparse = suitesparse.override { - inherit liblapack; - }; - llvm = llvm_34; - openblas = openblas_0_2_10; - }; - julia = julia030; - - lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) { - inherit makeWrapper gtk glib pango atk gdk_pixbuf; - inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto; - fpc = fpc; - }; - - lessc = callPackage ../development/compilers/lessc { }; - - llvm = llvmPackages.llvm; - - llvm_34 = llvmPackages_34.llvm; - llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix; - - llvm_v = path: callPackage path { - stdenv = if stdenv.isDarwin then stdenvApple else stdenv; - }; - - llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else llvmPackages_34 // { - # until someone solves build problems with _34 - llvm = llvm_33; - clang = clang_33; - }; - - llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { - inherit stdenv newScope fetchurl; - isl = isl_0_12; - }); - llvmPackagesSelf = import ../development/compilers/llvm/3.4 { inherit newScope fetchurl; isl = isl_0_12; stdenv = libcxxStdenv; }; - - manticore = callPackage ../development/compilers/manticore { }; - - mentorToolchains = recurseIntoAttrs ( - callPackage_i686 ../development/compilers/mentor {} - ); - - mercury = callPackage ../development/compilers/mercury { }; - - mitscheme = callPackage ../development/compilers/mit-scheme { }; - - mlton = callPackage ../development/compilers/mlton { }; - - mono = callPackage ../development/compilers/mono { - inherit (xlibs) libX11; - }; - - monoDLLFixer = callPackage ../build-support/mono-dll-fixer { }; - - mozart = callPackage ../development/compilers/mozart { }; - - neko = callPackage ../development/compilers/neko { }; - - nasm = callPackage ../development/compilers/nasm { }; - - nvidia_cg_toolkit = callPackage ../development/compilers/nvidia-cg-toolkit { }; - - ocaml = ocamlPackages.ocaml; - - ocaml_3_08_0 = callPackage ../development/compilers/ocaml/3.08.0.nix { }; - - ocaml_3_10_0 = callPackage ../development/compilers/ocaml/3.10.0.nix { }; - - ocaml_3_11_2 = callPackage ../development/compilers/ocaml/3.11.2.nix { }; - - ocaml_3_12_1 = callPackage ../development/compilers/ocaml/3.12.1.nix { }; - - ocaml_4_00_1 = callPackage ../development/compilers/ocaml/4.00.1.nix { }; - - ocaml_4_01_0 = callPackage ../development/compilers/ocaml/4.01.0.nix { }; - - orc = callPackage ../development/compilers/orc { }; - - metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { }; - - ber_metaocaml_003 = callPackage ../development/compilers/ocaml/ber-metaocaml-003.nix { }; - - mkOcamlPackages = ocaml: self: let callPackage = newScope self; in rec { - inherit ocaml; - - camlidl = callPackage ../development/tools/ocaml/camlidl { }; - - camlp5_5_strict = callPackage ../development/tools/ocaml/camlp5/5.15.nix { }; - - camlp5_5_transitional = callPackage ../development/tools/ocaml/camlp5/5.15.nix { - transitional = true; - }; - - camlp5_6_strict = callPackage ../development/tools/ocaml/camlp5 { }; - - camlp5_6_transitional = callPackage ../development/tools/ocaml/camlp5 { - transitional = true; - }; - - camlp5_strict = camlp5_6_strict; - - camlp5_transitional = camlp5_6_transitional; - - camlzip = callPackage ../development/ocaml-modules/camlzip { }; - - camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { }; - camomile = callPackage ../development/ocaml-modules/camomile { }; - - camlimages = callPackage ../development/ocaml-modules/camlimages { - libpng = libpng12; - giflib = giflib_4_1; - }; - - biniou = callPackage ../development/ocaml-modules/biniou { }; - - ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { }; - - cmdliner = callPackage ../development/ocaml-modules/cmdliner { }; - - cppo = callPackage ../development/tools/ocaml/cppo { }; - - cryptokit = callPackage ../development/ocaml-modules/cryptokit { }; - - csv = callPackage ../development/ocaml-modules/csv { }; - - deriving = callPackage ../development/tools/ocaml/deriving { }; - - easy-format = callPackage ../development/ocaml-modules/easy-format { }; - - findlib = callPackage ../development/tools/ocaml/findlib { }; - - javalib = callPackage ../development/ocaml-modules/javalib { - extlib = ocaml_extlib_maximal; - }; - - dypgen = callPackage ../development/ocaml-modules/dypgen { }; - - patoline = callPackage ../tools/typesetting/patoline { }; - - gmetadom = callPackage ../development/ocaml-modules/gmetadom { }; - - lablgl = callPackage ../development/ocaml-modules/lablgl { }; - - lablgtk = callPackage ../development/ocaml-modules/lablgtk { - inherit (gnome) libgnomecanvas libglade gtksourceview; - }; - - lablgtkmathview = callPackage ../development/ocaml-modules/lablgtkmathview { - gtkmathview = callPackage ../development/libraries/gtkmathview { }; - }; - - lambdaTerm = callPackage ../development/ocaml-modules/lambda-term { }; - - menhir = callPackage ../development/ocaml-modules/menhir { }; - - merlin = callPackage ../development/tools/ocaml/merlin { }; - - mldonkey = callPackage ../applications/networking/p2p/mldonkey { }; - - mlgmp = callPackage ../development/ocaml-modules/mlgmp { }; - - ocaml_batteries = callPackage ../development/ocaml-modules/batteries { }; - - ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { }; - - ocaml_data_notation = callPackage ../development/ocaml-modules/odn { }; - - ocaml_expat = callPackage ../development/ocaml-modules/expat { }; - - ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { }; - - ocaml_http = callPackage ../development/ocaml-modules/http { }; - - ocamlify = callPackage ../development/tools/ocaml/ocamlify { }; - - ocaml_lwt = callPackage ../development/ocaml-modules/lwt { }; - - ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { }; - - ocaml_mysql = callPackage ../development/ocaml-modules/mysql { }; - - ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { }; - - ocaml_oasis = callPackage ../development/tools/ocaml/oasis { }; - - ocaml_pcre = callPackage ../development/ocaml-modules/pcre { - inherit pcre; - }; - - ocaml_react = callPackage ../development/ocaml-modules/react { }; - - ocamlsdl= callPackage ../development/ocaml-modules/ocamlsdl { }; - - ocaml_sqlite3 = callPackage ../development/ocaml-modules/sqlite3 { }; - - ocaml_ssl = callPackage ../development/ocaml-modules/ssl { }; - - ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { }; - - ounit = callPackage ../development/ocaml-modules/ounit { }; - - ulex = callPackage ../development/ocaml-modules/ulex { }; - - ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 { - camlp5 = camlp5_transitional; - }; - - ocaml_typeconv = callPackage ../development/ocaml-modules/typeconv { }; - - ocaml_typeconv_3_0_5 = callPackage ../development/ocaml-modules/typeconv/3.0.5.nix { }; - - ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { }; - - ocaml_extlib = callPackage ../development/ocaml-modules/extlib { }; - ocaml_extlib_maximal = callPackage ../development/ocaml-modules/extlib { - minimal = false; - }; - - pycaml = callPackage ../development/ocaml-modules/pycaml { }; - - opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { }; - opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { }; - opam = opam_1_1; - - utop = callPackage ../development/tools/ocaml/utop { }; - - sawja = callPackage ../development/ocaml-modules/sawja { }; - - uucd = callPackage ../development/ocaml-modules/uucd { }; - uunf = callPackage ../development/ocaml-modules/uunf { }; - uutf = callPackage ../development/ocaml-modules/uutf { }; - xmlm = callPackage ../development/ocaml-modules/xmlm { }; - - yojson = callPackage ../development/ocaml-modules/yojson { }; - - zarith = callPackage ../development/ocaml-modules/zarith { }; - - zed = callPackage ../development/ocaml-modules/zed { }; - - }; - - ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0; - ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0; - ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2; - ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1; - ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1; - ocamlPackages_4_01_0 = mkOcamlPackages ocaml_4_01_0 pkgs.ocamlPackages_4_01_0; - ocamlPackages_latest = ocamlPackages_4_01_0; - - ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { }; - - opa = let callPackage = newScope pkgs.ocamlPackages_4_00_1; in callPackage ../development/compilers/opa { }; - - ocamlnat = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/ocaml-modules/ocamlnat { }; - - qcmm = callPackage ../development/compilers/qcmm { - lua = lua4; - ocaml = ocaml_3_08_0; - }; - - roadsend = callPackage ../development/compilers/roadsend { }; - - rustc = callPackage ../development/compilers/rustc/0.11.nix {}; - rustcMaster = callPackage ../development/compilers/rustc/head.nix {}; - - rust = rustc; - - - sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {}; - sbcl = callPackage ../development/compilers/sbcl { - clisp = clisp; - }; - - scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { }; - scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { }; - scala_2_11 = callPackage ../development/compilers/scala { }; - scala = scala_2_11; - - sdcc = callPackage ../development/compilers/sdcc { }; - - smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { }; - smlnj = callPackage_i686 ../development/compilers/smlnj { }; - - stalin = callPackage ../development/compilers/stalin { }; - - strategoPackages = recurseIntoAttrs strategoPackages018; - - strategoPackages016 = callPackage ../development/compilers/strategoxt/0.16.nix { - stdenv = overrideInStdenv stdenv [gnumake380]; - }; - - strategoPackages017 = callPackage ../development/compilers/strategoxt/0.17.nix { - readline = readline5; - }; - - strategoPackages018 = callPackage ../development/compilers/strategoxt/0.18.nix { - readline = readline5; - }; - - metaBuildEnv = callPackage ../development/compilers/meta-environment/meta-build-env { }; - - swiProlog = callPackage ../development/compilers/swi-prolog { }; - - tbb = callPackage ../development/libraries/tbb { }; - - tinycc = callPackage ../development/compilers/tinycc { }; - - urweb = callPackage ../development/compilers/urweb { }; - - vala = callPackage ../development/compilers/vala/default.nix { }; - - visualcpp = callPackage ../development/compilers/visual-c++ { }; - - vs90wrapper = callPackage ../development/compilers/vs90wrapper { }; - - webdsl = callPackage ../development/compilers/webdsl { }; - - win32hello = callPackage ../development/compilers/visual-c++/test { }; - - wrapGCCWith = gccWrapper: glibc: baseGCC: gccWrapper { - nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools; - nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc; - nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else ""; - gcc = baseGCC; - libc = glibc; - shell = bash; - inherit stdenv binutils coreutils zlib; - }; - - wrapClangWith = clangWrapper: glibc: baseClang: clangWrapper { - nativeTools = stdenv.gcc.nativeTools or false; - nativeLibc = stdenv.gcc.nativeLibc or false; - nativePrefix = stdenv.gcc.nativePrefix or ""; - clang = baseClang; - libc = glibc; - shell = bash; - binutils = stdenv.gcc.binutils; - inherit stdenv coreutils zlib; - }; - - wrapClang = wrapClangWith (makeOverridable (import ../build-support/clang-wrapper)) glibc; - - wrapGCC = wrapGCCWith (makeOverridable (import ../build-support/gcc-wrapper)) glibc; - - wrapGCCCross = - {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}: - - forceNativeDrv (import ../build-support/gcc-cross-wrapper { - nativeTools = false; - nativeLibc = false; - noLibc = (libc == null); - inherit stdenv gcc binutils libc shell name cross; - }); - - # prolog - yap = callPackage ../development/compilers/yap { }; - - yasm = callPackage ../development/compilers/yasm { }; - - - ### DEVELOPMENT / INTERPRETERS - - acl2 = builderDefsPackage ../development/interpreters/acl2 { - inherit sbcl; - }; - - angelscript = callPackage ../development/interpreters/angelscript {}; - - clisp = callPackage ../development/interpreters/clisp { }; - - # compatibility issues in 2.47 - at list 2.44.1 is known good - # for sbcl bootstrap - clisp_2_44_1 = callPackage ../development/interpreters/clisp/2.44.1.nix { - libsigsegv = libsigsegv_25; - }; - - clojure = callPackage ../development/interpreters/clojure { }; - - clooj = callPackage ../development/interpreters/clojure/clooj.nix { }; - - erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { }; - erlangR15 = callPackage ../development/interpreters/erlang/R15.nix { }; - erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { }; - erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix { odbcSupport = true; }; - erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { }; - erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix { odbcSupport = true; }; - erlang = erlangR17; - erlang_odbc = erlangR17_odbc; - - rebar = callPackage ../development/tools/build-managers/rebar { }; - - elixir = callPackage ../development/interpreters/elixir { }; - - groovy = callPackage ../development/interpreters/groovy { }; - - guile_1_8 = callPackage ../development/interpreters/guile/1.8.nix { }; - - guile_2_0 = callPackage ../development/interpreters/guile { }; - - guile = guile_2_0; - - hadoop = callPackage ../applications/networking/cluster/hadoop { }; - - io = callPackage ../development/interpreters/io { }; - - j = callPackage ../development/interpreters/j {}; - - jmeter = callPackage ../applications/networking/jmeter {}; - - davmail = callPackage ../applications/networking/davmail {}; - - lxappearance = callPackage ../applications/misc/lxappearance {}; - - kona = callPackage ../development/interpreters/kona {}; - - love = callPackage ../development/interpreters/love {lua=lua5;}; - love_luajit = callPackage ../development/interpreters/love {lua=luajit;}; - love_0_9 = callPackage ../development/interpreters/love/0.9.nix { }; - - lua4 = callPackage ../development/interpreters/lua-4 { }; - lua5_0 = callPackage ../development/interpreters/lua-5/5.0.3.nix { }; - lua5_1 = callPackage ../development/interpreters/lua-5/5.1.nix { }; - lua5_2 = callPackage ../development/interpreters/lua-5/5.2.nix { }; - lua5_2_compat = callPackage ../development/interpreters/lua-5/5.2.nix { - compat = true; - }; - lua5 = lua5_1; - lua = lua5; - - lua5_sockets = callPackage ../development/interpreters/lua-5/sockets.nix {}; - lua5_expat = callPackage ../development/interpreters/lua-5/expat.nix {}; - lua5_filesystem = callPackage ../development/interpreters/lua-5/filesystem.nix {}; - lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix {}; - - luarocks = callPackage ../development/tools/misc/luarocks { - lua = lua5; - }; - - luajit = callPackage ../development/interpreters/luajit {}; - - lush2 = callPackage ../development/interpreters/lush {}; - - maude = callPackage ../development/interpreters/maude { - bison = bison2; - flex = flex_2_5_35; - }; - - mesos = callPackage ../applications/networking/cluster/mesos { - sasl = cyrus_sasl; - automake = automake114x; - inherit (pythonPackages) python boto setuptools distutils-cfg wrapPython; - pythonProtobuf = pythonPackages.protobuf; - }; - - octave = callPackage ../development/interpreters/octave { - fltk = fltk13; - qt = null; - ghostscript = null; - llvm = null; - hdf5 = null; - glpk = null; - suitesparse = null; - openjdk = null; - gnuplot = null; - readline = readline63; - }; - octaveFull = (lowPrio (callPackage ../development/interpreters/octave { - fltk = fltk13; - qt = qt4; - })); - - # mercurial (hg) bleeding edge version - octaveHG = callPackage ../development/interpreters/octave/hg.nix { }; - - ocropus = callPackage ../applications/misc/ocropus { }; - - perl514 = callPackage ../development/interpreters/perl/5.14 { }; - - perl516 = callPackage ../development/interpreters/perl/5.16 { - fetchurl = fetchurlBoot; - }; - - perl520 = callPackage ../development/interpreters/perl/5.20 { }; - - perl = if system != "i686-cygwin" then perl516 else sysPerl; - - php = php54; - - phpPackages = recurseIntoAttrs (import ./php-packages.nix { - inherit php pkgs; - }); - - php53 = callPackage ../development/interpreters/php/5.3.nix { }; - - php_fpm53 = callPackage ../development/interpreters/php/5.3.nix { - config = config // { - php = (config.php or {}) // { - fpm = true; - apxs2 = false; - }; - }; - }; - - php54 = callPackage ../development/interpreters/php/5.4.nix { }; - - picolisp = callPackage ../development/interpreters/picolisp {}; - - pltScheme = racket; # just to be sure - - polyml = callPackage ../development/compilers/polyml { }; - - pure = callPackage ../development/interpreters/pure { - llvm = llvm_33 ; - }; - - python = python2; - python2 = python27; - python3 = python34; - - # pythonPackages further below, but assigned here because they need to be in sync - pythonPackages = python2Packages; - python2Packages = python27Packages; - python3Packages = python34Packages; - - pythonFull = python2Full; - python2Full = python27Full; - - python26 = callPackage ../development/interpreters/python/2.6 { db = db47; }; - python27 = callPackage ../development/interpreters/python/2.7 { }; - python32 = callPackage ../development/interpreters/python/3.2 { }; - python33 = callPackage ../development/interpreters/python/3.3 { }; - python34 = hiPrio (callPackage ../development/interpreters/python/3.4 { }); - - pypy = callPackage ../development/interpreters/pypy/2.3 { }; - - python26Full = callPackage ../development/interpreters/python/wrapper.nix { - extraLibs = []; - postBuild = ""; - python = python26; - inherit (python26Packages) recursivePthLoader; - }; - python27Full = callPackage ../development/interpreters/python/wrapper.nix { - extraLibs = []; - postBuild = ""; - python = python27; - inherit (python27Packages) recursivePthLoader; - }; - - pythonDocs = recurseIntoAttrs (import ../development/interpreters/python/docs { - inherit stdenv fetchurl lib; - }); - - pythonLinkmeWrapper = callPackage ../development/interpreters/python/python-linkme-wrapper.nix { }; - - pypi2nix = python27Packages.pypi2nix; - - pyrex = pyrex095; - - pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { }; - - pyrex096 = callPackage ../development/interpreters/pyrex/0.9.6.nix { }; - - qi = callPackage ../development/compilers/qi { }; - - racket = callPackage ../development/interpreters/racket { }; - - rakudo = callPackage ../development/interpreters/rakudo { }; - - rascal = callPackage ../development/interpreters/rascal { }; - - regina = callPackage ../development/interpreters/regina { }; - - renpy = callPackage ../development/interpreters/renpy { - wrapPython = pythonPackages.wrapPython; - }; - - ruby18 = callPackage ../development/interpreters/ruby/ruby-18.nix { }; - ruby19 = callPackage ../development/interpreters/ruby/ruby-19.nix { }; - ruby2 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.0.nix { }); - ruby21 = callPackage ../development/interpreters/ruby/ruby-2.1.2.nix { }; - - ruby = ruby19; - - rubyLibs = recurseIntoAttrs (callPackage ../development/interpreters/ruby/libs.nix { }); - - rake = rubyLibs.rake; - - rubySqlite3 = callPackage ../development/ruby-modules/sqlite3 { }; - - rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/rubygems.nix) { - inherit ruby makeWrapper; - }; - rubygems = hiPrio (rubygemsFun ruby); - - rq = callPackage ../applications/networking/cluster/rq { }; - - scsh = callPackage ../development/interpreters/scsh { }; - - scheme48 = callPackage ../development/interpreters/scheme48 { }; - - self = callPackage_i686 ../development/interpreters/self { }; - - spark = callPackage ../applications/networking/cluster/spark { }; - - spidermonkey = callPackage ../development/interpreters/spidermonkey { }; - spidermonkey_1_8_0rc1 = callPackage ../development/interpreters/spidermonkey/1.8.0-rc1.nix { }; - spidermonkey_185 = callPackage ../development/interpreters/spidermonkey/185-1.0.0.nix { }; - spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.0.nix { }; - spidermonkey_24 = callPackage ../development/interpreters/spidermonkey/24.2.nix { }; - - supercollider = callPackage ../development/interpreters/supercollider { - qt = qt4; - fftw = fftwSinglePrec; - }; - - supercollider_scel = supercollider.override { useSCEL = true; }; - - sysPerl = callPackage ../development/interpreters/perl/sys-perl { }; - - tcl = callPackage ../development/interpreters/tcl { }; - - xulrunner = callPackage ../development/interpreters/xulrunner { - inherit (gnome) libIDL; - inherit (pythonPackages) pysqlite; - }; - - xulrunner_30 = firefox30Pkgs.xulrunner; - - - ### DEVELOPMENT / MISC - - amdadlsdk = callPackage ../development/misc/amdadl-sdk { }; - - amdappsdk26 = callPackage ../development/misc/amdapp-sdk { - version = "2.6"; - }; - - amdappsdk27 = callPackage ../development/misc/amdapp-sdk { - version = "2.7"; - }; - - amdappsdk28 = callPackage ../development/misc/amdapp-sdk { - version = "2.8"; - }; - - amdappsdk = amdappsdk28; - - amdappsdkFull = callPackage ../development/misc/amdapp-sdk { - version = "2.8"; - samples = true; - }; - - avrgcclibc = callPackage ../development/misc/avr-gcc-with-avr-libc { - gcc = gcc46; - stdenv = overrideGCC stdenv gcc46; - }; - - avr8burnomat = callPackage ../development/misc/avr8-burn-omat { }; - - sourceFromHead = import ../build-support/source-from-head-fun.nix { - inherit config; - }; - - ecj = callPackage ../development/eclipse/ecj { }; - - jdtsdk = callPackage ../development/eclipse/jdt-sdk { }; - - jruby165 = callPackage ../development/interpreters/jruby { }; - - guileCairo = callPackage ../development/guile-modules/guile-cairo { }; - - guileGnome = callPackage ../development/guile-modules/guile-gnome { - gconf = gnome.GConf; - inherit (gnome) gnome_vfs libglade libgnome libgnomecanvas libgnomeui; - }; - - guile_lib = callPackage ../development/guile-modules/guile-lib { }; - - guile_ncurses = callPackage ../development/guile-modules/guile-ncurses { }; - - guile-xcb = callPackage ../development/guile-modules/guile-xcb { }; - - pharo-vm = callPackage_i686 ../development/pharo/vm { }; - - srecord = callPackage ../development/tools/misc/srecord { }; - - windowssdk = ( - import ../development/misc/windows-sdk { - inherit fetchurl stdenv cabextract; - }); - - - ### DEVELOPMENT / TOOLS - - ansible = callPackage ../tools/system/ansible { }; - - antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { }; - - antlr3 = callPackage ../development/tools/parsing/antlr { }; - - ant = apacheAnt; - - apacheAnt = callPackage ../development/tools/build-managers/apache-ant { }; - - astyle = callPackage ../development/tools/misc/astyle { }; - - autobuild = callPackage ../development/tools/misc/autobuild { }; - - autoconf = callPackage ../development/tools/misc/autoconf { }; - - autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { }; - - autocutsel = callPackage ../tools/X11/autocutsel{ }; - - automake = automake112x; - - automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { }; - - automake112x = callPackage ../development/tools/misc/automake/automake-1.12.x.nix { }; - - automake113x = callPackage ../development/tools/misc/automake/automake-1.13.x.nix { }; - - automake114x = callPackage ../development/tools/misc/automake/automake-1.14.x.nix { }; - - automoc4 = callPackage ../development/tools/misc/automoc4 { }; - - avrdude = callPackage ../development/tools/misc/avrdude { }; - - avarice = callPackage ../development/tools/misc/avarice { }; - - babeltrace = callPackage ../development/tools/misc/babeltrace { }; - - bam = callPackage ../development/tools/build-managers/bam {}; - - binutils = callPackage ../development/tools/misc/binutils { - inherit noSysDirs; - }; - - binutils_nogold = lowPrio (callPackage ../development/tools/misc/binutils { - inherit noSysDirs; - gold = false; - }); - - binutilsCross = - if crossSystem != null && crossSystem.libc == "libSystem" then darwin.cctools - else lowPrio (forceNativeDrv (import ../development/tools/misc/binutils { - inherit stdenv fetchurl zlib bison; - noSysDirs = true; - cross = assert crossSystem != null; crossSystem; - })); - - bison2 = callPackage ../development/tools/parsing/bison/2.x.nix { }; - bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { }; - bison = bison3; - - bossa = callPackage ../development/tools/misc/bossa { - wxGTK = wxGTK30; - }; - - buildbot = callPackage ../development/tools/build-managers/buildbot { - inherit (pythonPackages) twisted jinja2 sqlalchemy sqlalchemy_migrate; - dateutil = pythonPackages.dateutil_1_5; - }; - - buildbotSlave = callPackage ../development/tools/build-managers/buildbot-slave { - inherit (pythonPackages) twisted; - }; - - byacc = callPackage ../development/tools/parsing/byacc { }; - - casperjs = callPackage ../development/tools/casperjs { }; - - cbrowser = callPackage ../development/tools/misc/cbrowser { }; - - ccache = callPackage ../development/tools/misc/ccache { }; - - # Wrapper that works as gcc or g++ - # It can be used by setting in nixpkgs config like this, for example: - # replaceStdenv = { pkgs }: pkgs.ccacheStdenv; - # But if you build in chroot, you should have that path in chroot - # If instantiated directly, it will use the HOME/.ccache as cache directory. - # You can use an override in packageOverrides to set extraConfig: - # packageOverrides = pkgs: { - # ccacheWrapper = pkgs.ccacheWrapper.override { - # extraConfig = '' - # CCACHE_COMPRESS=1 - # CCACHE_DIR=/bin/.ccache - # ''; - # }; - # - ccacheWrapper = makeOverridable ({ extraConfig ? "" }: - wrapGCC (ccache.links extraConfig)) {}; - ccacheStdenv = lowPrio (overrideGCC stdenv ccacheWrapper); - - cccc = callPackage ../development/tools/analysis/cccc { }; - - cgdb = callPackage ../development/tools/misc/cgdb { }; - - chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome.GConf; }; - - chrpath = callPackage ../development/tools/misc/chrpath { }; - - "cl-launch" = callPackage ../development/tools/misc/cl-launch {}; - - complexity = callPackage ../development/tools/misc/complexity { }; - - ctags = callPackage ../development/tools/misc/ctags { }; - - ctagsWrapped = import ../development/tools/misc/ctags/wrapped.nix { - inherit pkgs ctags writeScriptBin; - }; - - cmake = callPackage ../development/tools/build-managers/cmake { }; - - cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { }; - - cmakeCurses = cmake.override { useNcurses = true; }; - - cmakeWithGui = cmakeCurses.override { useQt4 = true; }; - - coccinelle = callPackage ../development/tools/misc/coccinelle { }; - - framac = callPackage ../development/tools/analysis/frama-c { }; - - cppi = callPackage ../development/tools/misc/cppi { }; - - cproto = callPackage ../development/tools/misc/cproto { }; - - cflow = callPackage ../development/tools/misc/cflow { }; - - cov-build = callPackage ../development/tools/analysis/cov-build {}; - - cppcheck = callPackage ../development/tools/analysis/cppcheck { }; - - cscope = callPackage ../development/tools/misc/cscope { }; - - csslint = callPackage ../development/web/csslint { }; - - libcxx = callPackage ../development/libraries/libc++ { stdenv = pkgs.clangStdenv; }; - libcxxabi = callPackage ../development/libraries/libc++abi { stdenv = pkgs.clangStdenv; }; - - libsigrok = callPackage ../development/tools/libsigrok { }; - - libsigrokdecode = callPackage ../development/tools/libsigrokdecode { }; - - dejagnu = callPackage ../development/tools/misc/dejagnu { }; - - dfeet = callPackage ../development/tools/misc/d-feet { - inherit (pythonPackages) pep8; - }; - - dfu-programmer = callPackage ../development/tools/misc/dfu-programmer { }; - - ddd = callPackage ../development/tools/misc/ddd { }; - - distcc = callPackage ../development/tools/misc/distcc { }; - - # distccWrapper: wrapper that works as gcc or g++ - # It can be used by setting in nixpkgs config like this, for example: - # replaceStdenv = { pkgs }: pkgs.distccStdenv; - # But if you build in chroot, a default 'nix' will create - # a new net namespace, and won't have network access. - # You can use an override in packageOverrides to set extraConfig: - # packageOverrides = pkgs: { - # distccWrapper = pkgs.distccWrapper.override { - # extraConfig = '' - # DISTCC_HOSTS="myhost1 myhost2" - # ''; - # }; - # - distccWrapper = makeOverridable ({ extraConfig ? "" }: - wrapGCC (distcc.links extraConfig)) {}; - distccStdenv = lowPrio (overrideGCC stdenv distccWrapper); - - distccMasquerade = callPackage ../development/tools/misc/distcc/masq.nix { - gccRaw = gcc.gcc; - binutils = binutils; - }; - - docutils = builderDefsPackage (import ../development/tools/documentation/docutils) { - inherit python pil makeWrapper; - }; - - doxygen = callPackage ../development/tools/documentation/doxygen { - qt4 = null; - }; - - doxygen_gui = lowPrio (doxygen.override { inherit qt4; }); - - drush = callPackage ../development/tools/misc/drush { }; - - eggdbus = callPackage ../development/tools/misc/eggdbus { }; - - elfutils = callPackage ../development/tools/misc/elfutils { }; - - epm = callPackage ../development/tools/misc/epm { }; - - emma = callPackage ../development/tools/analysis/emma { }; - - findbugs = callPackage ../development/tools/analysis/findbugs { }; - - pmd = callPackage ../development/tools/analysis/pmd { }; - - jdepend = callPackage ../development/tools/analysis/jdepend { }; - - checkstyle = callPackage ../development/tools/analysis/checkstyle { }; - - flex_2_5_35 = callPackage ../development/tools/parsing/flex/2.5.35.nix { }; - flex_2_5_39 = callPackage ../development/tools/parsing/flex/2.5.39.nix { }; - flex = flex_2_5_39; - - m4 = gnum4; - - global = callPackage ../development/tools/misc/global { }; - - gnome_doc_utils = callPackage ../development/tools/documentation/gnome-doc-utils {}; - - gnum4 = callPackage ../development/tools/misc/gnum4 { }; - - gnumake380 = callPackage ../development/tools/build-managers/gnumake/3.80 { }; - gnumake381 = callPackage ../development/tools/build-managers/gnumake/3.81 { }; - gnumake382 = callPackage ../development/tools/build-managers/gnumake/3.82 { }; - gnumake40 = callPackage ../development/tools/build-managers/gnumake/4.0 { }; - gnumake = gnumake382; - - gob2 = callPackage ../development/tools/misc/gob2 { }; - - gradle = callPackage ../development/tools/build-managers/gradle { }; - - gperf = callPackage ../development/tools/misc/gperf { }; - - gtk_doc = callPackage ../development/tools/documentation/gtk-doc { }; - - gtkdialog = callPackage ../development/tools/misc/gtkdialog { }; - - guileLint = callPackage ../development/tools/guile/guile-lint { }; - - gwrap = callPackage ../development/tools/guile/g-wrap { }; - - help2man = callPackage ../development/tools/misc/help2man { - inherit (perlPackages) LocaleGettext; - }; - - hyenae = callPackage ../tools/networking/hyenae { }; - - ibus = callPackage ../development/libraries/ibus { }; - - iconnamingutils = callPackage ../development/tools/misc/icon-naming-utils { - inherit (perlPackages) XMLSimple; - }; - - indent = callPackage ../development/tools/misc/indent { }; - - ino = callPackage ../development/arduino/ino { }; - - inotifyTools = callPackage ../development/tools/misc/inotify-tools { }; - - intel-gpu-tools = callPackage ../development/tools/misc/intel-gpu-tools { - inherit (xorg) libpciaccess dri2proto libX11 libXext libXv libXrandr; - }; - - ired = callPackage ../development/tools/analysis/radare/ired.nix { }; - - itstool = callPackage ../development/tools/misc/itstool { }; - - jam = callPackage ../development/tools/build-managers/jam { }; - - jikespg = callPackage ../development/tools/parsing/jikespg { }; - - jenkins = callPackage ../development/tools/continuous-integration/jenkins { }; - - lcov = callPackage ../development/tools/analysis/lcov { }; - - leiningen = callPackage ../development/tools/build-managers/leiningen { }; - - libtool = libtool_2; - - libtool_1_5 = callPackage ../development/tools/misc/libtool { }; - - libtool_2 = callPackage ../development/tools/misc/libtool/libtool2.nix { }; - - lsof = callPackage ../development/tools/misc/lsof { }; - - ltrace = callPackage ../development/tools/misc/ltrace { }; - - lttng-tools = callPackage ../development/tools/misc/lttng-tools { }; - - lttng-ust = callPackage ../development/tools/misc/lttng-ust { }; - - lttv = callPackage ../development/tools/misc/lttv { }; - - mk = callPackage ../development/tools/build-managers/mk { }; - - neoload = callPackage ../development/tools/neoload { - licenseAccepted = (config.neoload.accept_license or false); - }; - - ninja = callPackage ../development/tools/build-managers/ninja { }; - - nixbang = callPackage ../development/tools/misc/nixbang { - pythonPackages = python3Packages; - }; - - node_webkit = callPackage ../development/tools/node-webkit { - gconf = pkgs.gnome.GConf; - }; - - noweb = callPackage ../development/tools/literate-programming/noweb { }; - - omake = callPackage ../development/tools/ocaml/omake { }; - omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { }; - - opengrok = callPackage ../development/tools/misc/opengrok { }; - - openocd = callPackage ../development/tools/misc/openocd { }; - - oprofile = callPackage ../development/tools/profiling/oprofile { }; - - patchelf = callPackage ../development/tools/misc/patchelf { }; - - peg = callPackage ../development/tools/parsing/peg { }; - - phantomjs = callPackage ../development/tools/phantomjs { - stdenv = if stdenv.isDarwin - then overrideGCC stdenv gccApple - else stdenv; - }; - - pmccabe = callPackage ../development/tools/misc/pmccabe { }; - - /* Make pkgconfig always return a nativeDrv, never a proper crossDrv, - because most usage of pkgconfig as buildInput (inheritance of - pre-cross nixpkgs) means using it using as nativeBuildInput - cross_renaming: we should make all programs use pkgconfig as - nativeBuildInput after the renaming. - */ - pkgconfig = forceNativeDrv (callPackage ../development/tools/misc/pkgconfig { }); - pkgconfigUpstream = lowPrio (pkgconfig.override { vanilla = true; }); - - prelink = callPackage ../development/tools/misc/prelink { }; - - premake3 = callPackage ../development/tools/misc/premake/3.nix { }; - - premake4 = callPackage ../development/tools/misc/premake { }; - - premake = premake4; - - pstack = callPackage ../development/tools/misc/gdb/pstack.nix { }; - - radare = callPackage ../development/tools/analysis/radare { - inherit (gnome) vte; - lua = lua5; - useX11 = config.radare.useX11 or false; - pythonBindings = config.radare.pythonBindings or false; - rubyBindings = config.radare.rubyBindings or false; - luaBindings = config.radare.luaBindings or false; - }; - - ragel = callPackage ../development/tools/parsing/ragel { }; - - re2c = callPackage ../development/tools/parsing/re2c { }; - - remake = callPackage ../development/tools/build-managers/remake { }; - - saleae-logic = callPackage ../development/tools/misc/saleae-logic { }; - - # couldn't find the source yet - seleniumRCBin = callPackage ../development/tools/selenium/remote-control { - jre = jdk; - }; - - selenium-server-standalone = callPackage ../development/tools/selenium/server { }; - - scons = callPackage ../development/tools/build-managers/scons { }; - - simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { }; - - sigrok-cli = callPackage ../development/tools/sigrok-cli { }; - - slimerjs = callPackage ../development/tools/slimerjs {}; - - sloccount = callPackage ../development/tools/misc/sloccount { }; - - smatch = callPackage ../development/tools/analysis/smatch { - buildllvmsparse = false; - buildc2xml = false; - }; - - smc = callPackage ../tools/misc/smc { }; - - sparse = callPackage ../development/tools/analysis/sparse { }; - - speedtest_cli = callPackage ../tools/networking/speedtest-cli { }; - - spin = callPackage ../development/tools/analysis/spin { }; - - splint = callPackage ../development/tools/analysis/splint { - flex = flex_2_5_35; - }; - - stm32flash = callPackage ../development/tools/misc/stm32flash { }; - - strace = callPackage ../development/tools/misc/strace { }; - - swig = callPackage ../development/tools/misc/swig { }; - - swig2 = callPackage ../development/tools/misc/swig/2.x.nix { }; - - swig3 = callPackage ../development/tools/misc/swig/3.x.nix { }; - - swigWithJava = swig; - - swfmill = callPackage ../tools/video/swfmill { }; - - swftools = callPackage ../tools/video/swftools { }; - - tcptrack = callPackage ../development/tools/misc/tcptrack { }; - - teensy-loader = callPackage ../development/tools/misc/teensy { }; - - texinfo413 = callPackage ../development/tools/misc/texinfo/4.13a.nix { }; - texinfo5 = callPackage ../development/tools/misc/texinfo/5.2.nix { }; - texinfo4 = texinfo413; - texinfo = texinfo5; - texinfoInteractive = appendToName "interactive" ( - texinfo.override { interactive = true; } - ); - - texi2html = callPackage ../development/tools/misc/texi2html { }; - - uhd = callPackage ../development/tools/misc/uhd { }; - - uisp = callPackage ../development/tools/misc/uisp { }; - - uncrustify = callPackage ../development/tools/misc/uncrustify { }; - - vagrant = callPackage ../development/tools/vagrant { - ruby = ruby2; - }; - - gdb = callPackage ../development/tools/misc/gdb { - hurd = gnu.hurdCross; - readline = readline63; - inherit (gnu) mig; - }; - - gdbCross = lowPrio (callPackage ../development/tools/misc/gdb { - target = crossSystem; - }); - - valgrind = callPackage ../development/tools/analysis/valgrind { - stdenv = - # On Darwin, Valgrind 3.7.0 expects Apple's GCC (for - # `__private_extern'.) - if stdenv.isDarwin - then overrideGCC stdenv gccApple - else stdenv; - }; - - valkyrie = callPackage ../development/tools/analysis/valkyrie { }; - - xc3sprog = callPackage ../development/tools/misc/xc3sprog { }; - - xmlindent = callPackage ../development/web/xmlindent {}; - - xpwn = callPackage ../development/mobile/xpwn {}; - - xxdiff = callPackage ../development/tools/misc/xxdiff { - bison = bison2; - }; - - yacc = bison; - - yodl = callPackage ../development/tools/misc/yodl { }; - - - ### DEVELOPMENT / LIBRARIES - - a52dec = callPackage ../development/libraries/a52dec { }; - - aacskeys = callPackage ../development/libraries/aacskeys { }; - - aalib = callPackage ../development/libraries/aalib { }; - - accountsservice = callPackage ../development/libraries/accountsservice { }; - - acl = callPackage ../development/libraries/acl { }; - - activemq = callPackage ../development/libraries/apache-activemq { }; - - adns = callPackage ../development/libraries/adns { }; - - afflib = callPackage ../development/libraries/afflib {}; - - agg = callPackage ../development/libraries/agg { }; - - allegro = callPackage ../development/libraries/allegro {}; - allegro5 = callPackage ../development/libraries/allegro/5.nix {}; - allegro5unstable = callPackage - ../development/libraries/allegro/5-unstable.nix {}; - - amrnb = callPackage ../development/libraries/amrnb { }; - - amrwb = callPackage ../development/libraries/amrwb { }; - - apr = callPackage ../development/libraries/apr { }; - - aprutil = callPackage ../development/libraries/apr-util { - bdbSupport = true; - }; - - asio = callPackage ../development/libraries/asio { }; - - aspell = callPackage ../development/libraries/aspell { }; - - aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix { - inherit fetchurl stdenv aspell which; - }); - - aterm = aterm25; - - aterm25 = callPackage ../development/libraries/aterm/2.5.nix { }; - - aterm28 = lowPrio (callPackage ../development/libraries/aterm/2.8.nix { }); - - attica = callPackage ../development/libraries/attica { }; - - attr = callPackage ../development/libraries/attr { }; - - at_spi2_core = callPackage ../development/libraries/at-spi2-core { }; - - at_spi2_atk = callPackage ../development/libraries/at-spi2-atk { }; - - aqbanking = callPackage ../development/libraries/aqbanking { }; - - aubio = callPackage ../development/libraries/aubio { }; - - audiofile = callPackage ../development/libraries/audiofile { }; - - babl_0_0_22 = callPackage ../development/libraries/babl/0_0_22.nix { }; - - babl = callPackage ../development/libraries/babl { }; - - beecrypt = callPackage ../development/libraries/beecrypt { }; - - boehmgc = callPackage ../development/libraries/boehm-gc { }; - - boolstuff = callPackage ../development/libraries/boolstuff { }; - - boost144 = callPackage ../development/libraries/boost/1.44.nix { }; - boost149 = callPackage ../development/libraries/boost/1.49.nix { }; - boost155 = callPackage ../development/libraries/boost/1.55.nix { }; - boost = boost155; - - boostHeaders = callPackage ../development/libraries/boost/header-only-wrapper.nix { }; - - botan = callPackage ../development/libraries/botan { }; - botanUnstable = callPackage ../development/libraries/botan/unstable.nix { }; - - box2d = callPackage ../development/libraries/box2d { }; - box2d_2_0_1 = callPackage ../development/libraries/box2d/2.0.1.nix { }; - - buddy = callPackage ../development/libraries/buddy { }; - - bwidget = callPackage ../development/libraries/bwidget { }; - - c-ares = callPackage ../development/libraries/c-ares { - fetchurl = fetchurlBoot; - }; - - caelum = callPackage ../development/libraries/caelum { }; - - capnproto = callPackage ../development/libraries/capnproto { }; - - scmccid = callPackage ../development/libraries/scmccid { }; - - ccrtp = callPackage ../development/libraries/ccrtp { }; - ccrtp_1_8 = callPackage ../development/libraries/ccrtp/1.8.nix { }; - - celt = callPackage ../development/libraries/celt {}; - celt_0_7 = callPackage ../development/libraries/celt/0.7.nix {}; - celt_0_5_1 = callPackage ../development/libraries/celt/0.5.1.nix {}; - - cgal = callPackage ../development/libraries/CGAL {}; - - cgui = callPackage ../development/libraries/cgui {}; - - check = callPackage ../development/libraries/check { }; - - chipmunk = builderDefsPackage (import ../development/libraries/chipmunk) { - inherit cmake freeglut mesa; - inherit (xlibs) libX11 xproto inputproto libXi libXmu; - }; - - chmlib = callPackage ../development/libraries/chmlib { }; - - chromaprint = callPackage ../development/libraries/chromaprint { }; - - cil = callPackage ../development/libraries/cil { }; - - cilaterm = callPackage ../development/libraries/cil-aterm { - stdenv = overrideInStdenv stdenv [gnumake380]; - }; - - clanlib = callPackage ../development/libraries/clanlib { }; - - classads = callPackage ../development/libraries/classads { }; - - classpath = callPackage ../development/libraries/java/classpath { - javac = gcj; - jvm = gcj; - gconf = gnome.GConf; - }; - - clearsilver = callPackage ../development/libraries/clearsilver { }; - - cln = callPackage ../development/libraries/cln { }; - - clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) { }; - - clucene_core_2 = callPackage ../development/libraries/clucene-core/2.x.nix { }; - - clucene_core_1 = callPackage ../development/libraries/clucene-core { }; - - clucene_core = clucene_core_1; - - clutter = callPackage ../development/libraries/clutter { }; - - clutter_1_18 = callPackage ../development/libraries/clutter/1.18.nix { - cogl = cogl_1_18; - }; - - clutter-gst = callPackage ../development/libraries/clutter-gst { }; - - clutter_gtk = callPackage ../development/libraries/clutter-gtk { }; - clutter_gtk_0_10 = callPackage ../development/libraries/clutter-gtk/0.10.8.nix { }; - - cminpack = callPackage ../development/libraries/cminpack { }; - - cogl = callPackage ../development/libraries/cogl { }; - - cogl_1_18 = callPackage ../development/libraries/cogl/1.18.nix { }; - - coin3d = callPackage ../development/libraries/coin3d { }; - - commoncpp2 = callPackage ../development/libraries/commoncpp2 { }; - - confuse = callPackage ../development/libraries/confuse { }; - - coredumper = callPackage ../development/libraries/coredumper { }; - - ctl = callPackage ../development/libraries/ctl { }; - - cpp-netlib = callPackage ../development/libraries/cpp-netlib { }; - - cppunit = callPackage ../development/libraries/cppunit { }; - - cppnetlib = callPackage ../development/libraries/cppnetlib { - boost = boostHeaders; - }; - - cracklib = callPackage ../development/libraries/cracklib { }; - - cryptopp = callPackage ../development/libraries/crypto++ { }; - - cyrus_sasl = callPackage ../development/libraries/cyrus-sasl { }; - - # Make bdb5 the default as it is the last release under the custom - # bsd-like license - db = db5; - db4 = db48; - db44 = callPackage ../development/libraries/db/db-4.4.nix { }; - db45 = callPackage ../development/libraries/db/db-4.5.nix { }; - db47 = callPackage ../development/libraries/db/db-4.7.nix { }; - db48 = callPackage ../development/libraries/db/db-4.8.nix { }; - db5 = db53; - db53 = callPackage ../development/libraries/db/db-5.3.nix { }; - db6 = db60; - db60 = callPackage ../development/libraries/db/db-6.0.nix { }; - - dbus = callPackage ../development/libraries/dbus { }; - dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { }; - dbus_glib = callPackage ../development/libraries/dbus-glib { }; - dbus_java = callPackage ../development/libraries/java/dbus-java { }; - dbus_python = callPackage ../development/python-modules/dbus { }; - - # Should we deprecate these? Currently there are many references. - dbus_tools = pkgs.dbus.tools; - dbus_libs = pkgs.dbus.libs; - dbus_daemon = pkgs.dbus.daemon; - - dhex = callPackage ../applications/editors/dhex { }; - - dclib = callPackage ../development/libraries/dclib { }; - - dillo = callPackage ../applications/networking/browsers/dillo { - fltk = fltk13; - }; - - directfb = callPackage ../development/libraries/directfb { }; - - dotconf = callPackage ../development/libraries/dotconf { }; - - dssi = callPackage ../development/libraries/dssi {}; - - dragonegg = llvmPackages.dragonegg; - - dxflib = callPackage ../development/libraries/dxflib {}; - - eigen = callPackage ../development/libraries/eigen {}; - - eigen2 = callPackage ../development/libraries/eigen/2.0.nix {}; - - enchant = callPackage ../development/libraries/enchant { }; - - enet = callPackage ../development/libraries/enet { }; - - enginepkcs11 = callPackage ../development/libraries/enginepkcs11 { }; - - epoxy = callPackage ../development/libraries/epoxy { - inherit (xorg) utilmacros libX11; - }; - - esdl = callPackage ../development/libraries/esdl { }; - - exiv2 = callPackage ../development/libraries/exiv2 { }; - - expat = callPackage ../development/libraries/expat { }; - - extremetuxracer = callPackage ../games/extremetuxracer { - libpng = libpng12; - }; - - eventlog = callPackage ../development/libraries/eventlog { }; - - facile = callPackage ../development/libraries/facile { }; - - faac = callPackage ../development/libraries/faac { }; - - faad2 = callPackage ../development/libraries/faad2 { }; - - farsight2 = callPackage ../development/libraries/farsight2 { }; - - farstream = callPackage ../development/libraries/farstream { - inherit (gst_all_1) - gstreamer gst-plugins-base gst-python gst-plugins-good gst-plugins-bad - gst-libav; - }; - - fcgi = callPackage ../development/libraries/fcgi { }; - - ffmpeg_0_6 = callPackage ../development/libraries/ffmpeg/0.6.nix { - vpxSupport = !stdenv.isMips; - }; - - ffmpeg_0_6_90 = callPackage ../development/libraries/ffmpeg/0.6.90.nix { - vpxSupport = !stdenv.isMips; - }; - - ffmpeg_0_10 = callPackage ../development/libraries/ffmpeg/0.10.nix { - vpxSupport = !stdenv.isMips; - - stdenv = if stdenv.isDarwin - then overrideGCC stdenv gccApple - else stdenv; - }; - - ffmpeg_1 = callPackage ../development/libraries/ffmpeg/1.x.nix { - vpxSupport = !stdenv.isMips; - }; - - ffmpeg_2 = callPackage ../development/libraries/ffmpeg/2.x.nix { }; - - ffmpeg = ffmpeg_2; - - ffms = callPackage ../development/libraries/ffms { }; - - fftw = callPackage ../development/libraries/fftw { }; - fftwSinglePrec = fftw.override { precision = "single"; }; - fftwFloat = fftwSinglePrec; # the configure option is just an alias - - flann = callPackage ../development/libraries/flann { }; - - flite = callPackage ../development/libraries/flite { }; - - fltk13 = callPackage ../development/libraries/fltk/fltk13.nix { }; - - fltk20 = callPackage ../development/libraries/fltk { }; - - fmod = callPackage ../development/libraries/fmod { }; - - freeimage = callPackage ../development/libraries/freeimage { }; - - freetts = callPackage ../development/libraries/freetts { }; - - cfitsio = callPackage ../development/libraries/cfitsio { }; - - fontconfig = callPackage ../development/libraries/fontconfig { }; - - makeFontsConf = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}: - import ../development/libraries/fontconfig/make-fonts-conf.nix { - inherit runCommand libxslt fontconfig fontDirectories; - }; - - freealut = callPackage ../development/libraries/freealut { }; - - freeglut = callPackage ../development/libraries/freeglut { }; - - freetype = callPackage ../development/libraries/freetype { }; - - frei0r = callPackage ../development/libraries/frei0r { }; - - fribidi = callPackage ../development/libraries/fribidi { }; - - funambol = callPackage ../development/libraries/funambol { }; - - fam = gamin; - - gamin = callPackage ../development/libraries/gamin { }; - - ganv = callPackage ../development/libraries/ganv { }; - - gav = callPackage ../games/gav { }; - - gsb = callPackage ../games/gsb { }; - - gdome2 = callPackage ../development/libraries/gdome2 { - inherit (gnome) gtkdoc; - }; - - gdbm = callPackage ../development/libraries/gdbm { }; - - gegl = callPackage ../development/libraries/gegl { - # avocodec avformat librsvg - }; - - gegl_0_0_22 = callPackage ../development/libraries/gegl/0_0_22.nix { - # avocodec avformat librsvg - libpng = libpng12; - }; - - geoclue = callPackage ../development/libraries/geoclue {}; - - geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {}; - - geoip = callPackage ../development/libraries/geoip { }; - - geoipjava = callPackage ../development/libraries/java/geoipjava { }; - - geos = callPackage ../development/libraries/geos { }; - - gettext = gettext_0_18; - - gettext_0_17 = callPackage ../development/libraries/gettext/0.17.nix { }; - gettext_0_18 = callPackage ../development/libraries/gettext { }; - - gd = callPackage ../development/libraries/gd { }; - - gdal = callPackage ../development/libraries/gdal { }; - - ggz_base_libs = callPackage ../development/libraries/ggz_base_libs {}; - - giblib = callPackage ../development/libraries/giblib { }; - - libgit2 = callPackage ../development/libraries/git2 { }; - - glew = callPackage ../development/libraries/glew { }; - - glfw = glfw3; - glfw2 = callPackage ../development/libraries/glfw/2.x.nix { }; - glfw3 = callPackage ../development/libraries/glfw/3.x.nix { }; - - glibc = callPackage ../development/libraries/glibc/2.19 { - kernelHeaders = linuxHeaders; - installLocales = config.glibc.locales or false; - machHeaders = null; - hurdHeaders = null; - gccCross = null; - }; - - glibc_memusage = callPackage ../development/libraries/glibc/2.19 { - kernelHeaders = linuxHeaders; - installLocales = false; - withGd = true; - }; - - glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.19) - (let crossGNU = crossSystem != null && crossSystem.config == "i586-pc-gnu"; - in { - inherit stdenv fetchurl; - gccCross = gccCrossStageStatic; - kernelHeaders = if crossGNU then gnu.hurdHeaders else linuxHeadersCross; - installLocales = config.glibc.locales or false; - } - // lib.optionalAttrs crossGNU { - inherit (gnu) machHeaders hurdHeaders libpthreadHeaders mig; - inherit fetchgit; - })); - - - # We can choose: - libcCrossChooser = name : if name == "glibc" then glibcCross - else if name == "uclibc" then uclibcCross - else if name == "msvcrt" then windows.mingw_w64 - else if name == "libSystem" then darwin.xcode - else throw "Unknown libc"; - - libcCross = assert crossSystem != null; libcCrossChooser crossSystem.libc; - - eglibc = callPackage ../development/libraries/eglibc { - kernelHeaders = linuxHeaders; - installLocales = config.glibc.locales or false; - }; - - glibcLocales = callPackage ../development/libraries/glibc/2.19/locales.nix { }; - - glibcInfo = callPackage ../development/libraries/glibc/2.19/info.nix { }; - - glibc_multi = callPackage ../development/libraries/glibc/2.19/multi.nix { - inherit glibc; - glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc; - }; - - glm = callPackage ../development/libraries/glm { }; - - glog = callPackage ../development/libraries/glog { }; - - gloox = callPackage ../development/libraries/gloox { }; - - glpk = callPackage ../development/libraries/glpk { }; - - glsurf = callPackage ../applications/science/math/glsurf { - inherit (ocamlPackages) lablgl findlib camlimages ocaml_mysql mlgmp; - libpng = libpng12; - giflib = giflib_4_1; - }; - - gmime = callPackage ../development/libraries/gmime { }; - - gmm = callPackage ../development/libraries/gmm { }; - - gmp = gmp5; - gmp5 = gmp51; - - gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; }); - - # The GHC bootstrap binaries link against libgmp.so.3, which is in GMP 4.x. - gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { }; - - gmp51 = callPackage ../development/libraries/gmp/5.1.x.nix { }; - - #GMP ex-satellite, so better keep it near gmp - mpfr = callPackage ../development/libraries/mpfr/default.nix { }; - - gobjectIntrospection = callPackage ../development/libraries/gobject-introspection { }; - - goocanvas = callPackage ../development/libraries/goocanvas { }; - - google-gflags = callPackage ../development/libraries/google-gflags { }; - - gperftools = callPackage ../development/libraries/gperftools { }; - - gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer { - callPackage = pkgs.newScope (pkgs // { libav = pkgs.libav_10; }); - }); - - gst_all = { - inherit (pkgs) gstreamer gnonlin gst_python qt_gstreamer; - gstPluginsBase = pkgs.gst_plugins_base; - gstPluginsBad = pkgs.gst_plugins_bad; - gstPluginsGood = pkgs.gst_plugins_good; - gstPluginsUgly = pkgs.gst_plugins_ugly; - gstFfmpeg = pkgs.gst_ffmpeg; - }; - - gstreamer = callPackage ../development/libraries/gstreamer/legacy/gstreamer { - bison = bison2; - }; - - gst_plugins_base = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-base {}; - - gst_plugins_good = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-good {}; - - gst_plugins_bad = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-bad {}; - - gst_plugins_ugly = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-ugly {}; - - gst_ffmpeg = callPackage ../development/libraries/gstreamer/legacy/gst-ffmpeg { - ffmpeg = ffmpeg_0_10; - }; - - gst_python = callPackage ../development/libraries/gstreamer/legacy/gst-python {}; - - gstreamermm = callPackage ../development/libraries/gstreamer/legacy/gstreamermm { }; - - gnonlin = callPackage ../development/libraries/gstreamer/legacy/gnonlin {}; - - gusb = callPackage ../development/libraries/gusb { - inherit (gnome) gtkdoc; - }; - - qt_gstreamer = callPackage ../development/libraries/gstreamer/legacy/qt-gstreamer {}; - - gnet = callPackage ../development/libraries/gnet { }; - - gnu-efi = callPackage ../development/libraries/gnu-efi { }; - - gnutls = gnutls32; - - gnutls31 = callPackage ../development/libraries/gnutls/3.1.nix { - guileBindings = config.gnutls.guile or false; - }; - - gnutls32 = callPackage ../development/libraries/gnutls/3.2.nix { - guileBindings = config.gnutls.guile or false; - }; - - gnutls_with_guile = lowPrio (gnutls.override { guileBindings = true; }); - - gpac = callPackage ../applications/video/gpac { }; - - gpgme = callPackage ../development/libraries/gpgme { - gnupg1 = gnupg1orig; - }; - - grantlee = callPackage ../development/libraries/grantlee { }; - - gsasl = callPackage ../development/libraries/gsasl { }; - - gsl = callPackage ../development/libraries/gsl { }; - - gsm = callPackage ../development/libraries/gsm {}; - - gsoap = callPackage ../development/libraries/gsoap { }; - - gss = callPackage ../development/libraries/gss { }; - - gtkimageview = callPackage ../development/libraries/gtkimageview { }; - - gtkmathview = callPackage ../development/libraries/gtkmathview { }; - - gtkLibs = { - inherit (pkgs) glib glibmm atk atkmm cairo pango pangomm gdk_pixbuf gtk - gtkmm; - }; - - glib = callPackage ../development/libraries/glib { }; - glib-tested = glib.override { doCheck = true; }; # checked version separate to break cycles - glibmm = callPackage ../development/libraries/glibmm { }; - - glib_networking = callPackage ../development/libraries/glib-networking {}; - - atk = callPackage ../development/libraries/atk { }; - atkmm = callPackage ../development/libraries/atkmm { }; - - pixman = callPackage ../development/libraries/pixman { }; - - cairo = callPackage ../development/libraries/cairo { - glSupport = config.cairo.gl or (stdenv.isLinux && - !stdenv.isArm && !stdenv.isMips); - }; - cairomm = callPackage ../development/libraries/cairomm { }; - - pango = callPackage ../development/libraries/pango { }; - pangomm = callPackage ../development/libraries/pangomm { }; - - pangox_compat = callPackage ../development/libraries/pangox-compat { }; - - gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { - # workaround signal 10 in gdk_pixbuf tests - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - gtk2 = callPackage ../development/libraries/gtk+/2.x.nix { - cupsSupport = config.gtk2.cups or stdenv.isLinux; - }; - - gtk3 = callPackage ../development/libraries/gtk+/3.x.nix { }; - - gtk = pkgs.gtk2; - - gtkmm = callPackage ../development/libraries/gtkmm/2.x.nix { }; - gtkmm3 = callPackage ../development/libraries/gtkmm/3.x.nix { }; - - gtkmozembedsharp = callPackage ../development/libraries/gtkmozembed-sharp { - gtksharp = gtksharp2; - }; - - gtksharp1 = callPackage ../development/libraries/gtk-sharp-1 { - inherit (gnome) libglade libgtkhtml gtkhtml - libgnomecanvas libgnomeui libgnomeprint - libgnomeprintui GConf; - }; - - gtksharp2 = callPackage ../development/libraries/gtk-sharp-2 { - inherit (gnome) libglade libgtkhtml gtkhtml - libgnomecanvas libgnomeui libgnomeprint - libgnomeprintui GConf gnomepanel; - }; - - gtksourceviewsharp = callPackage ../development/libraries/gtksourceview-sharp { - inherit (gnome) gtksourceview; - gtksharp = gtksharp2; - }; - - gtkspell = callPackage ../development/libraries/gtkspell { }; - - gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { }; - - gts = callPackage ../development/libraries/gts { }; - - gvfs = callPackage ../development/libraries/gvfs { gconf = gnome.GConf; }; - - gwenhywfar = callPackage ../development/libraries/gwenhywfar { }; - - hamlib = callPackage ../development/libraries/hamlib { }; - - # TODO : Add MIT Kerberos and let admin choose. - kerberos = heimdal; - - heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { }; - - harfbuzz = callPackage ../development/libraries/harfbuzz { }; - - hawknl = callPackage ../development/libraries/hawknl { }; - - herqq = callPackage ../development/libraries/herqq { }; - - hspell = callPackage ../development/libraries/hspell { }; - - hspellDicts = callPackage ../development/libraries/hspell/dicts.nix { }; - - hsqldb = callPackage ../development/libraries/java/hsqldb { }; - - http-parser = callPackage ../development/libraries/http-parser { inherit (pythonPackages) gyp; }; - - hunspell = callPackage ../development/libraries/hunspell { }; - - hwloc = callPackage ../development/libraries/hwloc { - inherit (xlibs) libX11; - }; - - hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { }; - - icu = callPackage ../development/libraries/icu { }; - - id3lib = callPackage ../development/libraries/id3lib { }; - - iksemel = callPackage ../development/libraries/iksemel { }; - - ilbc = callPackage ../development/libraries/ilbc { }; - - ilixi = callPackage ../development/libraries/ilixi { }; - - ilmbase = callPackage ../development/libraries/ilmbase { }; - - imlib = callPackage ../development/libraries/imlib { - libpng = libpng12; - }; - - imlib2 = callPackage ../development/libraries/imlib2 { }; - - incrtcl = callPackage ../development/libraries/incrtcl { }; - - indilib = callPackage ../development/libraries/indilib { }; - - iniparser = callPackage ../development/libraries/iniparser { }; - - intltool = callPackage ../development/tools/misc/intltool { }; - - irrlicht3843 = callPackage ../development/libraries/irrlicht { }; - - isocodes = callPackage ../development/libraries/iso-codes { }; - - itk = callPackage ../development/libraries/itk { }; - - jamp = builderDefsPackage ../games/jamp { - inherit mesa SDL SDL_image SDL_mixer; - }; - - jasper = callPackage ../development/libraries/jasper { }; - - jama = callPackage ../development/libraries/jama { }; - - jansson = callPackage ../development/libraries/jansson { }; - - jbig2dec = callPackage ../development/libraries/jbig2dec { }; - - jetty_gwt = callPackage ../development/libraries/java/jetty-gwt { }; - - jetty_util = callPackage ../development/libraries/java/jetty-util { }; - - json_glib = callPackage ../development/libraries/json-glib { }; - - json-c-0-11 = callPackage ../development/libraries/json-c/0.11.nix { }; # vulnerable - json_c = callPackage ../development/libraries/json-c { }; - - jsoncpp = callPackage ../development/libraries/jsoncpp { }; - - libjson = callPackage ../development/libraries/libjson { }; - - judy = callPackage ../development/libraries/judy { }; - - keybinder = callPackage ../development/libraries/keybinder { - automake = automake111x; - lua = lua5_1; - }; - - keybinder3 = callPackage ../development/libraries/keybinder3 { - automake = automake111x; - lua = lua5_1; - }; - - krb5 = callPackage ../development/libraries/kerberos/krb5.nix { }; - - lcms = lcms1; - - lcms1 = callPackage ../development/libraries/lcms { }; - - lcms2 = callPackage ../development/libraries/lcms2 { }; - - lensfun = callPackage ../development/libraries/lensfun { }; - - lesstif = callPackage ../development/libraries/lesstif { }; - - lesstif93 = callPackage ../development/libraries/lesstif-0.93 { }; - - leveldb = callPackage ../development/libraries/leveldb { }; - - levmar = callPackage ../development/libraries/levmar { }; - - leptonica = callPackage ../development/libraries/leptonica { - libpng = libpng12; - }; - - lgi = callPackage ../development/libraries/lgi { - lua = lua5_1; - }; - - lib3ds = callPackage ../development/libraries/lib3ds { }; - - libaacs = callPackage ../development/libraries/libaacs { }; - - libaal = callPackage ../development/libraries/libaal { }; - - libao = callPackage ../development/libraries/libao { - usePulseAudio = config.pulseaudio or true; - }; - - libarchive = callPackage ../development/libraries/libarchive { }; - - libass = callPackage ../development/libraries/libass { }; - - libassuan1 = callPackage ../development/libraries/libassuan1 { }; - - libassuan = callPackage ../development/libraries/libassuan { }; - - libassuan2_1 = callPackage ../development/libraries/libassuan/git.nix { }; - - libatomic_ops = callPackage ../development/libraries/libatomic_ops {}; - - libav = libav_10; - libav_all = callPackage ../development/libraries/libav { }; - inherit (libav_all) libav_0_8 libav_9 libav_10; - - libavc1394 = callPackage ../development/libraries/libavc1394 { }; - - libbluedevil = callPackage ../development/libraries/libbluedevil { }; - - libbluray = callPackage ../development/libraries/libbluray { }; - - libbs2b = callPackage ../development/libraries/audio/libbs2b { }; - - libcaca = callPackage ../development/libraries/libcaca { }; - - libcanberra = callPackage ../development/libraries/libcanberra { }; - libcanberra_gtk3 = libcanberra.override { gtk = gtk3; }; - libcanberra_kde = if (config.kde_runtime.libcanberraWithoutGTK or true) - then libcanberra.override { gtk = null; } - else libcanberra; - - libcello = callPackage ../development/libraries/libcello {}; - - libcdaudio = callPackage ../development/libraries/libcdaudio { }; - - libcddb = callPackage ../development/libraries/libcddb { }; - - libcdio = callPackage ../development/libraries/libcdio { }; - libcdio082 = callPackage ../development/libraries/libcdio/0.82.nix { }; - - libcdr = callPackage ../development/libraries/libcdr { lcms = lcms2; }; - - libchamplain = callPackage ../development/libraries/libchamplain { - inherit (gnome) libsoup; - }; - - libchamplain_0_6 = callPackage ../development/libraries/libchamplain/0.6.nix {}; - - libchop = callPackage ../development/libraries/libchop { }; - - libcm = callPackage ../development/libraries/libcm { }; - - inherit (gnome3) libcroco; - - libcangjie = callPackage ../development/libraries/libcangjie { }; - - libcredis = callPackage ../development/libraries/libcredis { }; - - libctemplate = callPackage ../development/libraries/libctemplate { }; - - libcue = callPackage ../development/libraries/libcue { }; - - libdaemon = callPackage ../development/libraries/libdaemon { }; - - libdbi = callPackage ../development/libraries/libdbi { }; - - libdbiDriversBase = callPackage ../development/libraries/libdbi-drivers { - mysql = null; - sqlite = null; - }; - - libdbiDrivers = libdbiDriversBase.override { - inherit sqlite mysql; - }; - - libdbusmenu_qt = callPackage ../development/libraries/libdbusmenu-qt { }; - - libdc1394 = callPackage ../development/libraries/libdc1394 { }; - - libdc1394avt = callPackage ../development/libraries/libdc1394avt { }; - - libdevil = callPackage ../development/libraries/libdevil { }; - - libdiscid = callPackage ../development/libraries/libdiscid { }; - - libdivsufsort = callPackage ../development/libraries/libdivsufsort { }; - - libdmtx = callPackage ../development/libraries/libdmtx { }; - - libdnet = callPackage ../development/libraries/libdnet { }; - - libdrm = callPackage ../development/libraries/libdrm { - inherit fetchurl stdenv pkgconfig; - inherit (xorg) libpthreadstubs; - }; - - libdv = callPackage ../development/libraries/libdv { }; - - libdvbpsi = callPackage ../development/libraries/libdvbpsi { }; - - libdwg = callPackage ../development/libraries/libdwg { }; - - libdvdcss = callPackage ../development/libraries/libdvdcss { }; - - libdvdnav = callPackage ../development/libraries/libdvdnav { }; - - libdvdread = callPackage ../development/libraries/libdvdread { }; - - libdwarf = callPackage ../development/libraries/libdwarf { }; - - libeatmydata = callPackage ../development/libraries/libeatmydata { }; - - libebml = callPackage ../development/libraries/libebml { }; - - libedit = callPackage ../development/libraries/libedit { }; - - libelf = callPackage ../development/libraries/libelf { }; - - libfm = callPackage ../development/libraries/libfm { }; - - libgadu = callPackage ../development/libraries/libgadu { }; - - libgdata = gnome3.libgdata; - - libgig = callPackage ../development/libraries/libgig { }; - - libgnome_keyring = callPackage ../development/libraries/libgnome-keyring { }; - libgnome_keyring3 = gnome3.libgnome_keyring; - - libgnurl = callPackage ../development/libraries/libgnurl { }; - - libseccomp = callPackage ../development/libraries/libseccomp { }; - - libsecret = callPackage ../development/libraries/libsecret { }; - - libserialport = callPackage ../development/libraries/libserialport { }; - - libgtop = callPackage ../development/libraries/libgtop {}; - - liblo = callPackage ../development/libraries/liblo { }; - - liblrdf = librdf; - - liblscp = callPackage ../development/libraries/liblscp { }; - - libe-book = callPackage ../development/libraries/libe-book {}; - - libev = builderDefsPackage ../development/libraries/libev { }; - - libevent14 = callPackage ../development/libraries/libevent/1.4.nix { }; - libevent = callPackage ../development/libraries/libevent { }; - - libewf = callPackage ../development/libraries/libewf { }; - - libexif = callPackage ../development/libraries/libexif { }; - - libexosip = callPackage ../development/libraries/exosip {}; - - libexosip_3 = callPackage ../development/libraries/exosip/3.x.nix { - libosip = libosip_3; - }; - - libextractor = callPackage ../development/libraries/libextractor { - libmpeg2 = mpeg2dec; - }; - - libexttextcat = callPackage ../development/libraries/libexttextcat {}; - - libf2c = callPackage ../development/libraries/libf2c {}; - - libfixposix = callPackage ../development/libraries/libfixposix {}; - - libffcall = builderDefsPackage (import ../development/libraries/libffcall) { - inherit fetchcvs; - }; - - libffi = callPackage ../development/libraries/libffi { }; - - libftdi = callPackage ../development/libraries/libftdi { }; - - libftdi1 = callPackage ../development/libraries/libftdi/1.x.nix { }; - - libgcrypt = callPackage ../development/libraries/libgcrypt { }; - - libgcrypt_1_6 = lowPrio (callPackage ../development/libraries/libgcrypt/1.6.nix { }); - - libgdiplus = callPackage ../development/libraries/libgdiplus { }; - - libgksu = callPackage ../development/libraries/libgksu { }; - - libgpgerror = callPackage ../development/libraries/libgpg-error { }; - - libgphoto2 = callPackage ../development/libraries/libgphoto2 { }; - - libgphoto2_4 = callPackage ../development/libraries/libgphoto2/2.4.nix { }; - - libgpod = callPackage ../development/libraries/libgpod { - inherit (pkgs.pythonPackages) mutagen; - }; - - libharu = callPackage ../development/libraries/libharu { }; - - libical = callPackage ../development/libraries/libical { }; - - libicns = callPackage ../development/libraries/libicns { }; - - libimobiledevice = callPackage ../development/libraries/libimobiledevice { }; - - libiodbc = callPackage ../development/libraries/libiodbc { - useGTK = config.libiodbc.gtk or false; - }; - - libivykis = callPackage ../development/libraries/libivykis { }; - - liblastfmSF = callPackage ../development/libraries/liblastfmSF { }; - - liblastfm = callPackage ../development/libraries/liblastfm { }; - - liblqr1 = callPackage ../development/libraries/liblqr-1 { }; - - liblockfile = callPackage ../development/libraries/liblockfile { }; - - liblogging = callPackage ../development/libraries/liblogging { }; - - libmcrypt = callPackage ../development/libraries/libmcrypt {}; - - libmhash = callPackage ../development/libraries/libmhash {}; - - libmodbus = callPackage ../development/libraries/libmodbus {}; - - libmtp = callPackage ../development/libraries/libmtp { }; - - libmsgpack = callPackage ../development/libraries/libmsgpack { }; - - libnatspec = callPackage ../development/libraries/libnatspec { }; - - libnfc = callPackage ../development/libraries/libnfc { }; - - libnfsidmap = callPackage ../development/libraries/libnfsidmap { }; - - libnice = callPackage ../development/libraries/libnice { }; - - liboping = callPackage ../development/libraries/liboping { }; - - libplist = callPackage ../development/libraries/libplist { }; - - libQGLViewer = callPackage ../development/libraries/libqglviewer { }; - - libre = callPackage ../development/libraries/libre {}; - librem = callPackage ../development/libraries/librem {}; - - libresample = callPackage ../development/libraries/libresample {}; - - librevenge = callPackage ../development/libraries/librevenge {}; - - librevisa = callPackage ../development/libraries/librevisa { }; - - libsamplerate = callPackage ../development/libraries/libsamplerate { }; - - libspectre = callPackage ../development/libraries/libspectre { }; - - libgsf = callPackage ../development/libraries/libgsf { }; - - libiconv = callPackage ../development/libraries/libiconv { }; - - libiconvOrEmpty = if libiconvOrNull == null then [] else [libiconv]; - - libiconvOrNull = - if gcc.libc or null != null || stdenv.isGlibc - then null - else libiconv; - - # The logic behind this attribute is broken: libiconvOrNull==null does - # NOT imply libiconv=glibc! On Darwin, for example, we have a native - # libiconv library which is not glibc. - libiconvOrLibc = if libiconvOrNull == null then gcc.libc else libiconv; - - # On non-GNU systems we need GNU Gettext for libintl. - libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux) gettext; - - libid3tag = callPackage ../development/libraries/libid3tag { }; - - libidn = callPackage ../development/libraries/libidn { }; - - libiec61883 = callPackage ../development/libraries/libiec61883 { }; - - libinfinity = callPackage ../development/libraries/libinfinity { - inherit (gnome) gtkdoc; - }; - - libiptcdata = callPackage ../development/libraries/libiptcdata { }; - - libjpeg_original = callPackage ../development/libraries/libjpeg { }; - libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; - libjpeg = if (stdenv.isLinux) then libjpeg_turbo else libjpeg_original; # some problems, both on FreeBSD and Darwin - - libjpeg62 = callPackage ../development/libraries/libjpeg/62.nix { - libtool = libtool_1_5; - }; - - libjson_rpc_cpp = callPackage ../development/libraries/libjson-rpc-cpp { }; - - libkate = callPackage ../development/libraries/libkate { }; - - libksba = callPackage ../development/libraries/libksba { }; - - libmad = callPackage ../development/libraries/libmad { }; - - libmatchbox = callPackage ../development/libraries/libmatchbox { }; - - libmatthew_java = callPackage ../development/libraries/java/libmatthew-java { }; - - libmatroska = callPackage ../development/libraries/libmatroska { }; - - libmcs = callPackage ../development/libraries/libmcs { }; - - libmemcached = callPackage ../development/libraries/libmemcached { }; - - libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { }; - - libmikmod = callPackage ../development/libraries/libmikmod { - # resolve the "stray '@' in program" errors - stdenv = if stdenv.isDarwin - then overrideGCC stdenv gccApple - else stdenv; - }; - - libmilter = callPackage ../development/libraries/libmilter { }; - - libmkv = callPackage ../development/libraries/libmkv { }; - - libmms = callPackage ../development/libraries/libmms { }; - - libmowgli = callPackage ../development/libraries/libmowgli { }; - - libmng = callPackage ../development/libraries/libmng { }; - - libmnl = callPackage ../development/libraries/libmnl { }; - - libmodplug = callPackage ../development/libraries/libmodplug {}; - - libmpcdec = callPackage ../development/libraries/libmpcdec { }; - - libmp3splt = callPackage ../development/libraries/libmp3splt { }; - - libmrss = callPackage ../development/libraries/libmrss { }; - - libmsn = callPackage ../development/libraries/libmsn { }; - - libmspack = callPackage ../development/libraries/libmspack { }; - - libmusclecard = callPackage ../development/libraries/libmusclecard { }; - - libmusicbrainz2 = callPackage ../development/libraries/libmusicbrainz/2.x.nix { }; - - libmusicbrainz3 = callPackage ../development/libraries/libmusicbrainz { }; - - libmusicbrainz5 = callPackage ../development/libraries/libmusicbrainz/5.x.nix { }; - - libmusicbrainz = libmusicbrainz3; - - libmwaw = callPackage ../development/libraries/libmwaw { }; - - libmx = callPackage ../development/libraries/libmx { }; - - libnet = callPackage ../development/libraries/libnet { }; - - libnetfilter_conntrack = callPackage ../development/libraries/libnetfilter_conntrack { }; - - libnetfilter_queue = callPackage ../development/libraries/libnetfilter_queue { }; - - libnfnetlink = callPackage ../development/libraries/libnfnetlink { }; - - libnftnl = callPackage ../development/libraries/libnftnl { }; - - libnih = callPackage ../development/libraries/libnih { }; - - libnova = callPackage ../development/libraries/libnova { }; - - libnxml = callPackage ../development/libraries/libnxml { }; - - libodfgen = callPackage ../development/libraries/libodfgen { }; - - libofa = callPackage ../development/libraries/libofa { }; - - libofx = callPackage ../development/libraries/libofx { }; - - libogg = callPackage ../development/libraries/libogg { }; - - liboggz = callPackage ../development/libraries/liboggz { }; - - liboil = callPackage ../development/libraries/liboil { }; - - liboop = callPackage ../development/libraries/liboop { }; - - libopus = callPackage ../development/libraries/libopus { }; - - libosinfo = callPackage ../development/libraries/libosinfo {}; - - libosip = callPackage ../development/libraries/osip {}; - - libosip_3 = callPackage ../development/libraries/osip/3.nix {}; - - libotr = callPackage ../development/libraries/libotr { - libgcrypt = libgcrypt_1_6; - }; - - libotr_3_2 = callPackage ../development/libraries/libotr/3.2.nix { }; - - libp11 = callPackage ../development/libraries/libp11 { }; - - libpar2 = callPackage ../development/libraries/libpar2 { }; - - libpcap = callPackage ../development/libraries/libpcap { }; - - libpipeline = callPackage ../development/libraries/libpipeline { }; - - libpng = callPackage ../development/libraries/libpng { }; - libpng_apng = libpng.override { apngSupport = true; }; - libpng12 = callPackage ../development/libraries/libpng/12.nix { }; - libpng15 = callPackage ../development/libraries/libpng/15.nix { }; - - libpaper = callPackage ../development/libraries/libpaper { }; - - libproxy = callPackage ../development/libraries/libproxy { - stdenv = if stdenv.isDarwin - then overrideGCC stdenv gcc - else stdenv; - }; - - libpseudo = callPackage ../development/libraries/libpseudo { }; - - libpwquality = callPackage ../development/libraries/libpwquality { }; - - libqalculate = callPackage ../development/libraries/libqalculate { }; - - librsvg = callPackage ../development/libraries/librsvg { - gtk2 = null; gtk3 = null; # neither gtk version by default - }; - - librsync = callPackage ../development/libraries/librsync { }; - - libsearpc = callPackage ../development/libraries/libsearpc { }; - - libsigcxx = callPackage ../development/libraries/libsigcxx { }; - - libsigcxx12 = callPackage ../development/libraries/libsigcxx/1.2.nix { }; - - libsigsegv = callPackage ../development/libraries/libsigsegv { }; - - # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5 - libsigsegv_25 = callPackage ../development/libraries/libsigsegv/2.5.nix { }; - - libsndfile = callPackage ../development/libraries/libsndfile { }; - - libsodium = callPackage ../development/libraries/libsodium { }; - - libsoup = callPackage ../development/libraries/libsoup { }; - - libssh = callPackage ../development/libraries/libssh { }; - - libssh2 = callPackage ../development/libraries/libssh2 { }; - - libstartup_notification = callPackage ../development/libraries/startup-notification { }; - - libspatialindex = callPackage ../development/libraries/libspatialindex { }; - - libspatialite = callPackage ../development/libraries/libspatialite { }; - - libtar = callPackage ../development/libraries/libtar { }; - - libtasn1 = callPackage ../development/libraries/libtasn1 { }; - - libtheora = callPackage ../development/libraries/libtheora { }; - - libtiff = callPackage ../development/libraries/libtiff { }; - - libtiger = callPackage ../development/libraries/libtiger { }; - - libtommath = callPackage ../development/libraries/libtommath { }; - - libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { - # fix "unrecognized option -arch" error - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - libtoxcore = callPackage ../development/libraries/libtoxcore { }; - - libtsm = callPackage ../development/libraries/libtsm { }; - - libtunepimp = callPackage ../development/libraries/libtunepimp { }; - - libtxc_dxtn = callPackage ../development/libraries/libtxc_dxtn { }; - - libtxc_dxtn_s2tc = callPackage ../development/libraries/libtxc_dxtn_s2tc { }; - - libgeotiff = callPackage ../development/libraries/libgeotiff { }; - - libunistring = callPackage ../development/libraries/libunistring { }; - - libupnp = callPackage ../development/libraries/pupnp { }; - - giflib = callPackage ../development/libraries/giflib { }; - giflib_4_1 = callPackage ../development/libraries/giflib/4.1.nix { }; - - libungif = callPackage ../development/libraries/giflib/libungif.nix { }; - - libunibreak = callPackage ../development/libraries/libunibreak { }; - - libunique = callPackage ../development/libraries/libunique/default.nix { }; - - liburcu = callPackage ../development/libraries/liburcu { }; - - libusb = callPackage ../development/libraries/libusb {}; - - libusb1 = callPackage ../development/libraries/libusb1 { - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - libunwind = callPackage ../development/libraries/libunwind { }; - - libuvVersions = callPackage ../development/libraries/libuv { }; - - libv4l = lowPrio (v4l_utils.override { - withQt4 = false; - }); - - libva = callPackage ../development/libraries/libva { }; - - libvdpau = callPackage ../development/libraries/libvdpau { }; - - libvirt = callPackage ../development/libraries/libvirt { }; - - libvirt-glib = callPackage ../development/libraries/libvirt-glib { }; - - libvisio = callPackage ../development/libraries/libvisio { }; - - libvisual = callPackage ../development/libraries/libvisual { }; - - libvncserver = callPackage ../development/libraries/libvncserver {}; - - libviper = callPackage ../development/libraries/libviper { }; - - libvpx = callPackage ../development/libraries/libvpx { }; - - libvterm = callPackage ../development/libraries/libvterm { }; - - libvorbis = callPackage ../development/libraries/libvorbis { }; - - libwebp = callPackage ../development/libraries/libwebp { }; - - libwmf = callPackage ../development/libraries/libwmf { }; - - libwnck = libwnck2; - libwnck2 = callPackage ../development/libraries/libwnck { }; - libwnck3 = callPackage ../development/libraries/libwnck/3.x.nix { }; - - libwpd = callPackage ../development/libraries/libwpd { }; - - libwpd_08 = callPackage ../development/libraries/libwpd/0.8.nix { }; - - libwpg = callPackage ../development/libraries/libwpg { }; - - libx86 = builderDefsPackage ../development/libraries/libx86 {}; - - libxdg_basedir = callPackage ../development/libraries/libxdg-basedir { }; - - libxkbcommon = callPackage ../development/libraries/libxkbcommon { }; - - libxklavier = callPackage ../development/libraries/libxklavier { }; - - libxmi = callPackage ../development/libraries/libxmi { }; - - libxml2 = callPackage ../development/libraries/libxml2 { - pythonSupport = false; - }; - - libxml2Python = lowPrio (libxml2.override { - pythonSupport = true; - }); - - libxmlxx = callPackage ../development/libraries/libxmlxx { }; - - libxmp = callPackage ../development/libraries/libxmp { }; - - libxslt = callPackage ../development/libraries/libxslt { }; - - libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii { - inherit fetchurl stdenv; - }); - - libyaml = callPackage ../development/libraries/libyaml { }; - - libyamlcpp = callPackage ../development/libraries/libyaml-cpp { }; - libyamlcpp03 = callPackage ../development/libraries/libyaml-cpp/0.3.x.nix { }; - - libyubikey = callPackage ../development/libraries/libyubikey {}; - - libzip = callPackage ../development/libraries/libzip { }; - - libzdb = callPackage ../development/libraries/libzdb { }; - - libzrtpcpp = callPackage ../development/libraries/libzrtpcpp { }; - libzrtpcpp_1_6 = callPackage ../development/libraries/libzrtpcpp/1.6.nix { - ccrtp = ccrtp_1_8; - }; - - libwacom = callPackage ../development/libraries/libwacom { }; - - lightning = callPackage ../development/libraries/lightning { }; - - lirc = callPackage ../development/libraries/lirc { }; - - liquidfun = callPackage ../development/libraries/liquidfun { }; - - liquidwar = builderDefsPackage ../games/liquidwar { - inherit (xlibs) xproto libX11 libXrender; - inherit gmp mesa libjpeg - expat gettext perl - SDL SDL_image SDL_mixer SDL_ttf - curl sqlite - libogg libvorbis libcaca csound cunit - ; - guile = guile_1_8; - libpng = libpng15; # 0.0.13 needs libpng 1.2--1.5 - }; - - log4cpp = callPackage ../development/libraries/log4cpp { }; - - log4cxx = callPackage ../development/libraries/log4cxx { }; - - log4cplus = callPackage ../development/libraries/log4cplus { }; - - loudmouth = callPackage ../development/libraries/loudmouth { }; - - lzo = callPackage ../development/libraries/lzo { }; - - mdds_0_7_1 = callPackage ../development/libraries/mdds/0.7.1.nix { }; - mdds = callPackage ../development/libraries/mdds { }; - - # failed to build - mediastreamer = callPackage ../development/libraries/mediastreamer { }; - - menu-cache = callPackage ../development/libraries/menu-cache { }; - - mesaSupported = lib.elem system lib.platforms.mesaPlatforms; - - mesaDarwinOr = alternative: if stdenv.isDarwin - then callPackage ../development/libraries/mesa-darwin { } - else alternative; - mesa_noglu = mesaDarwinOr (callPackage ../development/libraries/mesa { - # makes it slower, but during runtime we link against just mesa_drivers - # through /run/opengl-driver*, which is overriden according to config.grsecurity - grsecEnabled = true; - }); - mesa_glu = mesaDarwinOr (callPackage ../development/libraries/mesa-glu { }); - mesa_drivers = mesaDarwinOr ( - let mo = mesa_noglu.override { - grsecEnabled = config.grsecurity or false; - }; - in mo.drivers - ); - mesa = mesaDarwinOr (buildEnv { - name = "mesa-${mesa_noglu.version}"; - paths = [ mesa_noglu mesa_glu ]; - }); - - metaEnvironment = recurseIntoAttrs (let callPackage = newScope pkgs.metaEnvironment; in rec { - sdfLibrary = callPackage ../development/libraries/sdf-library { aterm = aterm28; }; - toolbuslib = callPackage ../development/libraries/toolbuslib { aterm = aterm28; inherit (windows) w32api; }; - cLibrary = callPackage ../development/libraries/c-library { aterm = aterm28; }; - errorSupport = callPackage ../development/libraries/error-support { aterm = aterm28; }; - ptSupport = callPackage ../development/libraries/pt-support { aterm = aterm28; }; - ptableSupport = callPackage ../development/libraries/ptable-support { aterm = aterm28; }; - configSupport = callPackage ../development/libraries/config-support { aterm = aterm28; }; - asfSupport = callPackage ../development/libraries/asf-support { aterm = aterm28; }; - tideSupport = callPackage ../development/libraries/tide-support { aterm = aterm28; }; - rstoreSupport = callPackage ../development/libraries/rstore-support { aterm = aterm28; }; - sdfSupport = callPackage ../development/libraries/sdf-support { aterm = aterm28; }; - sglr = callPackage ../development/libraries/sglr { aterm = aterm28; }; - ascSupport = callPackage ../development/libraries/asc-support { aterm = aterm28; }; - pgen = callPackage ../development/libraries/pgen { aterm = aterm28; }; - }); - - ming = callPackage ../development/libraries/ming { }; - - minizip = callPackage ../development/libraries/minizip { }; - - minmay = callPackage ../development/libraries/minmay { }; - - miro = callPackage ../applications/video/miro { - inherit (pythonPackages) pywebkitgtk pysqlite pycurl mutagen; - }; - - mkvtoolnix = callPackage ../applications/video/mkvtoolnix { }; - - mlt-qt4 = callPackage ../development/libraries/mlt { - qt = qt4; - SDL = SDL_pulseaudio; - }; - - mlt-qt5 = callPackage ../development/libraries/mlt { - qt = qt5; - SDL = SDL_pulseaudio; - }; - - movit = callPackage ../development/libraries/movit { }; - - mps = callPackage ../development/libraries/mps { }; - - libmpeg2 = callPackage ../development/libraries/libmpeg2 { }; - - mpeg2dec = libmpeg2; - - msilbc = callPackage ../development/libraries/msilbc { }; - - mp4v2 = callPackage ../development/libraries/mp4v2 { }; - - mpc = callPackage ../development/libraries/mpc { }; - - mpich2 = callPackage ../development/libraries/mpich2 { }; - - mtdev = callPackage ../development/libraries/mtdev { }; - - mtpfs = callPackage ../tools/filesystems/mtpfs { }; - - mu = callPackage ../tools/networking/mu { - texinfo = texinfo4; - }; - - muparser = callPackage ../development/libraries/muparser { }; - - mygpoclient = callPackage ../development/python-modules/mygpoclient { }; - - mygui = callPackage ../development/libraries/mygui {}; - - myguiSvn = callPackage ../development/libraries/mygui/svn.nix {}; - - mysocketw = callPackage ../development/libraries/mysocketw { }; - - mythes = callPackage ../development/libraries/mythes { }; - - nanomsg = callPackage ../development/libraries/nanomsg { }; - - ncurses = callPackage ../development/libraries/ncurses { - unicode = system != "i686-cygwin"; - }; - - neon = callPackage ../development/libraries/neon { - compressionSupport = true; - sslSupport = true; - }; - - nethack = builderDefsPackage (import ../games/nethack) { - inherit ncurses flex bison; - }; - - nettle = callPackage ../development/libraries/nettle { }; - - newt = callPackage ../development/libraries/newt { }; - - nix-plugins = callPackage ../development/libraries/nix-plugins { - nix = pkgs.nixUnstable; - }; - - nspr = callPackage ../development/libraries/nspr { }; - - nss = lowPrio (callPackage ../development/libraries/nss { }); - - nssTools = callPackage ../development/libraries/nss { - includeTools = true; - }; - - ntrack = callPackage ../development/libraries/ntrack { }; - - nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { }; - - ode = builderDefsPackage (import ../development/libraries/ode) { }; - - ogre = callPackage ../development/libraries/ogre {}; - - ogrepaged = callPackage ../development/libraries/ogrepaged { }; - - oniguruma = callPackage ../development/libraries/oniguruma { }; - - openal = callPackage ../development/libraries/openal { }; - - # added because I hope that it has been easier to compile on x86 (for blender) - openalSoft = callPackage ../development/libraries/openal-soft { }; - - openbabel = callPackage ../development/libraries/openbabel { }; - - opencascade = callPackage ../development/libraries/opencascade { }; - - opencascade_6_5 = callPackage ../development/libraries/opencascade/6.5.nix { - automake = automake111x; - ftgl = ftgl212; - }; - - opencascade_oce = callPackage ../development/libraries/opencascade/oce.nix { }; - - opencsg = callPackage ../development/libraries/opencsg { }; - - openct = callPackage ../development/libraries/openct { }; - - opencv = callPackage ../development/libraries/opencv { }; - - opencv_2_1 = callPackage ../development/libraries/opencv/2.1.nix { - libpng = libpng12; - }; - - # this ctl version is needed by openexr_viewers - openexr_ctl = callPackage ../development/libraries/openexr_ctl { }; - - openexr = callPackage ../development/libraries/openexr { }; - - openldap = callPackage ../development/libraries/openldap { - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - openlierox = callPackage ../games/openlierox { }; - - libopensc_dnie = callPackage ../development/libraries/libopensc-dnie { }; - - opencolorio = callPackage ../development/libraries/opencolorio { }; - - ois = callPackage ../development/libraries/ois {}; - - opal = callPackage ../development/libraries/opal {}; - - openjpeg = callPackage ../development/libraries/openjpeg { lcms = lcms2; }; - - openscenegraph = callPackage ../development/libraries/openscenegraph { - giflib = giflib_4_1; - ffmpeg = ffmpeg_0_10; - }; - - openspades = callPackage ../games/openspades {}; - - libressl = callPackage ../development/libraries/libressl { }; - - boringssl = callPackage ../development/libraries/boringssl { }; - - openssl = callPackage ../development/libraries/openssl { - fetchurl = fetchurlBoot; - cryptodevHeaders = linuxPackages.cryptodev.override { - fetchurl = fetchurlBoot; - onlyHeaders = true; - }; - }; - - ortp = callPackage ../development/libraries/ortp { - srtp = srtp_linphone; - }; - - p11_kit = callPackage ../development/libraries/p11-kit { }; - - paperkey = callPackage ../tools/security/paperkey { }; - - pangoxsl = callPackage ../development/libraries/pangoxsl { }; - - pcl = callPackage ../development/libraries/pcl { - vtk = vtkWithQt4; - }; - - pcre = callPackage ../development/libraries/pcre { - unicodeSupport = config.pcre.unicode or true; - }; - - pdf2xml = callPackage ../development/libraries/pdf2xml {} ; - - phonon = callPackage ../development/libraries/phonon { }; - - phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { }; - - phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { }; - - physfs = callPackage ../development/libraries/physfs { }; - - pkcs11helper = callPackage ../development/libraries/pkcs11helper { }; - - plib = callPackage ../development/libraries/plib { }; - - pocketsphinx = callPackage ../development/libraries/pocketsphinx { }; - - podofo = callPackage ../development/libraries/podofo { }; - - polkit = callPackage ../development/libraries/polkit { - spidermonkey = spidermonkey_185; - }; - - polkit_qt_1 = callPackage ../development/libraries/polkit-qt-1 { }; - - policykit = callPackage ../development/libraries/policykit { }; - - poppler = callPackage ../development/libraries/poppler { lcms = lcms2; }; - popplerQt4 = poppler.poppler_qt4; - - popt = callPackage ../development/libraries/popt { }; - - portaudio = callPackage ../development/libraries/portaudio { - # resolves a variety of compile-time errors - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - portaudioSVN = callPackage ../development/libraries/portaudio/svn-head.nix { }; - - portmidi = callPackage ../development/libraries/portmidi {}; - - prison = callPackage ../development/libraries/prison { }; - - proj = callPackage ../development/libraries/proj { }; - - postgis = callPackage ../development/libraries/postgis { }; - - protobuf = callPackage ../development/libraries/protobuf { }; - - protobufc = callPackage ../development/libraries/protobufc { }; - - pth = callPackage ../development/libraries/pth { }; - - ptlib = callPackage ../development/libraries/ptlib {}; - - re2 = callPackage ../development/libraries/re2 { }; - - qca2 = callPackage ../development/libraries/qca2 {}; - - qca2_ossl = callPackage ../development/libraries/qca2/ossl.nix {}; - - qimageblitz = callPackage ../development/libraries/qimageblitz {}; - - qjson = callPackage ../development/libraries/qjson { }; - - qoauth = callPackage ../development/libraries/qoauth { }; - - qt3 = callPackage ../development/libraries/qt-3 { - openglSupport = mesaSupported; - libpng = libpng12; - }; - - qt4 = pkgs.kde4.qt4; - - qt48 = callPackage ../development/libraries/qt-4.x/4.8 { - # GNOME dependencies are not used unless gtkStyle == true - mesa = mesa_noglu; - inherit (pkgs.gnome) libgnomeui GConf gnome_vfs; - cups = if stdenv.isLinux then cups else null; - - # resolve unrecognised flag '-fconstant-cfstrings' errors - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - qt48Full = qt48.override { - docs = true; - demos = true; - examples = true; - developerBuild = true; - }; - - qt4SDK = qtcreator.override { - sdkBuild = true; - qtLib = qt48Full; - }; - - qt53Full = qt53.override { - buildDocs = true; - buildExamples = true; - buildTests = true; - developerBuild = true; - }; - - qt53 = callPackage ../development/libraries/qt-5/qt-5.3.nix { - mesa = mesa_noglu; - cups = if stdenv.isLinux then cups else null; - # GNOME dependencies are not used unless gtkStyle == true - inherit (gnome) libgnomeui GConf gnome_vfs; - bison = bison2; # error: too few arguments to function 'int yylex(... - }; - - qt5 = callPackage ../development/libraries/qt-5 { - mesa = mesa_noglu; - cups = if stdenv.isLinux then cups else null; - # GNOME dependencies are not used unless gtkStyle == true - inherit (gnome) libgnomeui GConf gnome_vfs; - bison = bison2; # error: too few arguments to function 'int yylex(... - }; - - qt5Full = qt5.override { - buildDocs = true; - buildExamples = true; - buildTests = true; - developerBuild = true; - }; - - qt5SDK = qtcreator.override { - sdkBuild = true; - qtLib = qt5Full; - }; - - qtcreator = callPackage ../development/qtcreator { - qtLib = qt48.override { developerBuild = true; }; - }; - - qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { }; - - quesoglc = callPackage ../development/libraries/quesoglc { }; - - qwt = callPackage ../development/libraries/qwt {}; - - qwt6 = callPackage ../development/libraries/qwt/6.nix { }; - - rabbitmq-c = callPackage ../development/libraries/rabbitmq-c {}; - - rabbitmq-java-client = callPackage ../development/libraries/rabbitmq-java-client {}; - - raul = callPackage ../development/libraries/audio/raul { }; - - readline = readline6; # 6.2 works, 6.3 breaks python, parted - - readline4 = callPackage ../development/libraries/readline/readline4.nix { }; - - readline5 = callPackage ../development/libraries/readline/readline5.nix { }; - - readline6 = callPackage ../development/libraries/readline/readline6.nix { }; - - readline63 = callPackage ../development/libraries/readline/readline6.3.nix { }; - - librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { }; - - librdf_raptor2 = callPackage ../development/libraries/librdf/raptor2.nix { }; - - librdf_rasqal = callPackage ../development/libraries/librdf/rasqal.nix { }; - - librdf_redland = callPackage ../development/libraries/librdf/redland.nix { }; - - librdf = callPackage ../development/libraries/librdf { }; - - lilv = callPackage ../development/libraries/audio/lilv { }; - - lv2 = callPackage ../development/libraries/audio/lv2 { }; - - lvtk = callPackage ../development/libraries/audio/lvtk { }; - - qrupdate = callPackage ../development/libraries/qrupdate { }; - - redland = pkgs.librdf_redland; - - rhino = callPackage ../development/libraries/java/rhino { - javac = gcj; - jvm = gcj; - }; - - rlog = callPackage ../development/libraries/rlog { }; - - rubberband = callPackage ../development/libraries/rubberband { - fftw = fftwSinglePrec; - inherit (vamp) vampSDK; - }; - - sbc = callPackage ../development/libraries/sbc { }; - - schroedinger = callPackage ../development/libraries/schroedinger { }; - - SDL = callPackage ../development/libraries/SDL { - openglSupport = mesaSupported; - alsaSupport = (!stdenv.isDarwin); - x11Support = true; - pulseaudioSupport = stdenv.isDarwin; # better go through ALSA - - # resolve the unrecognized -fpascal-strings option error - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - # Fixes major problems with choppy sound in MLT / Kdenlive / Shotcut - SDL_pulseaudio = SDL.override { pulseaudioSupport = true; }; - - SDL_gfx = callPackage ../development/libraries/SDL_gfx { }; - - SDL_image = callPackage ../development/libraries/SDL_image { - # provide an Objective-C compiler - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - SDL_mixer = callPackage ../development/libraries/SDL_mixer { }; - - SDL_net = callPackage ../development/libraries/SDL_net { }; - - SDL_sound = callPackage ../development/libraries/SDL_sound { }; - - SDL_ttf = callPackage ../development/libraries/SDL_ttf { }; - - SDL2 = callPackage ../development/libraries/SDL2 { - openglSupport = mesaSupported; - alsaSupport = true; - x11Support = true; - pulseaudioSupport = false; # better go through ALSA - }; - - SDL2_image = callPackage ../development/libraries/SDL2_image { }; - - SDL2_mixer = callPackage ../development/libraries/SDL2_mixer { }; - - SDL2_net = callPackage ../development/libraries/SDL2_net { }; - - SDL2_gfx = callPackage ../development/libraries/SDL2_gfx { }; - - serd = callPackage ../development/libraries/serd {}; - - serf = callPackage ../development/libraries/serf {}; - - silgraphite = callPackage ../development/libraries/silgraphite {}; - graphite2 = callPackage ../development/libraries/silgraphite/graphite2.nix {}; - - simgear = callPackage ../development/libraries/simgear { }; - - sfml_git = callPackage ../development/libraries/sfml { }; - - skalibs = callPackage ../development/libraries/skalibs { }; - - slang = callPackage ../development/libraries/slang { }; - - slibGuile = callPackage ../development/libraries/slib { - scheme = guile_1_8; - texinfo = texinfo4; # otherwise erros: must be after `@defun' to use `@defunx' - }; - - smpeg = callPackage ../development/libraries/smpeg { }; - - snack = callPackage ../development/libraries/snack { - # optional - }; - - snappy = callPackage ../development/libraries/snappy { }; - - sodium = callPackage ../development/libraries/sodium {}; - - sofia_sip = callPackage ../development/libraries/sofia-sip { }; - - soprano = callPackage ../development/libraries/soprano { }; - - soqt = callPackage ../development/libraries/soqt { }; - - sord = callPackage ../development/libraries/sord {}; - - spandsp = callPackage ../development/libraries/spandsp {}; - - speechd = callPackage ../development/libraries/speechd { }; - - speech_tools = callPackage ../development/libraries/speech-tools {}; - - speex = callPackage ../development/libraries/speex { }; - - sphinxbase = callPackage ../development/libraries/sphinxbase { }; - - spice = callPackage ../development/libraries/spice { - celt = celt_0_5_1; - inherit (xlibs) libXrandr libXfixes libXext libXrender libXinerama; - inherit (pythonPackages) pyparsing; - }; - - spice_gtk = callPackage ../development/libraries/spice-gtk { }; - - spice_protocol = callPackage ../development/libraries/spice-protocol { }; - - sratom = callPackage ../development/libraries/audio/sratom { }; - - srtp = callPackage ../development/libraries/srtp {}; - - srtp_linphone = callPackage ../development/libraries/srtp/linphone.nix { }; - - sqlite = lowPrio (callPackage ../development/libraries/sqlite { - readline = null; - ncurses = null; - }); - - sqliteInteractive = appendToName "interactive" (sqlite.override { - inherit readline ncurses; - }); - - sqlcipher = lowPrio (callPackage ../development/libraries/sqlcipher { - readline = null; - ncurses = null; - }); - - stfl = callPackage ../development/libraries/stfl { - stdenv = if stdenv.isDarwin - then overrideGCC stdenv gccApple - else stdenv; - }; - - stlink = callPackage ../development/tools/misc/stlink { }; - - steghide = callPackage ../tools/security/steghide {}; - - stepmania = callPackage ../games/stepmania {}; - - stlport = callPackage ../development/libraries/stlport { }; - - strigi = callPackage ../development/libraries/strigi { clucene_core = clucene_core_2; }; - - subtitleeditor = callPackage ../applications/video/subtitleeditor { }; - - suil = callPackage ../development/libraries/audio/suil { }; - - suitesparse = callPackage ../development/libraries/suitesparse { }; - - sutils = callPackage ../tools/misc/sutils { }; - - sword = callPackage ../development/libraries/sword { }; - - szip = callPackage ../development/libraries/szip { }; - - t1lib = callPackage ../development/libraries/t1lib { }; - - taglib = callPackage ../development/libraries/taglib { }; - - taglib_extras = callPackage ../development/libraries/taglib-extras { }; - - talloc = callPackage ../development/libraries/talloc { }; - - tclap = callPackage ../development/libraries/tclap {}; - - tclgpg = callPackage ../development/libraries/tclgpg { }; - - tcllib = callPackage ../development/libraries/tcllib { }; - - tcltls = callPackage ../development/libraries/tcltls { }; - - tdb = callPackage ../development/libraries/tdb { }; - - tecla = callPackage ../development/libraries/tecla { }; - - telepathy_glib = callPackage ../development/libraries/telepathy/glib { }; - - telepathy_farstream = callPackage ../development/libraries/telepathy/farstream {}; - - telepathy_qt = callPackage ../development/libraries/telepathy/qt { }; - - thrift = callPackage ../development/libraries/thrift { }; - - tinyxml = tinyxml2; - - tinyxml2 = callPackage ../development/libraries/tinyxml/2.6.2.nix { }; - - tk = callPackage ../development/libraries/tk { }; - - tnt = callPackage ../development/libraries/tnt { }; - - tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { }; - tokyotyrant = callPackage ../development/libraries/tokyo-tyrant { }; - - tremor = callPackage ../development/libraries/tremor { }; - - unicap = callPackage ../development/libraries/unicap {}; - - tsocks = callPackage ../development/libraries/tsocks { }; - - unixODBC = callPackage ../development/libraries/unixODBC { }; - - unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers { - inherit fetchurl stdenv unixODBC glibc libtool openssl zlib; - inherit postgresql mysql sqlite; - }); - - urt = callPackage ../development/libraries/urt { }; - - ustr = callPackage ../development/libraries/ustr { }; - - usbredir = callPackage ../development/libraries/usbredir { - libusb = libusb1; - }; - - ucommon = callPackage ../development/libraries/ucommon { }; - - v8 = callPackage ../development/libraries/v8 { - inherit (pythonPackages) gyp; - }; - - vaapiIntel = callPackage ../development/libraries/vaapi-intel { }; - - vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { }; - - vamp = callPackage ../development/libraries/audio/vamp { }; - - vcdimager = callPackage ../development/libraries/vcdimager { }; - - vigra = callPackage ../development/libraries/vigra { - inherit (pkgs.pythonPackages) numpy; - }; - - vlock = callPackage ../misc/screensavers/vlock { }; - - vmime = callPackage ../development/libraries/vmime { }; - - vrpn = callPackage ../development/libraries/vrpn { }; - - vtk = callPackage ../development/libraries/vtk { }; - - vtkWithQt4 = vtk.override { qtLib = qt4; }; - - vxl = callPackage ../development/libraries/vxl { - libpng = libpng12; - }; - - wayland = callPackage ../development/libraries/wayland { }; - - webkit = webkitgtk; - - webkitgtk = callPackage ../development/libraries/webkitgtk { - harfbuzz = harfbuzz.override { - withIcu = true; - }; - gst-plugins-base = gst_all_1.gst-plugins-base; - }; - - webkitgtk2 = webkitgtk.override { - withGtk2 = true; - enableIntrospection = false; - }; - - wildmidi = callPackage ../development/libraries/wildmidi { }; - - wvstreams = callPackage ../development/libraries/wvstreams { }; - - wxGTK = wxGTK28; - - wxGTK28 = callPackage ../development/libraries/wxGTK-2.8 { - inherit (gnome) GConf; - withMesa = lib.elem system lib.platforms.mesaPlatforms; - }; - - wxGTK29 = callPackage ../development/libraries/wxGTK-2.9/default.nix { - inherit (gnome) GConf; - withMesa = lib.elem system lib.platforms.mesaPlatforms; - - # use for Objective-C++ compiler - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - wxGTK30 = callPackage ../development/libraries/wxGTK-3.0/default.nix { - inherit (gnome) GConf; - withMesa = lib.elem system lib.platforms.mesaPlatforms; - - # use for Objective-C++ compiler - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - wtk = callPackage ../development/libraries/wtk { }; - - x264 = callPackage ../development/libraries/x264 { }; - - xapian = callPackage ../development/libraries/xapian { }; - - xapianBindings = callPackage ../development/libraries/xapian/bindings { # TODO perl php Java, tcl, C#, python - }; - - xapian10 = callPackage ../development/libraries/xapian/1.0.x.nix { }; - - xapianBindings10 = callPackage ../development/libraries/xapian/bindings/1.0.x.nix { # TODO perl php Java, tcl, C#, python - }; - - Xaw3d = callPackage ../development/libraries/Xaw3d { }; - - xbase = callPackage ../development/libraries/xbase { }; - - xcb-util-cursor = callPackage ../development/libraries/xcb-util-cursor { }; - - xdo = callPackage ../tools/misc/xdo { }; - - xineLib = callPackage ../development/libraries/xine-lib { - ffmpeg = ffmpeg_1; - }; - - xautolock = callPackage ../misc/screensavers/xautolock { }; - - xercesc = callPackage ../development/libraries/xercesc {}; - - xlibsWrapper = callPackage ../development/libraries/xlibs-wrapper { - packages = [ - freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt - xlibs.libXft xlibs.libXext xlibs.libSM xlibs.libICE - xlibs.xextproto - ]; - }; - - xmlrpc_c = callPackage ../development/libraries/xmlrpc-c { }; - - xmlsec = callPackage ../development/libraries/xmlsec { }; - - xvidcore = callPackage ../development/libraries/xvidcore { }; - - xylib = callPackage ../development/libraries/xylib { }; - - yajl = callPackage ../development/libraries/yajl { }; - - zangband = builderDefsPackage (import ../games/zangband) { - inherit ncurses flex bison autoconf automake m4 coreutils; - }; - - zeitgeist = callPackage ../development/libraries/zeitgeist { }; - - zlib = callPackage ../development/libraries/zlib { - fetchurl = fetchurlBoot; - }; - - zlibStatic = lowPrio (appendToName "static" (callPackage ../development/libraries/zlib { - static = true; - })); - - zeromq2 = callPackage ../development/libraries/zeromq/2.x.nix {}; - zeromq3 = callPackage ../development/libraries/zeromq/3.x.nix {}; - zeromq4 = callPackage ../development/libraries/zeromq/4.x.nix {}; - - zziplib = callPackage ../development/libraries/zziplib { }; - - - ### DEVELOPMENT / LIBRARIES / JAVA - - atermjava = callPackage ../development/libraries/java/aterm { - stdenv = overrideInStdenv stdenv [gnumake380]; - }; - - commonsFileUpload = callPackage ../development/libraries/java/jakarta-commons/file-upload { }; - - fastjar = callPackage ../development/tools/java/fastjar { }; - - httpunit = callPackage ../development/libraries/java/httpunit { }; - - gwtdragdrop = callPackage ../development/libraries/java/gwt-dragdrop { }; - - gwtwidgets = callPackage ../development/libraries/java/gwt-widgets { }; - - jakartabcel = callPackage ../development/libraries/java/jakarta-bcel { - regexp = jakartaregexp; - }; - - jakartaregexp = callPackage ../development/libraries/java/jakarta-regexp { }; - - javaCup = callPackage ../development/libraries/java/cup { }; - - javasvn = callPackage ../development/libraries/java/javasvn { }; - - jclasslib = callPackage ../development/tools/java/jclasslib { }; - - jdom = callPackage ../development/libraries/java/jdom { }; - - jflex = callPackage ../development/libraries/java/jflex { }; - - jjtraveler = callPackage ../development/libraries/java/jjtraveler { - stdenv = overrideInStdenv stdenv [gnumake380]; - }; - - junit = callPackage ../development/libraries/java/junit { antBuild = releaseTools.antBuild; }; - - junixsocket = callPackage ../development/libraries/java/junixsocket { }; - - jzmq = callPackage ../development/libraries/java/jzmq { }; - - lucene = callPackage ../development/libraries/java/lucene { }; - - mockobjects = callPackage ../development/libraries/java/mockobjects { }; - - saxon = callPackage ../development/libraries/java/saxon { }; - - saxonb = callPackage ../development/libraries/java/saxon/default8.nix { }; - - sharedobjects = callPackage ../development/libraries/java/shared-objects { - stdenv = overrideInStdenv stdenv [gnumake380]; - }; - - smack = callPackage ../development/libraries/java/smack { }; - - swt = callPackage ../development/libraries/java/swt { - inherit (gnome) libsoup; - }; - - - ### DEVELOPMENT / LIBRARIES / JAVASCRIPT - - jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { }; - - yuicompressor = callPackage ../development/tools/yuicompressor { }; - - ### DEVELOPMENT / LISP MODULES - - asdf = callPackage ../development/lisp-modules/asdf { - texLive = null; - }; - - clwrapperFunction = callPackage ../development/lisp-modules/clwrapper; - - wrapLisp = lisp: clwrapperFunction { inherit lisp; }; - - lispPackagesFor = clwrapper: callPackage ../development/lisp-modules/lisp-packages.nix { - inherit clwrapper; - }; - - lispPackagesClisp = lispPackagesFor (wrapLisp clisp); - lispPackagesSBCL = lispPackagesFor (wrapLisp sbcl); - lispPackages = recurseIntoAttrs lispPackagesSBCL; - - - ### DEVELOPMENT / PERL MODULES - - buildPerlPackage = import ../development/perl-modules/generic perl; - - perlPackages = recurseIntoAttrs (import ./perl-packages.nix { - inherit pkgs; - overrides = (config.perlPackageOverrides or (p: {})) pkgs; - }); - - perl514Packages = import ./perl-packages.nix { - pkgs = pkgs // { - perl = perl514; - buildPerlPackage = import ../development/perl-modules/generic perl514; - }; - overrides = (config.perl514PackageOverrides or (p: {})) pkgs; - }; - - perlXMLParser = perlPackages.XMLParser; - - ack = perlPackages.ack; - - perlArchiveCpio = perlPackages.ArchiveCpio; - - perlcritic = perlPackages.PerlCritic; - - planetary_annihilation = callPackage ../games/planetaryannihilation { }; - - - ### DEVELOPMENT / PYTHON MODULES - - # python function with default python interpreter - buildPythonPackage = pythonPackages.buildPythonPackage; - - # `nix-env -i python-nose` installs for 2.7, the default python. - # Therefore we do not recurse into attributes here, in contrast to - # python27Packages. `nix-env -iA python26Packages.nose` works - # regardless. - python26Packages = import ./python-packages.nix { - inherit pkgs; - python = python26; - }; - - python27Packages = lib.hiPrioSet (recurseIntoAttrs (import ./python-packages.nix { - inherit pkgs; - python = python27; - })); - - python32Packages = import ./python-packages.nix { - inherit pkgs; - python = python32; - }; - - python33Packages = recurseIntoAttrs (import ./python-packages.nix { - inherit pkgs; - python = python33; - }); - - python34Packages = recurseIntoAttrs (import ./python-packages.nix { - inherit pkgs; - python = python34; - }); - - pypyPackages = recurseIntoAttrs (import ./python-packages.nix { - inherit pkgs; - python = pypy; - }); - - foursuite = callPackage ../development/python-modules/4suite { }; - - bsddb3 = callPackage ../development/python-modules/bsddb3 { }; - - ecdsa = callPackage ../development/python-modules/ecdsa { }; - - numeric = callPackage ../development/python-modules/numeric { }; - - pil = pythonPackages.pil; - - psyco = callPackage ../development/python-modules/psyco { }; - - pycairo = pythonPackages.pycairo; - - pycapnp = pythonPackages.pycapnp; - - pycrypto = pythonPackages.pycrypto; - - pycups = callPackage ../development/python-modules/pycups { }; - - pyexiv2 = callPackage ../development/python-modules/pyexiv2 { }; - - pygame = callPackage ../development/python-modules/pygame { }; - - pygobject = pythonPackages.pygobject; - - pygobject3 = pythonPackages.pygobject3; - - pygtk = pythonPackages.pygtk; - - pyGtkGlade = pythonPackages.pyGtkGlade; - - pylint = callPackage ../development/python-modules/pylint { }; - - pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) { - inherit python openssl; - }; - - rhpl = callPackage ../development/python-modules/rhpl { }; - - sip = callPackage ../development/python-modules/sip { }; - - pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; - - pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { }; - - pysideGeneratorrunner = callPackage ../development/python-modules/pyside/generatorrunner.nix { }; - - pyside = callPackage ../development/python-modules/pyside { }; - - pysideTools = callPackage ../development/python-modules/pyside/tools.nix { }; - - pysideShiboken = callPackage ../development/python-modules/pyside/shiboken.nix { }; - - pyx = callPackage ../development/python-modules/pyx { }; - - pyxml = callPackage ../development/python-modules/pyxml { }; - - rbtools = callPackage ../development/python-modules/rbtools { }; - - setuptools = pythonPackages.setuptools; - - slowaes = callPackage ../development/python-modules/slowaes { }; - - wxPython = pythonPackages.wxPython; - wxPython28 = pythonPackages.wxPython28; - - twisted = pythonPackages.twisted; - - ZopeInterface = pythonPackages.zope_interface; - - ### DEVELOPMENT / R MODULES - - R = callPackage ../applications/science/math/R { - inherit (xlibs) libX11 libXt; - texLive = texLiveAggregationFun { paths = [ texLive texLiveExtra ]; }; - withRecommendedPackages = false; - }; - - rWrapper = callPackage ../development/r-modules/wrapper.nix { - # Those packages are usually installed as part of the R build. - recommendedPackages = with rPackages; [ MASS lattice Matrix nlme - survival boot cluster codetools foreign KernSmooth rpart class - nnet spatial mgcv ]; - # Override this attribute to register additional libraries. - packages = []; - }; - - rPackages = import ../development/r-modules/cran-packages.nix { - inherit pkgs; - overrides = (config.rPackageOverrides or (p: {})) pkgs; - }; - - ### SERVERS - - rdf4store = callPackage ../servers/http/4store { }; - - apacheHttpd = pkgs.apacheHttpd_2_2; - - apacheHttpd_2_2 = callPackage ../servers/http/apache-httpd/2.2.nix { - sslSupport = true; - }; - - apacheHttpd_2_4 = lowPrio (callPackage ../servers/http/apache-httpd/2.4.nix { - sslSupport = true; - }); - - apcupsd = callPackage ../servers/apcupsd { }; - - sabnzbd = callPackage ../servers/sabnzbd { }; - - bind = callPackage ../servers/dns/bind { }; - - bird = callPackage ../servers/bird { }; - - couchdb = callPackage ../servers/http/couchdb { - spidermonkey = spidermonkey_185; - python = python27; - sphinx = python27Packages.sphinx; - erlang = erlangR16; - }; - - dico = callPackage ../servers/dico { }; - - dict = callPackage ../servers/dict { - libmaa = callPackage ../servers/dict/libmaa.nix {}; - }; - - dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix { - inherit builderDefs; - }); - - dictDBCollector = import ../servers/dict/dictd-db-collector.nix { - inherit stdenv lib dict; - }; - - dictdWiktionary = callPackage ../servers/dict/dictd-wiktionary.nix {}; - - dictdWordnet = callPackage ../servers/dict/dictd-wordnet.nix {}; - - diod = callPackage ../servers/diod { }; - - dovecot = dovecot21; - - dovecot21 = callPackage ../servers/mail/dovecot { }; - - dovecot22 = callPackage ../servers/mail/dovecot/2.2.x.nix { }; - - dovecot_pigeonhole = callPackage ../servers/mail/dovecot-pigeonhole { }; - - etcd = callPackage ../servers/etcd { }; - - ejabberd = callPackage ../servers/xmpp/ejabberd { - erlang = erlangR16; - }; - - elasticmq = callPackage ../servers/elasticmq { }; - - etcdctl = callPackage ../development/tools/etcdctl { }; - - fcgiwrap = callPackage ../servers/fcgiwrap { }; - - felix = callPackage ../servers/felix { }; - - felix_remoteshell = callPackage ../servers/felix/remoteshell.nix { }; - - fingerd_bsd = callPackage ../servers/fingerd/bsd-fingerd { }; - - firebird = callPackage ../servers/firebird { icu = null; }; - firebirdSuper = callPackage ../servers/firebird { superServer = true; }; - - fleet = callPackage ../servers/fleet { }; - - freepops = callPackage ../servers/mail/freepops { }; - - freeswitch = callPackage ../servers/sip/freeswitch { }; - - ghostOne = callPackage ../servers/games/ghost-one { - boost = boost144.override { taggedLayout = true; }; - }; - - ircdHybrid = callPackage ../servers/irc/ircd-hybrid { }; - - jboss = callPackage ../servers/http/jboss { }; - - jboss_mysql_jdbc = callPackage ../servers/http/jboss/jdbc/mysql { }; - - jetty = callPackage ../servers/http/jetty { }; - - jetty61 = callPackage ../servers/http/jetty/6.1 { }; - - joseki = callPackage ../servers/http/joseki {}; - - leafnode = callPackage ../servers/news/leafnode { }; - - lighttpd = callPackage ../servers/http/lighttpd { }; - - mailman = callPackage ../servers/mail/mailman { }; - - mediatomb = callPackage ../servers/mediatomb { }; - - memcached = callPackage ../servers/memcached {}; - - mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd/default.nix { }; - - mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { }; - - mod_python = callPackage ../servers/http/apache-modules/mod_python { }; - - mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { }; - - mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { }; - - mpd = callPackage ../servers/mpd { - aacSupport = config.mpd.aacSupport or true; - ffmpegSupport = config.mpd.ffmpegSupport or true; - }; - - mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { }; - - miniHttpd = callPackage ../servers/http/mini-httpd {}; - - mlmmj = callPackage ../servers/mail/mlmmj { }; - - myserver = callPackage ../servers/http/myserver { }; - - nginx = callPackage ../servers/http/nginx { - rtmp = true; - fullWebDAV = true; - syslog = true; - moreheaders = true; - }; - - ngircd = callPackage ../servers/irc/ngircd { }; - - nix-binary-cache = callPackage ../servers/http/nix-binary-cache {}; - - nsd = callPackage ../servers/dns/nsd { }; - - nsq = callPackage ../servers/nsq { }; - - openresty = callPackage ../servers/http/openresty { }; - - opensmtpd = callPackage ../servers/mail/opensmtpd { }; - - petidomo = callPackage ../servers/mail/petidomo { }; - - popa3d = callPackage ../servers/mail/popa3d { }; - - postfix = callPackage ../servers/mail/postfix { }; - - postfix211 = callPackage ../servers/mail/postfix/2.11.nix { }; - - pulseaudio = callPackage ../servers/pulseaudio { - gconf = gnome.GConf; - # The following are disabled in the default build, because if this - # functionality is desired, they are only needed in the PulseAudio - # server. - bluez = null; - avahi = null; - }; - pulseaudioFull = pulseaudio.override { - bluez = bluez5; - avahi = avahi; - jackaudioSupport = true; - x11Support = true; - }; - - tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { }; - - pies = callPackage ../servers/pies { }; - - portmap = callPackage ../servers/portmap { }; - - rpcbind = callPackage ../servers/rpcbind { }; - - #monetdb = callPackage ../servers/sql/monetdb { }; - - mariadb = callPackage ../servers/sql/mariadb {}; - - mongodb = callPackage ../servers/nosql/mongodb { }; - - riak = callPackage ../servers/nosql/riak/1.3.1.nix { }; - - influxdb = callPackage ../servers/nosql/influxdb { }; - - mysql51 = import ../servers/sql/mysql/5.1.x.nix { - inherit fetchurl ncurses zlib perl openssl stdenv; - ps = procps; /* !!! Linux only */ - }; - - mysql55 = callPackage ../servers/sql/mysql/5.5.x.nix { }; - - mysql = mysql51; - - mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { }; - - nagios = callPackage ../servers/monitoring/nagios { }; - - munin = callPackage ../servers/monitoring/munin { }; - - nagiosPluginsOfficial = callPackage ../servers/monitoring/nagios/plugins/official-2.x.nix { }; - - neo4j = callPackage ../servers/nosql/neo4j { }; - - net_snmp = callPackage ../servers/monitoring/net-snmp { }; - - riemann = callPackage ../servers/monitoring/riemann { }; - - oidentd = callPackage ../servers/identd/oidentd { }; - - openfire = callPackage ../servers/xmpp/openfire { }; - - oracleXE = callPackage ../servers/sql/oracle-xe { }; - - OVMF = callPackage ../applications/virtualization/OVMF { }; - - postgresql = postgresql92; - - postgresql84 = callPackage ../servers/sql/postgresql/8.4.x.nix { }; - - postgresql90 = callPackage ../servers/sql/postgresql/9.0.x.nix { }; - - postgresql91 = callPackage ../servers/sql/postgresql/9.1.x.nix { }; - - postgresql92 = callPackage ../servers/sql/postgresql/9.2.x.nix { }; - - postgresql93 = callPackage ../servers/sql/postgresql/9.3.x.nix { }; - - postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { }; - - psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { }; - - pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) { - inherit xmpppy pythonIRClib python makeWrapper; - }; - - pyMAILt = builderDefsPackage (import ../servers/xmpp/pyMAILt) { - inherit xmpppy python makeWrapper fetchcvs; - }; - - qpid-cpp = callPackage ../servers/amqp/qpid-cpp { }; - - rabbitmq_server = callPackage ../servers/amqp/rabbitmq-server { }; - - radius = callPackage ../servers/radius { }; - - redis = callPackage ../servers/nosql/redis { }; - - redstore = callPackage ../servers/http/redstore { }; - - restund = callPackage ../servers/restund {}; - - rethinkdb = callPackage ../servers/nosql/rethinkdb { }; - - rippled = callPackage ../servers/rippled { }; - - s6 = callPackage ../servers/s6 { }; - - spamassassin = callPackage ../servers/mail/spamassassin { - inherit (perlPackages) HTMLParser NetDNS NetAddrIP DBFile - HTTPDate MailDKIM LWP IOSocketSSL; - }; - - samba = callPackage ../servers/samba { }; - - # A lightweight Samba, useful for non-Linux-based OSes. - samba_light = lowPrio (callPackage ../servers/samba { - pam = null; - fam = null; - cups = null; - acl = null; - openldap = null; - # libunwind 1.0.1 is not ported to GNU/Hurd. - libunwind = null; - }); - - serfdom = callPackage ../servers/serfdom { }; - - seyren = callPackage ../servers/monitoring/seyren { }; - - shishi = callPackage ../servers/shishi { }; - - sipwitch = callPackage ../servers/sip/sipwitch { }; - - spawn_fcgi = callPackage ../servers/http/spawn-fcgi { }; - - squids = recurseIntoAttrs( import ../servers/squid/squids.nix { - inherit fetchurl stdenv perl lib composableDerivation - openldap pam db cyrus_sasl kerberos libcap expat libxml2 libtool - openssl; - }); - squid = squids.squid31; # has ipv6 support - - thttpd = callPackage ../servers/http/thttpd { }; - - storm = callPackage ../servers/computing/storm { }; - - tomcat5 = callPackage ../servers/http/tomcat/5.0.nix { }; - - tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { }; - - tomcat7 = callPackage ../servers/http/tomcat/7.0.nix { }; - - tomcat8 = callPackage ../servers/http/tomcat/8.0.nix { }; - - tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { }; - - axis2 = callPackage ../servers/http/tomcat/axis2 { }; - - unifi = callPackage ../servers/unifi { }; - - virtuoso6 = callPackage ../servers/sql/virtuoso/6.x.nix { }; - - virtuoso7 = callPackage ../servers/sql/virtuoso/7.x.nix { }; - - virtuoso = virtuoso6; - - vsftpd = callPackage ../servers/ftp/vsftpd { }; - - winstone = callPackage ../servers/http/winstone { }; - - xinetd = callPackage ../servers/xinetd { }; - - zookeeper = callPackage ../servers/zookeeper { }; - - xquartz = callPackage ../servers/x11/xquartz { }; - quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; }; - - xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix { - inherit clangStdenv fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig - libxslt expat libpng zlib perl mesa_drivers spice_protocol - dbus libuuid openssl gperf m4 - autoconf automake libtool xmlto asciidoc flex bison python mtdev pixman; - mesa = mesa_noglu; - udev = if stdenv.isLinux then udev else null; - libdrm = if stdenv.isLinux then libdrm else null; - } // { - xf86videointel-testing = callPackage ../servers/x11/xorg/xf86-video-intel-testing.nix { }; - }); - - xorgReplacements = callPackage ../servers/x11/xorg/replacements.nix { }; - - xorgVideoUnichrome = callPackage ../servers/x11/xorg/unichrome/default.nix { }; - - yaws = callPackage ../servers/http/yaws { }; - - zabbix = recurseIntoAttrs (import ../servers/monitoring/zabbix { - inherit fetchurl stdenv pkgconfig postgresql curl openssl zlib; - }); - - zabbix20 = callPackage ../servers/monitoring/zabbix/2.0.nix { }; - zabbix22 = callPackage ../servers/monitoring/zabbix/2.2.nix { }; - - - ### OS-SPECIFIC - - afuse = callPackage ../os-specific/linux/afuse { }; - - amdUcode = callPackage ../os-specific/linux/microcode/amd.nix { }; - - autofs5 = callPackage ../os-specific/linux/autofs/autofs-v5.nix { }; - - _915resolution = callPackage ../os-specific/linux/915resolution { }; - - nfsUtils = callPackage ../os-specific/linux/nfs-utils { }; - - acpi = callPackage ../os-specific/linux/acpi { }; - - acpid = callPackage ../os-specific/linux/acpid { }; - - acpitool = callPackage ../os-specific/linux/acpitool { }; - - alienfx = callPackage ../os-specific/linux/alienfx { }; - - alsaLib = callPackage ../os-specific/linux/alsa-lib { }; - - alsaPlugins = callPackage ../os-specific/linux/alsa-plugins { - jack2 = null; - }; - - alsaPluginWrapper = callPackage ../os-specific/linux/alsa-plugins/wrapper.nix { }; - - alsaUtils = callPackage ../os-specific/linux/alsa-utils { }; - alsaOss = callPackage ../os-specific/linux/alsa-oss { }; - - microcode2ucode = callPackage ../os-specific/linux/microcode/converter.nix { }; - - microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { }; - - apparmor = callPackage ../os-specific/linux/apparmor { - inherit (perlPackages) LocaleGettext TermReadKey RpcXML; - bison = bison2; - }; - - atop = callPackage ../os-specific/linux/atop { }; - - audit = callPackage ../os-specific/linux/audit { }; - - b43Firmware_5_1_138 = callPackage ../os-specific/linux/firmware/b43-firmware/5.1.138.nix { }; - - b43FirmwareCutter = callPackage ../os-specific/linux/firmware/b43-firmware-cutter { }; - - batctl = callPackage ../os-specific/linux/batman-adv/batctl.nix { }; - - bluez4 = callPackage ../os-specific/linux/bluez { - pygobject = pygobject3; - }; - - bluez5 = lowPrio (callPackage ../os-specific/linux/bluez/bluez5.nix { }); - - bluez = bluez4; - - inherit (pythonPackages) bedup; - - beret = callPackage ../games/beret { }; - - bridge_utils = callPackage ../os-specific/linux/bridge-utils { }; - - busybox = callPackage ../os-specific/linux/busybox { }; - - checkpolicy = callPackage ../os-specific/linux/checkpolicy { }; - - checksec = callPackage ../os-specific/linux/checksec { }; - - cifs_utils = callPackage ../os-specific/linux/cifs-utils { }; - - conky = callPackage ../os-specific/linux/conky { - mpdSupport = config.conky.mpdSupport or true; - x11Support = config.conky.x11Support or false; - xdamage = config.conky.xdamage or false; - wireless = config.conky.wireless or false; - luaSupport = config.conky.luaSupport or false; - rss = config.conky.rss or false; - weatherMetar = config.conky.weatherMetar or false; - weatherXoap = config.conky.weatherXoap or false; - }; - - cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { }; - - cryopid = callPackage ../os-specific/linux/cryopid { }; - - criu = callPackage ../os-specific/linux/criu { }; - - cryptsetup = callPackage ../os-specific/linux/cryptsetup { }; - - cramfsswap = callPackage ../os-specific/linux/cramfsswap { }; - - darwin = rec { - cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools-port { - cross = assert crossSystem != null; crossSystem; - inherit maloader; - xctoolchain = xcode.toolchain; - }); - - maloader = callPackage ../os-specific/darwin/maloader { - inherit opencflite; - }; - - opencflite = callPackage ../os-specific/darwin/opencflite {}; - - xcode = callPackage ../os-specific/darwin/xcode {}; - }; - - devicemapper = lvm2; - - disk_indicator = callPackage ../os-specific/linux/disk-indicator { }; - - dmidecode = callPackage ../os-specific/linux/dmidecode { }; - - dmtcp = callPackage ../os-specific/linux/dmtcp { }; - - dietlibc = callPackage ../os-specific/linux/dietlibc { }; - - directvnc = builderDefsPackage ../os-specific/linux/directvnc { - inherit libjpeg pkgconfig zlib directfb; - inherit (xlibs) xproto; - }; - - dmraid = callPackage ../os-specific/linux/dmraid { - devicemapper = devicemapper.override {enable_dmeventd = true;}; - }; - - drbd = callPackage ../os-specific/linux/drbd { }; - - dstat = callPackage ../os-specific/linux/dstat { - # pythonFull includes the "curses" standard library module, for pretty - # dstat color output - python = pythonFull; - }; - - libossp_uuid = callPackage ../development/libraries/libossp-uuid { }; - - libuuid = - if crossSystem != null && crossSystem.config == "i586-pc-gnu" - then (utillinux // { - crossDrv = lib.overrideDerivation utillinux.crossDrv (args: { - # `libblkid' fails to build on GNU/Hurd. - configureFlags = args.configureFlags - + " --disable-libblkid --disable-mount --disable-libmount" - + " --disable-fsck --enable-static --disable-partx"; - doCheck = false; - CPPFLAGS = # ugly hack for ugly software! - lib.concatStringsSep " " - (map (v: "-D${v}=4096") - [ "PATH_MAX" "MAXPATHLEN" "MAXHOSTNAMELEN" ]); - }); - }) - else if stdenv.isLinux - then utillinux - else null; - - e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { }; - - ebtables = callPackage ../os-specific/linux/ebtables { }; - - eject = utillinux; - - ffado = callPackage ../os-specific/linux/ffado { }; - - fbterm = callPackage ../os-specific/linux/fbterm { }; - - firejail = callPackage ../os-specific/linux/firejail {}; - - fuse = callPackage ../os-specific/linux/fuse { }; - - fxload = callPackage ../os-specific/linux/fxload { }; - - gfxtablet = callPackage ../os-specific/linux/gfxtablet {}; - - gpm = callPackage ../servers/gpm { }; - - gradm = callPackage ../os-specific/linux/gradm { - flex = flex_2_5_35; - }; - - hdparm = callPackage ../os-specific/linux/hdparm { }; - - hibernate = callPackage ../os-specific/linux/hibernate { }; - - hostapd = callPackage ../os-specific/linux/hostapd { }; - - htop = - if stdenv.isLinux then - callPackage ../os-specific/linux/htop { } - else if stdenv.isDarwin then - callPackage ../os-specific/darwin/htop { } - else null; - - # GNU/Hurd core packages. - gnu = recurseIntoAttrs (callPackage ../os-specific/gnu { - inherit platform crossSystem; - }); - - hwdata = callPackage ../os-specific/linux/hwdata { }; - - i7z = callPackage ../os-specific/linux/i7z { }; - - ifplugd = callPackage ../os-specific/linux/ifplugd { }; - - iomelt = callPackage ../os-specific/linux/iomelt { }; - - iotop = callPackage ../os-specific/linux/iotop { }; - - iproute = callPackage ../os-specific/linux/iproute { }; - - iputils = callPackage ../os-specific/linux/iputils { - sp = spCompat; - inherit (perlPackages) SGMLSpm; - }; - - iptables = callPackage ../os-specific/linux/iptables { }; - - iw = callPackage ../os-specific/linux/iw { }; - - jujuutils = callPackage ../os-specific/linux/jujuutils { }; - - kbd = callPackage ../os-specific/linux/kbd { }; - - kmscon = callPackage ../os-specific/linux/kmscon { }; - - latencytop = callPackage ../os-specific/linux/latencytop { }; - - ldm = callPackage ../os-specific/linux/ldm { }; - - libaio = callPackage ../os-specific/linux/libaio { }; - - libatasmart = callPackage ../os-specific/linux/libatasmart { }; - - libcgroup = callPackage ../os-specific/linux/libcgroup { }; - - libnl = callPackage ../os-specific/linux/libnl { }; - libnl_3_2_19 = callPackage ../os-specific/linux/libnl/3.2.19.nix { }; - - linuxConsoleTools = callPackage ../os-specific/linux/consoletools { }; - - # -- Linux kernel expressions ------------------------------------------------ - - linuxHeaders = linuxHeaders_3_7; - - linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix { - inherit stdenv fetchurl perl; - cross = assert crossSystem != null; crossSystem; - }); - - linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { - inherit stdenv fetchurl perl; - cross = assert crossSystem != null; crossSystem; - }); - - linuxHeaders_3_7 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { }; - - linuxHeaders_3_14 = callPackage ../os-specific/linux/kernel-headers/3.14.nix { }; - - # We can choose: - linuxHeadersCrossChooser = ver : if ver == "2.4" then linuxHeaders24Cross - else if ver == "2.6" then linuxHeaders26Cross - else throw "Unknown linux kernel version"; - - linuxHeadersCross = assert crossSystem != null; - linuxHeadersCrossChooser crossSystem.platform.kernelMajor; - - kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { }; - - linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = []; - }; - - linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - ]; - }; - - linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) { - inherit fetchurl stdenv perl buildLinux; - }; - - linux_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - - linux_3_12 = makeOverridable (import ../os-specific/linux/kernel/linux-3.12.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - - linux_3_14 = makeOverridable (import ../os-specific/linux/kernel/linux-3.14.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - - linux_3_15 = makeOverridable (import ../os-specific/linux/kernel/linux-3.15.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - - linux_3_16 = makeOverridable (import ../os-specific/linux/kernel/linux-3.16.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - - linux_testing = makeOverridable (import ../os-specific/linux/kernel/linux-testing.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - - /* grsec configuration - - We build several flavors of 'default' grsec kernels. These are - built by default with Hydra. If the user selects a matching - 'default' flavor, then the pre-canned package set can be - chosen. Typically, users will make very basic choices like - 'security' + 'server' or 'performance' + 'desktop' with - virtualisation support. These will then be picked. - - Note: Xen guest kernels are included for e.g. NixOps deployments - to EC2, where Xen is the Hypervisor. - */ - - grFlavors = import ../build-support/grsecurity/flavors.nix; - - mkGrsecurity = opts: - (import ../build-support/grsecurity { - grsecOptions = opts; - inherit pkgs lib; - }); - - grKernel = opts: (mkGrsecurity opts).grsecKernel; - grPackage = opts: recurseIntoAttrs (mkGrsecurity opts).grsecPackage; - - # Stable kernels - linux_grsec_stable_desktop = grKernel grFlavors.linux_grsec_stable_desktop; - linux_grsec_stable_server = grKernel grFlavors.linux_grsec_stable_server; - linux_grsec_stable_server_xen = grKernel grFlavors.linux_grsec_stable_server_xen; - - # Testing kernels - linux_grsec_testing_desktop = grKernel grFlavors.linux_grsec_testing_desktop; - linux_grsec_testing_server = grKernel grFlavors.linux_grsec_testing_server; - linux_grsec_testing_server_xen = grKernel grFlavors.linux_grsec_testing_server_xen; - - /* Linux kernel modules are inherently tied to a specific kernel. So - rather than provide specific instances of those packages for a - specific kernel, we have a function that builds those packages - for a specific kernel. This function can then be called for - whatever kernel you're using. */ - - linuxPackagesFor = kernel: self: let callPackage = newScope self; in { - inherit kernel; - - acpi_call = callPackage ../os-specific/linux/acpi-call {}; - - batman_adv = callPackage ../os-specific/linux/batman-adv {}; - - bbswitch = callPackage ../os-specific/linux/bbswitch {}; - - ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { }; - - blcr = callPackage ../os-specific/linux/blcr { }; - - cryptodev = callPackage ../os-specific/linux/cryptodev { }; - - cpupower = callPackage ../os-specific/linux/cpupower { }; - - e1000e = callPackage ../os-specific/linux/e1000e {}; - - v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { }; - - frandom = callPackage ../os-specific/linux/frandom { }; - - ktap = callPackage ../os-specific/linux/ktap { }; - - lttng-modules = callPackage ../os-specific/linux/lttng-modules { }; - - broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { }; - - nvidiabl = callPackage ../os-specific/linux/nvidiabl { }; - - nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { }; - - nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { }; - nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { }; - - openafsClient = callPackage ../servers/openafs-client { }; - - openiscsi = callPackage ../os-specific/linux/open-iscsi { }; - - wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { }; - - kernelHeaders = callPackage ../os-specific/linux/kernel-headers { }; - - klibc = callPackage ../os-specific/linux/klibc { }; - - klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { }); - - - /* compiles but has to be integrated into the kernel somehow - Let's have it uncommented and finish it.. - */ - ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { }; - - netatop = callPackage ../os-specific/linux/netatop { }; - - perf = callPackage ../os-specific/linux/kernel/perf.nix { }; - - psmouse_alps = callPackage ../os-specific/linux/psmouse-alps { }; - - spl = callPackage ../os-specific/linux/spl { }; - spl_git = callPackage ../os-specific/linux/spl/git.nix { }; - - sysdig = callPackage ../os-specific/linux/sysdig {}; - - tp_smapi = callPackage ../os-specific/linux/tp_smapi { }; - - v86d = callPackage ../os-specific/linux/v86d { }; - - virtualbox = callPackage ../applications/virtualization/virtualbox { - stdenv = stdenv_32bit; - inherit (gnome) libIDL; - enableExtensionPack = config.virtualbox.enableExtensionPack or false; - }; - - virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { }; - - zfs = callPackage ../os-specific/linux/zfs { }; - zfs_git = callPackage ../os-specific/linux/zfs/git.nix { }; - }; - - # The current default kernel / kernel modules. - linux = linuxPackages.kernel; - linuxPackages = linuxPackages_3_12; - - # Update this when adding the newest kernel major version! - linux_latest = pkgs.linux_3_16; - linuxPackages_latest = pkgs.linuxPackages_3_16; - - # Build the kernel modules for the some of the kernels. - linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2); - linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4); - linuxPackages_3_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi; - linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10); - linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice; - linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); - linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14); - linuxPackages_3_15 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_15 linuxPackages_3_15); - linuxPackages_3_16 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_16 linuxPackages_3_16); - linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing); - - # grsecurity flavors - # Stable kernels - linuxPackages_grsec_stable_desktop = grPackage grFlavors.linux_grsec_stable_desktop; - linuxPackages_grsec_stable_server = grPackage grFlavors.linux_grsec_stable_server; - linuxPackages_grsec_stable_server_xen = grPackage grFlavors.linux_grsec_stable_server_xen; - - # Testing kernels - linuxPackages_grsec_testing_desktop = grPackage grFlavors.linux_grsec_testing_desktop; - linuxPackages_grsec_testing_server = grPackage grFlavors.linux_grsec_testing_server; - linuxPackages_grsec_testing_server_xen = grPackage grFlavors.linux_grsec_testing_server_xen; - - # A function to build a manually-configured kernel - linuxManualConfig = pkgs.buildLinux; - buildLinux = import ../os-specific/linux/kernel/manual-config.nix { - inherit (pkgs) stdenv runCommand nettools bc perl kmod writeTextFile ubootChooser; - }; - - keyutils = callPackage ../os-specific/linux/keyutils { }; - - libselinux = callPackage ../os-specific/linux/libselinux { }; - - libsemanage = callPackage ../os-specific/linux/libsemanage { }; - - libraw = callPackage ../development/libraries/libraw { }; - - libraw1394 = callPackage ../development/libraries/libraw1394 { }; - - libsexy = callPackage ../development/libraries/libsexy { }; - - libsepol = callPackage ../os-specific/linux/libsepol { }; - - libsmbios = callPackage ../os-specific/linux/libsmbios { }; - - lm_sensors = callPackage ../os-specific/linux/lm-sensors { }; - - lockdep = callPackage ../os-specific/linux/lockdep { }; - - lsiutil = callPackage ../os-specific/linux/lsiutil { }; - - kmod = callPackage ../os-specific/linux/kmod { }; - - kmod-blacklist-ubuntu = callPackage ../os-specific/linux/kmod-blacklist-ubuntu { }; - - kvm = qemu_kvm; - - libcap = callPackage ../os-specific/linux/libcap { }; - - libcap_progs = callPackage ../os-specific/linux/libcap/progs.nix { }; - - libcap_pam = callPackage ../os-specific/linux/libcap/pam.nix { }; - - libcap_manpages = callPackage ../os-specific/linux/libcap/man.nix { }; - - libcap_ng = callPackage ../os-specific/linux/libcap-ng { }; - - libnscd = callPackage ../os-specific/linux/libnscd { }; - - libnotify = callPackage ../development/libraries/libnotify { }; - - libvolume_id = callPackage ../os-specific/linux/libvolume_id { }; - - lsscsi = callPackage ../os-specific/linux/lsscsi { }; - - lvm2 = callPackage ../os-specific/linux/lvm2 { }; - - mdadm = callPackage ../os-specific/linux/mdadm { }; - - mingetty = callPackage ../os-specific/linux/mingetty { }; - - module_init_tools = callPackage ../os-specific/linux/module-init-tools { }; - - aggregateModules = modules: - callPackage ../os-specific/linux/kmod/aggregator.nix { - inherit modules; - }; - - multipath_tools = callPackage ../os-specific/linux/multipath-tools { }; - - musl = callPackage ../os-specific/linux/musl { }; - - nettools = callPackage ../os-specific/linux/net-tools { }; - - neverball = callPackage ../games/neverball { - libpng = libpng15; - }; - - nftables = callPackage ../os-specific/linux/nftables { }; - - numactl = callPackage ../os-specific/linux/numactl { }; - - gocode = callPackage ../development/tools/gocode { }; - - gogoclient = callPackage ../os-specific/linux/gogoclient { }; - - nss_ldap = callPackage ../os-specific/linux/nss_ldap { }; - - pam = callPackage ../os-specific/linux/pam { }; - - # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader ) - - pam_ccreds = callPackage ../os-specific/linux/pam_ccreds { }; - - pam_console = callPackage ../os-specific/linux/pam_console { - libtool = libtool_1_5; - }; - - pam_devperm = callPackage ../os-specific/linux/pam_devperm { }; - - pam_krb5 = callPackage ../os-specific/linux/pam_krb5 { }; - - pam_ldap = callPackage ../os-specific/linux/pam_ldap { }; - - pam_login = callPackage ../os-specific/linux/pam_login { }; - - pam_ssh_agent_auth = callPackage ../os-specific/linux/pam_ssh_agent_auth { }; - - pam_usb = callPackage ../os-specific/linux/pam_usb { }; - - paxctl = callPackage ../os-specific/linux/paxctl { }; - - pax-utils = callPackage ../os-specific/linux/pax-utils { }; - - pcmciaUtils = callPackage ../os-specific/linux/pcmciautils { - firmware = config.pcmciaUtils.firmware or []; - config = config.pcmciaUtils.config or null; - }; - - plymouth = callPackage ../os-specific/linux/plymouth { - automake = automake113x; - }; - - pmount = callPackage ../os-specific/linux/pmount { }; - - pmutils = callPackage ../os-specific/linux/pm-utils { }; - - pmtools = callPackage ../os-specific/linux/pmtools { }; - - policycoreutils = callPackage ../os-specific/linux/policycoreutils { }; - - powertop = callPackage ../os-specific/linux/powertop { }; - - prayer = callPackage ../servers/prayer { }; - - procps = procps-ng; - - procps-old = lowPrio (callPackage ../os-specific/linux/procps { }); - - procps-ng = callPackage ../os-specific/linux/procps-ng { }; - - watch = callPackage ../os-specific/linux/procps/watch.nix { }; - - qemu_kvm = lowPrio (qemu.override { x86Only = true; }); - - firmwareLinuxNonfree = callPackage ../os-specific/linux/firmware/firmware-linux-nonfree { }; - - radeontools = callPackage ../os-specific/linux/radeontools { }; - - raspberrypifw = callPackage ../os-specific/linux/firmware/raspberrypi {}; - - regionset = callPackage ../os-specific/linux/regionset { }; - - rfkill = callPackage ../os-specific/linux/rfkill { }; - - rfkill_udev = callPackage ../os-specific/linux/rfkill/udev.nix { }; - - rtkit = callPackage ../os-specific/linux/rtkit { }; - - sdparm = callPackage ../os-specific/linux/sdparm { }; - - sepolgen = callPackage ../os-specific/linux/sepolgen { }; - - setools = callPackage ../os-specific/linux/setools { }; - - shadow = callPackage ../os-specific/linux/shadow { }; - - statifier = builderDefsPackage (import ../os-specific/linux/statifier) { }; - - sysdig = callPackage ../os-specific/linux/sysdig { - kernel = null; - }; # pkgs.sysdig is a client, for a driver look at linuxPackagesFor - - sysfsutils = callPackage ../os-specific/linux/sysfsutils { }; - - sysprof = callPackage ../development/tools/profiling/sysprof { - inherit (gnome) libglade; - }; - - # Provided with sysfsutils. - libsysfs = sysfsutils; - systool = sysfsutils; - - sysklogd = callPackage ../os-specific/linux/sysklogd { }; - - syslinux = callPackage ../os-specific/linux/syslinux { }; - - sysstat = callPackage ../os-specific/linux/sysstat { }; - - systemd = callPackage ../os-specific/linux/systemd { - linuxHeaders = linuxHeaders_3_14; - }; - - systemtap = callPackage ../development/tools/profiling/systemtap { - inherit (gnome) libglademm; - }; - - # In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get - # LVM2 working in systemd. - systemd_with_lvm2 = pkgs.lib.overrideDerivation pkgs.systemd (p: { - name = p.name + "-with-lvm2"; - postInstall = p.postInstall + '' - cp "${pkgs.lvm2}/lib/systemd/system-generators/"* $out/lib/systemd/system-generators - ''; - }); - - sysvinit = callPackage ../os-specific/linux/sysvinit { }; - - sysvtools = callPackage ../os-specific/linux/sysvinit { - withoutInitTools = true; - }; - - # FIXME: `tcp-wrapper' is actually not OS-specific. - tcp_wrappers = callPackage ../os-specific/linux/tcp-wrappers { }; - - trackballs = callPackage ../games/trackballs { - debug = false; - guile = guile_1_8; - }; - - tunctl = callPackage ../os-specific/linux/tunctl { }; - - ubootChooser = name : if name == "upstream" then ubootUpstream - else if name == "sheevaplug" then ubootSheevaplug - else if name == "guruplug" then ubootGuruplug - else if name == "nanonote" then ubootNanonote - else throw "Unknown uboot"; - - ubootUpstream = callPackage ../misc/uboot { }; - - ubootSheevaplug = callPackage ../misc/uboot/sheevaplug.nix { }; - - ubootNanonote = callPackage ../misc/uboot/nanonote.nix { }; - - ubootGuruplug = callPackage ../misc/uboot/guruplug.nix { }; - - uclibc = callPackage ../os-specific/linux/uclibc { }; - - uclibcCross = lowPrio (callPackage ../os-specific/linux/uclibc { - inherit fetchurl stdenv libiconv; - linuxHeaders = linuxHeadersCross; - gccCross = gccCrossStageStatic; - cross = assert crossSystem != null; crossSystem; - }); - - udev145 = callPackage ../os-specific/linux/udev/145.nix { }; - udev = pkgs.systemd; - - udisks1 = callPackage ../os-specific/linux/udisks/1-default.nix { }; - udisks2 = callPackage ../os-specific/linux/udisks/2-default.nix { }; - udisks = udisks1; - - udisks_glue = callPackage ../os-specific/linux/udisks-glue { }; - - untie = callPackage ../os-specific/linux/untie { }; - - upower = callPackage ../os-specific/linux/upower { }; - - upower_99 = callPackage ../os-specific/linux/upower/0.99.nix { }; - - upstart = callPackage ../os-specific/linux/upstart { }; - - usbutils = callPackage ../os-specific/linux/usbutils { }; - - usermount = callPackage ../os-specific/linux/usermount { }; - - utillinux = lowPrio (callPackage ../os-specific/linux/util-linux { - ncurses = null; - perl = null; - }); - - utillinuxCurses = utillinux.override { - inherit ncurses perl; - }; - - v4l_utils = callPackage ../os-specific/linux/v4l-utils { - withQt4 = true; - }; - - windows = rec { - cygwinSetup = callPackage ../os-specific/windows/cygwin-setup { }; - - jom = callPackage ../os-specific/windows/jom { }; - - w32api = callPackage ../os-specific/windows/w32api { - gccCross = gccCrossStageStatic; - binutilsCross = binutilsCross; - }; - - w32api_headers = w32api.override { - onlyHeaders = true; - }; - - mingw_runtime = callPackage ../os-specific/windows/mingwrt { - gccCross = gccCrossMingw2; - binutilsCross = binutilsCross; - }; - - mingw_runtime_headers = mingw_runtime.override { - onlyHeaders = true; - }; - - mingw_headers1 = buildEnv { - name = "mingw-headers-1"; - paths = [ w32api_headers mingw_runtime_headers ]; - }; - - mingw_headers2 = buildEnv { - name = "mingw-headers-2"; - paths = [ w32api mingw_runtime_headers ]; - }; - - mingw_headers3 = buildEnv { - name = "mingw-headers-3"; - paths = [ w32api mingw_runtime ]; - }; - - mingw_w64 = callPackage ../os-specific/windows/mingw-w64 { - gccCross = gccCrossStageStatic; - binutilsCross = binutilsCross; - }; - - mingw_w64_headers = callPackage ../os-specific/windows/mingw-w64 { - onlyHeaders = true; - }; - - mingw_w64_pthreads = callPackage ../os-specific/windows/mingw-w64 { - onlyPthreads = true; - }; - - pthreads = callPackage ../os-specific/windows/pthread-w32 { - mingw_headers = mingw_headers3; - }; - - wxMSW = callPackage ../os-specific/windows/wxMSW-2.8 { }; - }; - - wesnoth = callPackage ../games/wesnoth { - lua = lua5; - }; - - wirelesstools = callPackage ../os-specific/linux/wireless-tools { }; - - wpa_supplicant = callPackage ../os-specific/linux/wpa_supplicant { }; - - wpa_supplicant_gui = callPackage ../os-specific/linux/wpa_supplicant/gui.nix { }; - - xf86_input_mtrack = callPackage ../os-specific/linux/xf86-input-mtrack { - inherit (xorg) utilmacros xproto inputproto xorgserver; - }; - - xf86_input_multitouch = - callPackage ../os-specific/linux/xf86-input-multitouch { }; - - xf86_input_wacom = callPackage ../os-specific/linux/xf86-input-wacom { }; - - xf86_video_nested = callPackage ../os-specific/linux/xf86-video-nested { - inherit (xorg) fontsproto renderproto utilmacros xorgserver; - }; - - xf86_video_nouveau = xorg.xf86videonouveau; - - xmoto = builderDefsPackage (import ../games/xmoto) { - inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng - freeglut mesa SDL SDL_mixer SDL_image SDL_net SDL_ttf - lua5 ode libxdg_basedir libxml2; - }; - - xorg_sys_opengl = callPackage ../os-specific/linux/opengl/xorg-sys { }; - - zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { }; - - - ### DATA - - andagii = callPackage ../data/fonts/andagii {}; - - anonymousPro = callPackage ../data/fonts/anonymous-pro {}; - - arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) { }; - - aurulent-sans = callPackage ../data/fonts/aurulent-sans { }; - - bakoma_ttf = callPackage ../data/fonts/bakoma-ttf { }; - - cacert = callPackage ../data/misc/cacert { }; - - cantarell_fonts = callPackage ../data/fonts/cantarell-fonts { }; - - comic-neue = callPackage ../data/fonts/comic-neue { }; - - corefonts = callPackage ../data/fonts/corefonts { }; - - wrapFonts = paths : ((import ../data/fonts/fontWrap) { - inherit fetchurl stdenv builderDefs paths; - inherit (xorg) mkfontdir mkfontscale; - }); - - clearlyU = callPackage ../data/fonts/clearlyU { }; - - cm_unicode = callPackage ../data/fonts/cm-unicode {}; - - dejavu_fonts = callPackage ../data/fonts/dejavu-fonts { - inherit (perlPackages) FontTTF; - }; - - docbook5 = callPackage ../data/sgml+xml/schemas/docbook-5.0 { }; - - docbook_sgml_dtd_31 = callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix { }; - - docbook_sgml_dtd_41 = callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix { }; - - docbook_xml_dtd_412 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix { }; - - docbook_xml_dtd_42 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix { }; - - docbook_xml_dtd_43 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix { }; - - docbook_xml_dtd_45 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix { }; - - docbook_xml_ebnf_dtd = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf { }; - - docbook_xml_xslt = docbook_xsl; - - docbook_xsl = callPackage ../data/sgml+xml/stylesheets/xslt/docbook-xsl { }; - - docbook5_xsl = docbook_xsl_ns; - - docbook_xsl_ns = callPackage ../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns { }; - - dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { }; - - eb-garamond = callPackage ../data/fonts/eb-garamond { }; - - fira = callPackage ../data/fonts/fira { }; - - freefont_ttf = callPackage ../data/fonts/freefont-ttf { }; - - freepats = callPackage ../data/misc/freepats { }; - - gentium = callPackage ../data/fonts/gentium {}; - - gnome_user_docs = callPackage ../data/documentation/gnome-user-docs { }; - - inherit (gnome3) gsettings_desktop_schemas; - - hicolor_icon_theme = callPackage ../data/icons/hicolor-icon-theme { }; - - inconsolata = callPackage ../data/fonts/inconsolata {}; - - ipafont = callPackage ../data/fonts/ipafont {}; - - junicode = callPackage ../data/fonts/junicode { }; - - kochi-substitute = callPackage ../data/fonts/kochi-substitute {}; - - kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {}; - - liberation_ttf = callPackage ../data/fonts/redhat-liberation-fonts { }; - - libertine = builderDefsPackage (import ../data/fonts/libertine) { - inherit fetchurl fontforge lib; - }; - - lmmath = callPackage ../data/fonts/lmodern/lmmath.nix {}; - - lmodern = callPackage ../data/fonts/lmodern { }; - - lohit-fonts = callPackage ../data/fonts/lohit-fonts { }; - - manpages = callPackage ../data/documentation/man-pages { }; - - miscfiles = callPackage ../data/misc/miscfiles { }; - - mobile_broadband_provider_info = callPackage ../data/misc/mobile-broadband-provider-info { }; - - mph_2b_damase = callPackage ../data/fonts/mph-2b-damase { }; - - nafees = callPackage ../data/fonts/nafees { }; - - oldstandard = callPackage ../data/fonts/oldstandard { }; - - opensans-ttf = callPackage ../data/fonts/opensans-ttf { }; - - poly = callPackage ../data/fonts/poly { }; - - posix_man_pages = callPackage ../data/documentation/man-pages-posix { }; - - pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { }; - - shared_mime_info = callPackage ../data/misc/shared-mime-info { }; - - shared_desktop_ontologies = callPackage ../data/misc/shared-desktop-ontologies { }; - - stdmanpages = callPackage ../data/documentation/std-man-pages { }; - - symbola = callPackage ../data/fonts/symbola { }; - - iana_etc = callPackage ../data/misc/iana-etc { }; - - poppler_data = callPackage ../data/misc/poppler-data { }; - - r3rs = callPackage ../data/documentation/rnrs/r3rs.nix { }; - - r4rs = callPackage ../data/documentation/rnrs/r4rs.nix { }; - - r5rs = callPackage ../data/documentation/rnrs/r5rs.nix { }; - - source-code-pro = callPackage ../data/fonts/source-code-pro {}; - - source-sans-pro = callPackage ../data/fonts/source-sans-pro { }; - - source-serif-pro = callPackage ../data/fonts/source-serif-pro { }; - - source-han-sans-japanese = callPackage ../data/fonts/source-han-sans/japanese.nix {}; - source-han-sans-korean = callPackage ../data/fonts/source-han-sans/korean.nix {}; - source-han-sans-simplified-chinese = callPackage ../data/fonts/source-han-sans/simplified-chinese.nix {}; - source-han-sans-traditional-chinese = callPackage ../data/fonts/source-han-sans/traditional-chinese.nix {}; - - tango-icon-theme = callPackage ../data/icons/tango-icon-theme { }; - - themes = name: import (../data/misc/themes + ("/" + name + ".nix")) { - inherit fetchurl; - }; - - theano = callPackage ../data/fonts/theano { }; - - tempora_lgc = callPackage ../data/fonts/tempora-lgc { }; - - terminus_font = callPackage ../data/fonts/terminus-font { }; - - tipa = callPackage ../data/fonts/tipa { }; - - ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { }; - - tzdata = callPackage ../data/misc/tzdata { }; - - ubuntu_font_family = callPackage ../data/fonts/ubuntu-font-family { }; - - ucsFonts = callPackage ../data/fonts/ucs-fonts { }; - - unifont = callPackage ../data/fonts/unifont { }; - - vistafonts = callPackage ../data/fonts/vista-fonts { }; - - wqy_microhei = callPackage ../data/fonts/wqy-microhei { }; - - wqy_zenhei = callPackage ../data/fonts/wqy-zenhei { }; - - xhtml1 = callPackage ../data/sgml+xml/schemas/xml-dtd/xhtml1 { }; - - xkeyboard_config = xorg.xkeyboardconfig; - - - ### APPLICATIONS - - a2jmidid = callPackage ../applications/audio/a2jmidid { }; - - aangifte2006 = callPackage_i686 ../applications/taxes/aangifte-2006 { }; - - aangifte2007 = callPackage_i686 ../applications/taxes/aangifte-2007 { }; - - aangifte2008 = callPackage_i686 ../applications/taxes/aangifte-2008 { }; - - aangifte2009 = callPackage_i686 ../applications/taxes/aangifte-2009 { }; - - aangifte2010 = callPackage_i686 ../applications/taxes/aangifte-2010 { }; - - aangifte2011 = callPackage_i686 ../applications/taxes/aangifte-2011 { }; - - aangifte2012 = callPackage_i686 ../applications/taxes/aangifte-2012 { }; - - aangifte2013 = callPackage_i686 ../applications/taxes/aangifte-2013 { }; - - abcde = callPackage ../applications/audio/abcde { - inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID; - libcdio = libcdio082; - }; - - abiword = callPackage ../applications/office/abiword { - inherit (gnome) libglade libgnomecanvas; - }; - - abook = callPackage ../applications/misc/abook { }; - - adobe-reader = callPackage_i686 ../applications/misc/adobe-reader { }; - - aewan = callPackage ../applications/editors/aewan { }; - - alchemy = callPackage ../applications/graphics/alchemy { }; - - ams-lv2 = callPackage ../applications/audio/ams-lv2 { }; - - amsn = callPackage ../applications/networking/instant-messengers/amsn { }; - - antiword = callPackage ../applications/office/antiword {}; - - ardour = ardour3; - - ardour3 = lowPrio (callPackage ../applications/audio/ardour { - inherit (gnome) libgnomecanvas libgnomecanvasmm; - }); - - arora = callPackage ../applications/networking/browsers/arora { }; - - atom = callPackage ../applications/editors/atom { - gconf = gnome.GConf; - }; - - aseprite = callPackage ../applications/editors/aseprite { - giflib = giflib_4_1; - }; - - audacious = callPackage ../applications/audio/audacious { }; - - audacity = callPackage ../applications/audio/audacity { - ffmpeg = ffmpeg_0_10; - }; - - milkytracker = callPackage ../applications/audio/milkytracker { }; - - aumix = callPackage ../applications/audio/aumix { - gtkGUI = false; - }; - - autopanosiftc = callPackage ../applications/graphics/autopanosiftc { }; - - avidemux = callPackage ../applications/video/avidemux { }; - - avogadro = callPackage ../applications/science/chemistry/avogadro { - eigen = eigen2; - }; - - avrdudess = callPackage ../applications/misc/avrdudess { }; - - avxsynth = callPackage ../applications/video/avxsynth { }; - - awesome-3-4 = callPackage ../applications/window-managers/awesome/3.4.nix { - lua = lua5; - cairo = cairo.override { xcbSupport = true; }; - }; - awesome-3-5 = callPackage ../applications/window-managers/awesome { - lua = lua5_1; - cairo = cairo.override { xcbSupport = true; }; - }; - awesome = awesome-3-5; - - inherit (gnome3) baobab; - - backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { }; - - backintime-gnome = callPackage ../applications/networking/sync/backintime/gnome.nix { }; - - backintime = backintime-gnome; - - bar = callPackage ../applications/window-managers/bar { }; - - baresip = callPackage ../applications/networking/instant-messengers/baresip { - ffmpeg = ffmpeg_1; - }; - - batik = callPackage ../applications/graphics/batik { }; - - bazaar = callPackage ../applications/version-management/bazaar { }; - - bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) { - inherit bazaar; - }; - - beast = callPackage ../applications/audio/beast { - inherit (gnome) libgnomecanvas libart_lgpl; - guile = guile_1_8; - }; - - bibletime = callPackage ../applications/misc/bibletime { }; - - bitcoin = callPackage ../applications/misc/bitcoin {}; - bitcoind = callPackage ../applications/misc/bitcoin { gui = false; }; - - altcoins = recurseIntoAttrs ( - callPackage ../applications/misc/bitcoin/altcoins.nix {} - ); - - bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { - gnutls = gnutls; - libotr = libotr_3_2; - }; - - blender = callPackage ../applications/misc/blender { - python = python34; - }; - - bristol = callPackage ../applications/audio/bristol { }; - - bspwm = callPackage ../applications/window-managers/bspwm { }; - - bvi = callPackage ../applications/editors/bvi { }; - - calf = callPackage ../applications/audio/calf { - inherit (gnome) libglade; - }; - - calibre = callPackage ../applications/misc/calibre { - inherit (pythonPackages) pyqt5 sip_4_16; - }; - - camlistore = callPackage ../applications/misc/camlistore { }; - - carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) { - inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss - gtkspell aspell gettext ncurses avahi dbus dbus_glib python - libtool automake autoconf gstreamer; - inherit gtk glib; - inherit (gnome) startupnotification GConf ; - inherit (xlibs) libXScrnSaver scrnsaverproto libX11 xproto kbproto; - }; - funpidgin = carrier; - - cc1394 = callPackage ../applications/video/cc1394 { }; - - cddiscid = callPackage ../applications/audio/cd-discid { }; - - cdparanoia = cdparanoiaIII; - - cdparanoiaIII = callPackage ../applications/audio/cdparanoia { }; - - cdrtools = callPackage ../applications/misc/cdrtools { }; - - centerim = callPackage ../applications/networking/instant-messengers/centerim { }; - - cgit = callPackage ../applications/version-management/git-and-tools/cgit { }; - - cgminer = callPackage ../applications/misc/cgminer { - amdappsdk = amdappsdk28; - }; - - chatzilla = callPackage ../applications/networking/irc/chatzilla { }; - - chromium = callPackage ../applications/networking/browsers/chromium { - channel = "stable"; - pulseSupport = config.pulseaudio or true; - enablePepperFlash = config.chromium.enablePepperFlash or false; - enablePepperPDF = config.chromium.enablePepperPDF or false; - }; - - chromiumBeta = lowPrio (chromium.override { channel = "beta"; }); - - chromiumDev = lowPrio (chromium.override { channel = "dev"; }); - - cinelerra = callPackage ../applications/video/cinelerra { }; - - clipit = callPackage ../applications/misc/clipit { }; - - cmus = callPackage ../applications/audio/cmus { }; - - compiz = callPackage ../applications/window-managers/compiz { - inherit (gnome) GConf ORBit2 metacity; - boost = boost149; # https://bugs.launchpad.net/compiz/+bug/1131864 - }; - - coriander = callPackage ../applications/video/coriander { - inherit (gnome) libgnomeui GConf; - }; - - csound = callPackage ../applications/audio/csound { }; - - cinepaint = callPackage ../applications/graphics/cinepaint { - fltk = fltk13; - libpng = libpng12; - }; - - codeblocks = callPackage ../applications/editors/codeblocks { }; - codeblocksFull = callPackage ../applications/editors/codeblocks { contribPlugins = true; }; - - codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) { - inherit makeWrapper; - python = pythonFull; - }; - - comical = callPackage ../applications/graphics/comical { }; - - conkeror = callPackage ../applications/networking/browsers/conkeror { }; - - conkerorWrapper = wrapFirefox { - browser = conkeror; - browserName = "conkeror"; - desktopName = "Conkeror"; - }; - - cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) { - inherit cmake patchelf; - imagemagick = imagemagick; - }; - - cvs = callPackage ../applications/version-management/cvs { }; - - cvsps = callPackage ../applications/version-management/cvsps { }; - - cvs2svn = callPackage ../applications/version-management/cvs2svn { }; - - d4x = callPackage ../applications/misc/d4x { }; - - darcs = with haskellPackages_ghc783; callPackage ../applications/version-management/darcs { - cabal = cabal.override { - extension = self : super : { - isLibrary = false; - configureFlags = "-f-library " + super.configureFlags or ""; - }; - }; - }; - - darktable = callPackage ../applications/graphics/darktable { - inherit (gnome) GConf libglade; - }; - - dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; }; - - dia = callPackage ../applications/graphics/dia { - inherit (pkgs.gnome) libart_lgpl libgnomeui; - }; - - diffuse = callPackage ../applications/version-management/diffuse { }; - - distrho = callPackage ../applications/audio/distrho {}; - - djvulibre = callPackage ../applications/misc/djvulibre { }; - - djvu2pdf = callPackage ../tools/typesetting/djvu2pdf { }; - - djview = callPackage ../applications/graphics/djview { }; - djview4 = pkgs.djview; - - dmenu = callPackage ../applications/misc/dmenu { - enableXft = config.dmenu.enableXft or false; - }; - - dmtx = builderDefsPackage (import ../tools/graphics/dmtx) { - inherit libpng libtiff libjpeg imagemagick librsvg - pkgconfig bzip2 zlib libtool freetype fontconfig - ghostscript jasper xz; - inherit (xlibs) libX11; - }; - - docker = callPackage ../applications/virtualization/docker { }; - - doodle = callPackage ../applications/search/doodle { }; - - dunst = callPackage ../applications/misc/dunst { }; - - dvb_apps = callPackage ../applications/video/dvb-apps { }; - - dvdauthor = callPackage ../applications/video/dvdauthor { }; - - dwb = callPackage ../applications/networking/browsers/dwb { dconf = gnome3.dconf; }; - - dwbWrapper = wrapFirefox - { browser = dwb; browserName = "dwb"; desktopName = "dwb"; - }; - - dwm = callPackage ../applications/window-managers/dwm { - patches = config.dwm.patches or []; - }; - - dzen2 = callPackage ../applications/window-managers/dzen2 { }; - - eaglemode = callPackage ../applications/misc/eaglemode { }; - - eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse { }); - - ed = callPackage ../applications/editors/ed { }; - - ekho = callPackage ../applications/audio/ekho { }; - - electrum = callPackage ../applications/misc/electrum { }; - - elinks = callPackage ../applications/networking/browsers/elinks { }; - - elvis = callPackage ../applications/editors/elvis { }; - - emacs = emacs24; - - emacs24 = callPackage ../applications/editors/emacs-24 { - # use override to enable additional features - libXaw = xlibs.libXaw; - Xaw3d = null; - gconf = null; - librsvg = null; - alsaLib = null; - imagemagick = null; - }; - - emacs24-nox = lowPrio (appendToName "nox" (emacs24.override { - withX = false; - })); - - emacs24Macport = lowPrio (callPackage ../applications/editors/emacs-24/macport.nix { - stdenv = pkgs.clangStdenv; - }); - - emacsPackages = emacs: self: let callPackage = newScope self; in rec { - inherit emacs; - - autoComplete = callPackage ../applications/editors/emacs-modes/auto-complete { }; - - bbdb = callPackage ../applications/editors/emacs-modes/bbdb { }; - - bbdb3 = callPackage ../applications/editors/emacs-modes/bbdb/3.nix {}; - - cedet = callPackage ../applications/editors/emacs-modes/cedet { }; - - calfw = callPackage ../applications/editors/emacs-modes/calfw { }; - - coffee = callPackage ../applications/editors/emacs-modes/coffee { }; - - colorTheme = callPackage ../applications/editors/emacs-modes/color-theme { }; - - colorThemeSolarized = callPackage ../applications/editors/emacs-modes/color-theme-solarized { }; - - cryptol = callPackage ../applications/editors/emacs-modes/cryptol { }; - - cua = callPackage ../applications/editors/emacs-modes/cua { }; - - darcsum = callPackage ../applications/editors/emacs-modes/darcsum { }; - - # ecb = callPackage ../applications/editors/emacs-modes/ecb { }; - - jabber = callPackage ../applications/editors/emacs-modes/jabber { }; - - emacsClangCompleteAsync = callPackage ../applications/editors/emacs-modes/emacs-clang-complete-async { }; - - emacsSessionManagement = callPackage ../applications/editors/emacs-modes/session-management-for-emacs { }; - - emacsw3m = callPackage ../applications/editors/emacs-modes/emacs-w3m { }; - - emms = callPackage ../applications/editors/emacs-modes/emms { }; - - ess = callPackage ../applications/editors/emacs-modes/ess { }; - - flymakeCursor = callPackage ../applications/editors/emacs-modes/flymake-cursor { }; - - gh = callPackage ../applications/editors/emacs-modes/gh { }; - - graphvizDot = callPackage ../applications/editors/emacs-modes/graphviz-dot { }; - - gist = callPackage ../applications/editors/emacs-modes/gist { }; - - idris = callPackage ../applications/editors/emacs-modes/idris { }; - - jade = callPackage ../applications/editors/emacs-modes/jade { }; - - jdee = callPackage ../applications/editors/emacs-modes/jdee { - # Requires Emacs 23, for `avl-tree'. - }; - - js2 = callPackage ../applications/editors/emacs-modes/js2 { }; - - stratego = callPackage ../applications/editors/emacs-modes/stratego { }; - - haskellMode = callPackage ../applications/editors/emacs-modes/haskell { }; - - ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { }; - - structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode { - inherit (haskellPackages) cabal haskellSrcExts; - }; - - tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { }; - - hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { }; - - htmlize = callPackage ../applications/editors/emacs-modes/htmlize { }; - - logito = callPackage ../applications/editors/emacs-modes/logito { }; - - loremIpsum = callPackage ../applications/editors/emacs-modes/lorem-ipsum { }; - - magit = callPackage ../applications/editors/emacs-modes/magit { }; - - maudeMode = callPackage ../applications/editors/emacs-modes/maude { }; - - metaweblog = callPackage ../applications/editors/emacs-modes/metaweblog { }; - - notmuch = lowPrio (callPackage ../applications/networking/mailreaders/notmuch { }); - - offlineimap = callPackage ../applications/editors/emacs-modes/offlineimap {}; - - # This is usually a newer version of Org-Mode than that found in GNU Emacs, so - # we want it to have higher precedence. - org = hiPrio (callPackage ../applications/editors/emacs-modes/org { }); - - org2blog = callPackage ../applications/editors/emacs-modes/org2blog { }; - - pcache = callPackage ../applications/editors/emacs-modes/pcache { }; - - phpMode = callPackage ../applications/editors/emacs-modes/php { }; - - prologMode = callPackage ../applications/editors/emacs-modes/prolog { }; - - proofgeneral_4_2 = callPackage ../applications/editors/emacs-modes/proofgeneral/4.2.nix { - texinfo = texinfo4 ; - texLive = pkgs.texLiveAggregationFun { - paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; - }; - }; - proofgeneral_4_3_pre = callPackage ../applications/editors/emacs-modes/proofgeneral/4.3pre.nix { - texinfo = texinfo4 ; - texLive = pkgs.texLiveAggregationFun { - paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; - }; - }; - proofgeneral = self.proofgeneral_4_2; - - quack = callPackage ../applications/editors/emacs-modes/quack { }; - - rectMark = callPackage ../applications/editors/emacs-modes/rect-mark { }; - - remember = callPackage ../applications/editors/emacs-modes/remember { }; - - rudel = callPackage ../applications/editors/emacs-modes/rudel { }; - - sbtMode = callPackage ../applications/editors/emacs-modes/sbt-mode { }; - - scalaMode1 = callPackage ../applications/editors/emacs-modes/scala-mode/v1.nix { }; - scalaMode2 = callPackage ../applications/editors/emacs-modes/scala-mode/v2.nix { }; - - sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { }; - - writeGood = callPackage ../applications/editors/emacs-modes/writegood { }; - - xmlRpc = callPackage ../applications/editors/emacs-modes/xml-rpc { }; - }; - - emacs24Packages = recurseIntoAttrs (emacsPackages emacs24 pkgs.emacs24Packages); - - inherit (gnome3) empathy; - - epdfview = callPackage ../applications/misc/epdfview { }; - - inherit (gnome3) epiphany; - - espeak = callPackage ../applications/audio/espeak { }; - - espeakedit = callPackage ../applications/audio/espeak/edit.nix { }; - - esniper = callPackage ../applications/networking/esniper { }; - - etherape = callPackage ../applications/networking/sniffers/etherape { - inherit (gnome) gnomedocutils libgnome libglade libgnomeui scrollkeeper; - }; - - evilvte = callPackage ../applications/misc/evilvte { - configH = config.evilvte.config or ""; - }; - - evopedia = callPackage ../applications/misc/evopedia { }; - - keepassx = callPackage ../applications/misc/keepassx { }; - keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { }; - - inherit (gnome3) evince; - evolution_data_server = gnome3.evolution_data_server; - - keepass = callPackage ../applications/misc/keepass { }; - - exrdisplay = callPackage ../applications/graphics/exrdisplay { - fltk = fltk20; - }; - - fbpanel = callPackage ../applications/window-managers/fbpanel { }; - - fbreader = callPackage ../applications/misc/fbreader { }; - - fetchmail = import ../applications/misc/fetchmail { - inherit stdenv fetchurl openssl; - }; - - fldigi = callPackage ../applications/audio/fldigi { }; - - fluidsynth = callPackage ../applications/audio/fluidsynth { }; - - fossil = callPackage ../applications/version-management/fossil { }; - - fribid = callPackage ../applications/networking/browsers/mozilla-plugins/fribid { }; - - fvwm = callPackage ../applications/window-managers/fvwm { }; - - geany = callPackage ../applications/editors/geany { }; - - gksu = callPackage ../applications/misc/gksu { }; - - gnuradio = callPackage ../applications/misc/gnuradio { - inherit (pythonPackages) lxml numpy scipy matplotlib pyopengl; - fftw = fftwFloat; - }; - - gnuradio-osmosdr = callPackage ../applications/misc/gnuradio-osmosdr { }; - - goldendict = callPackage ../applications/misc/goldendict { }; - - google-musicmanager = callPackage ../applications/audio/google-musicmanager { }; - - gpicview = callPackage ../applications/graphics/gpicview { }; - - gqrx = callPackage ../applications/misc/gqrx { }; - - grass = import ../applications/misc/grass { - inherit (xlibs) libXmu libXext libXp libX11 libXt libSM libICE libXpm - libXaw libXrender; - inherit config composableDerivation stdenv fetchurl - lib flex bison cairo fontconfig - gdal zlib ncurses gdbm proj pkgconfig swig - blas liblapack libjpeg libpng mysql unixODBC mesa postgresql python - readline sqlite tcl tk libtiff freetype makeWrapper wxGTK; - fftw = fftwSinglePrec; - ffmpeg = ffmpeg_0_10; - motif = lesstif; - opendwg = libdwg; - wxPython = wxPython28; - }; - - grip = callPackage ../applications/misc/grip { - inherit (gnome) libgnome libgnomeui vte; - }; - - gtimelog = pythonPackages.gtimelog; - - inherit (gnome3) gucharmap; - - guitarix = callPackage ../applications/audio/guitarix { - fftw = fftwSinglePrec; - }; - - photivo = callPackage ../applications/graphics/photivo { }; - - wavesurfer = callPackage ../applications/misc/audio/wavesurfer { }; - - wireshark = callPackage ../applications/networking/sniffers/wireshark { }; - - wvdial = callPackage ../os-specific/linux/wvdial { }; - - fbida = callPackage ../applications/graphics/fbida { }; - - fdupes = callPackage ../tools/misc/fdupes { }; - - feh = callPackage ../applications/graphics/feh { }; - - filezilla = callPackage ../applications/networking/ftp/filezilla { }; - - firefox13Pkgs = callPackage ../applications/networking/browsers/firefox/13.0.nix { - inherit (gnome) libIDL; - }; - - firefox13Wrapper = wrapFirefox { browser = firefox13Pkgs.firefox; }; - - firefox30Pkgs = callPackage ../applications/networking/browsers/firefox/30.nix { - inherit (gnome) libIDL; - inherit (pythonPackages) pysqlite; - libpng = libpng_apng; - }; - - firefox = callPackage ../applications/networking/browsers/firefox { - inherit (gnome) libIDL; - inherit (pythonPackages) pysqlite; - }; - - firefoxWrapper = wrapFirefox { browser = pkgs.firefox; }; - - firefox-bin = callPackage ../applications/networking/browsers/firefox-bin { - gconf = pkgs.gnome.GConf; - inherit (pkgs.gnome) libgnome libgnomeui; - inherit (pkgs.xlibs) libX11 libXScrnSaver libXext - libXinerama libXrender libXt; - }; - - flac = callPackage ../applications/audio/flac { }; - - flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 { - debug = config.flashplayer.debug or false; - }; - - fluxbox = callPackage ../applications/window-managers/fluxbox { }; - - freecad = callPackage ../applications/graphics/freecad { - opencascade = opencascade_6_5; - inherit (pythonPackages) matplotlib pycollada; - }; - - freemind = callPackage ../applications/misc/freemind { - jdk = jdk; - jre = jdk; - }; - - freenet = callPackage ../applications/networking/p2p/freenet { }; - - freepv = callPackage ../applications/graphics/freepv { }; - - xfontsel = callPackage ../applications/misc/xfontsel { }; - xlsfonts = callPackage ../applications/misc/xlsfonts { }; - - freerdp = callPackage ../applications/networking/remote/freerdp { - ffmpeg = ffmpeg_1; - }; - - freerdpUnstable = callPackage ../applications/networking/remote/freerdp/unstable.nix { }; - - freicoin = callPackage ../applications/misc/freicoin { }; - - fspot = callPackage ../applications/graphics/f-spot { - inherit (gnome) libgnome libgnomeui; - gtksharp = gtksharp1; - }; - - fuze = callPackage ../applications/networking/instant-messengers/fuze {}; - - gcolor2 = callPackage ../applications/graphics/gcolor2 { }; - - get_iplayer = callPackage ../applications/misc/get_iplayer {}; - - gimp_2_8 = callPackage ../applications/graphics/gimp/2.8.nix { - inherit (gnome) libart_lgpl; - webkit = null; - lcms = lcms2; - wrapPython = pythonPackages.wrapPython; - }; - - gimp = gimp_2_8; - - gimpPlugins = recurseIntoAttrs (import ../applications/graphics/gimp/plugins { - inherit pkgs gimp; - }); - - gitAndTools = recurseIntoAttrs (import ../applications/version-management/git-and-tools { - inherit pkgs; - }); - git = gitAndTools.git; - gitFull = gitAndTools.gitFull; - gitSVN = gitAndTools.gitSVN; - - gitRepo = callPackage ../applications/version-management/git-repo { - python = python27; - }; - - gitolite = callPackage ../applications/version-management/gitolite { }; - - inherit (gnome3) gitg; - - giv = callPackage ../applications/graphics/giv { - pcre = pcre.override { unicodeSupport = true; }; - }; - - gmrun = callPackage ../applications/misc/gmrun {}; - - gnucash = callPackage ../applications/office/gnucash { - inherit (gnome2) libgnomeui libgtkhtml gtkhtml libbonoboui libgnomeprint libglade libart_lgpl; - gconf = gnome2.GConf; - guile = guile_1_8; - slibGuile = slibGuile.override { scheme = guile_1_8; }; - goffice = goffice_0_8; - }; - - goffice_0_8 = callPackage ../desktops/gnome-3/3.10/misc/goffice/0.8.nix { - inherit (gnome2) libglade libgnomeui; - gconf = gnome2.GConf; - libart = gnome2.libart_lgpl; - }; # latest version: gnome3.goffice - - ideas = recurseIntoAttrs ( (callPackage ../applications/editors/idea { }) - // (callPackage ../applications/editors/idea/pycharm.nix { })); - - libquvi = callPackage ../applications/video/quvi/library.nix { }; - - mi2ly = callPackage ../applications/audio/mi2ly {}; - - praat = callPackage ../applications/audio/praat { }; - - quvi = callPackage ../applications/video/quvi/tool.nix { }; - - quvi_scripts = callPackage ../applications/video/quvi/scripts.nix { }; - - qjackctl = callPackage ../applications/audio/qjackctl { }; - - gkrellm = callPackage ../applications/misc/gkrellm { }; - - gmu = callPackage ../applications/audio/gmu { }; - - gnash = callPackage ../applications/video/gnash { - inherit (gnome) gtkglext; - }; - - gnome_mplayer = callPackage ../applications/video/gnome-mplayer { - inherit (gnome) GConf; - }; - - gnumeric = callPackage ../applications/office/gnumeric { - inherit (gnome3) goffice gnome_icon_theme; - }; - - gnunet = callPackage ../applications/networking/p2p/gnunet { - libgcrypt = libgcrypt_1_6; - }; - - gnunet_svn = lowPrio (callPackage ../applications/networking/p2p/gnunet/svn.nix { - libgcrypt = libgcrypt_1_6; - }); - - gocr = callPackage ../applications/graphics/gocr { }; - - gobby5 = callPackage ../applications/editors/gobby { - inherit (gnome) gtksourceview; - }; - - gphoto2 = callPackage ../applications/misc/gphoto2 { }; - - gphoto2fs = builderDefsPackage ../applications/misc/gphoto2/gphotofs.nix { - inherit libgphoto2 fuse pkgconfig glib libtool; - }; - - graphicsmagick = callPackage ../applications/graphics/graphicsmagick { }; - graphicsmagick_q16 = callPackage ../applications/graphics/graphicsmagick { quantumdepth = 16; }; - - graphicsmagick137 = callPackage ../applications/graphics/graphicsmagick/1.3.7.nix { - libpng = libpng12; - }; - - gtkpod = callPackage ../applications/audio/gtkpod { - inherit (gnome) libglade; - }; - - jbidwatcher = callPackage ../applications/misc/jbidwatcher { - java = if stdenv.isLinux then jre else jdk; - }; - - qrdecode = builderDefsPackage (import ../tools/graphics/qrdecode) { - libpng = libpng12; - opencv = opencv_2_1; - }; - - qrencode = callPackage ../tools/graphics/qrencode { }; - - gecko_mediaplayer = callPackage ../applications/networking/browsers/mozilla-plugins/gecko-mediaplayer { - inherit (gnome) GConf; - browser = firefox; - }; - - geeqie = callPackage ../applications/graphics/geeqie { }; - - gigedit = callPackage ../applications/audio/gigedit { }; - - gqview = callPackage ../applications/graphics/gqview { }; - - gmpc = callPackage ../applications/audio/gmpc { }; - - gmtk = callPackage ../applications/networking/browsers/mozilla-plugins/gmtk { - inherit (gnome) GConf; - }; - - googleearth = callPackage_i686 ../applications/misc/googleearth { }; - - google_talk_plugin = callPackage ../applications/networking/browsers/mozilla-plugins/google-talk-plugin { - libpng = libpng12; - }; - - gosmore = builderDefsPackage ../applications/misc/gosmore { - inherit fetchsvn curl pkgconfig libxml2 gtk; - }; - - gpsbabel = callPackage ../applications/misc/gpsbabel { }; - - gpscorrelate = callPackage ../applications/misc/gpscorrelate { }; - - gpsd = callPackage ../servers/gpsd { }; - - guitone = callPackage ../applications/version-management/guitone { - graphviz = graphviz_2_32; - }; - - gv = callPackage ../applications/misc/gv { }; - - guvcview = callPackage ../os-specific/linux/guvcview { }; - - hello = callPackage ../applications/misc/hello/ex-2 { }; - - herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { }; - - hexchat = callPackage ../applications/networking/irc/hexchat { }; - - hexedit = callPackage ../applications/editors/hexedit { }; - - hipchat = callPackage ../applications/networking/instant-messengers/hipchat { }; - - homebank = callPackage ../applications/office/homebank { }; - - htmldoc = callPackage ../applications/misc/htmldoc { - fltk = fltk13; - }; - - hugin = callPackage ../applications/graphics/hugin { }; - - hydrogen = callPackage ../applications/audio/hydrogen { }; - - i3 = callPackage ../applications/window-managers/i3 { }; - - i3lock = callPackage ../applications/window-managers/i3/lock.nix { - inherit (xorg) libxkbfile; - cairo = cairo.override { xcbSupport = true; }; - }; - - i3minator = callPackage ../tools/misc/i3minator { }; - - i3status = callPackage ../applications/window-managers/i3/status.nix { }; - - i810switch = callPackage ../os-specific/linux/i810switch { }; - - icewm = callPackage ../applications/window-managers/icewm { }; - - id3v2 = callPackage ../applications/audio/id3v2 { }; - - ifenslave = callPackage ../os-specific/linux/ifenslave { }; - - ii = callPackage ../applications/networking/irc/ii { }; - - ike = callPackage ../applications/ike { }; - - ikiwiki = callPackage ../applications/misc/ikiwiki { - inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber - HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder LocaleGettext - RpcXML XMLSimple PerlMagick YAML YAMLLibYAML HTMLTree Filechdir - AuthenPassphrase NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay; - }; - - imagemagick = callPackage ../applications/graphics/ImageMagick { - tetex = null; - librsvg = null; - }; - - imagemagickBig = lowPrio (callPackage ../applications/graphics/ImageMagick { }); - - # Impressive, formerly known as "KeyJNote". - impressive = callPackage ../applications/office/impressive { - # XXX These are the PyOpenGL dependencies, which we need here. - inherit (pythonPackages) pyopengl; - }; - - inferno = callPackage_i686 ../applications/inferno { }; - - inkscape = callPackage ../applications/graphics/inkscape { - inherit (pythonPackages) lxml; - lcms = lcms2; - }; - - ion3 = callPackage ../applications/window-managers/ion-3 { - lua = lua5; - }; - - ipe = callPackage ../applications/graphics/ipe { }; - - iptraf = callPackage ../applications/networking/iptraf { }; - - irssi = callPackage ../applications/networking/irc/irssi { - # compile with gccApple on darwin to support the -no-cpp-precompile flag - stdenv = if stdenv.isDarwin - then stdenvAdapters.overrideGCC stdenv gccApple - else stdenv; - }; - - irssi_fish = callPackage ../applications/networking/irc/irssi/fish { }; - - irssi_otr = callPackage ../applications/networking/irc/irssi/otr { }; - - bip = callPackage ../applications/networking/irc/bip { }; - - jack_capture = callPackage ../applications/audio/jack-capture { }; - - jack_oscrolloscope = callPackage ../applications/audio/jack-oscrolloscope { }; - - jack_rack = callPackage ../applications/audio/jack-rack { }; - - jackmeter = callPackage ../applications/audio/jackmeter { }; - - jalv = callPackage ../applications/audio/jalv { }; - - jedit = callPackage ../applications/editors/jedit { }; - - jigdo = callPackage ../applications/misc/jigdo { }; - - jitsi = callPackage ../applications/networking/instant-messengers/jitsi { }; - - joe = callPackage ../applications/editors/joe { }; - - jbrout = callPackage ../applications/graphics/jbrout { - inherit (pythonPackages) lxml; - }; - - jwm = callPackage ../applications/window-managers/jwm { }; - - k3d = callPackage ../applications/graphics/k3d { - inherit (pkgs.gnome2) gtkglext; - }; - - keepnote = callPackage ../applications/office/keepnote { - pygtk = pyGtkGlade; - }; - - kermit = callPackage ../tools/misc/kermit { }; - - keymon = callPackage ../applications/video/key-mon { }; - - kino = callPackage ../applications/video/kino { - inherit (gnome) libglade; - }; - - koji = callPackage ../tools/package-management/koji { }; - - lame = callPackage ../applications/audio/lame { }; - - larswm = callPackage ../applications/window-managers/larswm { }; - - lash = callPackage ../applications/audio/lash { }; - - ladspaH = callPackage ../applications/audio/ladspa-plugins/ladspah.nix { }; - - ladspaPlugins = callPackage ../applications/audio/ladspa-plugins { - fftw = fftwSinglePrec; - }; - - caps = callPackage ../applications/audio/caps { }; - - lastwatch = callPackage ../applications/audio/lastwatch { }; - - lastfmsubmitd = callPackage ../applications/audio/lastfmsubmitd { }; - - lbdb = callPackage ../tools/misc/lbdb { }; - - lci = callPackage ../applications/science/logic/lci {}; - - ldcpp = callPackage ../applications/networking/p2p/ldcpp { - inherit (gnome) libglade; - }; - - librecad = callPackage ../applications/misc/librecad { }; - - librecad2 = callPackage ../applications/misc/librecad/2.0.nix { }; - - libreoffice = callPackage ../applications/office/libreoffice { - inherit (perlPackages) ArchiveZip CompressZlib; - inherit (gnome) GConf ORBit2 gnome_vfs; - zip = zip.override { enableNLS = false; }; - boost = boost155; - jdk = openjdk; - fontsConf = makeFontsConf { - fontDirectories = [ - freefont_ttf xorg.fontmiscmisc xorg.fontbhttf - ]; - }; - clucene_core = clucene_core_2; - lcms = lcms2; - harfbuzz = harfbuzz.override { - withIcu = true; withGraphite2 = true; - }; - }; - - liferea = callPackage ../applications/networking/newsreaders/liferea { }; - - lingot = callPackage ../applications/audio/lingot { - inherit (gnome) libglade; - }; - - links = callPackage ../applications/networking/browsers/links { }; - - ledger = callPackage ../applications/office/ledger/2.6.3.nix { }; - ledger3 = callPackage ../applications/office/ledger/3.0.nix { }; - - lighttable = callPackage ../applications/editors/lighttable {}; - - links2 = callPackage ../applications/networking/browsers/links2 { }; - - linphone = callPackage ../applications/networking/instant-messengers/linphone rec { - inherit (gnome) libglade; - libexosip = libexosip_3; - libosip = libosip_3; - }; - - linuxsampler = callPackage ../applications/audio/linuxsampler { - bison = bison2; - }; - - llpp = callPackage ../applications/misc/llpp { inherit (ocamlPackages) lablgl; }; - - lmms = callPackage ../applications/audio/lmms { }; - - lrzsz = callPackage ../tools/misc/lrzsz { }; - - luminanceHDR = callPackage ../applications/graphics/luminance-hdr { }; - - lxdvdrip = callPackage ../applications/video/lxdvdrip { }; - - handbrake = callPackage ../applications/video/handbrake { }; - - lilyterm = callPackage ../applications/misc/lilyterm { - inherit (gnome) vte; - gtk = gtk2; - }; - - lynx = callPackage ../applications/networking/browsers/lynx { }; - - lyx = callPackage ../applications/misc/lyx { }; - - makeself = callPackage ../applications/misc/makeself { }; - - matchbox = callPackage ../applications/window-managers/matchbox { }; - - mcpp = callPackage ../development/compilers/mcpp { }; - - mda_lv2 = callPackage ../applications/audio/mda-lv2 { }; - - meld = callPackage ../applications/version-management/meld { - inherit (gnome) scrollkeeper; - pygtk = pyGtkGlade; - }; - - mcomix = callPackage ../applications/graphics/mcomix { }; - - mercurial = callPackage ../applications/version-management/mercurial { - inherit (pythonPackages) curses docutils; - guiSupport = false; # use mercurialFull to get hgk GUI - }; - - mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; }); - - merkaartor = callPackage ../applications/misc/merkaartor { }; - - meshlab = callPackage ../applications/graphics/meshlab { }; - - mhwaveedit = callPackage ../applications/audio/mhwaveedit {}; - - mid2key = callPackage ../applications/audio/mid2key { }; - - midori = callPackage ../applications/networking/browsers/midori { }; - - midoriWrapper = wrapFirefox - { browser = midori; browserName = "midori"; desktopName = "Midori"; - icon = "${midori}/share/icons/hicolor/22x22/apps/midori.png"; - }; - - mikmod = callPackage ../applications/audio/mikmod { }; - - minicom = callPackage ../tools/misc/minicom { }; - - minimodem = callPackage ../applications/audio/minimodem { }; - - minidjvu = callPackage ../applications/graphics/minidjvu { }; - - mirage = callPackage ../applications/graphics/mirage {}; - - mixxx = callPackage ../applications/audio/mixxx { - inherit (vamp) vampSDK; - }; - - mmex = callPackage ../applications/office/mmex { }; - - moc = callPackage ../applications/audio/moc { }; - - monkeysAudio = callPackage ../applications/audio/monkeys-audio { }; - - monodevelop = callPackage ../applications/editors/monodevelop { - inherit (gnome) gnome_vfs libbonobo libglade libgnome GConf; - mozilla = firefox; - gtksharp = gtksharp2; - }; - - monodoc = callPackage ../applications/editors/monodoc { - gtksharp = gtksharp1; - }; - - monotone = callPackage ../applications/version-management/monotone { - lua = lua5; - boost = boost149; - }; - - monotoneViz = builderDefsPackage (import ../applications/version-management/monotone-viz/mtn-head.nix) { - inherit ocaml graphviz pkgconfig autoconf automake libtool glib gtk; - inherit (ocamlPackages) lablgtk; - inherit (gnome) libgnomecanvas; - }; - - mopidy = callPackage ../applications/audio/mopidy { }; - - mopidy-spotify = callPackage ../applications/audio/mopidy-spotify { }; - - mopidy-moped = callPackage ../applications/audio/mopidy-moped { }; - - mozilla = callPackage ../applications/networking/browsers/mozilla { - inherit (gnome) libIDL; - }; - - mozplugger = builderDefsPackage (import ../applications/networking/browsers/mozilla-plugins/mozplugger) { - inherit firefox; - inherit (xlibs) libX11 xproto; - }; - - easytag = callPackage ../applications/audio/easytag { }; - - mp3info = callPackage ../applications/audio/mp3info { }; - - mp3splt = callPackage ../applications/audio/mp3splt { }; - - mpc123 = callPackage ../applications/audio/mpc123 { }; - - mpg123 = callPackage ../applications/audio/mpg123 { }; - - mpg321 = callPackage ../applications/audio/mpg321 { }; - - mpc_cli = callPackage ../applications/audio/mpc { }; - - ncmpc = callPackage ../applications/audio/ncmpc { }; - - ncmpcpp = callPackage ../applications/audio/ncmpcpp { }; - - normalize = callPackage ../applications/audio/normalize { }; - - mplayer = callPackage ../applications/video/mplayer { - pulseSupport = config.pulseaudio or false; - vdpauSupport = config.mplayer.vdpauSupport or false; - }; - - mplayer2 = callPackage ../applications/video/mplayer2 { - ffmpeg = libav_9; # see https://trac.macports.org/ticket/44386 - }; - - MPlayerPlugin = browser: - import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in { - inherit browser; - inherit fetchurl stdenv pkgconfig gettext; - inherit (xlibs) libXpm; - # !!! should depend on MPlayer - }; - - mpv = callPackage ../applications/video/mpv { - lua = lua5_1; - bs2bSupport = config.mpv.bs2bSupport or true; - quviSupport = config.mpv.quviSupport or false; - cacaSupport = config.mpv.cacaSupport or true; - vaapiSupport = config.mpv.vaapiSupport or false; - }; - - mrxvt = callPackage ../applications/misc/mrxvt { }; - - multisync = callPackage ../applications/misc/multisync { - inherit (gnome) ORBit2 libbonobo libgnomeui GConf; - }; - - mumble = callPackage ../applications/networking/mumble { - avahi = avahi.override { - withLibdnssdCompat = true; - }; - jackSupport = config.mumble.jackSupport or false; - speechdSupport = config.mumble.speechdSupport or false; - }; - - murmur = callPackage ../applications/networking/mumble/murmur.nix { - avahi = avahi.override { - withLibdnssdCompat = true; - }; - iceSupport = config.murmur.iceSupport or true; - }; - - mutt = callPackage ../applications/networking/mailreaders/mutt { }; - - namecoin = callPackage ../applications/misc/namecoin { }; - namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { }; - - pcmanfm = callPackage ../applications/misc/pcmanfm { }; - - ruby_gpgme = callPackage ../development/libraries/ruby_gpgme { - ruby = ruby19; - hoe = rubyLibs.hoe; - }; - - ruby_ncursesw_sup = callPackage ../development/libraries/ruby_ncursesw_sup { }; - - shotcut = callPackage ../applications/video/shotcut { mlt = mlt-qt5; }; - - smplayer = callPackage ../applications/video/smplayer { }; - - sup = with rubyLibs; callPackage ../applications/networking/mailreaders/sup { - ruby = ruby19.override { - cursesSupport = true; - }; - - inherit gettext highline iconv locale lockfile - text trollop xapian_ruby which; - - rmail_sup = ""; # missing - unicode = ""; - - # See https://github.com/NixOS/nixpkgs/issues/1804 and - # https://github.com/NixOS/nixpkgs/issues/2146 - bundler = pkgs.lib.overrideDerivation pkgs.rubyLibs.bundler ( - oldAttrs: { - dontPatchShebangs = 1; - } - ); - chronic = chronic; - gpgme = ruby_gpgme; - mime_types = mime_types; - ncursesw_sup = ruby_ncursesw_sup; - rake = rake; - }; - - synfigstudio = callPackage ../applications/graphics/synfigstudio { - fontsConf = makeFontsConf { fontDirectories = [ freefont_ttf ]; }; - }; - - sxhkd = callPackage ../applications/window-managers/sxhkd { }; - - msmtp = callPackage ../applications/networking/msmtp { }; - - imapfilter = callPackage ../applications/networking/mailreaders/imapfilter.nix { - lua = lua5; - }; - - mupdf = callPackage ../applications/misc/mupdf { }; - - mypaint = callPackage ../applications/graphics/mypaint { }; - - mythtv = callPackage ../applications/video/mythtv { }; - - tvtime = callPackage ../applications/video/tvtime { - kernel = linux; - }; - - nano = callPackage ../applications/editors/nano { }; - - nanoblogger = callPackage ../applications/misc/nanoblogger { }; - - navipowm = callPackage ../applications/misc/navipowm { }; - - navit = callPackage ../applications/misc/navit { }; - - netbeans = callPackage ../applications/editors/netbeans { }; - - ncdu = callPackage ../tools/misc/ncdu { }; - - ncdc = callPackage ../applications/networking/p2p/ncdc { }; - - nedit = callPackage ../applications/editors/nedit { - motif = lesstif; - }; - - netsurfBrowser = netsurf.browser; - netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; }); - - notmuch = callPackage ../applications/networking/mailreaders/notmuch { - # use emacsPackages.notmuch if you want emacs support - emacs = null; - }; - - nova = callPackage ../applications/virtualization/nova { }; - - novaclient = callPackage ../applications/virtualization/nova/client.nix { }; - - nspluginwrapper = callPackage ../applications/networking/browsers/mozilla-plugins/nspluginwrapper {}; - - nvi = callPackage ../applications/editors/nvi { }; - - nvpy = callPackage ../applications/editors/nvpy { }; - - obconf = callPackage ../tools/X11/obconf { - inherit (gnome) libglade; - }; - - ocrad = callPackage ../applications/graphics/ocrad { }; - - offrss = callPackage ../applications/networking/offrss { }; - - ogmtools = callPackage ../applications/video/ogmtools { }; - - omxplayer = callPackage ../applications/video/omxplayer { }; - - oneteam = callPackage ../applications/networking/instant-messengers/oneteam {}; - - openbox = callPackage ../applications/window-managers/openbox { }; - - openimageio = callPackage ../applications/graphics/openimageio { }; - - openjump = callPackage ../applications/misc/openjump { }; - - openscad = callPackage ../applications/graphics/openscad {}; - - opera = callPackage ../applications/networking/browsers/opera { - inherit (pkgs.kde4) kdelibs; - }; - - opusfile = callPackage ../applications/audio/opusfile { }; - - opusTools = callPackage ../applications/audio/opus-tools { }; - - pamixer = callPackage ../applications/audio/pamixer { }; - - pan = callPackage ../applications/networking/newsreaders/pan { - spellChecking = false; - }; - - panotools = callPackage ../applications/graphics/panotools { }; - - pavucontrol = callPackage ../applications/audio/pavucontrol { }; - - paraview = callPackage ../applications/graphics/paraview { }; - - pencil = callPackage ../applications/graphics/pencil { }; - - petrifoo = callPackage ../applications/audio/petrifoo { - inherit (gnome) libgnomecanvas; - }; - - pdftk = callPackage ../tools/typesetting/pdftk { }; - pdfgrep = callPackage ../tools/typesetting/pdfgrep { }; - - pianobar = callPackage ../applications/audio/pianobar { }; - - pianobooster = callPackage ../applications/audio/pianobooster { }; - - picard = callPackage ../applications/audio/picard { }; - - picocom = callPackage ../tools/misc/picocom { }; - - pidgin = callPackage ../applications/networking/instant-messengers/pidgin { - openssl = if config.pidgin.openssl or true then openssl else null; - gnutls = if config.pidgin.gnutls or false then gnutls else null; - libgcrypt = if config.pidgin.gnutls or false then libgcrypt else null; - startupnotification = libstartup_notification; - }; - - pidginlatex = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex { - imagemagick = imagemagickBig; - }; - - pidginlatexSF = builderDefsPackage - (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix) - { - inherit pkgconfig pidgin texLive imagemagick which glib gtk; - }; - - pidginmsnpecan = callPackage ../applications/networking/instant-messengers/pidgin-plugins/msn-pecan { }; - - pidginotr = callPackage ../applications/networking/instant-messengers/pidgin-plugins/otr { }; - - pidginsipe = callPackage ../applications/networking/instant-messengers/pidgin-plugins/sipe { }; - - toxprpl = callPackage ../applications/networking/instant-messengers/pidgin-plugins/tox-prpl { }; - - pinfo = callPackage ../applications/misc/pinfo { }; - - pinta = callPackage ../applications/graphics/pinta { - gtksharp = gtksharp2; - }; - - pommed = callPackage ../os-specific/linux/pommed { - inherit (xorg) libXpm; - }; - - potrace = callPackage ../applications/graphics/potrace {}; - - posterazor = callPackage ../applications/misc/posterazor { }; - - pqiv = callPackage ../applications/graphics/pqiv { }; - - qiv = callPackage ../applications/graphics/qiv { }; - - processing = callPackage ../applications/graphics/processing { inherit (xorg) libXxf86vm; }; - - # perhaps there are better apps for this task? It's how I had configured my preivous system. - # And I don't want to rewrite all rules - procmail = callPackage ../applications/misc/procmail { }; - - pstree = callPackage ../applications/misc/pstree { }; - - pulseview = callPackage ../applications/science/electronics/pulseview { }; - - puredata = callPackage ../applications/audio/puredata { }; - - pythonmagick = callPackage ../applications/graphics/PythonMagick { }; - - qbittorrent = callPackage ../applications/networking/p2p/qbittorrent { }; - - eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp { }; - - qemu = callPackage ../applications/virtualization/qemu { }; - - qmmp = callPackage ../applications/audio/qmmp { }; - - qsampler = callPackage ../applications/audio/qsampler { }; - - qsynth = callPackage ../applications/audio/qsynth { }; - - qtpfsgui = callPackage ../applications/graphics/qtpfsgui { }; - - qtractor = callPackage ../applications/audio/qtractor { }; - - quodlibet = callPackage ../applications/audio/quodlibet { - inherit (pythonPackages) mutagen; - }; - - quodlibet-with-gst-plugins = callPackage ../applications/audio/quodlibet { - inherit (pythonPackages) mutagen; - withGstPlugins = true; - gst_plugins_bad = null; - }; - - rakarrack = callPackage ../applications/audio/rakarrack { - inherit (xorg) libXpm libXft; - fltk = fltk13; - }; - - rapcad = callPackage ../applications/graphics/rapcad {}; - - rapidsvn = callPackage ../applications/version-management/rapidsvn { }; - - ratpoison = callPackage ../applications/window-managers/ratpoison { }; - - rawtherapee = callPackage ../applications/graphics/rawtherapee { - fftw = fftwSinglePrec; - }; - - rcs = callPackage ../applications/version-management/rcs { }; - - rdesktop = callPackage ../applications/networking/remote/rdesktop { }; - - recode = callPackage ../tools/text/recode { }; - - retroshare = callPackage ../applications/networking/p2p/retroshare { - qt = qt4; - }; - - retroshare06 = lowPrio (callPackage ../applications/networking/p2p/retroshare/0.6.nix { - qt = qt4; - }); - - rsync = callPackage ../applications/networking/sync/rsync { - enableACLs = !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD); - enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false); - }; - - rtl-sdr = callPackage ../applications/misc/rtl-sdr { }; - - rubyripper = callPackage ../applications/audio/rubyripper {}; - - rxvt = callPackage ../applications/misc/rxvt { }; - - # = urxvt - rxvt_unicode = callPackage ../applications/misc/rxvt_unicode { - perlSupport = true; - gdkPixbufSupport = true; - unicode3Support = true; - }; - - sakura = callPackage ../applications/misc/sakura { - inherit (gnome) vte; - }; - - sbagen = callPackage ../applications/misc/sbagen { }; - - scite = callPackage ../applications/editors/scite { }; - - scribus = callPackage ../applications/office/scribus { - inherit (gnome) libart_lgpl; - }; - - seafile-client = callPackage ../applications/networking/seafile-client { }; - - seeks = callPackage ../tools/networking/p2p/seeks { - opencv = opencv_2_1; - }; - - seg3d = callPackage ../applications/graphics/seg3d { - wxGTK = wxGTK28.override { unicode = false; }; - }; - - seq24 = callPackage ../applications/audio/seq24 { }; - - setbfree = callPackage ../applications/audio/setbfree { }; - - sflphone = callPackage ../applications/networking/instant-messengers/sflphone { - gtk = gtk3; - }; - - siproxd = callPackage ../applications/networking/siproxd { }; - - skype = callPackage_i686 ../applications/networking/instant-messengers/skype { }; - - skype4pidgin = callPackage ../applications/networking/instant-messengers/pidgin-plugins/skype4pidgin { }; - - skype_call_recorder = callPackage ../applications/networking/instant-messengers/skype-call-recorder { }; - - slrn = callPackage ../applications/networking/newsreaders/slrn { }; - - spideroak = callPackage ../applications/networking/spideroak { }; - - ssvnc = callPackage ../applications/networking/remote/ssvnc { }; - - st = callPackage ../applications/misc/st { - conf = config.st.conf or null; - }; - - stella = callPackage ../misc/emulators/stella { }; - - linuxstopmotion = callPackage ../applications/video/linuxstopmotion { }; - - sweethome3d = recurseIntoAttrs ( (callPackage ../applications/misc/sweethome3d { }) - // (callPackage ../applications/misc/sweethome3d/editors.nix { - sweethome3dApp = sweethome3d.application; - }) - ); - - sxiv = callPackage ../applications/graphics/sxiv { }; - - bittorrentSync = callPackage ../applications/networking/bittorrentsync { }; - - dropbox = callPackage ../applications/networking/dropbox { }; - - dropbox-cli = callPackage ../applications/networking/dropbox-cli { }; - - lightdm = callPackage ../applications/display-managers/lightdm { }; - - lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm-gtk-greeter { }; - - # slic3r 0.9.10b says: "Running Slic3r under Perl >= 5.16 is not supported nor recommended" - slic3r = callPackage ../applications/misc/slic3r { - perlPackages = perl514Packages; - perl = perl514; - }; - - curaengine = callPackage ../applications/misc/curaengine { }; - - cura = callPackage ../applications/misc/cura { }; - - printrun = callPackage ../applications/misc/printrun { }; - - slim = callPackage ../applications/display-managers/slim { - libpng = libpng12; - }; - - smartdeblur = callPackage ../applications/graphics/smartdeblur { }; - - snd = callPackage ../applications/audio/snd { }; - - shntool = callPackage ../applications/audio/shntool { }; - - sonic_visualiser = callPackage ../applications/audio/sonic-visualiser { - inherit (pkgs.vamp) vampSDK; - inherit (pkgs.xlibs) libX11; - fftw = pkgs.fftwSinglePrec; - }; - - sox = callPackage ../applications/misc/audio/sox { }; - - soxr = callPackage ../applications/misc/audio/soxr { }; - - spotify = callPackage ../applications/audio/spotify { - inherit (gnome) GConf; - libpng = libpng12; - }; - - libspotify = callPackage ../development/libraries/libspotify { - apiKey = config.libspotify.apiKey or null; - }; - - stalonetray = callPackage ../applications/window-managers/stalonetray {}; - - stp = callPackage ../applications/science/logic/stp {}; - - stumpwm = lispPackages.stumpwm; - - sublime = callPackage ../applications/editors/sublime { }; - - sublime3 = lowPrio (callPackage ../applications/editors/sublime3 { }); - - subversion = callPackage ../applications/version-management/subversion/default.nix { - bdbSupport = true; - httpServer = false; - httpSupport = true; - pythonBindings = false; - perlBindings = false; - javahlBindings = false; - saslSupport = false; - httpd = apacheHttpd; - sasl = cyrus_sasl; - }; - - subversionClient = appendToName "client" (subversion.override { - bdbSupport = false; - perlBindings = true; - pythonBindings = true; - }); - - surf = callPackage ../applications/misc/surf { - webkit = webkitgtk2; - }; - - svk = perlPackages.SVK; - - swh_lv2 = callPackage ../applications/audio/swh-lv2 { }; - - sylpheed = callPackage ../applications/networking/mailreaders/sylpheed { - sslSupport = true; - gpgSupport = true; - }; - - symlinks = callPackage ../tools/system/symlinks { }; - - syncthing = callPackage ../applications/networking/syncthing { }; - - # linux only by now - synergy = callPackage ../applications/misc/synergy { }; - - tabbed = callPackage ../applications/window-managers/tabbed { }; - - tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs { - inherit (pythonPackages) twisted foolscap simplejson nevow zfec - pycryptopp sqlite3 darcsver setuptoolsTrial setuptoolsDarcs - numpy pyasn1 mock; - }; - - tailor = builderDefsPackage (import ../applications/version-management/tailor) { - inherit makeWrapper python; - }; - - tangogps = callPackage ../applications/misc/tangogps { - gconf = gnome.GConf; - }; - - teamspeak_client = callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { }; - teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { }; - - taskjuggler = callPackage ../applications/misc/taskjuggler { }; - - taskwarrior = callPackage ../applications/misc/taskwarrior { }; - - taskserver = callPackage ../servers/misc/taskserver { }; - - telegram-cli = callPackage ../applications/networking/instant-messengers/telegram-cli/default.nix { }; - - telepathy_gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { }; - - telepathy_haze = callPackage ../applications/networking/instant-messengers/telepathy/haze {}; - - telepathy_logger = callPackage ../applications/networking/instant-messengers/telepathy/logger {}; - - telepathy_mission_control = callPackage ../applications/networking/instant-messengers/telepathy/mission-control { }; - - telepathy_rakia = callPackage ../applications/networking/instant-messengers/telepathy/rakia { }; - - telepathy_salut = callPackage ../applications/networking/instant-messengers/telepathy/salut {}; - - terminator = callPackage ../applications/misc/terminator { - vte = gnome.vte.override { pythonSupport = true; }; - inherit (pythonPackages) notify; - }; - - tesseract = callPackage ../applications/graphics/tesseract { }; - - thinkingRock = callPackage ../applications/misc/thinking-rock { }; - - thunderbird = callPackage ../applications/networking/mailreaders/thunderbird { - inherit (gnome) libIDL; - inherit (pythonPackages) pysqlite; - libpng = libpng_apng; - }; - - thunderbird-bin = callPackage ../applications/networking/mailreaders/thunderbird-bin { - gconf = pkgs.gnome.GConf; - inherit (pkgs.gnome) libgnome libgnomeui; - inherit (pkgs.xlibs) libX11 libXScrnSaver libXext - libXinerama libXrender libXt; - }; - - tig = gitAndTools.tig; - - tilda = callPackage ../applications/misc/tilda { - vte = gnome3.vte; - gtk = gtk3; - }; - - timidity = callPackage ../tools/misc/timidity { }; - - tint2 = callPackage ../applications/misc/tint2 { }; - - tkcvs = callPackage ../applications/version-management/tkcvs { }; - - tla = callPackage ../applications/version-management/arch { }; - - todo-txt-cli = callPackage ../applications/office/todo.txt-cli { }; - - torchat = callPackage ../applications/networking/instant-messengers/torchat { - wrapPython = pythonPackages.wrapPython; - }; - - toxic = callPackage ../applications/networking/instant-messengers/toxic { }; - - transcode = callPackage ../applications/audio/transcode { }; - - transmission = callPackage ../applications/networking/p2p/transmission { }; - transmission_gtk = transmission.override { enableGTK3 = true; }; - - transmission_remote_gtk = callPackage ../applications/networking/p2p/transmission-remote-gtk {}; - - trayer = callPackage ../applications/window-managers/trayer { }; - - tree = callPackage ../tools/system/tree {}; - - tribler = callPackage ../applications/networking/p2p/tribler { }; - - twister = callPackage ../applications/networking/p2p/twister { }; - - twmn = callPackage ../applications/misc/twmn { }; - - twinkle = callPackage ../applications/networking/instant-messengers/twinkle { }; - - umurmur = callPackage ../applications/networking/umurmur { }; - - unison = callPackage ../applications/networking/sync/unison { - inherit (ocamlPackages) lablgtk; - enableX11 = config.unison.enableX11 or true; - }; - - uucp = callPackage ../tools/misc/uucp { }; - - uvccapture = callPackage ../applications/video/uvccapture { }; - - uwimap = callPackage ../tools/networking/uwimap { }; - - uzbl = callPackage ../applications/networking/browsers/uzbl { - webkit = webkitgtk2; - }; - - uTox = callPackage ../applications/networking/instant-messengers/utox { }; - - vanitygen = callPackage ../applications/misc/vanitygen { }; - - vbindiff = callPackage ../applications/editors/vbindiff { }; - - vcprompt = callPackage ../applications/version-management/vcprompt { }; - - vdpauinfo = callPackage ../tools/X11/vdpauinfo { }; - - veracity = callPackage ../applications/version-management/veracity {}; - - viewMtn = builderDefsPackage (import ../applications/version-management/viewmtn/0.10.nix) - { - inherit monotone cheetahTemplate highlight ctags - makeWrapper graphviz which python; - flup = pythonPackages.flup; - }; - - vim = callPackage ../applications/editors/vim { }; - - macvim = callPackage ../applications/editors/vim/macvim.nix { }; - - vimHugeX = vim_configurable; - - vim_configurable = callPackage ../applications/editors/vim/configurable.nix { - inherit (pkgs) fetchurl fetchhg stdenv ncurses pkgconfig gettext - composableDerivation lib config glib gtk python perl tcl ruby; - inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu - libICE; - - features = "huge"; # one of tiny, small, normal, big or huge - lua = pkgs.lua5; - gui = config.vim.gui or "auto"; - - # optional features by flags - flags = [ "python" "X11" ]; # only flag "X11" by now - - # so that we can use gccApple if we're building on darwin - inherit stdenvAdapters gccApple; - }; - - vimNox = lowPrio (vim_configurable.override { source = "vim-nox"; }); - - qvim = lowPrio (callPackage ../applications/editors/vim/qvim.nix { - inherit (pkgs) fetchgit stdenv ncurses pkgconfig gettext - composableDerivation lib config python perl tcl ruby qt4; - inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu - libICE; - - inherit (pkgs) stdenvAdapters gccApple; - - features = "huge"; # one of tiny, small, normal, big or huge - lua = pkgs.lua5; - flags = [ "python" "X11" ]; # only flag "X11" by now - }); - - vimpc = callPackage ../applications/audio/vimpc { }; - - virtviewer = callPackage ../applications/virtualization/virt-viewer { - gtkvnc = gtkvnc.override { enableGTK3 = true; }; - spice_gtk = spice_gtk.override { enableGTK3 = true; }; - }; - virtmanager = callPackage ../applications/virtualization/virt-manager { - inherit (gnome) gnome_python; - vte = gnome3.vte; - dconf = gnome3.dconf; - gtkvnc = gtkvnc.override { enableGTK3 = true; }; - spice_gtk = spice_gtk.override { enableGTK3 = true; }; - }; - - virtinst = callPackage ../applications/virtualization/virtinst {}; - - virtualgl = callPackage ../tools/X11/virtualgl { }; - - bumblebee = callPackage ../tools/X11/bumblebee { }; - - vkeybd = callPackage ../applications/audio/vkeybd { - inherit (xlibs) libX11; - }; - - vlc = callPackage ../applications/video/vlc { }; - - vmpk = callPackage ../applications/audio/vmpk { }; - - vnstat = callPackage ../applications/networking/vnstat { }; - - vorbisTools = callPackage ../applications/audio/vorbis-tools { }; - - vue = callPackage ../applications/misc/vue { - jre = icedtea7_jre; - }; - - vwm = callPackage ../applications/window-managers/vwm { }; - - vym = callPackage ../applications/misc/vym { }; - - w3m = callPackage ../applications/networking/browsers/w3m { - graphicsSupport = false; - }; - - weechat = callPackage ../applications/networking/irc/weechat { }; - - weechatDevel = lowPrio (callPackage ../applications/networking/irc/weechat/devel.nix { }); - - weston = callPackage ../applications/window-managers/weston { }; - - windowmaker = callPackage ../applications/window-managers/windowmaker { }; - - winswitch = callPackage ../tools/X11/winswitch { }; - - wings = callPackage ../applications/graphics/wings { - erlang = erlangR14; - esdl = esdl.override { erlang = erlangR14; }; - }; - - wmname = callPackage ../applications/misc/wmname { }; - - wmctrl = callPackage ../tools/X11/wmctrl { }; - - # I'm keen on wmiimenu only >wmii-3.5 no longer has it... - wmiimenu = import ../applications/window-managers/wmii31 { - libixp = libixp_for_wmii; - inherit fetchurl /* fetchhg */ stdenv gawk; - inherit (xlibs) libX11; - }; - - wmiiSnap = import ../applications/window-managers/wmii { - libixp = libixp_for_wmii; - inherit fetchurl /* fetchhg */ stdenv gawk; - inherit (xlibs) libX11 xextproto libXt libXext; - includeUnpack = config.stdenv.includeUnpack or false; - }; - - wordnet = callPackage ../applications/misc/wordnet { }; - - wrapFirefox = - { browser, browserName ? "firefox", desktopName ? "Firefox", nameSuffix ? "" - , icon ? "${browser}/lib/${browser.name}/browser/icons/mozicon128.png" }: - let - cfg = stdenv.lib.attrByPath [ browserName ] {} config; - enableAdobeFlash = cfg.enableAdobeFlash or false; - enableGnash = cfg.enableGnash or false; - in - import ../applications/networking/browsers/firefox/wrapper.nix { - inherit stdenv lib makeWrapper makeDesktopItem browser browserName desktopName nameSuffix icon; - plugins = - assert !(enableGnash && enableAdobeFlash); - ([ ] - ++ lib.optional enableGnash gnash - ++ lib.optional enableAdobeFlash flashplayer - ++ lib.optional (cfg.enableDjvu or false) (djview4) - ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser) - ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer - ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin - ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin - ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid - ++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome_shell - ); - libs = [ gstreamer gst_plugins_base ] ++ lib.optionals (cfg.enableQuakeLive or false) - (with xlibs; [ stdenv.gcc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]); - gtk_modules = [ libcanberra ]; - }; - - wxhexeditor = callPackage ../applications/editors/wxhexeditor { }; - - x11vnc = callPackage ../tools/X11/x11vnc { }; - - x2vnc = callPackage ../tools/X11/x2vnc { }; - - xaos = builderDefsPackage (import ../applications/graphics/xaos) { - inherit (xlibs) libXt libX11 libXext xextproto xproto; - inherit gsl aalib zlib intltool gettext perl; - libpng = libpng12; - }; - - xara = callPackage ../applications/graphics/xara { }; - - xawtv = callPackage ../applications/video/xawtv { }; - - xbindkeys = callPackage ../tools/X11/xbindkeys { }; - - xbmc = callPackage ../applications/video/xbmc { - ffmpeg = ffmpeg_1; - }; - - xca = callPackage ../applications/misc/xca { }; - - xcalib = callPackage ../tools/X11/xcalib { }; - - xcape = callPackage ../tools/X11/xcape { }; - - xchainkeys = callPackage ../tools/X11/xchainkeys { }; - - xchat = callPackage ../applications/networking/irc/xchat { }; - - xchm = callPackage ../applications/misc/xchm { }; - - xcompmgr = callPackage ../applications/window-managers/xcompmgr { }; - - compton = callPackage ../applications/window-managers/compton { }; - - xdaliclock = callPackage ../tools/misc/xdaliclock {}; - - xdg-user-dirs = callPackage ../tools/X11/xdg-user-dirs { }; - - xdg_utils = callPackage ../tools/X11/xdg-utils { }; - - xdotool = callPackage ../tools/X11/xdotool { }; - - xen = callPackage ../applications/virtualization/xen { - stdenv = overrideGCC stdenv gcc45; - }; - - xfe = callPackage ../applications/misc/xfe { - fox = fox_1_6; - }; - - xfig = callPackage ../applications/graphics/xfig { }; - - xineUI = callPackage ../applications/video/xine-ui { }; - - xneur_0_13 = callPackage ../applications/misc/xneur { }; - - xneur_0_8 = callPackage ../applications/misc/xneur/0.8.nix { }; - - xneur = xneur_0_13; - - gxneur = callPackage ../applications/misc/gxneur { - inherit (gnome) libglade GConf; - }; - - xournal = callPackage ../applications/graphics/xournal { - inherit (gnome) libgnomeprint libgnomeprintui libgnomecanvas; - }; - - xpdf = callPackage ../applications/misc/xpdf { - motif = lesstif; - base14Fonts = "${ghostscript}/share/ghostscript/fonts"; - }; - - xkb_switch = callPackage ../tools/X11/xkb-switch { }; - - libxpdf = callPackage ../applications/misc/xpdf/libxpdf.nix { }; - - xpra = callPackage ../tools/X11/xpra { }; - - xrestop = callPackage ../tools/X11/xrestop { }; - - xscreensaver = callPackage ../misc/screensavers/xscreensaver { - inherit (gnome) libglade; - }; - - xsynth_dssi = callPackage ../applications/audio/xsynth-dssi { }; - - xterm = callPackage ../applications/misc/xterm { }; - - finalterm = callPackage ../applications/misc/finalterm { }; - - xtrace = callPackage ../tools/X11/xtrace { }; - - xlaunch = callPackage ../tools/X11/xlaunch { }; - - xmacro = callPackage ../tools/X11/xmacro { }; - - xmove = callPackage ../applications/misc/xmove { }; - - xmp = callPackage ../applications/audio/xmp { }; - - xnee = callPackage ../tools/X11/xnee { }; - - xvidcap = callPackage ../applications/video/xvidcap { - inherit (gnome) scrollkeeper libglade; - }; - - yate = callPackage ../applications/misc/yate { }; - - inherit (gnome3) yelp; - - qgis = callPackage ../applications/misc/qgis {}; - - qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { }; - - ykpers = callPackage ../applications/misc/ykpers {}; - - yoshimi = callPackage ../applications/audio/yoshimi { - fltk = fltk13; - }; - - zathuraCollection = recurseIntoAttrs - (let callPackage = newScope pkgs.zathuraCollection; in - import ../applications/misc/zathura { - inherit callPackage pkgs fetchurl; - useMupdf = config.zathura.useMupdf or false; - }); - - zathura = zathuraCollection.zathuraWrapper; - - zed = callPackage ../applications/editors/zed { }; - - zeroc_ice = callPackage ../development/libraries/zeroc-ice { }; - - girara = callPackage ../applications/misc/girara { - gtk = gtk3; - }; - - zgrviewer = callPackage ../applications/graphics/zgrviewer {}; - - zim = callPackage ../applications/office/zim { - pygtk = pyGtkGlade; - }; - - zotero = callPackage ../applications/office/zotero { - xulrunner = xulrunner_30; - }; - - zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { }; - - - ### GAMES - - alienarena = callPackage ../games/alienarena { }; - - andyetitmoves = if stdenv.isLinux then callPackage ../games/andyetitmoves {} else null; - - anki = callPackage ../games/anki { }; - - asc = callPackage ../games/asc { - lua = lua5; - libsigcxx = libsigcxx12; - }; - - astromenace = callPackage ../games/astromenace { }; - - atanks = callPackage ../games/atanks {}; - - ballAndPaddle = callPackage ../games/ball-and-paddle { - guile = guile_1_8; - }; - - bitsnbots = callPackage ../games/bitsnbots { - lua = lua5; - }; - - blackshades = callPackage ../games/blackshades { }; - - blackshadeselite = callPackage ../games/blackshadeselite { }; - - blobby = callPackage ../games/blobby { }; - - bsdgames = callPackage ../games/bsdgames { }; - - btanks = callPackage ../games/btanks { }; - - bzflag = callPackage ../games/bzflag { }; - - castle_combat = callPackage ../games/castle-combat { }; - - chessdb = callPackage ../games/chessdb { }; - - construoBase = lowPrio (callPackage ../games/construo { - mesa = null; - freeglut = null; - }); - - construo = construoBase.override { - inherit mesa freeglut; - }; - - crack_attack = callPackage ../games/crack-attack { }; - - crafty = callPackage ../games/crafty { }; - craftyFull = appendToName "full" (crafty.override { fullVariant = true; }); - - crrcsim = callPackage ../games/crrcsim {}; - - dhewm3 = callPackage ../games/dhewm3 {}; - - drumkv1 = callPackage ../applications/audio/drumkv1 { }; - - dwarf_fortress = callPackage_i686 ../games/dwarf-fortress { - SDL_image = pkgsi686Linux.SDL_image.override { - libpng = pkgsi686Linux.libpng12; - }; - }; - - dwarf_fortress_2014 = callPackage_i686 ../games/dwarf-fortress/df2014.nix { - SDL_image = pkgsi686Linux.SDL_image.override { - libpng = pkgsi686Linux.libpng12; - }; - }; - - dwarf_fortress_modable = appendToName "moddable" (dwarf_fortress.override { - copyDataDirectory = true; - }); - - dwarf_fortress_2014_modable = appendToName "moddable" (dwarf_fortress_2014.override { - copyDataDirectory = true; - }); - - dwarf-therapist = callPackage ../games/dwarf-therapist { }; - - d1x_rebirth = callPackage ../games/d1x-rebirth { }; - - d2x_rebirth = callPackage ../games/d2x-rebirth { }; - - eboard = callPackage ../games/eboard { }; - - eduke32 = callPackage ../games/eduke32 { }; - - egoboo = callPackage ../games/egoboo { }; - - exult = callPackage ../games/exult { }; - - flightgear = callPackage ../games/flightgear { }; - - freeciv = callPackage ../games/freeciv { }; - - freeciv_gtk = callPackage ../games/freeciv { - gtkClient = true; - sdlClient = false; - }; - - freedink = callPackage ../games/freedink { }; - - fsg = callPackage ../games/fsg { - wxGTK = wxGTK28.override { unicode = false; }; - }; - - gemrb = callPackage ../games/gemrb { }; - - gl117 = callPackage ../games/gl-117 {}; - - glestae = callPackage ../games/glestae {}; - - globulation2 = callPackage ../games/globulation {}; - - gltron = callPackage ../games/gltron { }; - - gnuchess = callPackage ../games/gnuchess { }; - - gnugo = callPackage ../games/gnugo { }; - - gparted = callPackage ../tools/misc/gparted { }; - - gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { - inherit (gnome) libglademm; - }; - - gtypist = callPackage ../games/gtypist { }; - - hexen = callPackage ../games/hexen { }; - - icbm3d = callPackage ../games/icbm3d { }; - - ingen = callPackage ../applications/audio/ingen { }; - - instead = callPackage ../games/instead { - lua = lua5; - }; - - kobodeluxe = callPackage ../games/kobodeluxe { }; - - lincity = builderDefsPackage (import ../games/lincity) { - inherit (xlibs) libX11 libXext xextproto - libICE libSM xproto; - inherit libpng zlib; - }; - - lincity_ng = callPackage ../games/lincity/ng.nix {}; - - mars = callPackage ../games/mars { }; - - micropolis = callPackage ../games/micropolis { }; - - mnemosyne = callPackage ../games/mnemosyne { - inherit (pythonPackages) matplotlib cherrypy sqlite3; - }; - - naev = callPackage ../games/naev { }; - - nexuiz = callPackage ../games/nexuiz { }; - - njam = callPackage ../games/njam { }; - - oilrush = callPackage ../games/oilrush { }; - - openra = callPackage ../games/openra { }; - - openttd = callPackage ../games/openttd { - zlib = zlibStatic; - }; - - opentyrian = callPackage ../games/opentyrian { }; - - openxcom = callPackage ../games/openxcom { }; - - pingus = callPackage ../games/pingus {}; - - pioneers = callPackage ../games/pioneers { }; - - pong3d = callPackage ../games/pong3d { }; - - prboom = callPackage ../games/prboom { }; - - quake3demo = callPackage ../games/quake3/wrapper { - name = "quake3-demo-${quake3game.name}"; - description = "Demo of Quake 3 Arena, a classic first-person shooter"; - game = quake3game; - paks = [quake3demodata]; - }; - - quake3demodata = callPackage ../games/quake3/demo { }; - - quake3game = callPackage ../games/quake3/game { }; - - quantumminigolf = callPackage ../games/quantumminigolf {}; - - racer = callPackage ../games/racer { }; - - residualvm = callPackage ../games/residualvm { - openglSupport = mesaSupported; - }; - - rigsofrods = callPackage ../games/rigsofrods { - mygui = myguiSvn; - }; - - rili = callPackage ../games/rili { }; - - rogue = callPackage ../games/rogue { }; - - samplv1 = callPackage ../applications/audio/samplv1 { }; - - sauerbraten = callPackage ../games/sauerbraten {}; - - scid = callPackage ../games/scid { }; - - scummvm = callPackage ../games/scummvm { }; - - scorched3d = callPackage ../games/scorched3d { }; - - sdlmame = callPackage ../games/sdlmame { }; - - sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) { - inherit pkgconfig fetchsvn perl gtk; - inherit (xlibs) libX11; - }; - - simutrans = callPackage ../games/simutrans { }; - - soi = callPackage ../games/soi {}; - - # You still can override by passing more arguments. - spaceOrbit = callPackage ../games/orbit { }; - - spring = callPackage ../games/spring { }; - - springLobby = callPackage ../games/spring/springlobby.nix { }; - - stardust = callPackage ../games/stardust {}; - - steam = callPackage_i686 ../games/steam {}; - - steamChrootEnv = callPackage_i686 ../games/steam/chrootenv.nix { - zenity = gnome2.zenity; - }; - - stuntrally = callPackage ../games/stuntrally { }; - - superTux = callPackage ../games/super-tux { }; - - superTuxKart = callPackage ../games/super-tux-kart { }; - - synthv1 = callPackage ../applications/audio/synthv1 { }; - - tbe = callPackage ../games/the-butterfly-effect {}; - - teetertorture = callPackage ../games/teetertorture { }; - - teeworlds = callPackage ../games/teeworlds { }; - - tennix = callPackage ../games/tennix { }; - - tibia = callPackage ../games/tibia { }; - - tintin = callPackage ../games/tintin { }; - - tpm = callPackage ../games/thePenguinMachine { }; - - tremulous = callPackage ../games/tremulous { }; - - speed_dreams = callPackage ../games/speed-dreams { - # Torcs wants to make shared libraries linked with plib libraries (it provides static). - # i686 is the only platform I know than can do that linking without plib built with -fPIC - plib = plib.override { enablePIC = !stdenv.isi686; }; - libpng = libpng12; - }; - - torcs = callPackage ../games/torcs { - # Torcs wants to make shared libraries linked with plib libraries (it provides static). - # i686 is the only platform I know than can do that linking without plib built with -fPIC - plib = plib.override { enablePIC = !stdenv.isi686; }; - }; - - trigger = callPackage ../games/trigger { }; - - typespeed = callPackage ../games/typespeed { }; - - ufoai = callPackage ../games/ufoai { }; - - ultimatestunts = callPackage ../games/ultimatestunts { }; - - ultrastardx = callPackage ../games/ultrastardx { - ffmpeg = ffmpeg_0_6; - lua = lua5; - }; - - unvanquished = callPackage ../games/unvanquished { }; - - uqm = callPackage ../games/uqm { }; - - urbanterror = callPackage ../games/urbanterror { }; - - ut2004demo = callPackage ../games/ut2004demo { }; - - vdrift = callPackage ../games/vdrift { }; - - vectoroids = callPackage ../games/vectoroids { }; - - vessel = callPackage_i686 ../games/vessel { }; - - warmux = callPackage ../games/warmux { }; - - warsow = callPackage ../games/warsow { - libjpeg = libjpeg62; - }; - - warzone2100 = callPackage ../games/warzone2100 { }; - - widelands = callPackage ../games/widelands { - lua = lua5_1; - }; - - worldofgoo_demo = callPackage ../games/worldofgoo { - demo = true; - }; - - worldofgoo = callPackage ../games/worldofgoo { }; - - xboard = callPackage ../games/xboard { }; - - xconq = callPackage ../games/xconq {}; - - # TODO: the corresponding nix file is missing - # xracer = callPackage ../games/xracer { }; - - xonotic = callPackage ../games/xonotic { }; - - xskat = callPackage ../games/xskat { }; - - xsokoban = builderDefsPackage (import ../games/xsokoban) { - inherit (xlibs) libX11 xproto libXpm libXt; - }; - - zdoom = callPackage ../games/zdoom { }; - - zod = callPackage ../games/zod { }; - - zoom = callPackage ../games/zoom { }; - - keen4 = callPackage ../games/keen4 { }; - - zeroad = callPackage ../games/0ad { }; - - ### DESKTOP ENVIRONMENTS - - cinnamon = recurseIntoAttrs rec { - callPackage = newScope pkgs.cinnamon; - inherit (gnome3) gnome_common libgnomekbd gnome-menus zenity; - - muffin = callPackage ../desktops/cinnamon/muffin.nix { } ; - - cinnamon-control-center = callPackage ../desktops/cinnamon/cinnamon-control-center.nix{ }; - - cinnamon-settings-daemon = callPackage ../desktops/cinnamon/cinnamon-settings-daemon.nix{ }; - - cinnamon-session = callPackage ../desktops/cinnamon/cinnamon-session.nix{ } ; - - cinnamon-desktop = callPackage ../desktops/cinnamon/cinnamon-desktop.nix { }; - - cinnamon-translations = callPackage ../desktops/cinnamon/cinnamon-translations.nix { }; - - cjs = callPackage ../desktops/cinnamon/cjs.nix { }; - }; - - enlightenment = callPackage ../desktops/enlightenment { }; - - e17 = recurseIntoAttrs ( - let callPackage = newScope pkgs.e17; in - import ../desktops/e17 { inherit callPackage pkgs; } - ); - - e18 = recurseIntoAttrs ( - let callPackage = newScope pkgs.e18; in - import ../desktops/e18 { inherit callPackage pkgs; } - ); - - gnome2 = callPackage ../desktops/gnome-2 { - callPackage = pkgs.newScope pkgs.gnome2; - self = pkgs.gnome2; - } // pkgs.gtkLibs // { - # Backwards compatibility; - inherit (pkgs) libsoup libwnck gtk_doc gnome_doc_utils; - }; - - gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.10 { - callPackage = pkgs.newScope pkgs.gnome3; - self = pkgs.gnome3; - }); - - gnome3_12 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.12 { - callPackage = pkgs.newScope pkgs.gnome3_12; - }); - - gnome = recurseIntoAttrs gnome2; - - hsetroot = callPackage ../tools/X11/hsetroot { }; - - kakasi = callPackage ../tools/text/kakasi { }; - - kde4 = recurseIntoAttrs pkgs.kde412; - - kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde412 ); - - kde412 = kdePackagesFor (pkgs.kde412 // { - eigen = eigen2; - libusb = libusb1; - libcanberra = libcanberra_kde; - }) ../desktops/kde-4.12; - - kdePackagesFor = self: dir: - let callPackageOrig = callPackage; in - let - callPackage = newScope self; - kde4 = callPackageOrig dir { - inherit callPackage callPackageOrig; - }; - in kde4 // { - inherit kde4; - - wrapper = callPackage ../build-support/kdewrapper {}; - - recurseForRelease = true; - - akunambol = callPackage ../applications/networking/sync/akunambol { }; - - amarok = callPackage ../applications/audio/amarok { }; - - bangarang = callPackage ../applications/video/bangarang { }; - - basket = callPackage ../applications/office/basket { }; - - bluedevil = callPackage ../tools/bluetooth/bluedevil { }; - - calligra = callPackage ../applications/office/calligra { }; - - colord-kde = callPackage ../tools/misc/colord-kde { }; - - digikam = if builtins.compareVersions "4.9" kde4.release == 1 then - callPackage ../applications/graphics/digikam/2.nix { } - else - callPackage ../applications/graphics/digikam { }; - - eventlist = callPackage ../applications/office/eventlist {}; - - k3b = callPackage ../applications/misc/k3b { }; - - kadu = callPackage ../applications/networking/instant-messengers/kadu { }; - - kbibtex = callPackage ../applications/office/kbibtex { }; - - kde_gtk_config = callPackage ../tools/misc/kde-gtk-config { }; - - kde_wacomtablet = callPackage ../applications/misc/kde-wacomtablet { }; - - kdeconnect = callPackage ../applications/misc/kdeconnect { }; - - kdenlive = callPackage ../applications/video/kdenlive { mlt = mlt-qt4; }; - - kdesvn = callPackage ../applications/version-management/kdesvn { }; - - kdevelop = callPackage ../applications/editors/kdevelop { }; - - kdevplatform = callPackage ../development/libraries/kdevplatform { }; - - kdiff3 = callPackage ../tools/text/kdiff3 { }; - - kile = callPackage ../applications/editors/kile { }; - - kmplayer = callPackage ../applications/video/kmplayer { }; - - kmymoney = callPackage ../applications/office/kmymoney { }; - - kipi_plugins = callPackage ../applications/graphics/kipi-plugins { }; - - konversation = callPackage ../applications/networking/irc/konversation { }; - - kvirc = callPackage ../applications/networking/irc/kvirc { }; - - krename = callPackage ../applications/misc/krename { }; - - krusader = callPackage ../applications/misc/krusader { }; - - ksshaskpass = callPackage ../tools/security/ksshaskpass {}; - - ktorrent = callPackage ../applications/networking/p2p/ktorrent { }; - - kuickshow = callPackage ../applications/graphics/kuickshow { }; - - libalkimia = callPackage ../development/libraries/libalkimia { }; - - libktorrent = callPackage ../development/libraries/libktorrent { }; - - libkvkontakte = callPackage ../development/libraries/libkvkontakte { }; - - liblikeback = callPackage ../development/libraries/liblikeback { }; - - libmm-qt = callPackage ../development/libraries/libmm-qt { }; - - libnm-qt = callPackage ../development/libraries/libnm-qt { }; - - networkmanagement = callPackage ../tools/networking/networkmanagement { }; - - partitionManager = callPackage ../tools/misc/partition-manager { }; - - plasma-nm = callPackage ../tools/networking/plasma-nm { }; - - polkit_kde_agent = callPackage ../tools/security/polkit-kde-agent { }; - - psi = callPackage ../applications/networking/instant-messengers/psi { }; - - qtcurve = callPackage ../misc/themes/qtcurve { }; - - quassel = callPackage ../applications/networking/irc/quassel { dconf = gnome3.dconf; }; - - quasselWithoutKDE = (self.quassel.override { - withKDE = false; - tag = "-without-kde"; - }); - - quasselDaemon = (self.quassel.override { - monolithic = false; - daemon = true; - tag = "-daemon"; - }); - - quasselClient = (self.quassel.override { - monolithic = false; - client = true; - tag = "-client"; - }); - - quasselClientWithoutKDE = (self.quasselClient.override { - withKDE = false; - tag = "-client-without-kde"; - }); - - rekonq = callPackage ../applications/networking/browsers/rekonq { }; - - kwebkitpart = callPackage ../applications/networking/browsers/kwebkitpart { }; - - rsibreak = callPackage ../applications/misc/rsibreak { }; - - semnotes = callPackage ../applications/misc/semnotes { }; - - skrooge = callPackage ../applications/office/skrooge { }; - - telepathy = callPackage ../applications/networking/instant-messengers/telepathy/kde {}; - - yakuake = callPackage ../applications/misc/yakuake { }; - - zanshin = callPackage ../applications/office/zanshin { }; - - kwooty = callPackage ../applications/networking/newsreaders/kwooty { }; - }; - - redshift = callPackage ../applications/misc/redshift { - inherit (xorg) libX11 libXrandr libxcb randrproto libXxf86vm - xf86vidmodeproto; - inherit (gnome) GConf; - inherit (pythonPackages) pyxdg; - geoclue = geoclue2; - }; - - oxygen_gtk = callPackage ../misc/themes/gtk2/oxygen-gtk { }; - - gtk_engines = callPackage ../misc/themes/gtk2/gtk-engines { }; - - gtk-engine-murrine = callPackage ../misc/themes/gtk2/gtk-engine-murrine { }; - - gnome_themes_standard = gnome3.gnome_themes_standard; - - mate-icon-theme = callPackage ../misc/themes/mate-icon-theme { }; - - mate-themes = callPackage ../misc/themes/mate-themes { }; - - xfce = xfce4_10; - xfce4_10 = recurseIntoAttrs (import ../desktops/xfce { inherit pkgs newScope; }); - - - ### SCIENCE - - ### SCIENCE/GEOMETRY - - drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) { - inherit (gnome) libglade; - inherit libxml2 perl intltool libtool pkgconfig gtk; - guile = guile_1_8; - }; - - tetgen = callPackage ../applications/science/geometry/tetgen { }; - - - ### SCIENCE/BIOLOGY - - alliance = callPackage ../applications/science/electronics/alliance { - motif = lesstif; - }; - - arb = callPackage ../applications/science/biology/arb { - lesstif = lesstif93; - }; - - archimedes = callPackage ../applications/science/electronics/archimedes { }; - - biolib = callPackage ../development/libraries/science/biology/biolib { }; - - emboss = callPackage ../applications/science/biology/emboss { }; - - mrbayes = callPackage ../applications/science/biology/mrbayes { }; - - ncbiCTools = builderDefsPackage ../development/libraries/ncbi { - inherit tcsh mesa lesstif; - inherit (xlibs) libX11 libXaw xproto libXt libSM libICE - libXmu libXext; - }; - - ncbi_tools = callPackage ../applications/science/biology/ncbi-tools { }; - - paml = callPackage ../applications/science/biology/paml { }; - - pal2nal = callPackage ../applications/science/biology/pal2nal { }; - - plink = callPackage ../applications/science/biology/plink/default.nix { }; - - - ### SCIENCE/MATH - - arpack = callPackage ../development/libraries/science/math/arpack { }; - - atlas = callPackage ../development/libraries/science/math/atlas { - # The build process measures CPU capabilities and optimizes the - # library to perform best on that particular machine. That is a - # great feature, but it's of limited use with pre-built binaries - # coming from a central build farm. - tolerateCpuTimingInaccuracy = true; - }; - - blas = callPackage ../development/libraries/science/math/blas { }; - - content = builderDefsPackage ../applications/science/math/content { - inherit mesa lesstif; - inherit (xlibs) libX11 libXaw xproto libXt libSM libICE - libXmu libXext libXcursor; - }; - - jags = callPackage ../applications/science/math/jags { }; - - liblapack = callPackage ../development/libraries/science/math/liblapack { }; - liblapack_3_5_0 = callPackage ../development/libraries/science/math/liblapack/3.5.0.nix { }; - - liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { }; - - # julia is pinned to specific versions of openblas, so keep old versions - # until they aren't needed. The un-versioned attribute may continue to track - # upstream development. - openblas = callPackage ../development/libraries/science/math/openblas { - liblapack = liblapack_3_5_0; - }; - openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix { - liblapack = liblapack_3_5_0; - }; - openblas_0_2_2 = callPackage ../development/libraries/science/math/openblas/0.2.2.nix { }; - - mathematica = callPackage ../applications/science/math/mathematica { }; - - sage = callPackage ../applications/science/math/sage { }; - - ### SCIENCE/MOLECULAR-DYNAMICS - - gromacs = callPackage ../applications/science/molecular-dynamics/gromacs { - singlePrec = true; - fftw = fftwSinglePrec; - cmake = cmakeCurses; - }; - - gromacsDouble = lowPrio (callPackage ../applications/science/molecular-dynamics/gromacs { - singlePrec = false; - fftw = fftw; - cmake = cmakeCurses; - }); - - - ### SCIENCE/LOGIC - - abc-verifier = callPackage ../applications/science/logic/abc {}; - - alt-ergo = callPackage ../applications/science/logic/alt-ergo {}; - - coq = callPackage ../applications/science/logic/coq { - inherit (ocamlPackages) findlib lablgtk; - camlp5 = ocamlPackages.camlp5_transitional; - }; - - coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix { - inherit (ocamlPackages) findlib lablgtk; - camlp5 = ocamlPackages.camlp5_transitional; - }; - - coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix { - inherit (ocamlPackages) findlib lablgtk; - camlp5 = ocamlPackages.camlp5_transitional; - }; - - cvc3 = callPackage ../applications/science/logic/cvc3 {}; - - ekrhyper = callPackage ../applications/science/logic/ekrhyper {}; - - eprover = callPackage ../applications/science/logic/eprover { - texLive = texLiveAggregationFun { - paths = [ - texLive texLiveExtra - ]; - }; - }; - - ginac = callPackage ../applications/science/math/ginac { }; - - hol = callPackage ../applications/science/logic/hol { }; - - hol_light = callPackage ../applications/science/logic/hol_light { - inherit (ocamlPackages) findlib; - camlp5 = ocamlPackages.camlp5_strict; - }; - - isabelle = import ../applications/science/logic/isabelle { - inherit (pkgs) stdenv fetchurl nettools perl polyml; - inherit (pkgs.emacs24Packages) proofgeneral; - }; - - iprover = callPackage ../applications/science/logic/iprover {}; - - leo2 = callPackage ../applications/science/logic/leo2 {}; - - logisim = callPackage ../applications/science/logic/logisim {}; - - ltl2ba = callPackage ../applications/science/logic/ltl2ba {}; - - matita = callPackage ../applications/science/logic/matita { - ocaml = ocaml_3_11_2; - inherit (ocamlPackages_3_11_2) findlib lablgtk ocaml_expat gmetadom ocaml_http - lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet camlzip ocaml_pcre; - ulex08 = ocamlPackages_3_11_2.ulex08.override { camlp5 = ocamlPackages_3_11_2.camlp5_5_transitional; }; - }; - - matita_130312 = lowPrio (callPackage ../applications/science/logic/matita/130312.nix { - inherit (ocamlPackages) findlib lablgtk ocaml_expat gmetadom ocaml_http - ocaml_mysql ocamlnet ulex08 camlzip ocaml_pcre; - }); - - minisat = callPackage ../applications/science/logic/minisat {}; - - opensmt = callPackage ../applications/science/logic/opensmt { }; - - otter = callPackage ../applications/science/logic/otter {}; - - picosat = callPackage ../applications/science/logic/picosat {}; - - prooftree = callPackage ../applications/science/logic/prooftree { - inherit (ocamlPackages) findlib lablgtk; - camlp5 = ocamlPackages.camlp5_transitional; - }; - - prover9 = callPackage ../applications/science/logic/prover9 { }; - - satallax = callPackage ../applications/science/logic/satallax {}; - - spass = callPackage ../applications/science/logic/spass {}; - - ssreflect = callPackage ../applications/science/logic/ssreflect { - camlp5 = ocamlPackages.camlp5_transitional; - }; - - tptp = callPackage ../applications/science/logic/tptp {}; - - twelf = callPackage ../applications/science/logic/twelf { - smlnj = if stdenv.isDarwin - then smlnjBootstrap - else smlnj; - }; - - verifast = callPackage ../applications/science/logic/verifast {}; - - why3 = callPackage ../applications/science/logic/why3 {}; - - yices = callPackage ../applications/science/logic/yices {}; - - z3 = callPackage ../applications/science/logic/z3 {}; - - boolector = boolector15; - boolector15 = callPackage ../applications/science/logic/boolector {}; - boolector16 = lowPrio (callPackage ../applications/science/logic/boolector { - useV16 = true; - }); - - ### SCIENCE / ELECTRONICS - - eagle = callPackage_i686 ../applications/science/electronics/eagle { }; - - caneda = callPackage ../applications/science/electronics/caneda { }; - - gtkwave = callPackage ../applications/science/electronics/gtkwave { }; - - kicad = callPackage ../applications/science/electronics/kicad { - wxGTK = wxGTK29; - }; - - ngspice = callPackage ../applications/science/electronics/ngspice { }; - - qucs = callPackage ../applications/science/electronics/qucs { }; - - xoscope = callPackage ../applications/science/electronics/xoscope { }; - - - ### SCIENCE / MATH - - ecm = callPackage ../applications/science/math/ecm { }; - - eukleides = callPackage ../applications/science/math/eukleides { - texinfo = texinfo4; - }; - - fricas = callPackage ../applications/science/math/fricas { }; - - gap = callPackage ../applications/science/math/gap { }; - - maxima = callPackage ../applications/science/math/maxima { }; - - wxmaxima = callPackage ../applications/science/math/wxmaxima { }; - - pari = callPackage ../applications/science/math/pari {}; - - pspp = callPackage ../applications/science/math/pssp { - inherit (gnome) libglade gtksourceview; - }; - - singular = callPackage ../applications/science/math/singular {}; - - scilab = callPackage ../applications/science/math/scilab { - withXaw3d = false; - withTk = true; - withGtk = false; - withOCaml = true; - withX = true; - }; - - msieve = callPackage ../applications/science/math/msieve { }; - - weka = callPackage ../applications/science/math/weka { }; - - yad = callPackage ../tools/misc/yad { }; - - yacas = callPackage ../applications/science/math/yacas { }; - - speedcrunch = callPackage ../applications/science/math/speedcrunch { - qt = qt4; - cmake = cmakeCurses; - }; - - - ### SCIENCE / MISC - - boinc = callPackage ../applications/science/misc/boinc { }; - - celestia = callPackage ../applications/science/astronomy/celestia { - lua = lua5_1; - inherit (xlibs) libXmu; - inherit (pkgs.gnome) gtkglext; - }; - - fityk = callPackage ../applications/science/misc/fityk { }; - - gravit = callPackage ../applications/science/astronomy/gravit { }; - - golly = callPackage ../applications/science/misc/golly { }; - - megam = callPackage ../applications/science/misc/megam { }; - - root = callPackage ../applications/science/misc/root { }; - - simgrid = callPackage ../applications/science/misc/simgrid { }; - - spyder = callPackage ../applications/science/spyder { - inherit (pythonPackages) pyflakes rope sphinx numpy scipy matplotlib; # recommended - inherit (pythonPackages) ipython pep8; # optional - inherit pylint; - }; - - stellarium = callPackage ../applications/science/astronomy/stellarium { }; - - tulip = callPackage ../applications/science/misc/tulip { }; - - vite = callPackage ../applications/science/misc/vite { }; - - xplanet = callPackage ../applications/science/astronomy/xplanet { }; - - ### MISC - - atari800 = callPackage ../misc/emulators/atari800 { }; - - ataripp = callPackage ../misc/emulators/atari++ { }; - - auctex = callPackage ../tools/typesetting/tex/auctex { }; - - beep = callPackage ../misc/beep { }; - - cups = callPackage ../misc/cups { libusb = libusb1; }; - - cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { }; - - gutenprint = callPackage ../misc/drivers/gutenprint { }; - - gutenprintBin = callPackage ../misc/drivers/gutenprint/bin.nix { }; - - cupsBjnp = callPackage ../misc/cups/drivers/cups-bjnp { }; - - darcnes = callPackage ../misc/emulators/darcnes { }; - - dbacl = callPackage ../tools/misc/dbacl { }; - - dblatex = callPackage ../tools/typesetting/tex/dblatex { - enableAllFeatures = false; - }; - - dblatexFull = appendToName "full" (dblatex.override { - enableAllFeatures = true; - }); - - dosbox = callPackage ../misc/emulators/dosbox { }; - - dpkg = callPackage ../tools/package-management/dpkg { }; - - ekiga = newScope pkgs.gnome ../applications/networking/instant-messengers/ekiga { }; - - emulationstation = callPackage ../misc/emulators/emulationstation { }; - - electricsheep = callPackage ../misc/screensavers/electricsheep { }; - - fakenes = callPackage ../misc/emulators/fakenes { }; - - fceux = callPackage ../misc/emulators/fceux { }; - - foldingathome = callPackage ../misc/foldingathome { }; - - foo2zjs = callPackage ../misc/drivers/foo2zjs {}; - - foomatic_filters = callPackage ../misc/drivers/foomatic-filters {}; - - freestyle = callPackage ../misc/freestyle { }; - - gajim = callPackage ../applications/networking/instant-messengers/gajim { }; - - gammu = callPackage ../applications/misc/gammu { }; - - gensgs = callPackage_i686 ../misc/emulators/gens-gs { }; - - ghostscript = callPackage ../misc/ghostscript { - x11Support = false; - cupsSupport = config.ghostscript.cups or (!stdenv.isDarwin); - gnuFork = config.ghostscript.gnu or false; - }; - - ghostscriptX = appendToName "with-X" (ghostscript.override { - x11Support = true; - }); - - guix = callPackage ../tools/package-management/guix { }; - - gxemul = callPackage ../misc/gxemul { }; - - hatari = callPackage ../misc/emulators/hatari { }; - - hplip = callPackage ../misc/drivers/hplip { }; - - hplipWithPlugin = hplip.override { withPlugin = true; }; - - # using the new configuration style proposal which is unstable - jack1 = callPackage ../misc/jackaudio/jack1.nix { }; - - jack2 = callPackage ../misc/jackaudio { }; - - keynav = callPackage ../tools/X11/keynav { }; - - lazylist = callPackage ../tools/typesetting/tex/lazylist { }; - - lilypond = callPackage ../misc/lilypond { guile = guile_1_8; }; - - martyr = callPackage ../development/libraries/martyr { }; - - maven = maven3; - maven3 = callPackage ../misc/maven { jdk = openjdk; }; - - mess = callPackage ../misc/emulators/mess { - inherit (pkgs.gnome) GConf; - }; - - mupen64plus = callPackage ../misc/emulators/mupen64plus { }; - - mupen64plus1_5 = callPackage ../misc/emulators/mupen64plus/1.5.nix { }; - - nix = nixStable; - - nixStable = callPackage ../tools/package-management/nix { - storeDir = config.nix.storeDir or "/nix/store"; - stateDir = config.nix.stateDir or "/nix/var"; - }; - - nixUnstable = callPackage ../tools/package-management/nix/unstable.nix { - storeDir = config.nix.storeDir or "/nix/store"; - stateDir = config.nix.stateDir or "/nix/var"; - }; - - nixops = callPackage ../tools/package-management/nixops { }; - - nix-prefetch-scripts = callPackage ../tools/package-management/nix-prefetch-scripts { }; - - nix-repl = callPackage ../tools/package-management/nix-repl { }; - - nut = callPackage ../applications/misc/nut { }; - - solfege = callPackage ../misc/solfege { - pysqlite = pkgs.pythonPackages.sqlite3; - }; - - disnix = callPackage ../tools/package-management/disnix { }; - - dysnomia = callPackage ../tools/package-management/disnix/dysnomia { - enableApacheWebApplication = config.disnix.enableApacheWebApplication or false; - enableAxis2WebService = config.disnix.enableAxis2WebService or false; - enableEjabberdDump = config.disnix.enableEjabberdDump or false; - enableMySQLDatabase = config.disnix.enableMySQLDatabase or false; - enablePostgreSQLDatabase = config.disnix.enablePostgreSQLDatabase or false; - enableSubversionRepository = config.disnix.enableSubversionRepository or false; - enableTomcatWebApplication = config.disnix.enableTomcatWebApplication or false; - }; - - disnixos = callPackage ../tools/package-management/disnix/disnixos { }; - - DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService { }; - - latex2html = callPackage ../tools/typesetting/tex/latex2html/default.nix { - tex = tetex; - }; - - lkproof = callPackage ../tools/typesetting/tex/lkproof { }; - - mysqlWorkbench = newScope gnome ../applications/misc/mysql-workbench { - lua = lua5; - inherit (pythonPackages) pexpect paramiko; - }; - - robomongo = callPackage ../applications/misc/robomongo { }; - - opkg = callPackage ../tools/package-management/opkg { }; - - pgadmin = callPackage ../applications/misc/pgadmin { }; - - pgf = pgf2; - - # Keep the old PGF since some documents don't render properly with - # the new one. - pgf1 = callPackage ../tools/typesetting/tex/pgf/1.x.nix { }; - - pgf2 = callPackage ../tools/typesetting/tex/pgf/2.x.nix { }; - - pgfplots = callPackage ../tools/typesetting/tex/pgfplots { }; - - pjsip = callPackage ../applications/networking/pjsip { }; - - polytable = callPackage ../tools/typesetting/tex/polytable { }; - - PPSSPP = callPackage ../misc/emulators/ppsspp { }; - - uae = callPackage ../misc/emulators/uae { }; - - putty = callPackage ../applications/networking/remote/putty { }; - - retroarch = callPackage ../misc/emulators/retroarch { }; - - rssglx = callPackage ../misc/screensavers/rss-glx { }; - - xlockmore = callPackage ../misc/screensavers/xlockmore { }; - - samsungUnifiedLinuxDriver = import ../misc/cups/drivers/samsung { - inherit fetchurl stdenv; - inherit cups ghostscript glibc patchelf; - gcc = import ../development/compilers/gcc/4.4 { - inherit stdenv fetchurl gmp mpfr noSysDirs gettext which; - texinfo = texinfo4; - profiledCompiler = true; - }; - }; - - saneBackends = callPackage ../applications/graphics/sane/backends.nix { - gt68xxFirmware = config.sane.gt68xxFirmware or null; - snapscanFirmware = config.sane.snapscanFirmware or null; - hotplugSupport = config.sane.hotplugSupport or true; - libusb = libusb1; - }; - - saneBackendsGit = callPackage ../applications/graphics/sane/backends-git.nix { - gt68xxFirmware = config.sane.gt68xxFirmware or null; - snapscanFirmware = config.sane.snapscanFirmware or null; - hotplugSupport = config.sane.hotplugSupport or true; - }; - - mkSaneConfig = callPackage ../applications/graphics/sane/config.nix { }; - - saneFrontends = callPackage ../applications/graphics/sane/frontends.nix { }; - - seafile-shared = callPackage ../misc/seafile-shared { }; - - slock = callPackage ../misc/screensavers/slock { }; - - sourceAndTags = import ../misc/source-and-tags { - inherit pkgs stdenv unzip lib ctags; - hasktags = haskellPackages.hasktags; - }; - - splix = callPackage ../misc/cups/drivers/splix { }; - - streamripper = callPackage ../applications/audio/streamripper { }; - - sqsh = callPackage ../development/tools/sqsh { }; - - tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; }; - - tex4ht = callPackage ../tools/typesetting/tex/tex4ht { }; - - texFunctions = import ../tools/typesetting/tex/nix pkgs; - - texLive = builderDefsPackage (import ../tools/typesetting/tex/texlive) { - inherit builderDefs zlib bzip2 ncurses libpng ed lesstif ruby potrace - gd t1lib freetype icu perl expat curl xz pkgconfig zziplib texinfo - libjpeg bison python fontconfig flex poppler libpaper graphite2 - makeWrapper; - inherit (xlibs) libXaw libX11 xproto libXt libXpm - libXmu libXext xextproto libSM libICE; - ghostscript = ghostscriptX; - harfbuzz = harfbuzz.override { - withIcu = true; withGraphite2 = true; - }; - }; - - texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun { - paths = [ texLive texLiveExtra lmodern texLiveCMSuper texLiveLatexXColor - texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht texinfo - texLiveModerntimeline ]; - }); - - /* Look in configurations/misc/raskin.nix for usage example (around revisions - where TeXLive was added) - - (texLiveAggregationFun { - paths = [texLive texLiveExtra texLiveCMSuper - texLiveBeamer - ]; - }) - - You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list) - Just installing a few packages doesn't work. - */ - texLiveAggregationFun = params: - builderDefsPackage (import ../tools/typesetting/tex/texlive/aggregate.nix) - ({inherit poppler perl makeWrapper;} // params); - - texDisser = callPackage ../tools/typesetting/tex/disser {}; - - texLiveContext = builderDefsPackage (import ../tools/typesetting/tex/texlive/context.nix) { - inherit texLive; - }; - - texLiveExtra = builderDefsPackage (import ../tools/typesetting/tex/texlive/extra.nix) { - inherit texLive xz; - }; - - texLiveCMSuper = builderDefsPackage (import ../tools/typesetting/tex/texlive/cm-super.nix) { - inherit texLive; - }; - - texLiveLatexXColor = builderDefsPackage (import ../tools/typesetting/tex/texlive/xcolor.nix) { - inherit texLive; - }; - - texLivePGF = builderDefsPackage (import ../tools/typesetting/tex/texlive/pgf.nix) { - inherit texLiveLatexXColor texLive; - }; - - texLiveBeamer = builderDefsPackage (import ../tools/typesetting/tex/texlive/beamer.nix) { - inherit texLiveLatexXColor texLivePGF texLive; - }; - - texLiveModerncv = builderDefsPackage (import ../tools/typesetting/tex/texlive/moderncv.nix) { - inherit texLive unzip; - }; - - texLiveModerntimeline = builderDefsPackage (import ../tools/typesetting/tex/texlive/moderntimeline.nix) { - inherit texLive unzip; - }; - - thermald = callPackage ../tools/system/thermald { }; - - thinkfan = callPackage ../tools/system/thinkfan { }; - - vice = callPackage ../misc/emulators/vice { - libX11 = xlibs.libX11; - giflib = giflib_4_1; - }; - - viewnior = callPackage ../applications/graphics/viewnior { }; - - vimPlugins = recurseIntoAttrs (callPackage ../misc/vim-plugins { }); - - vimprobable2 = callPackage ../applications/networking/browsers/vimprobable2 { - webkit = webkitgtk2; - }; - - vimprobable2Wrapper = wrapFirefox - { browser = vimprobable2; browserName = "vimprobable2"; desktopName = "Vimprobable2"; - }; - - vimb = callPackage ../applications/networking/browsers/vimb { - webkit = webkitgtk2; - }; - - vimbWrapper = wrapFirefox { - browser = vimb; - browserName = "vimb"; - desktopName = "Vimb"; - }; - - VisualBoyAdvance = callPackage ../misc/emulators/VisualBoyAdvance { }; - - # Wine cannot be built in 64-bit; use a 32-bit build instead. - wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix { - bison = bison2; - }; - - wineUnstable = lowPrio (callPackage_i686 ../misc/emulators/wine/unstable.nix { - bison = bison2; - }); - - wine = wineStable; - - winetricks = callPackage ../misc/emulators/wine/winetricks.nix { - inherit (gnome2) zenity; - }; - - wxmupen64plus = callPackage ../misc/emulators/wxmupen64plus { }; - - x2x = callPackage ../tools/X11/x2x { }; - - xboxdrv = callPackage ../misc/drivers/xboxdrv { }; - - xinput_calibrator = callPackage ../tools/X11/xinput_calibrator { - inherit (xlibs) libXi inputproto; - }; - - xosd = callPackage ../misc/xosd { }; - - xsane = callPackage ../applications/graphics/sane/xsane.nix { - libpng = libpng12; - saneBackends = saneBackends; - }; - - yafc = callPackage ../applications/networking/yafc { }; - - yandex-disk = callPackage ../tools/filesystems/yandex-disk { }; - - myEnvFun = import ../misc/my-env { - inherit substituteAll pkgs; - inherit (stdenv) mkDerivation; - }; - - # patoline requires a rather large ocaml compilation environment. - # this is why it is build as an environment and not just a normal package. - # remark : the emacs mode is also installed, but you have to adjust your load-path. - PatolineEnv = pack: myEnvFun { - name = "patoline"; - buildInputs = [ stdenv ncurses mesa freeglut libzip gcc - pack.ocaml pack.findlib pack.camomile - pack.dypgen pack.ocaml_sqlite3 pack.camlzip - pack.lablgtk pack.camlimages pack.ocaml_cairo - pack.lablgl pack.ocamlnet pack.cryptokit - pack.ocaml_pcre pack.patoline - ]; - # this is to circumvent the bug with libgcc_s.so.1 which is - # not found when using thread - extraCmds = '' - LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gcc.gcc}/lib - export LD_LIBRARY_PATH - ''; - }; - - patoline = PatolineEnv ocamlPackages_4_00_1; - - znc = callPackage ../applications/networking/znc { }; - - zncModules = recurseIntoAttrs ( - callPackage ../applications/networking/znc/modules.nix { } - ); - - zsnes = callPackage_i686 ../misc/emulators/zsnes { }; - - snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { }; - - higan = callPackage ../misc/emulators/higan { }; - - misc = import ../misc/misc.nix { inherit pkgs stdenv; }; - - bullet = callPackage ../development/libraries/bullet {}; - - dart = callPackage ../development/interpreters/dart { }; - - httrack = callPackage ../tools/backup/httrack { }; - - mg = callPackage ../applications/editors/mg { }; - - - # Attributes for backward compatibility. - adobeReader = adobe-reader; - asciidocFull = asciidoc-full; # added 2014-06-22 - lttngTools = lttng-tools; # added 2014-07-31 - lttngUst = lttng-ust; # added 2014-07-31 - - -}; in self; in pkgs From e23504c0b2849b50c2463ab935cb6decfc40385c Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 3 Sep 2014 09:58:10 +0200 Subject: [PATCH 0672/2163] evolution-data-server: update from 3.12.2 to 3.12.5 --- .../gnome-3/3.12/core/evolution-data-server/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix index b8711f7e563..2cb1fbe90d4 100644 --- a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { - name = "evolution-data-server-3.12.2"; + name = "evolution-data-server-3.12.5"; src = fetchurl { url = "mirror://gnome/sources/evolution-data-server/3.12/${name}.tar.xz"; - sha256 = "91c95e17a8c1cd1086dafcd99a40bdf8f5993770f251f8b0a10e5395e3f5a3b6"; + sha256 = "d3a2f832f823cb2a41467926dcaec984a15b2cb51ef89cf41267e337ca750811"; }; buildInputs = with gnome3; @@ -28,6 +28,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { platforms = platforms.linux; + maintainers = [ maintainers.lethalman ]; }; } From 1d0c2faf6b42f98d143c5758dfbe6c74b0a01ec5 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 3 Sep 2014 10:01:19 +0200 Subject: [PATCH 0673/2163] totem: drop upstream patch after update --- .../gnome-3/3.12/core/totem/default.nix | 2 - .../3.12/core/totem/fix_files_loss.patch | 72 ------------------- 2 files changed, 74 deletions(-) delete mode 100644 pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix index 1322fdcaae3..49094751983 100644 --- a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix @@ -39,8 +39,6 @@ stdenv.mkDerivation rec { rm $out/share/icons/hicolor/icon-theme.cache ''; - patches = [ ./fix_files_loss.patch ]; - meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Apps/Videos; description = "Movie player for the GNOME desktop based on GStreamer"; diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch b/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch deleted file mode 100644 index b85ad1efd00..00000000000 --- a/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 524c9e39a0ca6f2d1699e6e6d9ba3db1ea80d9f9 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Thu, 15 May 2014 19:28:35 +0200 -Subject: main: Fix potential data loss when removing multiple files - -We were using a list of GtkTreePaths and deleting the items one-by-one -when the user clicked the "Delete" button. But after the first deletion, -the tree model would have changed, and instead of pointing to the 2nd -item we wanted to delete, the GtkTreePath would have pointed to another -item, usually not one that we wanted to delete. - -We now use GtkTreeRowReferences, which will always point to the same -row, as long as it exists. - -https://bugzilla.gnome.org/show_bug.cgi?id=729778 - -diff --git a/src/totem-grilo.c b/src/totem-grilo.c -index 2133d77..0cff0d6 100644 ---- a/src/totem-grilo.c -+++ b/src/totem-grilo.c -@@ -2074,7 +2074,8 @@ static void - delete_foreach (gpointer data, - gpointer user_data) - { -- GtkTreePath *path = data; -+ GtkTreeRowReference *ref = data; -+ GtkTreePath *path; - GtkTreeModel *view_model = user_data; - GtkTreeIter iter; - GrlSource *source; -@@ -2085,8 +2086,11 @@ delete_foreach (gpointer data, - GtkTreeModel *model; - GtkTreeIter real_model_iter; - -- if (!gtk_tree_model_get_iter (view_model, &iter, path)) -+ path = gtk_tree_row_reference_get_path (ref); -+ if (!path || !gtk_tree_model_get_iter (view_model, &iter, path)) { -+ g_warning ("An item that was scheduled for removal isn't available any more"); - return; -+ } - - gtk_tree_model_get (view_model, &iter, - MODEL_RESULTS_CONTENT, &media, -@@ -2151,14 +2155,23 @@ delete_cb (TotemSelectionToolbar *bar, - TotemGrilo *self) - { - GtkTreeModel *model; -- GList *list; -+ GList *list, *l; - - g_signal_handlers_block_by_func (self->priv->browser, "view-selection-changed", self); - - model = gd_main_view_get_model (GD_MAIN_VIEW (self->priv->browser)); - list = gd_main_view_get_selection (GD_MAIN_VIEW (self->priv->browser)); -+ -+ /* GList of GtkTreePaths to a GList of GtkTreeRowReferences */ -+ for (l = list; l != NULL; l = l->next) { -+ GtkTreeRowReference *ref; -+ -+ ref = gtk_tree_row_reference_new (model, l->data); -+ gtk_tree_path_free (l->data); -+ l->data = ref; -+ } - g_list_foreach (list, delete_foreach, model); -- g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free); -+ g_list_free_full (list, (GDestroyNotify) gtk_tree_row_reference_free); - - g_signal_handlers_unblock_by_func (self->priv->browser, "view-selection-changed", self); - --- -cgit v0.10.1 - From 88d270f62e268c4cd36bc6e181ee885e21167376 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 3 Sep 2014 01:06:04 -0700 Subject: [PATCH 0674/2163] grub2: Add localizations --- pkgs/tools/misc/grub/2.0x.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index fdb2ae556e8..e5471a6c404 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -22,6 +22,13 @@ let url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz"; sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx"; }; + + po_src = fetchurl { + name = "grub-2.02-beta2.tar.gz"; + url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.gz"; + sha256 = "1lr9h3xcx0wwrnkxdnkfjwy08j7g7mdlmmbdip2db4zfgi69h0rm"; + }; + in ( assert efiSupport -> canEfi; @@ -61,7 +68,10 @@ stdenv.mkDerivation rec { ''; prePatch = - '' sh autogen.sh + '' tar zxf ${po_src} grub-2.02~beta2/po + rm -rf po + mv grub-2.02~beta2/po po + sh autogen.sh gunzip < "${unifont_bdf}" > "unifont.bdf" sed -i "configure" \ -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g" From 698170005fe85b993e2acb6f1af46d04153109d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Thu, 21 Aug 2014 00:41:41 +0200 Subject: [PATCH 0675/2163] Add QScintilla. --- .../libraries/qscintilla/default.nix | 47 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/libraries/qscintilla/default.nix diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix new file mode 100644 index 00000000000..c98496e336c --- /dev/null +++ b/pkgs/development/libraries/qscintilla/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, qt }: + +stdenv.mkDerivation rec { + pname = "qscintilla"; + version = "2.8.3"; + + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/pyqt/QScintilla2/QScintilla-2.8.3/${name}.tar.gz"; + sha256 = "fb94e6d61c3ccd4bf167d5f092629e619f7069d42207469458998b761a7cf505"; + }; + + buildInputs = [ qt ]; + + preConfigure = '' + cd Qt4Qt5 + sed -i -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/libs," \ + -e "s,\$\$\\[QT_INSTALL_HEADERS\\],$out/include/," \ + -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/share/qt/translations," \ + -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share/qt," \ + qscintilla.pro + qmake qscintilla.pro + ''; + + # TODO PyQt Support. + + meta = { + description = "A Qt port of the Scintilla text editing library"; + longDescription = '' + QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor + control. + + As well as features found in standard text editing components, + QScintilla includes features especially useful when editing and + debugging source code. These include support for syntax styling, + error indicators, code completion and call tips. The selection + margin can contain markers like those used in debuggers to + indicate breakpoints and the current line. Styling choices are + more open than with many editors, allowing the use of + proportional fonts, bold and italics, multiple foreground and + background colours and multiple fonts. + ''; + homepage = http://www.riverbankcomputing.com/software/qscintilla/intro; + license = stdenv.lib.licenses.gpl2; # and gpl3 and commercial + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 597cc4360de..3cc15a09299 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1979,6 +1979,10 @@ let qjoypad = callPackage ../tools/misc/qjoypad { }; + qscintilla = callPackage ../development/libraries/qscintilla { + qt = qt4; + }; + qshowdiff = callPackage ../tools/text/qshowdiff { }; quilt = callPackage ../development/tools/quilt { }; From 8abe312cde76ee9c201e08ed45a19d8f774b176f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Thu, 21 Aug 2014 02:08:19 +0200 Subject: [PATCH 0676/2163] octave: Add qscintilla support. #3711 --- pkgs/development/interpreters/octave/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index eac067da282..d302a2a6e18 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull , libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk , fftw, fftwSinglePrec, zlib, curl, qrupdate -, qt ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null +, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null , suitesparse ? null, gnuplot ? null, openjdk ? null, python ? null }: @@ -17,6 +17,7 @@ stdenv.mkDerivation rec { graphicsmagick pcre liblapack pkgconfig mesa fltk zlib curl fftw fftwSinglePrec qrupdate ] ++ (stdenv.lib.optional (qt != null) qt) + ++ (stdenv.lib.optional (qscintilla != null) qscintilla) ++ (stdenv.lib.optional (ghostscript != null) ghostscript) ++ (stdenv.lib.optional (llvm != null) llvm) ++ (stdenv.lib.optional (hdf5 != null) hdf5) From 4efc03f46fca7225d7c6063955f9c0768e70a991 Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Wed, 3 Sep 2014 01:09:58 -0700 Subject: [PATCH 0677/2163] Delete nixos/modules/module-list.nix.orig, extraneous file --- nixos/modules/module-list.nix.orig | 372 ----------------------------- 1 file changed, 372 deletions(-) delete mode 100644 nixos/modules/module-list.nix.orig diff --git a/nixos/modules/module-list.nix.orig b/nixos/modules/module-list.nix.orig deleted file mode 100644 index 3604753c880..00000000000 --- a/nixos/modules/module-list.nix.orig +++ /dev/null @@ -1,372 +0,0 @@ -[ - ./config/fonts/corefonts.nix - ./config/fonts/fontconfig.nix - ./config/fonts/fontdir.nix - ./config/fonts/fonts.nix - ./config/fonts/ghostscript.nix - ./config/gnu.nix - ./config/gtk-exe-env.nix - ./config/i18n.nix - ./config/krb5.nix - ./config/ldap.nix - ./config/networking.nix - ./config/no-x-libs.nix - ./config/nsswitch.nix - ./config/power-management.nix - ./config/pulseaudio.nix - ./config/qt-plugin-env.nix - ./config/shells-environment.nix - ./config/swap.nix - ./config/sysctl.nix - ./config/system-environment.nix - ./config/system-path.nix - ./config/timezone.nix - ./config/vpnc.nix - ./config/unix-odbc-drivers.nix - ./config/users-groups.nix - ./config/zram.nix - ./hardware/all-firmware.nix - ./hardware/cpu/amd-microcode.nix - ./hardware/cpu/intel-microcode.nix - ./hardware/network/b43.nix - ./hardware/network/intel-2100bg.nix - ./hardware/network/intel-2200bg.nix - ./hardware/network/intel-3945abg.nix - ./hardware/network/ralink.nix - ./hardware/network/rtl8192c.nix - ./hardware/opengl.nix - ./hardware/pcmcia.nix - ./hardware/video/bumblebee.nix - ./hardware/video/nvidia.nix - ./installer/tools/nixos-checkout.nix - ./installer/tools/tools.nix - ./misc/assertions.nix - ./misc/check-config.nix - ./misc/crashdump.nix - ./misc/ids.nix - ./misc/lib.nix - ./misc/locate.nix - ./misc/meta.nix - ./misc/nixpkgs.nix - ./misc/passthru.nix - ./misc/version.nix - ./programs/atop.nix - ./programs/bash/bash.nix - ./programs/bash/command-not-found.nix - ./programs/blcr.nix - ./programs/dconf.nix - ./programs/environment.nix - ./programs/info.nix - ./programs/nano.nix - ./programs/screen.nix - ./programs/shadow.nix - ./programs/shell.nix - ./programs/ssh.nix - ./programs/ssmtp.nix - ./programs/uim.nix - ./programs/venus.nix - ./programs/wvdial.nix - ./programs/freetds.nix - ./programs/zsh/zsh.nix - ./rename.nix - ./security/apparmor.nix - ./security/apparmor-suid.nix - ./security/ca.nix - ./security/duosec.nix - ./security/grsecurity.nix - ./security/pam.nix - ./security/pam_usb.nix - ./security/polkit.nix - ./security/prey.nix - ./security/rngd.nix - ./security/rtkit.nix - ./security/setuid-wrappers.nix - ./security/sudo.nix - ./services/amqp/activemq/default.nix - ./services/amqp/rabbitmq.nix - ./services/audio/alsa.nix - ./services/audio/fuppes.nix - ./services/audio/mpd.nix - ./services/audio/mopidy.nix - ./services/backup/almir.nix - ./services/backup/bacula.nix - ./services/backup/mysql-backup.nix - ./services/backup/postgresql-backup.nix - ./services/backup/rsnapshot.nix - ./services/backup/sitecopy-backup.nix - ./services/backup/tarsnap.nix - ./services/continuous-integration/jenkins/default.nix - ./services/continuous-integration/jenkins/slave.nix - ./services/databases/4store-endpoint.nix - ./services/databases/4store.nix - ./services/databases/couchdb.nix - ./services/databases/firebird.nix - ./services/databases/influxdb.nix - ./services/databases/memcached.nix - ./services/databases/monetdb.nix - ./services/databases/mongodb.nix - ./services/databases/mysql.nix - ./services/databases/neo4j.nix - ./services/databases/openldap.nix - ./services/databases/postgresql.nix - ./services/databases/redis.nix - ./services/databases/virtuoso.nix - ./services/desktops/accountsservice.nix - ./services/desktops/geoclue2.nix - ./services/desktops/gnome3/at-spi2-core.nix - ./services/desktops/gnome3/evolution-data-server.nix - ./services/desktops/gnome3/gnome-documents.nix - ./services/desktops/gnome3/gnome-keyring.nix - ./services/desktops/gnome3/gnome-online-accounts.nix - ./services/desktops/gnome3/gnome-online-miners.nix - ./services/desktops/gnome3/gnome-user-share.nix - ./services/desktops/gnome3/gvfs.nix - ./services/desktops/gnome3/seahorse.nix - ./services/desktops/gnome3/sushi.nix - ./services/desktops/gnome3/tracker.nix - ./services/desktops/telepathy.nix - ./services/games/ghost-one.nix - ./services/games/minecraft-server.nix - ./services/hardware/acpid.nix - ./services/hardware/amd-hybrid-graphics.nix - ./services/hardware/bluetooth.nix - ./services/hardware/nvidia-optimus.nix - ./services/hardware/pcscd.nix - ./services/hardware/pommed.nix - ./services/hardware/sane.nix - ./services/hardware/tcsd.nix - ./services/hardware/thinkfan.nix - ./services/hardware/udev.nix - ./services/hardware/udisks2.nix - ./services/hardware/upower.nix - ./services/logging/klogd.nix - ./services/logging/logcheck.nix - ./services/logging/logrotate.nix - ./services/logging/logstash.nix - ./services/logging/rsyslogd.nix - ./services/logging/syslogd.nix - ./services/logging/syslog-ng.nix - ./services/mail/dovecot.nix - ./services/mail/freepops.nix - ./services/mail/mail.nix - ./services/mail/mlmmj.nix - ./services/mail/opensmtpd.nix - ./services/mail/postfix.nix - ./services/mail/spamassassin.nix - #./services/misc/autofs.nix - ./services/misc/cgminer.nix - ./services/misc/dictd.nix - ./services/misc/disnix.nix - ./services/misc/felix.nix - ./services/misc/folding-at-home.nix - ./services/misc/gitolite.nix - ./services/misc/gpsd.nix - ./services/misc/nix-daemon.nix - ./services/misc/nix-gc.nix - ./services/misc/nixos-manual.nix - ./services/misc/nix-ssh-serve.nix - ./services/misc/rippled.nix - ./services/misc/rogue.nix - ./services/misc/siproxd.nix - ./services/misc/svnserve.nix - ./services/misc/synergy.nix - ./services/misc/uhub.nix - ./services/misc/zookeeper.nix - ./services/monitoring/apcupsd.nix - ./services/monitoring/dd-agent.nix - ./services/monitoring/graphite.nix - ./services/monitoring/monit.nix - ./services/monitoring/munin.nix - ./services/monitoring/nagios.nix - ./services/monitoring/riemann.nix - ./services/monitoring/riemann-dash.nix - ./services/monitoring/smartd.nix - ./services/monitoring/statsd.nix - ./services/monitoring/systemhealth.nix - ./services/monitoring/ups.nix - ./services/monitoring/uptime.nix - ./services/monitoring/zabbix-agent.nix - ./services/monitoring/zabbix-server.nix - ./services/network-filesystems/drbd.nix - ./services/network-filesystems/nfsd.nix - ./services/network-filesystems/openafs-client/default.nix - ./services/network-filesystems/rsyncd.nix - ./services/network-filesystems/samba.nix - ./services/network-filesystems/diod.nix - ./services/networking/amuled.nix - ./services/networking/atftpd.nix - ./services/networking/avahi-daemon.nix - ./services/networking/bind.nix - ./services/networking/bitlbee.nix - ./services/networking/btsync.nix - ./services/networking/chrony.nix - ./services/networking/cjdns.nix - ./services/networking/cntlm.nix - ./services/networking/connman.nix - ./services/networking/ddclient.nix - ./services/networking/dhcpcd.nix - ./services/networking/dhcpd.nix - ./services/networking/dnsmasq.nix - ./services/networking/ejabberd.nix - ./services/networking/firewall.nix - ./services/networking/flashpolicyd.nix - ./services/networking/freenet.nix - ./services/networking/git-daemon.nix - ./services/networking/gnunet.nix - ./services/networking/gogoclient.nix - ./services/networking/gvpe.nix - ./services/networking/haproxy.nix - ./services/networking/hostapd.nix - ./services/networking/ifplugd.nix - ./services/networking/iodined.nix - ./services/networking/ircd-hybrid/default.nix - ./services/networking/kippo.nix - ./services/networking/minidlna.nix - ./services/networking/murmur.nix - ./services/networking/nat.nix - ./services/networking/networkmanager.nix - ./services/networking/ngircd.nix - ./services/networking/notbit.nix - ./services/networking/nsd.nix - ./services/networking/ntopng.nix - ./services/networking/ntpd.nix - ./services/networking/oidentd.nix - ./services/networking/openfire.nix - ./services/networking/openntpd.nix - ./services/networking/openvpn.nix - ./services/networking/polipo.nix - ./services/networking/prayer.nix - ./services/networking/privoxy.nix - ./services/networking/quassel.nix - ./services/networking/radicale.nix - ./services/networking/radvd.nix - ./services/networking/rdnssd.nix - ./services/networking/rpcbind.nix - ./services/networking/sabnzbd.nix - ./services/networking/searx.nix - ./services/networking/spiped.nix - ./services/networking/ssh/lshd.nix - ./services/networking/ssh/sshd.nix - ./services/networking/supybot.nix - ./services/networking/syncthing.nix - ./services/networking/tcpcrypt.nix - ./services/networking/teamspeak3.nix - ./services/networking/tftpd.nix - ./services/networking/unbound.nix - ./services/networking/unifi.nix - ./services/networking/vsftpd.nix - ./services/networking/wakeonlan.nix - ./services/networking/websockify.nix - ./services/networking/wicd.nix - ./services/networking/wpa_supplicant.nix - ./services/networking/xinetd.nix - ./services/networking/znc.nix - ./services/printing/cupsd.nix - ./services/scheduling/atd.nix - ./services/scheduling/cron.nix - ./services/scheduling/fcron.nix - ./services/search/elasticsearch.nix - ./services/search/solr.nix - ./services/security/clamav.nix - ./services/security/fail2ban.nix - ./services/security/fprot.nix - ./services/security/frandom.nix - ./services/security/haveged.nix - ./services/security/torify.nix - ./services/security/tor.nix - ./services/security/torsocks.nix - ./services/system/dbus.nix - ./services/system/kerberos.nix - ./services/system/nscd.nix - ./services/system/uptimed.nix - ./services/torrent/deluge.nix - ./services/torrent/transmission.nix - ./services/ttys/agetty.nix - ./services/ttys/gpm.nix - ./services/ttys/kmscon.nix - ./services/web-servers/apache-httpd/default.nix - ./services/web-servers/fcgiwrap.nix - ./services/web-servers/jboss/default.nix - ./services/web-servers/lighttpd/cgit.nix - ./services/web-servers/lighttpd/default.nix - ./services/web-servers/lighttpd/gitweb.nix - ./services/web-servers/nginx/default.nix - ./services/web-servers/phpfpm.nix - ./services/web-servers/tomcat.nix - ./services/web-servers/varnish/default.nix - ./services/web-servers/winstone.nix - ./services/web-servers/zope2.nix - ./services/x11/desktop-managers/default.nix - ./services/x11/display-managers/auto.nix - ./services/x11/display-managers/default.nix - ./services/x11/display-managers/gdm.nix - ./services/x11/display-managers/kdm.nix - ./services/x11/display-managers/lightdm.nix - ./services/x11/display-managers/slim.nix - ./services/x11/hardware/multitouch.nix - ./services/x11/hardware/synaptics.nix - ./services/x11/hardware/wacom.nix - ./services/x11/redshift.nix - ./services/x11/window-managers/awesome.nix - #./services/x11/window-managers/compiz.nix - ./services/x11/window-managers/default.nix - ./services/x11/window-managers/fluxbox.nix - ./services/x11/window-managers/icewm.nix - ./services/x11/window-managers/bspwm.nix - ./services/x11/window-managers/metacity.nix - ./services/x11/window-managers/none.nix - ./services/x11/window-managers/twm.nix - ./services/x11/window-managers/wmii.nix - ./services/x11/window-managers/xmonad.nix - ./services/x11/xfs.nix - ./services/x11/xserver.nix - ./system/activation/activation-script.nix - ./system/activation/top-level.nix - ./system/boot/emergency-mode.nix - ./system/boot/kernel.nix - ./system/boot/kexec.nix - ./system/boot/loader/efi.nix - ./system/boot/loader/generations-dir/generations-dir.nix - ./system/boot/loader/grub/grub.nix - ./system/boot/loader/grub/memtest.nix - ./system/boot/loader/gummiboot/gummiboot.nix - ./system/boot/loader/init-script/init-script.nix - ./system/boot/loader/raspberrypi/raspberrypi.nix - ./system/boot/luksroot.nix - ./system/boot/modprobe.nix - ./system/boot/shutdown.nix - ./system/boot/stage-1.nix - ./system/boot/stage-2.nix - ./system/boot/systemd.nix - ./system/boot/tmp.nix - ./system/etc/etc.nix - ./system/upstart/upstart.nix - ./tasks/cpu-freq.nix - ./tasks/encrypted-devices.nix - ./tasks/filesystems.nix - ./tasks/filesystems/btrfs.nix - ./tasks/filesystems/cifs.nix - ./tasks/filesystems/ext.nix - ./tasks/filesystems/f2fs.nix - ./tasks/filesystems/nfs.nix - ./tasks/filesystems/reiserfs.nix - ./tasks/filesystems/unionfs-fuse.nix - ./tasks/filesystems/vfat.nix - ./tasks/filesystems/xfs.nix - ./tasks/filesystems/zfs.nix - ./tasks/kbd.nix - ./tasks/lvm.nix - ./tasks/network-interfaces.nix - ./tasks/scsi-link-power-management.nix - ./tasks/swraid.nix - ./tasks/trackpoint.nix - ./testing/service-runner.nix - ./virtualisation/container-config.nix - ./virtualisation/containers.nix - ./virtualisation/docker.nix - ./virtualisation/libvirtd.nix - #./virtualisation/nova.nix - ./virtualisation/openvswitch.nix - ./virtualisation/virtualbox-guest.nix - #./virtualisation/xen-dom0.nix -] From 56102642fa957ab1c7c3b22675ae0113303097f4 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Tue, 2 Sep 2014 13:16:13 +0200 Subject: [PATCH 0678/2163] pulseaudio: Add pulse-access group, controlling access to the system-wide PA daemon --- nixos/modules/config/pulseaudio.nix | 21 ++++++++++++++------- nixos/modules/misc/ids.nix | 1 + 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 1b84bbaf10c..fd29e235768 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -10,10 +10,12 @@ let systemWide = cfg.enable && cfg.systemWide; nonSystemWide = cfg.enable && !cfg.systemWide; - uid = config.ids.uids.pulseaudio; - gid = config.ids.gids.pulseaudio; + ids = config.ids; - stateDir = "/run/pulse"; + uid = ids.uids.pulseaudio; + gid = ids.gids.pulseaudio; + + stateDir = "/var/run/pulse"; # Create pulse/client.conf even if PulseAudio is disabled so # that we can disable the autospawn feature in programs that @@ -138,19 +140,24 @@ in { group = "pulse"; extraGroups = [ "audio" ]; description = "PulseAudio system service user"; + home = stateDir; + createHome = true; }; users.extraGroups.pulse.gid = gid; + users.extraGroups.pulse-access = { + gid = ids.gids.pulse-access; + members = with builtins; config.users.extraGroups.audio.members ++ ( + attrNames(filterAttrs (n: u: elem "audio" u.extraGroups) config.users.extraUsers) + ); + }; + systemd.services.pulseaudio = { description = "PulseAudio System-Wide Server"; wantedBy = [ "sound.target" ]; before = [ "sound.target" ]; environment.PULSE_RUNTIME_PATH = stateDir; - preStart = '' - mkdir -p --mode 755 ${stateDir} - chown -R pulse:pulse ${stateDir} - ''; serviceConfig = { ExecStart = "${cfg.package}/bin/pulseaudio -D --log-level=${cfg.daemon.logLevel} --system --use-pid-file -n --file=${cfg.configFile}"; PIDFile = "${stateDir}/pid"; diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index efd8b253cd4..d72649cd33d 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -270,6 +270,7 @@ riemann = 137; riemanndash = 138; uhub = 142; + pulse-access = 143; # When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399! From 2b72edad9b3c2426600b27e48e70f2e038382313 Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Sun, 30 Mar 2014 00:07:31 +0400 Subject: [PATCH 0679/2163] yandex-disk: fix the url; introduce systemd.service #2228 --- nixos/modules/misc/ids.nix | 1 + nixos/modules/module-list.nix | 1 + .../network-filesystems/yandex-disk.nix | 104 ++++++++++++++++++ .../tools/filesystems/yandex-disk/default.nix | 6 +- 4 files changed, 109 insertions(+), 3 deletions(-) create mode 100644 nixos/modules/services/network-filesystems/yandex-disk.nix diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index d72649cd33d..a535a8d7604 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -150,6 +150,7 @@ zookeeper = 140; dnsmasq = 141; uhub = 142; + yandexdisk=143; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 7679d3e6ac4..1135534263c 100755 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -193,6 +193,7 @@ ./services/network-filesystems/rsyncd.nix ./services/network-filesystems/samba.nix ./services/network-filesystems/diod.nix + ./services/network-filesystems/yandex-disk.nix ./services/networking/amuled.nix ./services/networking/atftpd.nix ./services/networking/avahi-daemon.nix diff --git a/nixos/modules/services/network-filesystems/yandex-disk.nix b/nixos/modules/services/network-filesystems/yandex-disk.nix new file mode 100644 index 00000000000..df9626d17c9 --- /dev/null +++ b/nixos/modules/services/network-filesystems/yandex-disk.nix @@ -0,0 +1,104 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.yandex-disk; + + dir = "/var/lib/yandex-disk"; + + u = if cfg.user != null then cfg.user else "yandexdisk"; + +in + +{ + + ###### interface + + options = { + + services.yandex-disk = { + + enable = mkOption { + default = false; + description = " + Whether to enable Yandex-disk client. See https://disk.yandex.ru/ + "; + }; + + username = mkOption { + default = ""; + type = types.string; + description = '' + Your yandex.com login name. + ''; + }; + + password = mkOption { + default = ""; + type = types.string; + description = '' + Your yandex.com password. Warning: it will be world-readable in /nix/store. + ''; + }; + + user = mkOption { + default = null; + description = '' + The user the yandex-disk daemon should run as. + ''; + }; + + directory = mkOption { + default = "/home/Yandex.Disk"; + description = "The directory to use for Yandex.Disk storage"; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + users.extraUsers = mkIf (cfg.user == null) [ { + name = u; + uid = config.ids.uids.yandexdisk; + group = "nogroup"; + home = dir; + } ]; + + systemd.services.yandex-disk = { + description = "Yandex-disk server"; + + after = [ "network.target" ]; + + wantedBy = [ "multi-user.target" ]; + + # FIXME: have to specify ${directory} here as well + unitConfig.RequiresMountsFor = dir; + + script = '' + mkdir -p -m 700 ${dir} + chown ${u} ${dir} + + if ! test -d "${cfg.directory}" ; then + mkdir -p -m 755 ${cfg.directory} || + exit 1 + fi + + ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${u} \ + -c '${pkgs.yandex-disk}/bin/yandex-disk token -p ${cfg.password} ${cfg.username} ${dir}/token' + + ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${u} \ + -c '${pkgs.yandex-disk}/bin/yandex-disk start --no-daemon -a ${dir}/token -d ${cfg.directory}' + ''; + + }; + }; + +} + diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix index c9078a0cb8b..e33f46ea9cc 100644 --- a/pkgs/tools/filesystems/yandex-disk/default.nix +++ b/pkgs/tools/filesystems/yandex-disk/default.nix @@ -6,17 +6,17 @@ let p = if stdenv.is64bit then { arch = "x86_64"; gcclib = "${stdenv.gcc.gcc}/lib64"; - sha256 = "1fmmlvvh97d60n9k08bn4k6ghwr3yhs8sib82025nwpw1sq08vim"; + sha256 = "09kw7f0qsvx3vx1c1zb117yf3yk7kkz66agspz5xx9b0zh6i82jw"; } else { arch = "i386"; gcclib = "${stdenv.gcc.gcc}/lib"; - sha256 = "3940420bd9d1fe1ecec1a117bfd9d21d545bca59f5e0a4364304ab808c976f7f"; + sha256 = "0f2230c91120f05159281b39c620ab6bad6559ce8a17a0874d0a82350ebba426"; }; in stdenv.mkDerivation rec { - name = "yandex-disk-0.1.2.481"; + name = "yandex-disk-0.1.4.504"; src = fetchurl { url = "http://repo.yandex.ru/yandex-disk/rpm/stable/${p.arch}/${name}-1.fedora.${p.arch}.rpm"; From 468f99e946decd62788a20f6523302c1dee98d38 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 3 Sep 2014 11:05:21 +0200 Subject: [PATCH 0680/2163] liquidfun: Don't build on Hydra It uses requireFile. --- pkgs/development/libraries/liquidfun/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix index 994c013c631..a4dc7b5e93d 100644 --- a/pkgs/development/libraries/liquidfun/default.nix +++ b/pkgs/development/libraries/liquidfun/default.nix @@ -39,8 +39,8 @@ stdenv.mkDerivation rec { [ qknight ]; - platforms = with stdenv.lib.platforms; - linux; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; license = stdenv.lib.licenses.bsd2; homepage = https://google.github.io/liquidfun/; }; From 428cb0ea7a53f5e6c0bd5eb4206061e24cb49172 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 3 Sep 2014 11:25:57 +0200 Subject: [PATCH 0681/2163] sphinxsearch: fix evaluation error --- pkgs/servers/search/sphinxsearch/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/search/sphinxsearch/default.nix b/pkgs/servers/search/sphinxsearch/default.nix index 27bbb91fb18..040dace69fb 100644 --- a/pkgs/servers/search/sphinxsearch/default.nix +++ b/pkgs/servers/search/sphinxsearch/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, mysql, - version = "2.1.9", + version = "2.1.9"; mainSrc = fetchurl { url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz"; sha256 = "00vwxf3zr0g1fq9mls1z2rd8nxw74b76pkl1j466lig1qc5am2b2"; From 0f6d45f6b459a9e198354c636a99747104961a21 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 3 Sep 2014 12:02:25 +0200 Subject: [PATCH 0682/2163] sphinxsearch: fix again... --- pkgs/servers/search/sphinxsearch/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/search/sphinxsearch/default.nix b/pkgs/servers/search/sphinxsearch/default.nix index 040dace69fb..1979da5b2c0 100644 --- a/pkgs/servers/search/sphinxsearch/default.nix +++ b/pkgs/servers/search/sphinxsearch/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, mysql, - version = "2.1.9"; - mainSrc = fetchurl { + version ? "2.1.9", + mainSrc ? fetchurl { url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz"; sha256 = "00vwxf3zr0g1fq9mls1z2rd8nxw74b76pkl1j466lig1qc5am2b2"; } From b33b05a8786c0acde43e0fc8d825f9e1db278862 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 3 Sep 2014 12:06:58 +0200 Subject: [PATCH 0683/2163] ocaml-twt: some fixes --- pkgs/development/ocaml-modules/twt/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/twt/default.nix b/pkgs/development/ocaml-modules/twt/default.nix index e2a627aa360..c06449f68b4 100644 --- a/pkgs/development/ocaml-modules/twt/default.nix +++ b/pkgs/development/ocaml-modules/twt/default.nix @@ -16,9 +16,9 @@ stdenv.mkDerivation { mkdir $out/bin ''; - installPhase = '' - make install PREFIX=$out - ''; + dontBuild = true; + + installFlags = "PREFIX=$(out)"; meta = { homepage = http://people.csail.mit.edu/mikelin/ocaml+twt/; From e5b7b97a67c6418ea4d0f9f01324d50916eebee7 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 3 Sep 2014 12:51:10 +0200 Subject: [PATCH 0684/2163] nixos tested: only build on supportedSystems --- nixos/release-combined.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 0c72bae35bb..3a458f5e860 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -34,7 +34,7 @@ in rec { maintainers = [ pkgs.lib.maintainers.eelco pkgs.lib.maintainers.shlevy ]; }; constituents = - let all = x: [ x.x86_64-linux x.i686-linux ]; in + let all = x: map (p: x.${p}) supportedSystems; in [ nixos.channel (all nixos.manual) From fc434d1f5c12511d48bff5c10a79ca707915b231 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 3 Sep 2014 12:52:08 +0200 Subject: [PATCH 0685/2163] synergy: Update to new upstream version 1.5.1. Bugfix release, fixing the following bugs: - Configuration file paths containing spaces don't work - Log path needs to be in quotes on windows - Installer fails when Windows Firewall is disabled http://svn.synergy-project.org/tags/1.5.1/ChangeLog Signed-off-by: aszlig --- pkgs/applications/misc/synergy/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index 8d914c26221..df4c0ea97eb 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -6,11 +6,11 @@ assert stdenv.isLinux -> cryptopp != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "synergy-1.5.0"; + name = "synergy-1.5.1"; src = fetchurl { - url = "http://synergy-project.org/files/packages/synergy-1.5.0-r2278-Source.tar.gz"; - sha256 = "097hk9v01lwzs7ly6ynadxmjh7ad68l5si7w4qmjn6z7l8b61gv6"; + url = "http://synergy-project.org/files/packages/${name}-r2398-Source.tar.gz"; + sha256 = "19q8ck15f0jgpbzlm34dzp046wf3iiwa21s1qfyj5sj7xjxwa367"; }; patches = optional stdenv.isLinux ./cryptopp.patch; From 46b78bdef4a0701a36d9a48384a2fe4cb0284de7 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 3 Sep 2014 13:02:45 +0200 Subject: [PATCH 0686/2163] release: do not process broken packages, we induce they don't have platforms at all --- pkgs/top-level/release-lib.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix index e2f5309ced3..0a8e7165d66 100644 --- a/pkgs/top-level/release-lib.nix +++ b/pkgs/top-level/release-lib.nix @@ -123,6 +123,8 @@ rec { packagesWithMetaPlatform attrSet else if attrSet.recurseForRelease or false then packagesWithMetaPlatform attrSet + else if attrSet.meta.broken or false then + [] else attrSet.meta.hydraPlatforms or (attrSet.meta.platforms or []); From ef5b30428f06b53f05c41ede361a7dcf4c3ca9d3 Mon Sep 17 00:00:00 2001 From: Nomen Nescio Date: Wed, 3 Sep 2014 11:05:20 +0200 Subject: [PATCH 0687/2163] baekmuk-ttf: new package baekmuk-ttf: new package --- pkgs/data/fonts/baekmuk-ttf/default.nix | 29 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/data/fonts/baekmuk-ttf/default.nix diff --git a/pkgs/data/fonts/baekmuk-ttf/default.nix b/pkgs/data/fonts/baekmuk-ttf/default.nix new file mode 100644 index 00000000000..acd16478fcf --- /dev/null +++ b/pkgs/data/fonts/baekmuk-ttf/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "baekmuk-ttf-2.2"; + + src = fetchurl { + url = "http://kldp.net/frs/download.php/1429/${name}.tar.gz"; + sha256 = "08ab7dffb55d5887cc942ce370f5e33b756a55fbb4eaf0b90f244070e8d51882"; + }; + + dontBuild = true; + + installPhase = let + fonts_dir = "$out/share/fonts"; + doc_dir = "$out/share/doc/${name}"; + in '' + mkdir -pv ${fonts_dir} + mkdir -pv ${doc_dir} + cp ttf/*.ttf ${fonts_dir} + cp COPYRIGHT* ${doc_dir} + ''; + + meta = { + description = "Korean font"; + homepage = "http://kldp.net/projects/baekmuk/"; + license = "BSD-like"; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fa910a06cb8..fb7edbfd389 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8055,6 +8055,8 @@ let aurulent-sans = callPackage ../data/fonts/aurulent-sans { }; + baekmuk-ttf = callPackage ../data/fonts/baekmuk-ttf { }; + bakoma_ttf = callPackage ../data/fonts/bakoma-ttf { }; cacert = callPackage ../data/misc/cacert { }; From 66ee6e03e7963b0de6ae7e35eb334f6a2fd75944 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Wed, 3 Sep 2014 13:24:47 +0200 Subject: [PATCH 0688/2163] pulseaudio: Use group audio instead of pulse-access --- nixos/modules/config/pulseaudio.nix | 7 ------- nixos/modules/misc/ids.nix | 1 - pkgs/servers/pulseaudio/default.nix | 13 +++++++++---- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index fd29e235768..fb5715022b7 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -146,13 +146,6 @@ in { users.extraGroups.pulse.gid = gid; - users.extraGroups.pulse-access = { - gid = ids.gids.pulse-access; - members = with builtins; config.users.extraGroups.audio.members ++ ( - attrNames(filterAttrs (n: u: elem "audio" u.extraGroups) config.users.extraUsers) - ); - }; - systemd.services.pulseaudio = { description = "PulseAudio System-Wide Server"; wantedBy = [ "sound.target" ]; diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index a535a8d7604..37531ad1cdf 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -271,7 +271,6 @@ riemann = 137; riemanndash = 138; uhub = 142; - pulse-access = 143; # When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399! diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index a918007b47c..de262af095c 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -45,10 +45,15 @@ stdenv.mkDerivation rec { -e "s|chmod r+s |true |" ''; - configureFlags = - [ "--disable-solaris" "--disable-jack" "--disable-oss-output" - "--disable-oss-wrapper" "--localstatedir=/var" "--sysconfdir=/etc" ] - ++ stdenv.lib.optional jackaudioSupport "--enable-jack" + configureFlags = [ + "--disable-solaris" + "--disable-jack" + "--disable-oss-output" + "--disable-oss-wrapper" + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-access-group=audio" + ] ++ stdenv.lib.optional jackaudioSupport "--enable-jack" ++ stdenv.lib.optional stdenv.isDarwin "--with-mac-sysroot=/"; enableParallelBuilding = true; From 03ff6450b96f5b7516a86549c86f4d81e605ecc9 Mon Sep 17 00:00:00 2001 From: Tom Fitzhenry Date: Wed, 3 Sep 2014 12:31:01 +0100 Subject: [PATCH 0689/2163] keepassx: update to 2.0-alpha6 --- pkgs/applications/misc/keepassx/2.0.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix index 1a79af7cb57..c39c72398f7 100644 --- a/pkgs/applications/misc/keepassx/2.0.nix +++ b/pkgs/applications/misc/keepassx/2.0.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, cmake, libgcrypt, qt4, xlibs, ... }: stdenv.mkDerivation { - name = "keepassx2-2.0alpha5"; + name = "keepassx2-2.0alpha6"; src = fetchurl { - url = "https://github.com/keepassx/keepassx/archive/2.0-alpha5.tar.gz"; - sha256 = "1vxj306zhrr38mvsy3vpjlg6d0xwlcvsi3l69nhhwzkccsc4smfm"; + url = "https://github.com/keepassx/keepassx/archive/2.0-alpha6.tar.gz"; + sha256 = "592f9995b13c4f84724fb24a0078162246397eedccd467daaf0fd3608151f2b0"; }; buildInputs = [ cmake libgcrypt qt4 xlibs.libXtst ]; From fe3f7716f0494fd0170f307e1a8a5e00fa3e6d2f Mon Sep 17 00:00:00 2001 From: Strahinja Popovic Date: Thu, 17 Jul 2014 12:51:17 +0200 Subject: [PATCH 0690/2163] Enabled access to binaries of needed tools, and worker daemons can be enabled for phabricator #3306 --- nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/phd.nix | 52 ++++++++++++++++ .../web-servers/apache-httpd/phabricator.nix | 61 +++++++++++-------- nixos/tests/phabricator.nix | 7 +++ pkgs/misc/phabricator/default.nix | 28 +++++++++ pkgs/top-level/all-packages.nix | 2 + 6 files changed, 125 insertions(+), 26 deletions(-) create mode 100644 nixos/modules/services/misc/phd.nix create mode 100644 pkgs/misc/phabricator/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 1135534263c..2d977e38a12 100755 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -165,6 +165,7 @@ ./services/misc/nix-gc.nix ./services/misc/nixos-manual.nix ./services/misc/nix-ssh-serve.nix + ./services/misc/phd.nix ./services/misc/rippled.nix ./services/misc/rogue.nix ./services/misc/siproxd.nix diff --git a/nixos/modules/services/misc/phd.nix b/nixos/modules/services/misc/phd.nix new file mode 100644 index 00000000000..888247275ac --- /dev/null +++ b/nixos/modules/services/misc/phd.nix @@ -0,0 +1,52 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.phd; + +in + +{ + + ###### interface + + options = { + + services.phd = { + + enable = mkOption { + default = false; + description = " + Enable daemons for phabricator. + "; + }; + + }; + + }; + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.phd = { + path = [ pkgs.phabricator pkgs.php pkgs.mercurial pkgs.git pkgs.subversion ]; + + after = [ "httpd.service" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + ExecStart = "${pkgs.phabricator}/phabricator/bin/phd start"; + ExecStop = "${pkgs.phabricator}/phabricator/bin/phd start"; + User = "wwwrun"; + RestartSec = "30s"; + Restart = "always"; + StartLimitInterval = "1m"; + }; + }; + + }; + +} diff --git a/nixos/modules/services/web-servers/apache-httpd/phabricator.nix b/nixos/modules/services/web-servers/apache-httpd/phabricator.nix index c7a9bdf68c5..e4e3aac8d41 100644 --- a/nixos/modules/services/web-servers/apache-httpd/phabricator.nix +++ b/nixos/modules/services/web-servers/apache-httpd/phabricator.nix @@ -1,35 +1,30 @@ { config, lib, pkgs, ... }: + +with lib; + let - phabricatorRoot = pkgs.stdenv.mkDerivation rec { - version = "2014-05-12"; - name = "phabricator-${version}"; - srcLibphutil = pkgs.fetchgit { - url = git://github.com/facebook/libphutil.git; - rev = "2f3b5a1cf6ea464a0250d4b1c653a795a90d2716"; - sha256 = "9598cec400984dc149162f1e648814a54ea0cd34fcd529973dc83f5486fdd9fd"; - }; - srcArcanist = pkgs.fetchgit { - url = git://github.com/facebook/arcanist.git; - rev = "54c377448db8dbc40f0ca86d43c837d30e493485"; - sha256 = "086db3c0d1154fbad23e7c6def31fd913384ee20247b329515838b669c3028e0"; - }; - srcPhabricator = pkgs.fetchgit { - url = git://github.com/facebook/phabricator.git; - rev = "1644ef185ecf1e9fca3eb6b16351ef46b19d110f"; - sha256 = "e1135e4ba76d53f48aad4161563035414ed7e878f39a8a34a875a01b41b2a084"; - }; - - buildCommand = '' - mkdir -p $out - cp -R ${srcLibphutil} $out/libphutil - cp -R ${srcArcanist} $out/arcanist - cp -R ${srcPhabricator} $out/phabricator - ''; - }; + phabricatorRoot = pkgs.phabricator; in { + enablePHP = true; extraApacheModules = [ "mod_rewrite" ]; DocumentRoot = "${phabricatorRoot}/phabricator/webroot"; + + options = { + git = mkOption { + default = true; + description = "Enable git repositories."; + }; + mercurial = mkOption { + default = true; + description = "Enable mercurial repositories."; + }; + subversion = mkOption { + default = true; + description = "Enable subversion repositories."; + }; + }; + extraConfig = '' DocumentRoot ${phabricatorRoot}/phabricator/webroot @@ -38,4 +33,18 @@ in { RewriteRule ^/favicon.ico - [L,QSA] RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA] ''; + + extraServerPath = [ + "${pkgs.which}" + "${pkgs.diffutils}" + ] ++ + (if config.mercurial then ["${pkgs.mercurial}"] else []) ++ + (if config.subversion then ["${pkgs.subversion}"] else []) ++ + (if config.git then ["${pkgs.git}"] else []); + + startupScript = pkgs.writeScript "activatePhabricator" '' + mkdir -p /var/repo + chown wwwrun /var/repo + ''; + } diff --git a/nixos/tests/phabricator.nix b/nixos/tests/phabricator.nix index 53038474c91..0fe31f66502 100644 --- a/nixos/tests/phabricator.nix +++ b/nixos/tests/phabricator.nix @@ -32,9 +32,16 @@ import ./make-test.nix ({ pkgs, ... }: { }]; }; + phd = { + enable = true; + }; + mysql = { enable = true; package = pkgs.mysql; + extraOptions = '' + sql_mode=STRICT_ALL_TABLES + ''; }; }; diff --git a/pkgs/misc/phabricator/default.nix b/pkgs/misc/phabricator/default.nix new file mode 100644 index 00000000000..3162dd0079d --- /dev/null +++ b/pkgs/misc/phabricator/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchgit, pkgs, ... }: + +stdenv.mkDerivation rec { + version = "2014-07-16"; + name = "phabricator-${version}"; + srcLibphutil = pkgs.fetchgit { + url = git://github.com/facebook/libphutil.git; + rev = "48a04395363d6c1dd9f66057bd11fd70d4665ba9"; + sha256 = "d570d2c1e68471c2eda35b8722d8083bcc13163fbd5c944529464f2c7b55a2e5"; + }; + srcArcanist = pkgs.fetchgit { + url = git://github.com/facebook/arcanist.git; + rev = "97501da16416fbfdc6e84bd60abcbf5ad9506225"; + sha256 = "9031c4ae228bdc986131e0c93c98fb73290bb0e297be1ec32f22ab09cdacafa3"; + }; + srcPhabricator = pkgs.fetchgit { + url = git://github.com/phacility/phabricator.git; + rev = "7ac5abb97934f7399b67762aa98f59f667711bf3"; + sha256 = "6a1d449597ae4432e40a3e6cdb14e3a5a8a40e019f3930493064c35911f2adcc"; + }; + + buildCommand = '' + mkdir -p $out + cp -R ${srcLibphutil} $out/libphutil + cp -R ${srcArcanist} $out/arcanist + cp -R ${srcPhabricator} $out/phabricator + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fb7edbfd389..69ce2d19e58 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11421,6 +11421,8 @@ let pgfplots = callPackage ../tools/typesetting/tex/pgfplots { }; + phabricator = callPackage ../misc/phabricator { }; + pjsip = callPackage ../applications/networking/pjsip { }; polytable = callPackage ../tools/typesetting/tex/polytable { }; From 94a131b95aa79d702ea7bdf82721f2c35f3dd5a5 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 3 Sep 2014 15:47:53 +0400 Subject: [PATCH 0691/2163] Fix forgotten unit entry --- nixos/modules/services/misc/phd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/phd.nix b/nixos/modules/services/misc/phd.nix index 888247275ac..e605ce5de16 100644 --- a/nixos/modules/services/misc/phd.nix +++ b/nixos/modules/services/misc/phd.nix @@ -39,7 +39,7 @@ in serviceConfig = { ExecStart = "${pkgs.phabricator}/phabricator/bin/phd start"; - ExecStop = "${pkgs.phabricator}/phabricator/bin/phd start"; + ExecStop = "${pkgs.phabricator}/phabricator/bin/phd stop"; User = "wwwrun"; RestartSec = "30s"; Restart = "always"; From 8c0b08d7050a1f1fbb6c5e3d64354b5c9083a761 Mon Sep 17 00:00:00 2001 From: Danyil Bohdan Date: Sun, 31 Aug 2014 16:43:53 +0300 Subject: [PATCH 0692/2163] add python package 'jsonwatch' --- pkgs/top-level/python-packages.nix | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a3018b8e15f..df5b694e251 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2263,6 +2263,34 @@ rec { }; }; + jsonwatch = buildPythonPackage rec { + name = "jsonwatch-0.2.0"; + + disabled = isPyPy; + + src = fetchurl { + url = "https://github.com/dbohdan/jsonwatch/archive/v0.2.0.tar.gz"; + sha256 = "04b616ef97b9d8c3887004995420e52b72a4e0480a92dbf60aa6c50317261e06"; + }; + + propagatedBuildInputs = [ six ]; + + meta = { + description = "Like watch -d but for JSON"; + longDescription = '' + jsonwatch is a command line utility with which you can track changes in + JSON data delivered by a shell command or a web (HTTP/HTTPS) API. + jsonwatch requests data from the designated source repeatedly at a set + interval and displays the differences when the data changes. It is + similar in its behavior to how watch(1) with the -d switch works + for plain-text data. + ''; + homepage = "https://github.com/dbohdan/jsonwatch"; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.all; + }; + }; + logilab_astng = buildPythonPackage rec { name = "logilab-astng-0.24.3"; @@ -2752,7 +2780,7 @@ rec { random2 = pythonPackages.buildPythonPackage rec { name = "random2-1.0.1"; - + doCheck = !isPyPy; src = fetchurl { From 24fed22cff76974c62d0699e79fafbd9e8d49cc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 3 Sep 2014 13:41:16 +0200 Subject: [PATCH 0693/2163] pypyPackages.jsonwatch: comment why it's disabled --- pkgs/top-level/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index df5b694e251..ed334d27e0e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2266,7 +2266,7 @@ rec { jsonwatch = buildPythonPackage rec { name = "jsonwatch-0.2.0"; - disabled = isPyPy; + disabled = isPyPy; # doesn't find setuptools src = fetchurl { url = "https://github.com/dbohdan/jsonwatch/archive/v0.2.0.tar.gz"; From e552fbf521231e13d82f89701bfc9a940be341dd Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Tue, 2 Sep 2014 20:00:35 +0200 Subject: [PATCH 0694/2163] gcc/gcj: Update antlr dep to 4.4 Version 3.1.3 is no longer available for download. --- pkgs/development/compilers/gcc/4.8/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 2fb8f9d73b5..7101d4e585e 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -84,8 +84,8 @@ let version = "4.8.3"; # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a # binary distribution here to allow the whole chain to be bootstrapped. javaAntlr = fetchurl { - url = http://www.antlr.org/download/antlr-3.1.3.jar; - sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09"; + url = http://www.antlr.org/download/antlr-4.4-complete.jar; + sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz"; }; xlibs = [ From a224d1f9baf6344875954fdc40bcbada5d48b717 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Wed, 3 Sep 2014 03:44:36 +0200 Subject: [PATCH 0695/2163] Add proggyfonts collection The Proggy Fonts are a font collection intended for fixed-width uses like programming languages. Signed-off-by: Josh Cartwright --- pkgs/data/fonts/proggyfonts/default.nix | 40 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 42 insertions(+) create mode 100644 pkgs/data/fonts/proggyfonts/default.nix diff --git a/pkgs/data/fonts/proggyfonts/default.nix b/pkgs/data/fonts/proggyfonts/default.nix new file mode 100644 index 00000000000..1c41a92bf96 --- /dev/null +++ b/pkgs/data/fonts/proggyfonts/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, mkfontdir, mkfontscale }: + +# adapted from https://aur.archlinux.org/packages/proggyfonts/ + +stdenv.mkDerivation rec { + name = "proggyfonts-0.1"; + + src = fetchurl { + url = "http://kaictl.net/software/${name}.tar.gz"; + sha256 = "1plcm1sjpa3hdqhhin48fq6zmz3ndm4md72916hd8ff0w6596q0n"; + }; + + buildInputs = [ mkfontdir mkfontscale ]; + + installPhase = + '' + mkdir -p $out/share/doc/$name $out/share/fonts/misc $out/share/fonts/truetype + + cp Licence.txt $out/share/doc/$name/LICENSE + + for f in *.pcf; do + gzip -c "$f" > $out/share/fonts/misc/"$f".gz + done + cp *.bdf $out/share/fonts/misc + cp *.ttf $out/share/fonts/truetype + + for f in misc truetype; do + cd $out/share/fonts/$f + mkfontscale + mkfontdir + done + ''; + + meta = with stdenv.lib; { + homepage = http://upperbounds.net; + description = "A set of fixed-width screen fonts that are designed for code listings"; + license = licenses.mit; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b58114113bb..c46c1409063 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8115,6 +8115,8 @@ let posix_man_pages = callPackage ../data/documentation/man-pages-posix { }; + proggyfonts = callPackage ../data/fonts/proggyfonts { }; + pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { }; shared_mime_info = callPackage ../data/misc/shared-mime-info { }; From 83c968fa2caf30c7c512d8b18d84bb8edda3114e Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 3 Sep 2014 17:00:13 +0200 Subject: [PATCH 0696/2163] Add new kgraphviewer and massif-visualizer packages I chose the unstable versions because the stable versions seemed too outdated to me. They work with kde 4.12 anyway. --- .../graphics/kgraphviewer/default.nix | 21 +++++++++++++++++++ .../analysis/massif-visualizer/default.nix | 20 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 3 files changed, 45 insertions(+) create mode 100644 pkgs/applications/graphics/kgraphviewer/default.nix create mode 100644 pkgs/development/tools/analysis/massif-visualizer/default.nix diff --git a/pkgs/applications/graphics/kgraphviewer/default.nix b/pkgs/applications/graphics/kgraphviewer/default.nix new file mode 100644 index 00000000000..21caf8f8002 --- /dev/null +++ b/pkgs/applications/graphics/kgraphviewer/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, kdelibs, automoc4, boost, pkgconfig, graphviz, gettext }: + +stdenv.mkDerivation rec { + name = "kgraphviewer-${version}"; + version = "2.1.90"; + + src = fetchurl { + url = "mirror://kde/unstable/kgraphviewer/${version}/src/${name}.tar.xz"; + sha256 = "13zhjs57xavzrj4nrlqs35n35ihvzij7hgbszf5fhlp2a4d4rrqs"; + }; + + buildInputs = [ kdelibs automoc4 boost pkgconfig graphviz gettext ]; + + meta = with stdenv.lib; { + description = "A Graphviz dot graph viewer for KDE"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.lethalman ]; + }; +} + diff --git a/pkgs/development/tools/analysis/massif-visualizer/default.nix b/pkgs/development/tools/analysis/massif-visualizer/default.nix new file mode 100644 index 00000000000..e21f5ed15e9 --- /dev/null +++ b/pkgs/development/tools/analysis/massif-visualizer/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, kdelibs, kgraphviewer, gettext }: + +stdenv.mkDerivation rec { + name = "massif-visualizer-${version}"; + version = "0.3.90"; + + src = fetchurl { + url = "mirror://kde/unstable/massif-visualizer/${version}/src/${name}.tar.xz"; + sha256 = "9940fa90137ca5eef08b9ec220825fadbf03db423a670a2c7fe3edab271d9922"; + }; + + buildInputs = [ kdelibs kgraphviewer gettext ]; + + meta = with stdenv.lib; { + description = "Tool that visualizes massif data generated by valgrind"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.lethalman ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7833a2de1d1..c8ac81b3a5f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10821,6 +10821,8 @@ let kdiff3 = callPackage ../tools/text/kdiff3 { }; + kgraphviewer = callPackage ../applications/graphics/kgraphviewer { }; + kile = callPackage ../applications/editors/kile { }; kmplayer = callPackage ../applications/video/kmplayer { }; @@ -10855,6 +10857,8 @@ let libnm-qt = callPackage ../development/libraries/libnm-qt { }; + massif-visualizer = callPackage ../development/tools/analysis/massif-visualizer { }; + networkmanagement = callPackage ../tools/networking/networkmanagement { }; partitionManager = callPackage ../tools/misc/partition-manager { }; From 46623bfc151449a24d34da8c8d7085910efe5918 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 3 Sep 2014 17:03:37 +0200 Subject: [PATCH 0697/2163] Remove copy-com.nix from the module list This is proprietary software, and NixOS is intended as a free software distribution. We currently don't have a mechanism like allowUnfree for NixOS modules, so it's better to leave out modules for such packages. Of couse, they can still be activated by doing: imports = [ Date: Wed, 3 Sep 2014 20:03:03 +0400 Subject: [PATCH 0698/2163] Fixing comment case --- nixos/modules/services/networking/dnsmasq.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix index 31d57a648bf..5c68dd89fb1 100644 --- a/nixos/modules/services/networking/dnsmasq.nix +++ b/nixos/modules/services/networking/dnsmasq.nix @@ -46,7 +46,7 @@ in default = []; example = [ "8.8.8.8" "8.8.4.4" ]; description = '' - The dns servers which dnsmasq should query. + The DNS servers which dnsmasq should query. ''; }; From e5194e5aea464e916cd77d4ce935e96f06e73aa0 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Wed, 3 Sep 2014 18:24:51 +0200 Subject: [PATCH 0699/2163] docker: fix docker not finding dockerinit --- pkgs/applications/virtualization/docker/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index f4d329221ff..37550c2fe1f 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -22,9 +22,9 @@ stdenv.mkDerivation rec { ''; installPhase = '' - install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/bin/docker - install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/bin/dockerinit - wrapProgram $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin" + install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/libexec/docker/docker + install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/libexec/docker/dockerinit + makeWrapper $out/libexec/docker/docker $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin" # systemd install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service From 1b63a1b75e5d7e1f84c3d7222ca504f6394a3a8b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 3 Sep 2014 09:26:44 -0700 Subject: [PATCH 0700/2163] nixos/iso-image: Fix grub-mkimage requiring a prefix --- nixos/modules/installer/cd-dvd/iso-image.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 623cfdedd26..22f31c46080 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -11,7 +11,7 @@ let # The Grub image. grubImage = pkgs.runCommand "grub_eltorito" {} '' - ${pkgs.grub2}/bin/grub-mkimage -O i386-pc -o tmp biosdisk iso9660 help linux linux16 chain png jpeg echo gfxmenu reboot + ${pkgs.grub2}/bin/grub-mkimage -p /boot/grub -O i386-pc -o tmp biosdisk iso9660 help linux linux16 chain png jpeg echo gfxmenu reboot cat ${pkgs.grub2}/lib/grub/*/cdboot.img tmp > $out ''; # */ From eee8fd89b34b40532f90ab6d87214130abfa0e02 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 3 Sep 2014 09:29:22 -0700 Subject: [PATCH 0701/2163] nixos/install-grub: Correct store path for search --- nixos/modules/system/boot/loader/grub/install-grub.pl | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 668e74a9722..2dad8b36db3 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -122,7 +122,7 @@ sub GrubFs { # Based on the type pull in the identifier from the system my ($status, @devInfo) = runCommand("blkid -o export @{[$fs->device]}"); if ($status != 0) { - die "Failed to get blkid info for @{[$fs->device]}"; + die "Failed to get blkid info for @{[$fs->mount]} on @{[$fs->device]}"; } my @matches = join("", @devInfo) =~ m/@{[uc $fsIdentifier]}=([^\n]*)/; if ($#matches != 0) { @@ -164,8 +164,7 @@ sub GrubFs { return Grub->new(path => $path, search => $search); } my $grubBoot = GrubFs("/boot"); -# FIXME: Should be /nix/store, but this fails in the installer -my $grubStore = GrubFs("/nix"); +my $grubStore = GrubFs("/nix/store"); # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; @@ -244,7 +243,7 @@ mkpath("/boot/kernels", 0, 0755) if $copyKernels; sub copyToKernelsDir { my ($path) = @_; - return $grubStore->path . substr($path, length("/nix")) unless $copyKernels; + return $grubStore->path . substr($path, length("/nix/store")) unless $copyKernels; $path =~ /\/nix\/store\/(.*)/ or die; my $name = $1; $name =~ s/\//-/g; my $dst = "/boot/kernels/$name"; From 00ad13428416ef2c46d058166ee76c965609065f Mon Sep 17 00:00:00 2001 From: Nathan Bijnens Date: Tue, 26 Aug 2014 20:56:54 +0200 Subject: [PATCH 0702/2163] Mesos: services --- nixos/modules/module-list.nix | 2 + nixos/modules/services/misc/mesos-master.nix | 103 +++++++++++++++++++ nixos/modules/services/misc/mesos-slave.nix | 93 +++++++++++++++++ 3 files changed, 198 insertions(+) create mode 100644 nixos/modules/services/misc/mesos-master.nix create mode 100644 nixos/modules/services/misc/mesos-slave.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b39fbcece59..61a98ca12ff 100755 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -161,6 +161,8 @@ ./services/misc/folding-at-home.nix ./services/misc/gitolite.nix ./services/misc/gpsd.nix + ./services/misc/mesos-master.nix + ./services/misc/mesos-slave.nix ./services/misc/nix-daemon.nix ./services/misc/nix-gc.nix ./services/misc/nixos-manual.nix diff --git a/nixos/modules/services/misc/mesos-master.nix b/nixos/modules/services/misc/mesos-master.nix new file mode 100644 index 00000000000..bdf88d427c5 --- /dev/null +++ b/nixos/modules/services/misc/mesos-master.nix @@ -0,0 +1,103 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.mesos.master; + +in { + + options.services.mesos = { + + master = { + enable = mkOption { + description = "Whether to enable the Mesos Master."; + default = false; + type = types.uniq types.bool; + }; + + port = mkOption { + description = "Mesos Master port"; + default = 5050; + type = types.int; + }; + + zk = mkOption { + description = '' + ZooKeeper URL (used for leader election amongst masters). + May be one of: + zk://host1:port1,host2:port2,.../mesos + zk://username:password@host1:port1,host2:port2,.../mesos + ''; + type = types.str; + }; + + workDir = mkOption { + description = "The Mesos work directory."; + default = "/var/lib/mesos/master"; + type = types.str; + }; + + extraCmdLineOptions = mkOption { + description = '' + Extra command line options for Mesos Master. + + See https://mesos.apache.org/documentation/latest/configuration/ + ''; + default = [ "" ]; + type = types.listOf types.string; + example = [ "--credentials=VALUE" ]; + }; + + quorum = mkOption { + description = '' + The size of the quorum of replicas when using 'replicated_log' based + registry. It is imperative to set this value to be a majority of + masters i.e., quorum > (number of masters)/2. + + If 0 will fall back to --registry=in_memory. + ''; + default = 0; + type = types.int; + }; + + logLevel = mkOption { + description = '' + The logging level used. Possible values: + 'INFO', 'WARNING', 'ERROR' + ''; + default = "INFO"; + type = types.str; + }; + + }; + + + }; + + + config = mkIf cfg.enable { + systemd.services.mesos-master = { + description = "Mesos Master"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-interfaces.target" ]; + serviceConfig = { + ExecStart = '' + ${pkgs.mesos}/bin/mesos-master \ + --port=${toString cfg.port} \ + --zk=${cfg.zk} \ + ${if cfg.quorum == 0 then "--registry=in_memory" else "--registry=replicated_log --quorum=${cfg.quorum}"} \ + --work_dir=${cfg.workDir} \ + --logging_level=${cfg.logLevel} \ + ${toString cfg.extraCmdLineOptions} + ''; + PermissionsStartOnly = true; + }; + preStart = '' + mkdir -m 0700 -p ${cfg.workDir} + ''; + }; + }; + +} + diff --git a/nixos/modules/services/misc/mesos-slave.nix b/nixos/modules/services/misc/mesos-slave.nix new file mode 100644 index 00000000000..e9a89816716 --- /dev/null +++ b/nixos/modules/services/misc/mesos-slave.nix @@ -0,0 +1,93 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.mesos.slave; + +in { + + options.services.mesos = { + slave = { + enable = mkOption { + description = "Whether to enable the Mesos Slave."; + default = false; + type = types.uniq types.bool; + }; + + port = mkOption { + description = "Mesos Slave port"; + default = 5051; + type = types.int; + }; + + master = mkOption { + description = '' + May be one of: + zk://host1:port1,host2:port2,.../path + zk://username:password@host1:port1,host2:port2,.../path + ''; + type = types.str; + }; + + withHadoop = mkOption { + description = "Add the HADOOP_HOME to the slave."; + default = false; + type = types.bool; + }; + + workDir = mkOption { + description = "The Mesos work directory."; + default = "/var/lib/mesos/slave"; + type = types.str; + }; + + extraCmdLineOptions = mkOption { + description = '' + Extra command line options for Mesos Slave. + + See https://mesos.apache.org/documentation/latest/configuration/ + ''; + default = [ "" ]; + type = types.listOf types.string; + example = [ "--gc_delay=3days" ]; + }; + + logLevel = mkOption { + description = '' + The logging level used. Possible values: + 'INFO', 'WARNING', 'ERROR' + ''; + default = "INFO"; + type = types.str; + }; + + }; + + }; + + + config = mkIf cfg.enable { + systemd.services.mesos-slave = { + description = "Mesos Slave"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-interfaces.target" ]; + serviceConfig = { + ExecStart = '' + ${pkgs.mesos}/bin/mesos-slave \ + --port=${toString cfg.port} \ + --master=${cfg.master} \ + ${optionalString cfg.withHadoop "--hadoop-home=${pkgs.hadoop}"} \ + --work_dir=${cfg.workDir} \ + --logging_level=${cfg.logLevel} \ + ${toString cfg.extraCmdLineOptions} + ''; + PermissionsStartOnly = true; + }; + preStart = '' + mkdir -m 0700 -p ${cfg.workDir} + ''; + }; + }; + +} \ No newline at end of file From 46cdc2e017fed885a453abd36b289b767e943759 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 3 Sep 2014 21:48:15 +0400 Subject: [PATCH 0703/2163] Allow git checkouts to have custom name --- pkgs/build-support/fetchgit/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix index a17daf9a2c5..c52a26b7165 100644 --- a/pkgs/build-support/fetchgit/default.nix +++ b/pkgs/build-support/fetchgit/default.nix @@ -1,5 +1,7 @@ {stdenv, git, cacert}: -{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false, fetchSubmodules ? true}: +{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false, fetchSubmodules ? true +, name ? "git-export" +}: /* NOTE: fetchgit has one problem: git fetch only works for refs. @@ -26,7 +28,7 @@ assert md5 != "" || sha256 != ""; stdenv.mkDerivation { - name = "git-export"; + inherit name; builder = ./builder.sh; fetcher = ./nix-prefetch-git; buildInputs = [git]; From b37af08c3d60a17f19a1799033150fad7109601e Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 3 Sep 2014 21:54:15 +0400 Subject: [PATCH 0704/2163] Update mdbtools-git to latest --- pkgs/tools/misc/mdbtools/git.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/mdbtools/git.nix b/pkgs/tools/misc/mdbtools/git.nix index 2805514965e..b97af331093 100644 --- a/pkgs/tools/misc/mdbtools/git.nix +++ b/pkgs/tools/misc/mdbtools/git.nix @@ -3,12 +3,13 @@ scrollkeeper}: stdenv.mkDerivation { - name = "mdbtools-git"; + name = "mdbtools-git-2014-07-25"; src = fetchgit { url = "http://github.com/brianb/mdbtools.git"; - rev = "dfd752ec022097ee1e0999173aa604d8a0c0ca8b"; - sha256 = "0ibj36yxlhwjgi7cj170lwpbzdbgidkq5p8raa59v76bdrxwmb0n"; + rev = "9ab40e83e6789015c965c92bdb62f92f8cdd0dbd"; + sha256 = "18j1a9y9xhl7hhx30zvmx2n4w7dc8c7sdr6722sf3mh5230mvv59"; + name = "mdbtools-git-export"; }; buildInputs = [glib readline bison flex pkgconfig libiconv autoconf automake From 71086542eee808093db5bc7be5c45a6c46a4409f Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 3 Sep 2014 22:49:09 +0400 Subject: [PATCH 0705/2163] Fix radre for now by not using libewf and update it to latest --- pkgs/development/tools/analysis/radare/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/analysis/radare/default.nix b/pkgs/development/tools/analysis/radare/default.nix index 2ab8c05ebf8..3c83f0e9d49 100644 --- a/pkgs/development/tools/analysis/radare/default.nix +++ b/pkgs/development/tools/analysis/radare/default.nix @@ -12,15 +12,15 @@ let optional = stdenv.lib.optional; in stdenv.mkDerivation rec { - name = "radare-1.5"; + name = "radare-1.5.2"; src = fetchurl { url = "http://radare.org/get/${name}.tar.gz"; - sha256 = "1r0c9cc7z9likma8zicp2pbv2y85vjjmnk0k45wdhbvhgqh6il1h"; + sha256 = "1qdrmcnzfvfvqb27c7pknwm8jl2hqa6c4l66wzyddwlb8yjm46hd"; }; - buildInputs = [pkgconfig readline libusb libewf perl] + buildInputs = [pkgconfig readline libusb perl] ++ optional useX11 [gtkdialog vte gtk] ++ optional rubyBindings [ruby] ++ optional pythonBindings [python] From 068d1696df9944fcae50cc333dfff7a8f26a4e1b Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 3 Sep 2014 23:01:39 +0400 Subject: [PATCH 0706/2163] Add radare2 --- .../tools/analysis/radare2/default.nix | 39 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 9 +++++ 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/tools/analysis/radare2/default.nix diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix new file mode 100644 index 00000000000..7e199c29aed --- /dev/null +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -0,0 +1,39 @@ +{stdenv, fetchurl, pkgconfig, libusb, readline, libewf, perl, zlib, openssl, +gtk ? null, vte ? null, gtkdialog ? null, +python ? null, +ruby ? null, +lua ? null, +useX11, rubyBindings, pythonBindings, luaBindings}: + +assert useX11 -> (gtk != null && vte != null && gtkdialog != null); +assert rubyBindings -> ruby != null; +assert pythonBindings -> python != null; + +let + optional = stdenv.lib.optional; +in +stdenv.mkDerivation rec { + version = "0.9.7"; + name = "radare2-${version}"; + + src = fetchurl { + url = "http://radare.org/get/${name}.tar.xz"; + sha256 = "01sdsnbvx1qzyradj03sg24rk2bi9x58m40r0aqj8skv92c87s7l"; + }; + + + buildInputs = [pkgconfig readline libusb libewf perl zlib openssl] + ++ optional useX11 [gtkdialog vte gtk] + ++ optional rubyBindings [ruby] + ++ optional pythonBindings [python] + ++ optional luaBindings [lua]; + + meta = { + description = "Free advanced command line hexadecimal editor"; + homepage = http://radare.org/; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [raskin]; + platforms = with stdenv.lib.platforms; linux; + inherit version; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e27c19dd0e4..6561ef69d9e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4242,6 +4242,15 @@ let rubyBindings = config.radare.rubyBindings or false; luaBindings = config.radare.luaBindings or false; }; + radare2 = callPackage ../development/tools/analysis/radare2 { + inherit (gnome) vte; + lua = lua5; + useX11 = config.radare.useX11 or false; + pythonBindings = config.radare.pythonBindings or false; + rubyBindings = config.radare.rubyBindings or false; + luaBindings = config.radare.luaBindings or false; + }; + ragel = callPackage ../development/tools/parsing/ragel { }; From 9a30ea90f0a9ffd56b75134a2fe5f0e95530eae5 Mon Sep 17 00:00:00 2001 From: William Roe Date: Wed, 3 Sep 2014 20:14:57 +0100 Subject: [PATCH 0707/2163] Elixir and rebar aren't Linux-specific tools Widen platform support to all unix --- pkgs/development/interpreters/elixir/default.nix | 2 +- pkgs/development/tools/build-managers/rebar/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index 59629eb2f59..0e4b5a6d9b6 100644 --- a/pkgs/development/interpreters/elixir/default.nix +++ b/pkgs/development/interpreters/elixir/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation { ''; license = licenses.epl10; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = [ maintainers.the-kenny ]; }; } diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix index d10d9d6d1a3..d62ae35b854 100644 --- a/pkgs/development/tools/build-managers/rebar/default.nix +++ b/pkgs/development/tools/build-managers/rebar/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation { variety of locations (git, hg, etc). ''; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.the-kenny ]; }; } From 43d9f92c82826446619a988b690f9314672b7945 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Wed, 3 Sep 2014 21:22:20 +0200 Subject: [PATCH 0708/2163] nixos: docker, create docker group --- nixos/modules/virtualisation/docker.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix index a0aa6135326..1ce066cdc73 100644 --- a/nixos/modules/virtualisation/docker.nix +++ b/nixos/modules/virtualisation/docker.nix @@ -59,6 +59,7 @@ in config = mkIf cfg.enable (mkMerge [ { environment.systemPackages = [ pkgs.docker ]; + users.extraGroups.docker.gid = config.ids.gids.docker; } (mkIf cfg.socketActivation { From b8a88ce472dbd40e2c4e8f53698dc1b00d7cb809 Mon Sep 17 00:00:00 2001 From: Paul Koerbitz Date: Wed, 3 Sep 2014 21:30:31 +0200 Subject: [PATCH 0709/2163] Update oraclejdk-7 patch version from 65 to 67 --- pkgs/development/compilers/oraclejdk/jdk7-linux.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix index 55e8ad45085..cf4990c33b5 100644 --- a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix @@ -1,9 +1,9 @@ import ./jdk-linux-base.nix { productVersion = "7"; - patchVersion = "65"; + patchVersion = "67"; downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html; - sha256_i686 = "e3032c561deb237c033b485a358cc429ec83b621303bc6b31768855778a9eaa0"; - sha256_x86_64 = "33fac9630ca8c2d374247abc5c010ac8d2875a3384968aa3e74448361808e4b7"; + sha256_i686 = "0p58pag1x85r911lxhmr4blk687ivjqigflx175vp7rcmmj108xn"; + sha256_x86_64 = "0db36jg08qy8712qy6lgyifdqlqb468rrnjm3aa6937ixl9ixpal"; jceName = "UnlimitedJCEPolicyJDK7.zip"; jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html; sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d"; From f50c5602e9c0519c9fe4cd0ea34696028332f99b Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Wed, 3 Sep 2014 21:31:00 +0200 Subject: [PATCH 0710/2163] mpi4py: Adhere to package description convention --- pkgs/development/python-modules/mpi4py/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix index 6c487dc07ad..4422c4e9f37 100644 --- a/pkgs/development/python-modules/mpi4py/default.nix +++ b/pkgs/development/python-modules/mpi4py/default.nix @@ -46,9 +46,8 @@ buildPythonPackage rec { propagatedBuildInputs = [ openssh ]; meta = { - description = " - Provides Python bindings for the Message Passing Interface standard. - "; + description = + "Provides Python bindings for the Message Passing Interface standard"; homepage = "http://code.google.com/p/mpi4py/"; license = stdenv.lib.licenses.bsd3; }; From 9ac9a06f13a1126c16df95f4f727eee5ea51396e Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Wed, 3 Sep 2014 21:31:13 +0200 Subject: [PATCH 0711/2163] h5py: Adhere to package description convention --- pkgs/development/python-modules/h5py/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix index 9ab68ac4cd2..f4df05fa595 100644 --- a/pkgs/development/python-modules/h5py/default.nix +++ b/pkgs/development/python-modules/h5py/default.nix @@ -34,9 +34,8 @@ buildPythonPackage rec { ; meta = { - description = " - The h5py package is a Pythonic interface to the HDF5 binary data format. - "; + description = + "Provides a Pythonic interface to the HDF5 binary data format"; homepage = "http://www.h5py.org/"; license = stdenv.lib.licenses.bsd2; }; From ebbd54e9f0aa8d77ba0f72eac0b032dd4fd4f60a Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 3 Sep 2014 21:59:29 +0200 Subject: [PATCH 0712/2163] ocaml-javalib, ocaml-sawja: uses patchShebangs rather than ad-hoc patches --- pkgs/development/ocaml-modules/javalib/configure.sh.patch | 6 ------ pkgs/development/ocaml-modules/javalib/default.nix | 2 ++ pkgs/development/ocaml-modules/sawja/configure.sh.patch | 6 ------ pkgs/development/ocaml-modules/sawja/default.nix | 2 ++ 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/pkgs/development/ocaml-modules/javalib/configure.sh.patch b/pkgs/development/ocaml-modules/javalib/configure.sh.patch index 77a2a5ba4ae..67e019b277a 100644 --- a/pkgs/development/ocaml-modules/javalib/configure.sh.patch +++ b/pkgs/development/ocaml-modules/javalib/configure.sh.patch @@ -1,11 +1,5 @@ --- javalib-2.3-orig/configure.sh 2013-10-30 08:35:30.000000000 +0100 +++ javalib-2.3/configure.sh 2014-07-06 17:28:39.025066199 +0200 -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - ### - ### A configuration script for Javalib @@ -44,7 +44,7 @@ DESTDIR= # The ocamlpath variable for the compiler to locate the locally-installed diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix index 2fa72dcf07f..365fcc677cc 100644 --- a/pkgs/development/ocaml-modules/javalib/default.nix +++ b/pkgs/development/ocaml-modules/javalib/default.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { createFindlibDestdir = true; + preConfigure = "patchShebangs ./configure.sh"; + configureScript = "./configure.sh"; dontAddPrefix = "true"; diff --git a/pkgs/development/ocaml-modules/sawja/configure.sh.patch b/pkgs/development/ocaml-modules/sawja/configure.sh.patch index e01df32bbde..8165de242f5 100644 --- a/pkgs/development/ocaml-modules/sawja/configure.sh.patch +++ b/pkgs/development/ocaml-modules/sawja/configure.sh.patch @@ -1,11 +1,5 @@ --- sawja-1.5-orig/configure.sh 2013-10-30 08:35:29.000000000 +0100 +++ sawja-1.5/configure.sh 2014-07-05 18:50:26.833798254 +0200 -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - ### - ### A configuration script for Sawja @@ -39,7 +39,7 @@ DESTDIR= # The ocamlpath variable for the compiler to locate the locally-installed diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix index bed87a50f81..ef3ab9a46b9 100644 --- a/pkgs/development/ocaml-modules/sawja/default.nix +++ b/pkgs/development/ocaml-modules/sawja/default.nix @@ -19,6 +19,8 @@ stdenv.mkDerivation rec { createFindlibDestdir = true; + preConfigure = "patchShebangs ./configure.sh"; + configureScript = "./configure.sh"; dontAddPrefix = "true"; From 2e97c06999db2a5dd56b3e105d8f57ad2013ff51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 3 Sep 2014 22:06:54 +0200 Subject: [PATCH 0713/2163] nixos-option: enable all flags by default and make output a bit readable cc @nbp --- nixos/doc/manual/man-nixos-option.xml | 66 +++-------------- nixos/modules/installer/tools/nixos-option.sh | 74 +++++++------------ 2 files changed, 36 insertions(+), 104 deletions(-) diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml index 7952847d4db..554b2969180 100644 --- a/nixos/doc/manual/man-nixos-option.xml +++ b/nixos/doc/manual/man-nixos-option.xml @@ -17,11 +17,6 @@ nixos-option - - - - - option.name @@ -31,50 +26,13 @@ This command evaluates the configuration specified in /etc/nixos/configuration.nix and returns the properties -of the option name given as argument. By default, it returns the value of -the option. +of the option name given as argument. When the option name is not an option, the command prints the list of attributes contained in the attribute set. -Options - -This command accepts the following options: - - - - - , - - Returns the value of the option. This is the default operation - if no other options are defined. - - - - - , - - Return the default value, the example and the description of the - option when available. - - - - - , - - Return the locations where the option is declared and where it - is defined. This is extremely useful to find sources of errors in - your configuration. - - - - - - - - Environment @@ -103,27 +61,21 @@ grub initScript $ nixos-option boot.loader.grub.enable -true +Value: +true -Prints option information: +Default: +true -$ nixos-option -d networking.hostName -Default: "nixos" Description: -The name of the machine. Leave it empty if you want to obtain -it from a DHCP server (if using DHCP). +Whether to enable the GNU GRUB boot loader. -Find the locations which are declaring and defining an option: - -$ nixos-option -l hardware.firmware Declared by: - /mnt/data/nix-sources/nixos/modules/services/hardware/udev.nix + "/path/to/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix" Defined by: - /path/to/nixpkgs/nixos/modules/system/boot/kernel.nix - /path/to/nixpkgs/nixos/modules/hardware/network/rt73.nix - /path/to/nixpkgs/nixos/modules/hardware/network/intel-3945abg.nix - /path/to/nixpkgs/nixos/modules/hardware/network/intel-2200bg.nix + "/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix" + diff --git a/nixos/modules/installer/tools/nixos-option.sh b/nixos/modules/installer/tools/nixos-option.sh index edc94d73208..d995787c76f 100644 --- a/nixos/modules/installer/tools/nixos-option.sh +++ b/nixos/modules/installer/tools/nixos-option.sh @@ -11,9 +11,6 @@ usage () { # Process Arguments # ##################### -desc=false -defs=false -value=false xml=false verbose=false @@ -24,14 +21,11 @@ for arg; do if test -z "$argfun"; then case $arg in -*) - longarg="" sarg="$arg" + longarg="" while test "$sarg" != "-"; do case $sarg in --*) longarg=$arg; sarg="--";; - -d*) longarg="$longarg --description";; - -v*) longarg="$longarg --value";; - -l*) longarg="$longarg --lookup";; -*) usage;; esac # remove the first letter option @@ -42,9 +36,6 @@ for arg; do esac for larg in $longarg; do case $larg in - --description) desc=true;; - --value) value=true;; - --lookup) defs=true;; --xml) xml=true;; --verbose) verbose=true;; --help) usage;; @@ -67,16 +58,6 @@ for arg; do fi done -if $xml; then - value=true - desc=true - defs=true -fi - -if ! $defs && ! $desc; then - value=true -fi - if $verbose; then set -x else @@ -95,8 +76,7 @@ evalAttr(){ local prefix="$1" local strict="$2" local suffix="$3" - echo "(import {}).$prefix${option:+.$option}${suffix:+.$suffix}" | - evalNix ${strict:+--strict} + echo "(import {}).$prefix${option:+.$option}${suffix:+.$suffix}" | evalNix ${strict:+--strict} } evalOpt(){ @@ -189,35 +169,35 @@ EOF fi if test "$(evalOpt "_type" 2> /dev/null)" = '"option"'; then - $value && evalCfg 1 + echo "Value:" + evalCfg 1 - if $desc; then - $value && echo; + echo - if default=$(evalOpt "default" - 2> /dev/null); then - echo "Default: $default" - else - echo "Default: " - fi - if example=$(evalOpt "example" - 2> /dev/null); then - echo "Example: $example" - fi - echo "Description:" - eval printf $(evalOpt "description") + echo "Default:" + if default=$(evalOpt "default" - 2> /dev/null); then + echo "$default" + else + echo "" fi - - if $defs; then - $desc || $value && echo; - - printPath () { echo " $1"; } - - echo "Declared by:" - nixMap printPath "$(findSources "declarations")" - echo "" - echo "Defined by:" - nixMap printPath "$(findSources "files")" - echo "" + echo + if example=$(evalOpt "example" - 2> /dev/null); then + echo "Example: $example" fi + echo "Description:" + echo + eval printf $(evalOpt "description") + + echo $desc; + + printPath () { echo " $1"; } + + echo "Declared by:" + nixMap printPath "$(findSources "declarations")" + echo + echo "Defined by:" + nixMap printPath "$(findSources "files")" + echo else # echo 1>&2 "Warning: This value is not an option." From 1568dcd4dcbb02759c1320f863c6b1a979ceee90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 3 Sep 2014 22:31:26 +0200 Subject: [PATCH 0714/2163] move ike to applications/networking folder --- pkgs/applications/{ => networking}/ike/default.nix | 0 pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename pkgs/applications/{ => networking}/ike/default.nix (100%) diff --git a/pkgs/applications/ike/default.nix b/pkgs/applications/networking/ike/default.nix similarity index 100% rename from pkgs/applications/ike/default.nix rename to pkgs/applications/networking/ike/default.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6561ef69d9e..81d46566877 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9114,7 +9114,7 @@ let ii = callPackage ../applications/networking/irc/ii { }; - ike = callPackage ../applications/ike { }; + ike = callPackage ../applications/networking/ike { }; ikiwiki = callPackage ../applications/misc/ikiwiki { inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber From 0dbdc857d75d9dc82dc3d7a37014ef0ae484b0ec Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 3 Sep 2014 22:19:38 +0200 Subject: [PATCH 0715/2163] nspr: Update to 4.10.7 --- pkgs/development/libraries/nspr/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix index 0355ce25c62..01967718c40 100644 --- a/pkgs/development/libraries/nspr/default.nix +++ b/pkgs/development/libraries/nspr/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl }: -let version = "4.10.6"; in +let version = "4.10.7"; in stdenv.mkDerivation { name = "nspr-${version}"; src = fetchurl { url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz"; - sha1 = "3hzcslcfql1rg7drvcn4nmrigy7jfgwz"; + sha256 = "389af5cfa863ea9bc6de7b30c15f8a4f9bddd8002f8c6fdc8b33caef43893938"; }; preConfigure = "cd nspr"; From b3b06af89a0179e023c69808fd00b36b57d27316 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 3 Sep 2014 22:48:52 +0200 Subject: [PATCH 0716/2163] nss: Update to 3.16.4 --- pkgs/development/libraries/nss/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix index 447030f5fcc..38eb4a93f24 100644 --- a/pkgs/development/libraries/nss/default.nix +++ b/pkgs/development/libraries/nss/default.nix @@ -11,11 +11,11 @@ let in stdenv.mkDerivation rec { name = "nss-${version}"; - version = "3.16.3"; + version = "3.16.4"; src = fetchurl { - url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_3_RTM/src/${name}.tar.gz"; - sha256 = "657711ff7a4058043b69019a66f44101d0234eae2b6b80ab900439dbf02add60"; + url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_4_RTM/src/${name}.tar.gz"; + sha256 = "adcd1e655fd9508e7f13847452fd5887a835eff882e3f0d3c42dfcd651650b77"; }; buildInputs = [ nspr perl zlib sqlite ]; From 88964f37a0f024b71326c3b0c99a2beccabe41d1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 3 Sep 2014 22:48:58 +0200 Subject: [PATCH 0717/2163] firefox: Update to 32.0 --- pkgs/applications/networking/browsers/firefox/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index e23a6d94ec1..4f4a88f01c8 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -15,14 +15,14 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null; -let version = "31.0"; in +let version = "32.0"; in stdenv.mkDerivation rec { name = "firefox-${version}"; src = fetchurl { url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2"; - sha1 = "a6c3e25ee3aeb7da42db2aaeb50a385d63532beb"; + sha1 = "5cb7644af9741ebcdb3a21b777362913908c8f41"; }; buildInputs = From 59ad713288134ba5441edfa941792a6652a1e5c2 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 3 Sep 2014 23:10:40 +0200 Subject: [PATCH 0718/2163] nixos-install: set umask 0022 --- nixos/modules/installer/tools/nixos-install.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index 86952486ade..c633cf4a839 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -7,6 +7,9 @@ # * nix-env -p /nix/var/nix/profiles/system -i # * install the boot loader +# Ensure a consistent umask. +umask 0022 + # Re-exec ourselves in a private mount namespace so that our bind # mounts get cleaned up automatically. if [ "$(id -u)" = 0 ]; then From a1ded5c20e42c463686aa39ed8f0a3e7de8858d9 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 3 Sep 2014 23:11:37 +0200 Subject: [PATCH 0719/2163] nixos-install: use absolute path when running passwd in chroot --- nixos/modules/installer/tools/nixos-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index c633cf4a839..bd334c2a3cb 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -246,7 +246,7 @@ chroot $mountPoint /nix/var/nix/profiles/system/activate # Ask the user to set a root password. if [ -t 0 ] ; then echo "setting root password..." - chroot $mountPoint passwd + chroot $mountPoint /var/setuid-wrappers/passwd fi From e510a2769699342251704a7c4da09cfc933af90b Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Wed, 3 Sep 2014 23:57:34 +0200 Subject: [PATCH 0720/2163] bsd-games: fixed path to dictionary due to the update of miscfiles, see 4cf191a42530cce961b445b40243c3deb9fc4a7c --- pkgs/games/bsdgames/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/games/bsdgames/default.nix b/pkgs/games/bsdgames/default.nix index 59423d7a5a6..882f5f3cde6 100644 --- a/pkgs/games/bsdgames/default.nix +++ b/pkgs/games/bsdgames/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation { bsd_games_cfg_varlibdir=. bsd_games_cfg_non_interactive=y bsd_games_cfg_no_build_dirs="dab hack phantasia sail" - bsd_games_cfg_dictionary_src=${miscfiles}/share/dict/words + bsd_games_cfg_dictionary_src=${miscfiles}/share/web2 bsd_games_cfg_pager=${less} EOF From 98778c4c2779d9e3c52003358a1978eb0bf0b2aa Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 4 Sep 2014 01:30:04 +0200 Subject: [PATCH 0721/2163] Add JohnTheRipper, a fast password cracker --- pkgs/tools/security/john/default.nix | 28 ++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/tools/security/john/default.nix diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix new file mode 100644 index 00000000000..97f67dfbd71 --- /dev/null +++ b/pkgs/tools/security/john/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchgit, openssl, nss, nspr, krb5, gmp, zlib, libpcap, re2 }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "JohnTheRipper-${version}"; + version = "8a3e3c1d"; + buildInputs = [ openssl nss nspr krb5 gmp zlib libpcap re2 ]; + preConfigure = ''cd src''; + installPhase = '' + ensureDir $out/share/john/ + ensureDir $out/bin + cp -R ../run/* $out/share/john + ln -s $out/share/john/john $out/bin/john + ''; + src = fetchgit { + url = https://github.com/magnumripper/JohnTheRipper.git; + rev = "93f061bc41652c94ae049b52572aac709d18aa4c"; + sha256 = "1rnfi09830n34jcqaxmsam54p4zsq9a49ic2ljh44lahcipympvy"; + }; + meta = { + description = "John the Ripper password cracker"; + license = licenses.gpl2; + homepage = https://github.com/magnumripper/JohnTheRipper/; + maintainers = with maintainers; [offline]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4fe7a5cd355..e30d149c95e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1394,6 +1394,8 @@ let jnettop = callPackage ../tools/networking/jnettop { }; + john = callPackage ../tools/security/john { }; + jq = callPackage ../development/tools/jq {}; jscoverage = callPackage ../development/tools/misc/jscoverage { }; From 0c398f60405090743fbdcf14faf1193c642b6328 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 4 Sep 2014 01:30:59 +0200 Subject: [PATCH 0722/2163] docker: add xz to PATH, make importing from archives work --- pkgs/applications/virtualization/docker/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 37550c2fe1f..dafc093bf05 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge_utils, devicemapper, -btrfsProgs, iptables, bash, e2fsprogs}: +btrfsProgs, iptables, bash, e2fsprogs, xz}: stdenv.mkDerivation rec { name = "docker-${version}"; @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { installPhase = '' install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/libexec/docker/docker install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/libexec/docker/dockerinit - makeWrapper $out/libexec/docker/docker $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin" + makeWrapper $out/libexec/docker/docker $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin:${xz}/bin" # systemd install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service From 2de0cf2549e79427fd23f0ce2f2b0021247ba07e Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 3 Sep 2014 18:40:05 -0700 Subject: [PATCH 0723/2163] nixos/utils: Don't remove first character if not a / --- nixos/lib/utils.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix index 35c56e8c32b..7b8be2050c1 100644 --- a/nixos/lib/utils.nix +++ b/nixos/lib/utils.nix @@ -5,6 +5,7 @@ rec { # Escape a path according to the systemd rules, e.g. /dev/xyzzy # becomes dev-xyzzy. FIXME: slow. escapeSystemdPath = s: - replaceChars ["/" "-" " "] ["-" "\\x2d" "\\x20"] (substring 1 (stringLength s) s); + replaceChars ["/" "-" " "] ["-" "\\x2d" "\\x20"] + (if hasPrefix "/" s then substring 1 (stringLength s) s else s); } From 2c3fbe3a8e5c003410d32817b0465a854bb63321 Mon Sep 17 00:00:00 2001 From: Christopher Poole Date: Thu, 4 Sep 2014 17:21:42 +1000 Subject: [PATCH 0724/2163] Add the Geant4 Monte Carlo radiation transport toolkit and its Python bindings. --- .../libraries/physics/geant4/default.nix | 181 ++++++++++++++++++ .../libraries/physics/geant4/fetch.nix | 78 ++++++++ .../physics/geant4/g4py/configure.patch | 12 ++ .../libraries/physics/geant4/g4py/default.nix | 105 ++++++++++ .../physics/geant4/g4py/setup-hook.sh | 1 + .../libraries/physics/geant4/setup-hook.sh | 1 + pkgs/top-level/all-packages.nix | 34 ++++ 7 files changed, 412 insertions(+) create mode 100644 pkgs/development/libraries/physics/geant4/default.nix create mode 100644 pkgs/development/libraries/physics/geant4/fetch.nix create mode 100644 pkgs/development/libraries/physics/geant4/g4py/configure.patch create mode 100644 pkgs/development/libraries/physics/geant4/g4py/default.nix create mode 100644 pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh create mode 100644 pkgs/development/libraries/physics/geant4/setup-hook.sh diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix new file mode 100644 index 00000000000..54a9ad42d2d --- /dev/null +++ b/pkgs/development/libraries/physics/geant4/default.nix @@ -0,0 +1,181 @@ +{ enableMultiThreading ? false +, enableG3toG4 ? false +, enableInventor ? false +, enableGDML ? false +, enableQT ? false +, enableXM ? false +, enableOpenGLX11 ? false +, enableRaytracerX11 ? false + +# Standard build environment with cmake. +, stdenv, fetchurl, cmake + +# Optional system packages, otherwise internal GEANT4 packages are used. +, clhep ? null +, expat ? null +, zlib ? null + +# For enableGDML. +, xercesc ? null + +# For enableQT. +, qt ? null # qt4SDK or qt5SDK + +# For enableXM. +, motif ? null # motif or lesstif + +# For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11. +, mesa ? null +, x11 ? null +, libXmu ? null +}: + +# G4persistency library with support for GDML +assert enableGDML -> xercesc != null; + +# If enableQT, Qt4/5 User Interface and Visualization drivers. +assert enableQT -> qt != null; + +# Motif User Interface and Visualisation drivers. +assert enableXM -> motif != null; + +# OpenGL/X11 User Interface and Visualisation drivers. +assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> mesa != null; +assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> x11 != null; +assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libXmu != null; + +let + buildGeant4 = + { version, src, multiThreadingCapable ? false }: + + stdenv.mkDerivation rec { + inherit version src; + name = "geant4-${version}"; + + # The data directory holds not just interaction cross section data, but other + # files which the installer needs to write, so we link to the previously installed + # data instead. This assumes the default data installation location of $out/share. + preConfigure = '' + mkdir -p $out/share/Geant4-${version} + ln -s ${g4data}/Geant4-${version}/data $out/share/Geant4-${version}/data + ''; + + multiThreadingFlag = if multiThreadingCapable then "-DGEANT4_BUILD_MULTITHREADED=${if enableMultiThreading then "ON" else "OFF"}" else ""; + + cmakeFlags = '' + ${multiThreadingFlag} + -DGEANT4_USE_GDML=${if enableGDML then "ON" else "OFF"} + -DGEANT4_USE_G3TOG4=${if enableG3toG4 then "ON" else "OFF"} + -DGEANT4_USE_QT=${if enableQT then "ON" else "OFF"} + -DGEANT4_USE_XM=${if enableXM then "ON" else "OFF"} + -DGEANT4_USE_OPENGL_X11=${if enableOpenGLX11 then "ON" else "OFF"} + -DGEANT4_USE_INVENTOR=${if enableInventor then "ON" else "OFF"} + -DGEANT4_USE_RAYTRACER_X11=${if enableRaytracerX11 then "ON" else "OFF"} + -DGEANT4_USE_SYSTEM_CLHEP=${if clhep != null then "ON" else "OFF"} + -DGEANT4_USE_SYSTEM_EXPAT=${if expat != null then "ON" else "OFF"} + -DGEANT4_USE_SYSTEM_ZLIB=${if zlib != null then "ON" else "OFF"} + ''; + + g4data = installData { + inherit version src; + }; + + enableParallelBuilding = true; + buildInputs = [ cmake clhep expat zlib xercesc qt motif mesa x11 libXmu ]; + propagatedBuildInputs = [ g4data clhep expat zlib xercesc qt motif mesa x11 libXmu ]; + + setupHook = ./setup-hook.sh; + + # Set the myriad of envars required by Geant4 if we use a nix-shell. + shellHook = '' + source $out/nix-support/setup-hook + ''; + + meta = { + description = "A toolkit for the simulation of the passage of particles through matter."; + longDescription = '' + Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science. + The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278. + ''; + homepage = http://www.geant4.org; + license = stdenv.lib.licenses.g4sl; + maintainers = [ ]; + platforms = stdenv.lib.platforms.all; + }; + }; + + installData = + { version, src }: + + stdenv.mkDerivation rec { + inherit version src; + name = "g4data-${version}"; + + cmakeFlags = '' + -DGEANT4_INSTALL_DATA="ON" + ''; + + buildInputs = [ cmake expat ]; + + enableParallelBuilding = true; + buildPhase = '' + make G4EMLOW G4NDL G4NEUTRONXS G4PII G4SAIDDATA PhotonEvaporation RadioactiveDecay RealSurface + ''; + + installPhase = '' + mkdir -p $out/Geant4-${version} + cp -R data/ $out/Geant4-${version} + ''; + + meta = { + description = "Data files for the Geant4 toolkit."; + homepage = http://www.geant4.org; + license = stdenv.lib.licenses.g4sl; + maintainers = [ ]; + platforms = stdenv.lib.platforms.all; + }; + }; + + fetchGeant4 = import ./fetch.nix { + inherit stdenv fetchurl; + }; + +in { + + ### VERSION 9.6 + + v9_6 = buildGeant4 { + inherit (fetchGeant4.v9_6) version src; + }; + + v9_6_1 = buildGeant4 { + inherit (fetchGeant4.v9_6_1) version src; + }; + + v9_6_2 = buildGeant4 { + inherit (fetchGeant4.v9_6_2) version src; + }; + + v9_6_3 = buildGeant4 { + inherit (fetchGeant4.v9_6_3) version src; + }; + + ## VERSION 10.0 + + v10_0 = buildGeant4 { + inherit (fetchGeant4.v10_0) version src; + multiThreadingCapable = true; + }; + + v10_0_1 = buildGeant4 { + inherit (fetchGeant4.v10_0_1) version src; + multiThreadingCapable = true; + }; + + v10_0_2 = buildGeant4 { + inherit (fetchGeant4.v10_0_2) version src; + multiThreadingCapable = true; + }; +} + diff --git a/pkgs/development/libraries/physics/geant4/fetch.nix b/pkgs/development/libraries/physics/geant4/fetch.nix new file mode 100644 index 00000000000..0c2f4b5dc54 --- /dev/null +++ b/pkgs/development/libraries/physics/geant4/fetch.nix @@ -0,0 +1,78 @@ +{ stdenv, fetchurl }: + +let + fetch = { version, src ? builtins.getAttr stdenv.system sources, sources ? null }: + { + inherit version src; + }; + +in { + + ### VERSION 9.6 + + v9_6 = fetch { + version = "9.6"; + + src = fetchurl{ + url = "http://geant4.cern.ch/support/source/geant4.9.6.tar.gz"; + sha256 = "3b1caf87664ef35cab25563b2911653701e98c75a9bd6c64f364d1a1213247e5"; + }; + }; + + v9_6_1 = fetch { + version = "9.6.1"; + + src = fetchurl{ + url = "http://geant4.cern.ch/support/source/geant4.9.6.p01.tar.gz"; + sha256 = "575c45029afc2405d70c38e6dcfd1a752564b2540f33a922230039be81c8e4b6"; + }; + }; + + v9_6_2 = fetch { + version = "9.6.2"; + + src = fetchurl{ + url = "http://geant4.cern.ch/support/source/geant4.9.6.p02.tar.gz"; + sha256 = "cf5df83b7e2c99e6729449b32d3ecb0727b4692317426b66fc7fd41951c7351f"; + }; + }; + + v9_6_3 = fetch { + version = "9.6.3"; + + src = fetchurl{ + url = "http://geant4.cern.ch/support/source/geant4.9.6.p03.tar.gz"; + sha256 = "3a7e969039e8992716b3bc33b44cbdbff9c8d5850385f1a02fdd756a4fa6305c"; + }; + }; + + ### Version 10.0 + + v10_0 = fetch { + version = "10.0"; + + src = fetchurl{ + url = "http://geant4.cern.ch/support/source/geant4.10.00.tar.gz"; + sha256 = "ffec1714b03748b6d691eb0b91906f4c74422c1ad1f8afa918e03be421af8a17"; + }; + }; + + v10_0_1 = fetch { + version = "10.0.1"; + + src = fetchurl{ + url = "http://geant4.cern.ch/support/source/geant4.10.00.p01.tar.gz"; + sha256 = "09c431ff3ef81034282c46501cea01046d4a20438c2ea2a7339576e1ecf26ba0"; + }; + }; + + v10_0_2 = fetch { + version = "10.0.2"; + + src = fetchurl{ + url = "http://geant4.cern.ch/support/source/geant4.10.00.p02.tar.gz"; + sha256 = "9d615200901f1a5760970e8f5970625ea146253e4f7c5ad9df2a9cf84549e848"; + }; + }; +} + diff --git a/pkgs/development/libraries/physics/geant4/g4py/configure.patch b/pkgs/development/libraries/physics/geant4/g4py/configure.patch new file mode 100644 index 00000000000..886618abd34 --- /dev/null +++ b/pkgs/development/libraries/physics/geant4/g4py/configure.patch @@ -0,0 +1,12 @@ +--- environments/g4py/configure 2014-03-17 22:47:05.000000000 +1100 ++++ environments/g4py/configure 2014-09-01 15:33:46.523637686 +1000 +@@ -4,9 +4,6 @@ + # ====================================================================== + export LANG=C + +-PATH=/bin:/usr/bin +-export PATH +- + # ====================================================================== + # testing the echo features + # ====================================================================== diff --git a/pkgs/development/libraries/physics/geant4/g4py/default.nix b/pkgs/development/libraries/physics/geant4/g4py/default.nix new file mode 100644 index 00000000000..f6ca6562b6f --- /dev/null +++ b/pkgs/development/libraries/physics/geant4/g4py/default.nix @@ -0,0 +1,105 @@ +{ stdenv, fetchurl + +# The target version of Geant4 +, geant4 + +# Python (obviously) and boost::python for wrapping. +, python +, boost +}: + +let + buildG4py = + { version, src, geant4}: + + stdenv.mkDerivation rec { + inherit version src geant4; + name = "g4py-${version}"; + + # ./configure overwrites $PATH, which clobbers everything. + patches = [ ./configure.patch ]; + patchFlags = "-p0"; + + configurePhase = '' + export PYTHONPATH=$PYTHONPATH:${geant4}/lib64:$prefix + + source ${geant4}/share/Geant4-*/geant4make/geant4make.sh + cd environments/g4py + + ./configure linux64 --prefix=$prefix \ + --with-g4install-dir=${geant4} \ + --with-python-incdir=${python}/include/python${python.majorVersion} \ + --with-python-libdir=${python}/lib \ + --with-boost-incdir=${boost}/include \ + --with-boost-libdir=${boost}/lib + ''; + + enableParallelBuilding = true; + buildInputs = [ geant4 boost python ]; + + setupHook = ./setup-hook.sh; + + # Make sure we set PYTHONPATH + shellHook = '' + source $out/nix-support/setup-hook + ''; + + meta = { + description = "Python bindings and utilities for Geant4."; + longDescription = '' + Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science. + The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278. + ''; + homepage = http://www.geant4.org; + license = stdenv.lib.licenses.g4sl; + maintainers = [ ]; + platforms = stdenv.lib.platforms.all; + }; + }; + + fetchGeant4 = import ../fetch.nix { + inherit stdenv fetchurl; + }; + +in { + + ### VERSION 9.6 + + v9_6 = buildG4py { + inherit (fetchGeant4.v9_6) version src; + geant4 = geant4.v9_6; + }; + + v9_6_1 = buildG4py { + inherit (fetchGeant4.v9_6_1) version src; + geant4 = geant4.v9_6_1; + }; + + v9_6_2 = buildG4py { + inherit (fetchGeant4.v9_6_2) version src; + geant4 = geant4.v9_6_2; + }; + + v9_6_3 = buildG4py { + inherit (fetchGeant4.v9_6_3) version src; + geant4 = geant4.v9_6_3; + }; + + ## VERSION 10.0 + + v10_0 = buildG4py { + inherit (fetchGeant4.v10_0) version src; + geant4 = geant4.v10_0; + }; + + v10_0_1 = buildG4py { + inherit (fetchGeant4.v10_0_1) version src; + geant4 = geant4.v10_0_1; + }; + + v10_0_2 = buildG4py { + inherit (fetchGeant4.v10_0_2) version src; + geant4 = geant4.v10_0_2; + }; +} diff --git a/pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh b/pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh new file mode 100644 index 00000000000..8abfb461fc0 --- /dev/null +++ b/pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh @@ -0,0 +1 @@ +export PYTHONPATH=$PYTHONPATH:@out@/lib diff --git a/pkgs/development/libraries/physics/geant4/setup-hook.sh b/pkgs/development/libraries/physics/geant4/setup-hook.sh new file mode 100644 index 00000000000..0b775d43283 --- /dev/null +++ b/pkgs/development/libraries/physics/geant4/setup-hook.sh @@ -0,0 +1 @@ +source @out@/bin/geant4.sh diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e30d149c95e..7544564cea1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11273,6 +11273,40 @@ let xplanet = callPackage ../applications/science/astronomy/xplanet { }; + ### SCIENCE / PHYSICS + + geant4 = callPackage ../development/libraries/physics/geant4 { + enableMultiThreading = true; + enableG3toG4 = false; + enableInventor = false; + enableGDML = false; + enableQT = false; + enableXM = false; + enableOpenGLX11 = true; + enableRaytracerX11 = false; + + # Optional system packages, otherwise internal GEANT4 packages are used. + clhep = null; + expat = expat; + zlib = null; + + # For enableGDML. + xercesc = null; + + # For enableQT. + qt = null; # qt4SDK or qt5SDK + + # For enableXM. + motif = null; # motif or lesstif + + # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11. + mesa = mesa; + x11 = x11; + inherit (xlibs) libXmu; + }; + + g4py = callPackage ../development/libraries/physics/geant4/g4py { }; + ### MISC atari800 = callPackage ../misc/emulators/atari800 { }; From e6ab680cbfb8165b51c829303b63eb44a905e751 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 4 Sep 2014 10:25:56 +0200 Subject: [PATCH 0725/2163] nixos nat: add type for sourcePort and destination of forwardPorts --- nixos/modules/services/networking/nat.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index b6fa3b79eb2..9ddd830a04a 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -76,9 +76,19 @@ in }; networking.nat.forwardPorts = mkOption { - type = types.listOf types.attrs; + type = types.listOf types.optionSet; default = []; example = [ { sourcePort = 8080; destination = "10.0.0.1:80"; } ]; + options = { + sourcePort = mkOption { + type = types.int; + }; + + destination = mkOption { + type = types.str; + }; + }; + description = '' List of forwarded ports from the external interface to From 467aa737a0d4012f94eb448df3e04fe64a872203 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Thu, 4 Sep 2014 13:01:23 +0400 Subject: [PATCH 0726/2163] Fix QScintilla source --- pkgs/development/libraries/qscintilla/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix index c98496e336c..52736ba5d34 100644 --- a/pkgs/development/libraries/qscintilla/default.nix +++ b/pkgs/development/libraries/qscintilla/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { - url = "mirror://sourceforge/pyqt/QScintilla2/QScintilla-2.8.3/${name}.tar.gz"; + url = "mirror://sourceforge/pyqt/QScintilla2/QScintilla-${version}/QScintilla-gpl-${version}.tar.gz"; sha256 = "fb94e6d61c3ccd4bf167d5f092629e619f7069d42207469458998b761a7cf505"; }; From 2ba523df244d9a3eefec9e2303080f93108254fe Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 4 Sep 2014 11:32:40 +0200 Subject: [PATCH 0727/2163] nixos nat: add description to forwardPorts --- nixos/modules/services/networking/nat.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index 9ddd830a04a..4a4c06503c2 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -82,10 +82,14 @@ in options = { sourcePort = mkOption { type = types.int; + example = 8080; + description = "Source port of the external interface"; }; destination = mkOption { type = types.str; + example = "10.0.0.1:80"; + description = "Forward tcp connection to destination ip:port"; }; }; From 3ccd8af29d33052a3377f7ff5fe6138fe0512c2f Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 4 Sep 2014 12:08:34 +0200 Subject: [PATCH 0728/2163] Add curl-unix-socket, Run HTTP requests over UNIX socket --- .../networking/curl-unix-socket/default.nix | 24 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/tools/networking/curl-unix-socket/default.nix diff --git a/pkgs/tools/networking/curl-unix-socket/default.nix b/pkgs/tools/networking/curl-unix-socket/default.nix new file mode 100644 index 00000000000..88d75ba570e --- /dev/null +++ b/pkgs/tools/networking/curl-unix-socket/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, go }: + +stdenv.mkDerivation { + name = "curl-unix-socket"; + + src = fetchFromGitHub { + owner = "Soulou"; + repo = "curl-unix-socket"; + rev = "e926dca77ba7d4a1eeae073918fdd3db92f1a350"; + sha256 = "1ynrrav90y3dhk8jq2fxm3jswj5nvrffwslgykj429hk6n0czb3d"; + }; + + buildInputs = [ go ]; + buildPhase = "go build"; + installPhase = "install -D curl-unix-socket* $out/bin/curl-unix-socket"; + + meta = with stdenv.lib; { + description = "Run HTTP requests over UNIX socket"; + license = licenses.mit; + homepage = https://github.com/Soulou/curl-unix-socket; + maintainers = with maintainers; [offline]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 092f18da60e..b2063fe7206 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -855,6 +855,8 @@ let sslSupport = zlibSupport; }; + curl_unix_socket = callPackage ../tools/networking/curl-unix-socket rec { }; + cunit = callPackage ../tools/misc/cunit { }; curlftpfs = callPackage ../tools/filesystems/curlftpfs { }; From a517dfcf71fa643b55ab29f09cfef94c5e89ba02 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Thu, 4 Sep 2014 14:41:23 +0400 Subject: [PATCH 0729/2163] Fix ACL2 --- pkgs/development/compilers/sbcl/1.2.0.nix | 78 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +- 2 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/compilers/sbcl/1.2.0.nix diff --git a/pkgs/development/compilers/sbcl/1.2.0.nix b/pkgs/development/compilers/sbcl/1.2.0.nix new file mode 100644 index 00000000000..c9d360f0ec5 --- /dev/null +++ b/pkgs/development/compilers/sbcl/1.2.0.nix @@ -0,0 +1,78 @@ +{ stdenv, fetchurl, sbclBootstrap, clisp}: + +stdenv.mkDerivation rec { + name = "sbcl-${version}"; + version = "1.2.0"; + + src = fetchurl { + url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; + sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2"; + }; + + buildInputs = [ ] + ++ (stdenv.lib.optional stdenv.isDarwin sbclBootstrap) + ++ (stdenv.lib.optional stdenv.isLinux clisp) + ; + + patchPhase = '' + echo '"${version}.nixos"' > version.lisp-expr + echo " + (lambda (features) + (flet ((enable (x) + (pushnew x features)) + (disable (x) + (setf features (remove x features)))) + (enable :sb-thread))) " > customize-target-features.lisp + + pwd + + # SBCL checks whether files are up-to-date in many places.. + # Unfortunately, same timestamp is not good enough + sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp + sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp + sed -i src/cold/slam.lisp -e \ + '/file-write-date input/a)' + sed -i src/cold/slam.lisp -e \ + '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))' + sed -i src/code/target-load.lisp -e \ + '/date defaulted-fasl/a)' + sed -i src/code/target-load.lisp -e \ + '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))' + + # Fix the tests + sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp + sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp + sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp + sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp + + sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp + sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp + ''; + + preBuild = '' + export INSTALL_ROOT=$out + mkdir -p test-home + export HOME=$PWD/test-home + ''; + + buildPhase = if stdenv.isLinux + then '' + sh make.sh clisp --prefix=$out + '' + else '' + sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --core ${sbclBootstrap}/share/sbcl/sbcl.core --disable-debugger --no-userinit --no-sysinit' + ''; + + installPhase = '' + INSTALL_ROOT=$out sh install.sh + ''; + + meta = { + description = "Lisp compiler"; + homepage = http://www.sbcl.org; + license = stdenv.lib.licenses.bsd3; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.all; + inherit version; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b2063fe7206..a7af80dbf71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3462,6 +3462,10 @@ let sbcl = callPackage ../development/compilers/sbcl { clisp = clisp; }; + # For ACL2 + sbcl_1_2_0 = callPackage ../development/compilers/sbcl/1.2.0.nix { + clisp = clisp; + }; scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { }; scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { }; @@ -3553,7 +3557,7 @@ let ### DEVELOPMENT / INTERPRETERS acl2 = builderDefsPackage ../development/interpreters/acl2 { - inherit sbcl; + sbcl = sbcl_1_2_0; }; angelscript = callPackage ../development/interpreters/angelscript {}; From 89eccb7fb0d10ae208df9b1c6eead8cbc654b32f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 4 Sep 2014 13:37:03 +0200 Subject: [PATCH 0730/2163] sudo: add sendmailPath option (defaults to /var/setuid-wrappers/sendmail) It currently seems impossible to make sudo send emails. No matter how much debugging I enable, sudo continues to be silent about sendmail. I tried setting "Defaults mailerpath=/var/setuid-wrappers/sendmail" but that too was completely ignored (except for logging that the variable mailerpath exists with the value I assigned to it...). This enables sendmail support and sets a default value that works on NixOS. --- pkgs/tools/security/sudo/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix index ab46af5a1cd..23b7241ace0 100644 --- a/pkgs/tools/security/sudo/default.nix +++ b/pkgs/tools/security/sudo/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl, coreutils, pam, groff }: +{ stdenv, fetchurl, coreutils, pam, groff +, sendmailPath ? "/var/setuid-wrappers/sendmail" +}: stdenv.mkDerivation rec { name = "sudo-1.8.10p3"; @@ -17,6 +19,7 @@ stdenv.mkDerivation rec { "--with-rundir=/var/run" "--with-vardir=/var/db/sudo" "--with-logpath=/var/log/sudo.log" + "--with-sendmail=${sendmailPath}" ]; postConfigure = From 82b4965b083383126c5a8653cc5031c6ecea72bb Mon Sep 17 00:00:00 2001 From: Matthew Brown Date: Thu, 4 Sep 2014 13:21:28 +0100 Subject: [PATCH 0731/2163] Removed mysql dependency as it does not pick up the header files on Linux, even when specified explicitly in the config params. --- pkgs/servers/search/sphinxsearch/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/search/sphinxsearch/default.nix b/pkgs/servers/search/sphinxsearch/default.nix index 1979da5b2c0..a72240064f2 100644 --- a/pkgs/servers/search/sphinxsearch/default.nix +++ b/pkgs/servers/search/sphinxsearch/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, mysql, +{ stdenv, fetchurl, pkgconfig, version ? "2.1.9", mainSrc ? fetchurl { url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz"; @@ -12,11 +12,12 @@ stdenv.mkDerivation rec { configureFlags = [ "--program-prefix=sphinxsearch-" + "--without-mysql" + "--enable-id64" ]; - buildInputs = [ + buildInputs = [ pkgconfig - mysql ]; meta = { From 7f9609756d3a11ea0551b43dcfca91f969ee1d51 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:14 +0200 Subject: [PATCH 0732/2163] haskell-MFlow: update to version 0.4.5.9 --- pkgs/development/libraries/haskell/MFlow/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/MFlow/default.nix b/pkgs/development/libraries/haskell/MFlow/default.nix index f5e088a4238..aaf84a84187 100644 --- a/pkgs/development/libraries/haskell/MFlow/default.nix +++ b/pkgs/development/libraries/haskell/MFlow/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "MFlow"; - version = "0.4.5.8"; - sha256 = "1gfv5ky68dyn8gjjg60c5s9x3dl9xn6j9q43w7vaj9sd1q12wk3c"; + version = "0.4.5.9"; + sha256 = "0mqsyx7wkfgvpppqgpjpvzwx79vj7lh4c8afzzj1hgh8z0ilb4ik"; buildDepends = [ blazeHtml blazeMarkup caseInsensitive clientsession conduit conduitExtra extensibleExceptions httpTypes monadloc mtl parsec From cbe7451b5e9f3b29292482a110eaa0efb206dfad Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:17 +0200 Subject: [PATCH 0733/2163] haskell-crypto-random: update to version 0.0.8 --- pkgs/development/libraries/haskell/crypto-random/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/crypto-random/default.nix b/pkgs/development/libraries/haskell/crypto-random/default.nix index 878eb3d2c71..c7053cbf1e3 100644 --- a/pkgs/development/libraries/haskell/crypto-random/default.nix +++ b/pkgs/development/libraries/haskell/crypto-random/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "crypto-random"; - version = "0.0.7"; - sha256 = "1dj63y85l3f1x7fw8j7hykz56ajd38iikl3f8ygaz8r95pd1zjxw"; + version = "0.0.8"; + sha256 = "058ilm05ni5ribggx25cfrhsv1z0abvgxzf3wd3d6qqq58p5wbkv"; buildDepends = [ securemem vector ]; meta = { homepage = "http://github.com/vincenthz/hs-crypto-random"; From 1ba291edc6cdea8242a336eb51535cd58649ab7a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:20 +0200 Subject: [PATCH 0734/2163] haskell-digestive-functors-heist: update to version 0.8.6.0 --- .../libraries/haskell/digestive-functors-heist/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix index aae120d5681..4c1ca9cd9ae 100644 --- a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix +++ b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "digestive-functors-heist"; - version = "0.8.5.0"; - sha256 = "0pjjr3b1zm23wpqnmcbr8ly08bp63sz3c9vbxcani4mwgx05qp87"; + version = "0.8.6.0"; + sha256 = "0n73hw8xl70x7c3hn4hz1qqijvvhv0qk30q0c22lnbjaf4n8dki2"; buildDepends = [ blazeBuilder digestiveFunctors heist mtl text xmlhtml ]; From cd5f33affd00133fc663179e46ff5051a898e47e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:22 +0200 Subject: [PATCH 0735/2163] haskell-entropy: update to version 0.3.3 --- pkgs/development/libraries/haskell/entropy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/entropy/default.nix b/pkgs/development/libraries/haskell/entropy/default.nix index 881a9cd9a0a..207cc0ea5da 100644 --- a/pkgs/development/libraries/haskell/entropy/default.nix +++ b/pkgs/development/libraries/haskell/entropy/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "entropy"; - version = "0.3.2"; - sha256 = "1kk0vmfmfqcsw0pzbii9rvz32fvhvxqpn6p6jw6q2x33z6gm5f9x"; + version = "0.3.3"; + sha256 = "0px97mims7pbxyh8jqckc14ahdjj7r3hhckzpjqnxpkcisb2c738"; meta = { homepage = "https://github.com/TomMD/entropy"; description = "A platform independent entropy source"; From 4ff583358edb56112e2541efcbefe9d1b7afdb2a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:25 +0200 Subject: [PATCH 0736/2163] haskell-hplayground: update to version 0.1.0.4 --- pkgs/development/libraries/haskell/hplayground/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hplayground/default.nix b/pkgs/development/libraries/haskell/hplayground/default.nix index db38dbc2399..4f71d28010a 100644 --- a/pkgs/development/libraries/haskell/hplayground/default.nix +++ b/pkgs/development/libraries/haskell/hplayground/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "hplayground"; - version = "0.1.0.3"; - sha256 = "1k46b94n9wkbh7374mjyg5jnwxxrhj8ai53q3r4lysx1rzgw7ak6"; + version = "0.1.0.4"; + sha256 = "12xqj7f9vqj2zsv3ipfmpkdnqagh2g0x4i4jsj98q91ynwhzg1am"; buildDepends = [ dataDefault hasteCompiler hastePerch monadsTf transformers ]; From fd9aed1a779ccf67c193abac49b66b37726da8ef Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:28 +0200 Subject: [PATCH 0737/2163] haskell-monad-journal: update to version 0.2.3.2 --- pkgs/development/libraries/haskell/monad-journal/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/monad-journal/default.nix b/pkgs/development/libraries/haskell/monad-journal/default.nix index 5cbfed976d1..f7c48f691ed 100644 --- a/pkgs/development/libraries/haskell/monad-journal/default.nix +++ b/pkgs/development/libraries/haskell/monad-journal/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "monad-journal"; - version = "0.2.3.1"; - sha256 = "11p7qdga26wz82x6a1fl57iij4swsr1d1aly76sjrlvl8maqlf7d"; + version = "0.2.3.2"; + sha256 = "02356yapx5g6lam72kdyhndq5lcyhd2zsjvvcndiyhqik6csi457"; buildDepends = [ either monadControl mtl transformers transformersBase ]; From 84b1072604b41901e9bc0dcd9a25a47d92fcfb6b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:30 +0200 Subject: [PATCH 0738/2163] haskell-network-uri: update to version 2.6.0.1 --- pkgs/development/libraries/haskell/network-uri/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/network-uri/default.nix b/pkgs/development/libraries/haskell/network-uri/default.nix index e6259b09c24..e42d6d28599 100644 --- a/pkgs/development/libraries/haskell/network-uri/default.nix +++ b/pkgs/development/libraries/haskell/network-uri/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "network-uri"; - version = "2.6.0.0"; - sha256 = "0dnprscb5nxidg56i7j6q783nwsrn3dabfsij3vjlvjn4f0sg11l"; + version = "2.6.0.1"; + sha256 = "09ymamb128jgqghpda4nixncr73all8qc6q53976aricm6a27p37"; buildDepends = [ parsec ]; testDepends = [ HUnit network testFramework testFrameworkHunit From dcd580b9d2b67f2a99cbf4e7f7fa1b6ece2b3fa6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:36 +0200 Subject: [PATCH 0739/2163] haskell-purescript: update to version 0.5.5 --- pkgs/development/libraries/haskell/purescript/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix index c5087a692f9..f8bb4d4a6db 100644 --- a/pkgs/development/libraries/haskell/purescript/default.nix +++ b/pkgs/development/libraries/haskell/purescript/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "purescript"; - version = "0.5.4.1"; - sha256 = "1d2i2sspr1dbzjznk70flvnik0b2m226a3z0rkqwrjjbl92bhgwb"; + version = "0.5.5"; + sha256 = "19a2ra37cxh56gd1k43y9fg2cdp848yimybsx8728in39m8cjbxw"; isLibrary = true; isExecutable = true; buildDepends = [ From 93778f97e2d84710c8d43c7bc81316a5e025c380 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:38 +0200 Subject: [PATCH 0740/2163] haskell-rest-gen: update to version 0.15 --- pkgs/development/libraries/haskell/rest-gen/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix index 012f6db8bf2..148e8f1cc1f 100644 --- a/pkgs/development/libraries/haskell/rest-gen/default.nix +++ b/pkgs/development/libraries/haskell/rest-gen/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "rest-gen"; - version = "0.14.2.1"; - sha256 = "1dvcs25ndmzwdann5yq4567zjirirzskf9v31gkrki0im8mi9x14"; + version = "0.15"; + sha256 = "004rcxaw4xjsa1grz84wgik6nabd9c3nyp8s6ylfgwgcrvcc8li2"; buildDepends = [ aeson blazeHtml Cabal codeBuilder fclabels filepath hashable haskellSrcExts hslogger HStringTemplate hxt jsonSchema restCore From a64103179f6ccbe4edc95a1cecc2c9c728854e23 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:41 +0200 Subject: [PATCH 0741/2163] haskell-rest-happstack: update to version 0.2.10.2 --- pkgs/development/libraries/haskell/rest-happstack/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/rest-happstack/default.nix b/pkgs/development/libraries/haskell/rest-happstack/default.nix index 4c79bc58c06..93397e82363 100644 --- a/pkgs/development/libraries/haskell/rest-happstack/default.nix +++ b/pkgs/development/libraries/haskell/rest-happstack/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "rest-happstack"; - version = "0.2.10.1"; - sha256 = "0p4km3l8n50flj9cnxvjl34pp3msxz2yq4d91r318di8pacrgnxc"; + version = "0.2.10.2"; + sha256 = "18i2q3kvsyrh41gdclrzpnsjy1p9cgl3d9jsvcqqnzrv519vzdig"; buildDepends = [ happstackServer mtl restCore restGen utf8String ]; meta = { description = "Rest driver for Happstack"; From 01760e9110ca780049ae9f1e4761e55b730873f2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:43 +0200 Subject: [PATCH 0742/2163] haskell-retry: update to version 0.5.1 --- pkgs/development/libraries/haskell/retry/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/retry/default.nix b/pkgs/development/libraries/haskell/retry/default.nix index 9a0a994cf77..0df453d10bb 100644 --- a/pkgs/development/libraries/haskell/retry/default.nix +++ b/pkgs/development/libraries/haskell/retry/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "retry"; - version = "0.5"; - sha256 = "1qp949w8pisgki06j5qgaxw1761q3gfccc7bqnhqpchazl4p6p6n"; + version = "0.5.1"; + sha256 = "1k5qv7c960dayhddvra1gpy1zv90rdjcrzpg8nzar9bpcxapczvj"; buildDepends = [ dataDefaultClass exceptions transformers ]; testDepends = [ dataDefaultClass exceptions hspec HUnit QuickCheck time From 6139f0f5ab1debd330393a81302207f9813ec50c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:48 +0200 Subject: [PATCH 0743/2163] haskell-setlocale: update to version 1.0.0 --- .../libraries/haskell/setlocale/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/setlocale/default.nix b/pkgs/development/libraries/haskell/setlocale/default.nix index fcfd2d34d58..ef00effcfe6 100644 --- a/pkgs/development/libraries/haskell/setlocale/default.nix +++ b/pkgs/development/libraries/haskell/setlocale/default.nix @@ -4,13 +4,11 @@ cabal.mkDerivation (self: { pname = "setlocale"; - version = "0.0.3"; - sha256 = "08pd20ibmslr94p52rn6x9w3swn9jy7vjlvxzw29h8dlqgmvcrjl"; + version = "1.0.0"; + sha256 = "1bnxh09jjac8gyjl87w6v86dqc1xr398l28ili8283im141anpzi"; meta = { - description = "A Haskell interface to setlocale()"; - license = self.stdenv.lib.licenses.publicDomain; + description = "Haskell bindings to setlocale"; + license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; - broken = true; }; }) From 061b9b148c81f5c78af462618161ecd9b1ef7f9d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:51 +0200 Subject: [PATCH 0744/2163] haskell-x509: update to version 1.4.12 --- pkgs/development/libraries/haskell/x509/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/x509/default.nix b/pkgs/development/libraries/haskell/x509/default.nix index 4c8eb53c995..71601c9306d 100644 --- a/pkgs/development/libraries/haskell/x509/default.nix +++ b/pkgs/development/libraries/haskell/x509/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "x509"; - version = "1.4.11"; - sha256 = "1ax56jps640cj1swy08y4k75vx908ckwkg2hi7y2s3bhnvpz49ga"; + version = "1.4.12"; + sha256 = "0bfsmmngpvghbfljxa2gymf6hvsw04snw6fr2r6hpaw40njxfxxj"; buildDepends = [ asn1Encoding asn1Parse asn1Types cryptohash cryptoPubkeyTypes filepath mtl pem time From a6bb94573059b5e0d96e2cd1ef5a09cf88ecf024 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:35:00 +0200 Subject: [PATCH 0745/2163] haskell-network: update to version 2.6.0.2 --- .../libraries/haskell/network/{2.6.0.1.nix => 2.6.0.2.nix} | 4 ++-- pkgs/top-level/haskell-packages.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) rename pkgs/development/libraries/haskell/network/{2.6.0.1.nix => 2.6.0.2.nix} (83%) diff --git a/pkgs/development/libraries/haskell/network/2.6.0.1.nix b/pkgs/development/libraries/haskell/network/2.6.0.2.nix similarity index 83% rename from pkgs/development/libraries/haskell/network/2.6.0.1.nix rename to pkgs/development/libraries/haskell/network/2.6.0.2.nix index d5d302fbd8e..37540ad323e 100644 --- a/pkgs/development/libraries/haskell/network/2.6.0.1.nix +++ b/pkgs/development/libraries/haskell/network/2.6.0.2.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "network"; - version = "2.6.0.1"; - sha256 = "0qfffsdbvrf9gs8wr9ps7iv5h6drz4vb2ja9rprmc7ypswsacxsq"; + version = "2.6.0.2"; + sha256 = "12b7saam5ga6l4cplgkad49xa4vkynz2ri9jxidx1cxiqjcl0vc4"; testDepends = [ HUnit testFramework testFrameworkHunit ]; meta = { homepage = "https://github.com/haskell/network"; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c09cf8b1182..8730ac6d160 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1721,8 +1721,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {}; network_2_4_1_2 = callPackage ../development/libraries/haskell/network/2.4.1.2.nix {}; network_2_5_0_0 = callPackage ../development/libraries/haskell/network/2.5.0.0.nix {}; - network_2_6_0_1 = callPackage ../development/libraries/haskell/network/2.6.0.1.nix {}; - network = self.network_2_5_0_0; # the latest version break HTTP on all platforms + network_2_6_0_2 = callPackage ../development/libraries/haskell/network/2.6.0.2.nix {}; + network = self.network_2_5_0_0; networkCarbon = callPackage ../development/libraries/haskell/network-carbon {}; From 064c3d3e545de2d050598546b79c9d1956b27409 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:35:41 +0200 Subject: [PATCH 0746/2163] haskell-ghc-mod: update to version 5.0.1.2 --- .../libraries/haskell/ghc-mod/{5.0.1.1.nix => 5.0.1.2.nix} | 4 ++-- pkgs/top-level/haskell-packages.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename pkgs/development/libraries/haskell/ghc-mod/{5.0.1.1.nix => 5.0.1.2.nix} (95%) diff --git a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix b/pkgs/development/libraries/haskell/ghc-mod/5.0.1.2.nix similarity index 95% rename from pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix rename to pkgs/development/libraries/haskell/ghc-mod/5.0.1.2.nix index 3eefe056218..1a4ada4d3dc 100644 --- a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix +++ b/pkgs/development/libraries/haskell/ghc-mod/5.0.1.2.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "ghc-mod"; - version = "5.0.1.1"; - sha256 = "0qyl1653dj14ap3035kjj7xl8rsmgpwh32bj2lnwrmdm2223m8a3"; + version = "5.0.1.2"; + sha256 = "0hs2d6h3g077prm2mdr40k7m1cdc0h01agbcvs4h6y27nls3kyjx"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 8730ac6d160..15575967f30 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -906,7 +906,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {}; ghcMod_4_1_6 = callPackage ../development/libraries/haskell/ghc-mod/4.1.6.nix { inherit (pkgs) emacs; }; - ghcMod_5_0_1_1 = callPackage ../development/libraries/haskell/ghc-mod/5.0.1.1.nix { inherit (pkgs) emacs; }; + ghcMod_5_0_1_2 = callPackage ../development/libraries/haskell/ghc-mod/5.0.1.2.nix { inherit (pkgs) emacs; }; ghcMod = self.ghcMod_4_1_6; ghcMtl = callPackage ../development/libraries/haskell/ghc-mtl {}; From f82bf82465477c07a6aded38344b62c500f66adf Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:37:02 +0200 Subject: [PATCH 0747/2163] haskell-tls: update to version 1.2.9 (and drop obsolete tls-extra) --- .../libraries/haskell/tls-extra/default.nix | 23 ---------------- .../libraries/haskell/tls/1.1.5.nix | 27 ------------------- .../haskell/tls/{1.2.8.nix => default.nix} | 4 +-- pkgs/top-level/haskell-packages.nix | 8 +----- 4 files changed, 3 insertions(+), 59 deletions(-) delete mode 100644 pkgs/development/libraries/haskell/tls-extra/default.nix delete mode 100644 pkgs/development/libraries/haskell/tls/1.1.5.nix rename pkgs/development/libraries/haskell/tls/{1.2.8.nix => default.nix} (92%) diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix deleted file mode 100644 index 0d5c97433b2..00000000000 --- a/pkgs/development/libraries/haskell/tls-extra/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -# This file was auto-generated by cabal2nix. Please do NOT edit manually! - -{ 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.5.nix b/pkgs/development/libraries/haskell/tls/1.1.5.nix deleted file mode 100644 index ddb1651fd10..00000000000 --- a/pkgs/development/libraries/haskell/tls/1.1.5.nix +++ /dev/null @@ -1,27 +0,0 @@ -# This file was auto-generated by cabal2nix. Please do NOT edit manually! - -{ 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; - hydraPlatforms = self.stdenv.lib.platforms.none; - }; -}) diff --git a/pkgs/development/libraries/haskell/tls/1.2.8.nix b/pkgs/development/libraries/haskell/tls/default.nix similarity index 92% rename from pkgs/development/libraries/haskell/tls/1.2.8.nix rename to pkgs/development/libraries/haskell/tls/default.nix index 22eb615a657..45cb3c69394 100644 --- a/pkgs/development/libraries/haskell/tls/1.2.8.nix +++ b/pkgs/development/libraries/haskell/tls/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "tls"; - version = "1.2.8"; - sha256 = "0fm36jn2yri3fn6wadl5v4k0cpnansqlid4fhavgnp6mazf0q5ha"; + version = "1.2.9"; + sha256 = "1cwhwxpsxx9x5hv2c66d3yvbs84lrgaxmaz18skidmhqhs4i0sjy"; buildDepends = [ asn1Encoding asn1Types byteable cereal cipherAes cipherDes cipherRc4 cryptoCipherTypes cryptohash cryptoNumbers cryptoPubkey diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 15575967f30..c32a80c0e4b 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2543,13 +2543,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in timeCompat = callPackage ../development/libraries/haskell/time-compat {}; - tls_1_1_5 = callPackage ../development/libraries/haskell/tls/1.1.5.nix {}; - tls_1_2_8 = callPackage ../development/libraries/haskell/tls/1.2.8.nix {}; - tls = self.tls_1_2_8; - - tlsExtra = callPackage ../development/libraries/haskell/tls-extra { - tls = self.tls_1_1_5; - }; + tls = callPackage ../development/libraries/haskell/tls {}; tostring = callPackage ../development/libraries/haskell/tostring {}; From 9f22ed986bff10e0901c81a96d8b070b2e4e7c7b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 11:05:07 +0200 Subject: [PATCH 0748/2163] haskell-network-uri: disable test suite to fix the build https://github.com/haskell/network-uri/issues/4 --- pkgs/development/libraries/haskell/network-uri/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/network-uri/default.nix b/pkgs/development/libraries/haskell/network-uri/default.nix index e42d6d28599..6cfd4dca161 100644 --- a/pkgs/development/libraries/haskell/network-uri/default.nix +++ b/pkgs/development/libraries/haskell/network-uri/default.nix @@ -13,6 +13,7 @@ cabal.mkDerivation (self: { HUnit network testFramework testFrameworkHunit testFrameworkQuickcheck2 ]; + doCheck = false; meta = { homepage = "https://github.com/haskell/network-uri"; description = "URI manipulation"; From 87bb484b9e34c8c8d0795fc1b2d2136ac2766376 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 4 Sep 2014 11:02:44 +0200 Subject: [PATCH 0749/2163] haskell-setlocale: jailbreak to fix build with GHC 7.8.3 --- pkgs/development/libraries/haskell/setlocale/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/setlocale/default.nix b/pkgs/development/libraries/haskell/setlocale/default.nix index ef00effcfe6..05696176d90 100644 --- a/pkgs/development/libraries/haskell/setlocale/default.nix +++ b/pkgs/development/libraries/haskell/setlocale/default.nix @@ -6,6 +6,7 @@ cabal.mkDerivation (self: { pname = "setlocale"; version = "1.0.0"; sha256 = "1bnxh09jjac8gyjl87w6v86dqc1xr398l28ili8283im141anpzi"; + jailbreak = true; meta = { description = "Haskell bindings to setlocale"; license = self.stdenv.lib.licenses.bsd3; From 381ce7ef9489a1ddf09c037001d418018c28a9ee Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 4 Sep 2014 11:06:07 +0200 Subject: [PATCH 0750/2163] haskell-optparse-applicative: add version 0.10.0 --- .../haskell/optparse-applicative/0.10.0.nix | 17 +++++++++++++++++ .../{default.nix => 0.9.1.1.nix} | 0 pkgs/top-level/haskell-packages.nix | 4 +++- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix rename pkgs/development/libraries/haskell/optparse-applicative/{default.nix => 0.9.1.1.nix} (100%) diff --git a/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix b/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix new file mode 100644 index 00000000000..ff546c76eae --- /dev/null +++ b/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix @@ -0,0 +1,17 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, ansiWlPprint, transformers, transformersCompat }: + +cabal.mkDerivation (self: { + pname = "optparse-applicative"; + version = "0.10.0"; + sha256 = "04hr6rzgc8h0c8fy748as3q7sc8vm94gvk0rw4gdj605z8hvaxcb"; + buildDepends = [ ansiWlPprint transformers transformersCompat ]; + jailbreak = true; + meta = { + homepage = "https://github.com/pcapriotti/optparse-applicative"; + description = "Utilities and combinators for parsing command line options"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/optparse-applicative/default.nix b/pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix similarity index 100% rename from pkgs/development/libraries/haskell/optparse-applicative/default.nix rename to pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c32a80c0e4b..25543d752df 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1795,7 +1795,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in options = callPackage ../development/libraries/haskell/options {}; - optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {}; + optparseApplicative_0_9_1_1 = callPackage ../development/libraries/haskell/optparse-applicative/0.9.1.1.nix {}; + optparseApplicative_0_10_0 = callPackage ../development/libraries/haskell/optparse-applicative/0.10.0.nix {}; + optparseApplicative = self.optparseApplicative_0_9_1_1; # version 0.10.0 breaks too many builds pathPieces = callPackage ../development/libraries/haskell/path-pieces {}; From 0a6ad143959f350be0970d85d6a27420708ee9c9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 3 Sep 2014 08:33:12 +0200 Subject: [PATCH 0751/2163] haskell-idris: update to version 0.9.14.3 --- pkgs/development/compilers/idris/default.nix | 4 ++-- pkgs/top-level/haskell-packages.nix | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix index 0761f189bc8..7ff88017c05 100644 --- a/pkgs/development/compilers/idris/default.nix +++ b/pkgs/development/compilers/idris/default.nix @@ -11,8 +11,8 @@ cabal.mkDerivation (self: { pname = "idris"; - version = "0.9.14.2"; - sha256 = "0j64kx357l16z9y9j20i7mvxgqff94bfssbhh1shb13c0pk5lmi6"; + version = "0.9.14.3"; + sha256 = "03zppfqjamy4mdwcfx3x1wzxav67ha1zgnynrxhvdqw3zcsrwnlr"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 25543d752df..7e628308eb7 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2994,6 +2994,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in idris_plain = callPackage ../development/compilers/idris { llvmGeneral = self.llvmGeneral_3_3_8_2; llvmGeneralPure = self.llvmGeneralPure_3_3_8_2; + optparseApplicative = self.optparseApplicative_0_10_0; }; idris = callPackage ../development/compilers/idris/wrapper.nix {}; From 3d8a3e97bdc91c07d3e29c55d4090ab86eb6e38e Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Wed, 3 Sep 2014 22:20:31 +0200 Subject: [PATCH 0752/2163] Fixed buildLocalCabal by defining temporary $HOME MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes build error: building path(s) ‘/nix/store/c8i7gm134aij9330h77l4sdna635yj0a-foo.nix’ building /nix/store/c8i7gm134aij9330h77l4sdna635yj0a-foo.nix cabal2nix: /homeless-shelter/.cache: createDirectory: does not exist (No such file or directory) error: syntax error, unexpected $end, at /nix/store/c8i7gm134aij9330h77l4sdna635yj0a-foo.nix:1:1 (use ‘--show-trace’ to show detailed location information)… --- pkgs/top-level/haskell-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index cb235361783..3bbee1d6fe5 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -3037,6 +3037,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in name = "${name}.nix"; buildCommand = '' + export HOME="$TMPDIR" ${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \ | grep -v FILTERME | sed \ -e 's/licenses.proprietary/licenses.unfree/' \ From c3436c0c4a683e9a57d91e7f6206d5f3b6530fbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 4 Sep 2014 15:34:36 +0200 Subject: [PATCH 0753/2163] sudo: change password prompt The current sudo password prompt is "Password: ", while distros like e.g. Ubuntu and Arch Linux use "[sudo] password for %p: ", where "%p" expands to the username of the user running sudo. Adopt the prompt from other distros because it makes it less confusing when running commands with sudo that themselves ask for a password. --- pkgs/tools/security/sudo/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix index 23b7241ace0..167c369e3bb 100644 --- a/pkgs/tools/security/sudo/default.nix +++ b/pkgs/tools/security/sudo/default.nix @@ -22,6 +22,10 @@ stdenv.mkDerivation rec { "--with-sendmail=${sendmailPath}" ]; + configureFlagsArray = [ + "--with-passprompt=[sudo] password for %p: " # intentional trailing space + ]; + postConfigure = '' cat >> pathnames.h <<'EOF' From 762c03ef6427a8eb20ea810099b40e576e34bb7a Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 15:33:22 +0200 Subject: [PATCH 0754/2163] openttd: update from 1.4.1 to 1.4.2 --- pkgs/games/openttd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index ff96622cb59..c26c27aaf02 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "openttd-${version}"; - version = "1.4.1"; + version = "1.4.2"; src = fetchurl { url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz"; - sha256 = "0gkmf2jj1rab81y10dp8cirr90kv9dpr3ww4wb06j8cvgapy7b0z"; + sha256 = "1kzca8nxz9isb2r5q5pdxhkzy92rdibapzq256sxbaf55zlcg1p2"; }; buildInputs = [ SDL libpng pkgconfig xz zlib freetype fontconfig ]; From 484dc89a21e9bdb82f7f003ccfae43e0d02d5ba9 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 15:34:42 +0200 Subject: [PATCH 0755/2163] pngcrush: update from 1.7.76 to 1.7.77 --- pkgs/tools/graphics/pngcrush/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix index b27e5132804..0419732949d 100644 --- a/pkgs/tools/graphics/pngcrush/default.nix +++ b/pkgs/tools/graphics/pngcrush/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libpng }: stdenv.mkDerivation rec { - name = "pngcrush-1.7.76"; + name = "pngcrush-1.7.77"; src = fetchurl { url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz"; - sha256 = "0jbv3ijc0nfhy6pkhv4dwbk2v488rwixd8rv1c7lfs59wblb44hv"; + sha256 = "0404275rb6934aiwrysgapg0irbimcb2y8giqlc63gfspnvy67fa"; }; configurePhase = '' From 4678ddc1c03af307b46dee0fe61273a4f9a85e93 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 15:36:31 +0200 Subject: [PATCH 0756/2163] gitAndTools.svn2git: update from 2.2.5 to 2.3.2 --- .../version-management/git-and-tools/svn2git/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix index b0cfcaeb110..f30a47a78b9 100644 --- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, ruby, makeWrapper, git }: let - version = "2.2.5"; + version = "2.3.2"; in stdenv.mkDerivation { name = "svn2git-${version}"; src = fetchurl { url = "https://github.com/nirvdrum/svn2git/archive/v${version}.tar.gz"; - sha256 = "1afmrr80357pg3kawyghhc55z1pszaq8fyrrjmxa6nr9dcrqjwwh"; + sha256 = "1484mpcabqf9kr6xdpdgb1npkqav1bcah3w5lxj2djjx4bjf2g3y"; }; buildInputs = [ ruby makeWrapper ]; From 6f682f9afbc8dce081cbda8b8a529c7e49ae000f Mon Sep 17 00:00:00 2001 From: Moritz Heidkamp Date: Thu, 4 Sep 2014 15:48:49 +0200 Subject: [PATCH 0757/2163] Add Chibi-Scheme expression --- lib/maintainers.nix | 1 + .../interpreters/chibi/default.nix | 36 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 39 insertions(+) create mode 100644 pkgs/development/interpreters/chibi/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 9ff9f7ea27a..b616e30a858 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -38,6 +38,7 @@ coroa = "Jonas Hörsch "; cstrahan = "Charles Strahan "; DamienCassou = "Damien Cassou "; + DerGuteMoritz = "Moritz Heidkamp "; doublec = "Chris Double "; ederoyd46 = "Matthew Brown "; edwtjo = "Edward Tjörnhammar "; diff --git a/pkgs/development/interpreters/chibi/default.nix b/pkgs/development/interpreters/chibi/default.nix new file mode 100644 index 00000000000..89ec6097cc9 --- /dev/null +++ b/pkgs/development/interpreters/chibi/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, makeWrapper }: +let + version = "0.7"; + name = "chibi-scheme-${version}"; +in +stdenv.mkDerivation { + inherit name; + + meta = { + homepage = "https://code.google.com/p/chibi-scheme/"; + description = "Small Footprint Scheme for use as a C Extension Language"; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.DerGuteMoritz ]; + }; + + src = fetchurl { + url = "http://abrek.synthcode.com/${name}.tgz"; + sha256 = "1hhkq0khgi8i24xv66y7r6pgk1issn1i2bf7rv91rbk0wm0kv7qm"; + }; + + buildInputs = [ makeWrapper ]; + + installPhase = '' + make install PREFIX="$out" + ''; + + fixupPhase = '' + wrapProgram "$out/bin/chibi-scheme" \ + --prefix CHIBI_MODULE_PATH : "$out/share/chibi:$out/lib/chibi" + + for f in chibi-doc chibi-ffi snow-chibi; do + substituteInPlace "$out/bin/$f" \ + --replace "/usr/bin/env chibi-scheme" "$out/bin/chibi-scheme" + done + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a7af80dbf71..1003bf4652c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3562,6 +3562,8 @@ let angelscript = callPackage ../development/interpreters/angelscript {}; + chibi = callPackage ../development/interpreters/chibi { }; + clisp = callPackage ../development/interpreters/clisp { }; # compatibility issues in 2.47 - at list 2.44.1 is known good From cce6dd11b620a63b93d83281fbf99a60ea0b3aeb Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 16:00:52 +0200 Subject: [PATCH 0758/2163] subversionClient: update from 1.8.9 to 1.8.10, potentially fixes CVE-2014-3504, CVE-2014-3522, CVE-2014-3528 --- pkgs/applications/version-management/subversion/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 7526bb5f043..283ea759153 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null; stdenv.mkDerivation rec { - version = "1.8.9"; + version = "1.8.10"; name = "subversion-${version}"; src = fetchurl { url = "mirror://apache/subversion/${name}.tar.bz2"; - sha1 = "424ee12708f39a126efd905886666083dcc4eeaf"; + sha256 = "1k3xskg2kjfp3zipl46lqx4fq4lhqnswd79qxp1kfhwplz401j8w"; }; buildInputs = [ zlib apr aprutil sqlite ] From e5878fa70b0720ff3dee575f38dcfd45fce91aa3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 4 Sep 2014 14:42:54 +0200 Subject: [PATCH 0759/2163] git-annex: re-build expression with latest cabal2nix --- .../version-management/git-and-tools/git-annex/default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix index 7224d8c6900..f00ca9da046 100644 --- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix @@ -35,10 +35,7 @@ cabal.mkDerivation (self: { ]; buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ]; configureFlags = "-fAssistant -fProduction"; - preConfigure = '' - export HOME="$NIX_BUILD_TOP/tmp" - mkdir "$HOME" - ''; + preConfigure = "export HOME=$TEMPDIR"; installPhase = "./Setup install"; checkPhase = '' cp dist/build/git-annex/git-annex git-annex From 83683c414024e3575e9734fab1717971a33f9a3b Mon Sep 17 00:00:00 2001 From: Michel Kuhlmann Date: Thu, 4 Sep 2014 12:17:15 +0200 Subject: [PATCH 0760/2163] haskell-ghc-server: initial expression --- .../libraries/haskell/ghc-server/default.nix | 22 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 3 +++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/development/libraries/haskell/ghc-server/default.nix diff --git a/pkgs/development/libraries/haskell/ghc-server/default.nix b/pkgs/development/libraries/haskell/ghc-server/default.nix new file mode 100644 index 00000000000..ac9cb852704 --- /dev/null +++ b/pkgs/development/libraries/haskell/ghc-server/default.nix @@ -0,0 +1,22 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, async, attoLisp, attoparsec, conduit, conduitExtra +, ghcPaths, mtl, network, syb, text +}: + +cabal.mkDerivation (self: { + pname = "ghc-server"; + version = "1.1"; + sha256 = "1rgrgx9xakq6vy6nanvwzwfvzbfg287pmm8pdm9lbd7kf7ls5ml4"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + async attoLisp attoparsec conduit conduitExtra ghcPaths mtl network + syb text + ]; + meta = { + description = "A server interface to GHC"; + 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 601e6f30ea3..c692800810e 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -901,6 +901,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled }; + + ghcServer = callPackage ../development/libraries/haskell/ghc-server {}; + ghcjsDom = callPackage ../development/libraries/haskell/ghcjs-codemirror {}; ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {}; From 439ebda62a7eac0eba4051f72591be830d1400e1 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 16:16:41 +0200 Subject: [PATCH 0761/2163] ffmpeg_1: update from 1.2.7 to 1.2.8 --- pkgs/development/libraries/ffmpeg/1.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix index a0dcf52dcce..e2aa336d5d2 100644 --- a/pkgs/development/libraries/ffmpeg/1.x.nix +++ b/pkgs/development/libraries/ffmpeg/1.x.nix @@ -31,11 +31,11 @@ assert playSupport -> SDL != null; assert freetypeSupport -> freetype != null; stdenv.mkDerivation rec { - name = "ffmpeg-1.2.7"; + name = "ffmpeg-1.2.8"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "13nj5q5ad0kcrid8r5x6x8lqfhk8kms14pmncf6vbdbk6x45k6v6"; + sha256 = "0n9fklr8zqkd60dc5ai161l6k4dbiac5hqy0pi1w82yamc25k6s2"; }; # `--enable-gpl' (as well as the `postproc' and `swscale') mean that From ff3ba4829471e51a72359b4f461fbe727f891d47 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 16:18:11 +0200 Subject: [PATCH 0762/2163] fping: update from 3.8 to 3.10 --- pkgs/tools/networking/fping/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix index 10f31fb8297..03776c636b8 100644 --- a/pkgs/tools/networking/fping/default.nix +++ b/pkgs/tools/networking/fping/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "fping-3.8"; + name = "fping-3.10"; src = fetchurl { url = "http://www.fping.org/dist/${name}.tar.gz"; - sha256 = "04iwj4x3wns09wp777mb3kwfi7ypb4m9m73p0s2y699px77hcx67"; + sha256 = "1n2psfxgww6wg5rz8rly06xkghgp8lshx2lx6rramrigyd1fhiyd"; }; meta = { From 0863bcb68373063ab52f07dddc64fcae0fe96e24 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 16:20:40 +0200 Subject: [PATCH 0763/2163] gitAndTools.hub: update from 1.12.0 to 1.12.2, potentially fixes CVE-2014-0177 --- .../version-management/git-and-tools/hub/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix index 28484322d35..d41b175af9b 100644 --- a/pkgs/applications/version-management/git-and-tools/hub/default.nix +++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "hub-${version}"; - version = "1.12.0"; + version = "1.12.2"; src = fetchurl { url = "https://github.com/github/hub/archive/v${version}.tar.gz"; - sha256 = "1lbl4dl7483q320qw4jm6mqq4dbbk3xncypxgg86zcdigxvw6igv"; + sha256 = "112yfv9xklsmwv859kypv7hz0a6dj5hkrmjp7z1h40nrljc9mi79"; }; buildInputs = [ rake makeWrapper ]; From d788060cc73773a4a83c50b4b7d16c18ee42d987 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 16:25:04 +0200 Subject: [PATCH 0764/2163] httrack: update from 3.48.17 to 3.48.19 --- pkgs/tools/backup/httrack/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix index 4df142afe3a..02ab79bf2bb 100644 --- a/pkgs/tools/backup/httrack/default.nix +++ b/pkgs/tools/backup/httrack/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, zlib, openssl }: stdenv.mkDerivation rec { - version = "3.48.17"; + version = "3.48.19"; name = "httrack-${version}"; src = fetchurl { url = "http://mirror.httrack.com/httrack-${version}.tar.gz"; - sha256 = "03q8sk7qihw9x4bfgfhv6523khgj13nilqps28qy7ndpzpggw9vn"; + sha256 = "1zlayvl6x0ck1g5rvmj7cc88w0an5f4y93r3g5l10hhhl87cvw0n"; }; buildInputs = [ zlib openssl ]; From dcf3ad6a2aa6103d5108f550a49b80101257cb2b Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 16:28:23 +0200 Subject: [PATCH 0765/2163] chibi: Add missing meta.license field. --- pkgs/development/interpreters/chibi/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/interpreters/chibi/default.nix b/pkgs/development/interpreters/chibi/default.nix index 89ec6097cc9..b4a0b77e705 100644 --- a/pkgs/development/interpreters/chibi/default.nix +++ b/pkgs/development/interpreters/chibi/default.nix @@ -10,6 +10,7 @@ stdenv.mkDerivation { homepage = "https://code.google.com/p/chibi-scheme/"; description = "Small Footprint Scheme for use as a C Extension Language"; platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.bsd3; maintainers = [ stdenv.lib.maintainers.DerGuteMoritz ]; }; From c30b23166bba220560e2cef09db203645f8f5674 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 16:29:58 +0200 Subject: [PATCH 0766/2163] scheme48: update from 1.9 to 1.9.2 --- pkgs/development/interpreters/scheme48/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/scheme48/default.nix b/pkgs/development/interpreters/scheme48/default.nix index 39056717597..1436f260a44 100644 --- a/pkgs/development/interpreters/scheme48/default.nix +++ b/pkgs/development/interpreters/scheme48/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: stdenv.mkDerivation { - name = "scheme48-1.9"; + name = "scheme48-1.9.2"; meta = { homepage = http://s48.org/; @@ -9,7 +9,7 @@ stdenv.mkDerivation { }; src = fetchurl { - url = http://s48.org/1.9/scheme48-1.9.tgz; - md5 = "b4c20057f92191d05a61fac1372878ad"; + url = http://s48.org/1.9.2/scheme48-1.9.2.tgz; + sha256 = "1x4xfm3lyz2piqcw1h01vbs1iq89zq7wrsfjgh3fxnlm1slj2jcw"; }; } From 332395b26295f7159ef1f7e606100d7ff3089fb9 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 16:33:50 +0200 Subject: [PATCH 0767/2163] Add myself as a maintainer to a bunch of packages. --- .../version-management/git-and-tools/hub/default.nix | 1 + pkgs/development/interpreters/scheme48/default.nix | 1 + pkgs/development/libraries/ffmpeg/1.x.nix | 1 + pkgs/tools/backup/httrack/default.nix | 1 + pkgs/tools/networking/fping/default.nix | 1 + 5 files changed, 5 insertions(+) diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix index d41b175af9b..8d578c2b466 100644 --- a/pkgs/applications/version-management/git-and-tools/hub/default.nix +++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix @@ -23,5 +23,6 @@ stdenv.mkDerivation rec { description = "A GitHub specific wrapper for git"; homepage = "http://defunkt.io/hub/"; license = stdenv.lib.licenses.mit; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; }; } diff --git a/pkgs/development/interpreters/scheme48/default.nix b/pkgs/development/interpreters/scheme48/default.nix index 1436f260a44..4630828fe87 100644 --- a/pkgs/development/interpreters/scheme48/default.nix +++ b/pkgs/development/interpreters/scheme48/default.nix @@ -6,6 +6,7 @@ stdenv.mkDerivation { meta = { homepage = http://s48.org/; description = "Scheme 48"; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; }; src = fetchurl { diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix index e2aa336d5d2..e9488530b5c 100644 --- a/pkgs/development/libraries/ffmpeg/1.x.nix +++ b/pkgs/development/libraries/ffmpeg/1.x.nix @@ -100,5 +100,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.ffmpeg.org/; description = "A complete, cross-platform solution to record, convert and stream audio and video"; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; }; } diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix index 02ab79bf2bb..fc5b8330522 100644 --- a/pkgs/tools/backup/httrack/default.nix +++ b/pkgs/tools/backup/httrack/default.nix @@ -15,5 +15,6 @@ stdenv.mkDerivation rec { homepage = "http://www.httrack.com"; description = "Easy-to-use offline browser utility"; license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; }; } diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix index 03776c636b8..c71f6b04084 100644 --- a/pkgs/tools/networking/fping/default.nix +++ b/pkgs/tools/networking/fping/default.nix @@ -11,5 +11,6 @@ stdenv.mkDerivation rec { meta = { homepage = "http://fping.org/"; description = "Send ICMP echo probes to network hosts"; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; }; } From 963a554b31d169be83003e6dd64a9c18fd7aae56 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 17:04:53 +0200 Subject: [PATCH 0768/2163] cura(engine): update to 14.0{7,3}. --- pkgs/applications/misc/cura/default.nix | 12 +++--- pkgs/applications/misc/curaengine/default.nix | 37 ++++++++++--------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix index 937025c0840..5c12ebcbfeb 100644 --- a/pkgs/applications/misc/cura/default.nix +++ b/pkgs/applications/misc/cura/default.nix @@ -1,15 +1,14 @@ -{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchgit }: +{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchurl }: let py = python27Packages; + version = "14.07"; in stdenv.mkDerivation rec { name = "cura"; - src = fetchgit { - url = "https://github.com/daid/Cura"; - rev = "58414695269d60ca9b165e8cbc3424933ed79403"; - sha256 = "1nxrrz8sjjx9i9cyvz15vay6yarnywp3vlk7qzr65sw88lzxgq23"; - fetchSubmodules = false; + src = fetchurl { + url = "https://github.com/daid/Cura/archive/${version}.tar.gz"; + sha256 = "1jfgkb2qh1syakcssk66yhnfjm9p9qcx48v34bbza9nryrdlmxdb"; }; desktopItem = makeDesktopItem { @@ -67,5 +66,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/daid/Cura; license = licenses.agpl3; platforms = platforms.linux; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; }; } diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix index 256d337f679..e004b7db336 100644 --- a/pkgs/applications/misc/curaengine/default.nix +++ b/pkgs/applications/misc/curaengine/default.nix @@ -1,22 +1,25 @@ -{ stdenv, fetchgit }: +{ stdenv, fetchurl }: +let + version = "14.03"; +in stdenv.mkDerivation { - name = "curaengine"; + name = "curaengine"; - src = fetchgit { - url = "https://github.com/Ultimaker/CuraEngine"; - rev = "62667ff2e7479b55d75e3d1dc9136242adf4a6a0"; - sha256 = "0c68xmnq4c49vzg2cyqb375kc72rcnghj21wp3919w8sfwil00vr"; - }; + src = fetchurl { + url = "https://github.com/Ultimaker/CuraEngine/archive/${version}.tar.gz"; + sha256 = "0f37jk6w3zd9x29c1rydqmfdzybx9nbmwdi3y3nzynq1vq7zmxcc"; + }; - installPhase = '' - mkdir -p $out/bin - cp CuraEngine $out/bin/ - ''; + installPhase = '' + mkdir -p $out/bin + cp CuraEngine $out/bin/ + ''; - meta = with stdenv.lib; { - description = "Engine for processing 3D models into 3D printing instructions"; - homepage = https://github.com/Ultimaker/CuraEngine; - license = licenses.agpl3; - platforms = platforms.linux; - }; + meta = with stdenv.lib; { + description = "Engine for processing 3D models into 3D printing instructions"; + homepage = https://github.com/Ultimaker/CuraEngine; + license = licenses.agpl3; + platforms = platforms.linux; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; + }; } From 40b13e798b9bdeb614865f67f961af1b825c2325 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sat, 9 Aug 2014 17:13:21 -0300 Subject: [PATCH 0769/2163] CImg and WxCam - New Packages #3519 In this commit, I'm including two new softwares * CImg: A small, simple image toolkit library * WxCam: a small, simple, wxGTK-based webcam application --- pkgs/applications/video/wxcam/default.nix | 52 +++++++++++++++++++++ pkgs/development/libraries/cimg/builder.sh | 12 +++++ pkgs/development/libraries/cimg/default.nix | 27 +++++++++++ pkgs/top-level/all-packages.nix | 9 ++++ 4 files changed, 100 insertions(+) create mode 100644 pkgs/applications/video/wxcam/default.nix create mode 100644 pkgs/development/libraries/cimg/builder.sh create mode 100644 pkgs/development/libraries/cimg/default.nix diff --git a/pkgs/applications/video/wxcam/default.nix b/pkgs/applications/video/wxcam/default.nix new file mode 100644 index 00000000000..1f66d9a589b --- /dev/null +++ b/pkgs/applications/video/wxcam/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchurl +, pkgconfig +, intltool +, libX11, libXv, libSM +, gtk, libglade +, wxGTK +, perlXMLParser +, xvidcore +, mjpegtools +, alsaLib +, libv4l +, cimg +}: + +stdenv.mkDerivation rec { + + name = "wxcam-${version}"; + version = "1.1"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/project/wxcam/wxcam/${version}/${name}.tar.gz"; + sha256 = "1765bvc65fpzn9ycnnj5hais9xkx9v0sm6a878d35x54bpanr859"; + }; + + buildInputs = with stdenv.lib; + [ pkgconfig intltool libX11 libXv libSM gtk libglade wxGTK perlXMLParser xvidcore mjpegtools alsaLib libv4l cimg ]; + + NIX_CFLAGS_COMPILE="-I ${cimg}/include/cimg"; + + postUnpack = '' + sed -ie 's|/usr/share/|'"$out/share/"'|g' $sourceRoot/Makefile.in + ''; + + installPhase = '' + make install prefix="$out" wxcamdocdir="$out/share/doc/wxcam" + ''; + + meta = { + description = "An open-source, wxGTK-based webcam app for Linux"; + longDescription = '' + wxCam is a webcam application for linux. It supports video recording + (avi uncompressed and Xvid formats), snapshot taking, and some special + commands for philips webcams, so you can also use it for astronomy purposes. + It supports both video4linux 1 and 2 drivers, + so it should work on a very large number of devices. + ''; + homepage = http://wxcam.sourceforge.net/; + license = stdenv.lib.licenses.gpl3Plus; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/cimg/builder.sh b/pkgs/development/libraries/cimg/builder.sh new file mode 100644 index 00000000000..bbd5f712551 --- /dev/null +++ b/pkgs/development/libraries/cimg/builder.sh @@ -0,0 +1,12 @@ + +source $stdenv/setup + +unpackPhase +cd $sourceRoot + +install -dm 755 $out/include/cimg $out/share/doc/cimg/html $out/share/cimg/examples $out/share/cimg/plugins + +install -m 644 CImg.h $out/include/cimg +cp -dr --no-preserve=ownership html/* $out/share/doc/cimg/html/ +cp -dr --no-preserve=ownership examples/* $out/share/cimg/examples/ +cp -dr --no-preserve=ownership plugins/* $out/share/cimg/plugins/ diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix new file mode 100644 index 00000000000..17b18e8f0be --- /dev/null +++ b/pkgs/development/libraries/cimg/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl +, unzip +}: + +stdenv.mkDerivation rec { + + name = "cimg-${version}"; + version = "1.5.9"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/project/cimg/CImg-${version}.zip"; + sha256 = "1xn20643gcbl76kvy9ajhwbyjjb73mg65q32ma8mdkwn1qhn7f7c"; + }; + + buildInputs = with stdenv.lib; + [ unzip ]; + + builder = ./builder.sh; + + meta = with stdenv.lib; { + description = "A small, open source, C++ toolkit for image processing"; + homepage = http://cimg.sourceforge.net/; + license = licenses.cecill-c; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1003bf4652c..2686936fe68 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4481,6 +4481,8 @@ let capnproto = callPackage ../development/libraries/capnproto { }; + cimg = callPackage ../development/libraries/cimg { }; + scmccid = callPackage ../development/libraries/scmccid { }; ccrtp = callPackage ../development/libraries/ccrtp { }; @@ -10221,6 +10223,13 @@ let wxhexeditor = callPackage ../applications/editors/wxhexeditor { }; + wxcam = callPackage ../applications/video/wxcam { + inherit (gnome) libglade; + inherit intltool; + wxGTK = wxGTK28; + gtk = gtk2; + }; + x11vnc = callPackage ../tools/X11/x11vnc { }; x2vnc = callPackage ../tools/X11/x2vnc { }; From 476ca07d8e43c8a43b738f3e085424e1c47f453e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Thu, 4 Sep 2014 18:43:57 +0200 Subject: [PATCH 0770/2163] require Nix 1.7 for nixpkgs, since we're using antiquotation inside quoted attribute sets --- default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/default.nix b/default.nix index c1b9bfd39f9..e0df520721c 100644 --- a/default.nix +++ b/default.nix @@ -1,6 +1,6 @@ -if ! builtins ? nixVersion || builtins.compareVersions "1.6" builtins.nixVersion == 1 then +if ! builtins ? nixVersion || builtins.compareVersions "1.7" builtins.nixVersion == 1 then - abort "This version of Nixpkgs requires Nix >= 1.6, please upgrade!" + abort "This version of Nixpkgs requires Nix >= 1.7, please upgrade!" else From 3a38a9b127fd36db20e1a9b1f0eab2a5fd5086d9 Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Thu, 4 Sep 2014 18:47:57 +0200 Subject: [PATCH 0771/2163] mpi4py: Change description --- pkgs/development/python-modules/mpi4py/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix index 4422c4e9f37..ec181652da6 100644 --- a/pkgs/development/python-modules/mpi4py/default.nix +++ b/pkgs/development/python-modules/mpi4py/default.nix @@ -47,7 +47,7 @@ buildPythonPackage rec { meta = { description = - "Provides Python bindings for the Message Passing Interface standard"; + "Python bindings for the Message Passing Interface standard"; homepage = "http://code.google.com/p/mpi4py/"; license = stdenv.lib.licenses.bsd3; }; From f41e336cc00cc513e0d7ab67030ceb939ac46984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Wed, 3 Sep 2014 18:31:22 +0200 Subject: [PATCH 0772/2163] python-path: new package path is a module wrapper for os.path. It's a dependency of moretools (which is a dependency of robotframework-tools, which is what I want to package). --- pkgs/top-level/python-packages.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ed334d27e0e..26a0a61d9bb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5583,6 +5583,22 @@ rec { }; }; + pathpy = buildPythonPackage rec { + name = "path.py-5.2"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/path.py/${name}.zip"; + sha256 = "0n1kpbbm1dg5f484yzxr7gb3ak6vjp92j70nw3bgjzsj9fh26afq"; + }; + + meta = with stdenv.lib; { + description = "A module wrapper for os.path"; + homepage = http://github.com/jaraco/path.py; + license = licenses.mit; + platforms = platforms.linux; + }; + }; + paypalrestsdk = buildPythonPackage rec { name = "paypalrestsdk-0.7.0"; From c1614ab180a393a11f3b14fb3544b8ab03d9e1c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Wed, 3 Sep 2014 18:32:03 +0200 Subject: [PATCH 0773/2163] python-moretools: new package It provides "Many more basic tools for python 2/3 extending itertools, functools, operator and collections". It's a dependency of robotframework-tools, which I want to package. --- pkgs/top-level/python-packages.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 26a0a61d9bb..b4b4520a8c5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4734,6 +4734,25 @@ rec { }; }); + moretools = buildPythonPackage rec { + name = "moretools-0.1a41"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/m/moretools/${name}.tar.gz"; + sha256 = "1n442wprbl3cmg08233m1sr3g4z0i8hv9g6bhch7kzdmbl21399f"; + }; + + buildInputs = [ six pathpy setuptools ]; + propagatedBuildInputs = [ decorator ]; + + meta = with stdenv.lib; { + description = "Many more basic tools for python 2/3 extending itertools, functools, operator and collections"; + homepage = https://bitbucket.org/userzimmermann/python-moretools; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; + }; + mox = buildPythonPackage rec { name = "mox-0.5.3"; From 53732eac2a66ce7a30c4eea5a27cbe04509dc00b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Wed, 3 Sep 2014 18:32:26 +0200 Subject: [PATCH 0774/2163] python-robotframework-tools: new package This package provides "Python Tools for Robot Framework and Test Libraries". In particular, I'm interested in the 'robotshell' extension for IPython. --- pkgs/top-level/python-packages.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b4b4520a8c5..52927fa5f31 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7280,6 +7280,26 @@ rec { }; + robotframework-tools = buildPythonPackage rec { + version = "0.1a115"; + name = "robotframework-tools-${version}"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/r/robotframework-tools/${name}.tar.gz"; + sha256 = "04gkn1zpf3rsvbqdxrrjqqi8sa0md9gqwh6n5w2m03fdwjg4lc7q"; + }; + + propagatedBuildInputs = [ robotframework moretools pathpy six setuptools ]; + + meta = with stdenv.lib; { + description = "Python Tools for Robot Framework and Test Libraries"; + homepage = http://bitbucket.org/userzimmermann/robotframework-tools; + license = licenses.gpl3; + platforms = platforms.linux; + }; + }; + + robotsuite = buildPythonPackage rec { version = "1.4.2"; name = "robotsuite-${version}"; From 4cae816420c9b9838b52983bb63cd96c1c1ae5e4 Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Thu, 4 Sep 2014 18:48:08 +0200 Subject: [PATCH 0775/2163] h5py: Change description --- pkgs/development/python-modules/h5py/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix index f4df05fa595..39a35ad49c6 100644 --- a/pkgs/development/python-modules/h5py/default.nix +++ b/pkgs/development/python-modules/h5py/default.nix @@ -35,7 +35,7 @@ buildPythonPackage rec { meta = { description = - "Provides a Pythonic interface to the HDF5 binary data format"; + "Pythonic interface to the HDF5 binary data format"; homepage = "http://www.h5py.org/"; license = stdenv.lib.licenses.bsd2; }; From ad83a961ae37bfd1029c335ccfa3ebdd7816a894 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 4 Sep 2014 11:35:48 -0500 Subject: [PATCH 0776/2163] zotero: update to 4.0.22 Drop firefox-30.0, which we were only keeping around for xulrunner-30.0. New Zotero version is compatible up to firefox-32.0. --- .../networking/browsers/firefox/30.nix | 211 ------------------ pkgs/applications/office/zotero/default.nix | 6 +- pkgs/top-level/all-packages.nix | 12 +- 3 files changed, 4 insertions(+), 225 deletions(-) delete mode 100644 pkgs/applications/networking/browsers/firefox/30.nix diff --git a/pkgs/applications/networking/browsers/firefox/30.nix b/pkgs/applications/networking/browsers/firefox/30.nix deleted file mode 100644 index 1e2c3e2cfb1..00000000000 --- a/pkgs/applications/networking/browsers/firefox/30.nix +++ /dev/null @@ -1,211 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL -, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs -, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify -, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite -, hunspell, libevent, libstartup_notification, libvpx -, cairo, gstreamer, gst_plugins_base, icu -, debugBuild ? false -, # If you want the resulting program to call itself "Firefox" instead - # of "Shiretoko" or whatever, enable this option. However, those - # binaries may not be distributed without permission from the - # Mozilla Foundation, see - # http://www.mozilla.org/foundation/trademarks/. - enableOfficialBranding ? false -}: - -assert stdenv.gcc ? libc && stdenv.gcc.libc != null; - -rec { - - firefoxVersion = "30.0"; - - xulVersion = "30.0"; # this attribute is used by other packages - - - src = fetchurl { - url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"; - sha1 = "bll9hxf31gvg9db6gxgmq25qsjif3p11"; - }; - - commonConfigureFlags = - [ "--with-system-jpeg" - "--with-system-zlib" - "--with-system-bz2" - "--with-system-nspr" - "--with-system-nss" - "--with-system-libevent" - "--with-system-libvpx" - "--with-system-png" - # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0 - "--enable-system-ffi" - "--enable-system-hunspell" - "--enable-system-pixman" - "--enable-system-sqlite" - "--enable-system-cairo" - "--enable-gstreamer" - "--enable-startup-notification" - # "--enable-content-sandbox" # available since 26.0, but not much info available - # "--enable-content-sandbox-reporter" # keeping disabled for now - "--disable-crashreporter" - "--disable-tests" - "--disable-necko-wifi" # maybe we want to enable this at some point - "--disable-installer" - "--disable-updater" - "--disable-pulseaudio" - ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"] - else [ "--disable-debug" "--enable-release" - "--enable-optimize" "--enable-strip" ]); - - - xulrunner = stdenv.mkDerivation rec { - name = "xulrunner-${xulVersion}"; - - inherit src; - - buildInputs = - [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 - python dbus dbus_glib pango freetype fontconfig xlibs.libXi - xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file - alsaLib nspr nss libnotify xlibs.pixman yasm mesa - xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite - xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper - hunspell libevent libstartup_notification libvpx cairo - gstreamer gst_plugins_base icu - ]; - - configureFlags = - [ "--enable-application=xulrunner" - "--disable-javaxpcom" - ] ++ commonConfigureFlags; - - #enableParallelBuilding = true; # cf. https://github.com/NixOS/nixpkgs/pull/1699#issuecomment-35196282 - - preConfigure = - '' - export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}" - - mkdir ../objdir - cd ../objdir - configureScript=../mozilla-release/configure - ''; # */ - - #installFlags = "SKIP_GRE_REGISTRATION=1"; - - preInstall = '' - # The following is needed for startup cache creation on grsecurity kernels - paxmark m ../objdir/dist/bin/xpcshell - ''; - - postInstall = '' - # Fix run-mozilla.sh search - libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*) - echo libDir: $libDir - test -n "$libDir" - cd $out/bin - rm xulrunner - - for i in $out/lib/$libDir/*; do - file $i; - if file $i | grep executable &>/dev/null; then - echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")"; - chmod a+x "$out/bin/$(basename "$i")"; - fi; - done - for i in $out/lib/$libDir/*.so; do - patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true - done - - # For grsecurity kernels - paxmark m $out/lib/$libDir/{plugin-container,xulrunner} - - for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do - wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir" - done - - rm -f $out/bin/run-mozilla.sh - ''; # */ - - meta = { - description = "Mozilla Firefox XUL runner"; - homepage = http://www.mozilla.com/en-US/firefox/; - }; - - passthru = { inherit gtk; version = xulVersion; }; - }; - - - firefox = stdenv.mkDerivation rec { - name = "firefox-${firefoxVersion}"; - - inherit src; - - enableParallelBuilding = true; - - buildInputs = - [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 python - dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify - xlibs.pixman yasm mesa sqlite file unzip pysqlite - hunspell libevent libstartup_notification libvpx cairo - gstreamer gst_plugins_base icu - ]; - - patches = [ - ./disable-reporter.patch # fixes "search box not working when built on xulrunner" - ./xpidl.patch - ]; - - propagatedBuildInputs = [xulrunner]; - - configureFlags = - [ "--enable-application=browser" - "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}" - "--enable-chrome-format=jar" - ] - ++ commonConfigureFlags - ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding"; - - makeFlags = [ - "SYSTEM_LIBXUL=1" - ]; - - # Because preConfigure runs configure from a subdirectory. - configureScript = "../configure"; - - preConfigure = - '' - # Hack to work around make's idea of -lbz2 dependency - find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${ - stdenv.lib.concatStringsSep ":" - (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc])) - }' ';' - - # Building directly in the main source directory is not allowed. - mkdir obj_dir - cd obj_dir - ''; - - postInstall = - '' - ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner - cd "$out/lib/"firefox-* - rm firefox - echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox - chmod a+x firefox - - # Put chrome.manifest etc. in the right place. - mv browser/* . - rmdir browser - ''; # */ - - meta = { - description = "Mozilla Firefox - the browser, reloaded"; - homepage = http://www.mozilla.com/en-US/firefox/; - maintainers = with stdenv.lib.maintainers; [ eelco wizeman ]; - }; - - passthru = { - inherit gtk xulrunner nspr; - isFirefox3Like = true; - }; - }; -} diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix index 0a5ef909904..00fda8bf1c4 100644 --- a/pkgs/applications/office/zotero/default.nix +++ b/pkgs/applications/office/zotero/default.nix @@ -3,7 +3,7 @@ assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"); let - version = "4.0.21.2"; + version = "4.0.22"; arch = if stdenv.system == "x86_64-linux" then "linux-x86_64" else "linux-i686"; @@ -14,8 +14,8 @@ stdenv.mkDerivation { src = fetchurl { url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2"; sha256 = if stdenv.system == "x86_64-linux" - then "1df101j2qwdp001m8x3ihbzz2j23x43804k8ww749y09d1ydb4dx" - else "1bcrpl6gdxlygd5ppyrhw42q24kjcakma3qv6mpzgp91phkf6g30"; + then "0dq4x1cc0lnhs7g6w85qjdlb7sajr13mr2zcf4yvrciwhwy3r1i1" + else "0s4j2karaq85fwnd1niz8hzx5k71cqs493g38pg337i3iwxad9hg"; }; # Strip the bundled xulrunner diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2686936fe68..4415e35ee55 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3822,8 +3822,6 @@ let inherit (pythonPackages) pysqlite; }; - xulrunner_30 = firefox30Pkgs.xulrunner; - ### DEVELOPMENT / MISC @@ -8869,12 +8867,6 @@ let firefox13Wrapper = wrapFirefox { browser = firefox13Pkgs.firefox; }; - firefox30Pkgs = callPackage ../applications/networking/browsers/firefox/30.nix { - inherit (gnome) libIDL; - inherit (pythonPackages) pysqlite; - libpng = libpng_apng; - }; - firefox = callPackage ../applications/networking/browsers/firefox { inherit (gnome) libIDL; inherit (pythonPackages) pysqlite; @@ -10383,9 +10375,7 @@ let pygtk = pyGtkGlade; }; - zotero = callPackage ../applications/office/zotero { - xulrunner = xulrunner_30; - }; + zotero = callPackage ../applications/office/zotero { }; zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { }; From 4d104542e987533f61cf6fb70cb970fc94e367b9 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 4 Sep 2014 19:10:46 +0200 Subject: [PATCH 0777/2163] Add keylogs, a GNU/Linux keylogger that works --- pkgs/tools/security/logkeys/default.nix | 27 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/tools/security/logkeys/default.nix diff --git a/pkgs/tools/security/logkeys/default.nix b/pkgs/tools/security/logkeys/default.nix new file mode 100644 index 00000000000..ae7fa2316bc --- /dev/null +++ b/pkgs/tools/security/logkeys/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchgit, which, procps, kbd }: + +stdenv.mkDerivation rec { + name = "logkeys-${version}"; + version = "5ef6b0dcb9e3"; + + src = fetchgit { + url = "https://code.google.com/p/logkeys/"; + rev = "5ef6b0dcb9e38e6137ad1579d624ec12107c56c3"; + sha256 = "02p0l92l0fq069g31ks6xbqavzxa9njj9460vw2jsa7livcn2z9d"; + }; + + buildInputs = [ which procps kbd ]; + + postPatch = '' + substituteInPlace src/Makefile.in --replace 'root' '$(id -u)' + substituteInPlace configure --replace '/dev/input' '/tmp' + ''; + + meta = with stdenv.lib; { + description = "A GNU/Linux keylogger that works!"; + license = licenses.gpl3; + homepage = http://code.google.com/p/logkeys/; + maintainers = with maintainers; [offline]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4415e35ee55..6e5e6d92a4b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1480,6 +1480,8 @@ let inherit (perlPackages) mimeConstruct; }; + logkeys = callPackage ../tools/security/logkeys { }; + logrotate = callPackage ../tools/system/logrotate { }; logstalgia = callPackage ../tools/graphics/logstalgia {}; From af8a91b0b2a41a3b53eaf153d672bb66edd2a057 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:44:14 +0200 Subject: [PATCH 0778/2163] ant: update from 1.9.3 to 1.9.4 --- pkgs/development/tools/build-managers/apache-ant/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix index 0dfb634c594..751b40e714e 100644 --- a/pkgs/development/tools/build-managers/apache-ant/default.nix +++ b/pkgs/development/tools/build-managers/apache-ant/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, makeWrapper }: -let version = "1.9.3"; in +let version = "1.9.4"; in stdenv.mkDerivation { name = "ant-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2"; - sha1 = "efcf206e24b0dd1583c501182ad163af277951a4"; + sha256 = "1kw801p8h5x4f0g8i5yknppssrj5a3xy1aqrkpfnk22bd1snbh90"; }; contrib = fetchurl { From 32a3b655712091a589cd97905d8e762b4ebbdda2 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:45:13 +0200 Subject: [PATCH 0779/2163] cgit: update from 0.10.1 to 0.10.2 --- .../version-management/git-and-tools/cgit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix index fb7232794c5..383114f1c3c 100644 --- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "cgit-${version}"; - version = "0.10.1"; + version = "0.10.2"; src = fetchurl { url = "http://git.zx2c4.com/cgit/snapshot/${name}.tar.xz"; - sha256 = "0bci1p9spf79wirc4lk36cndcx2b9wj0fq1l58rlp6r563is77l3"; + sha256 = "13ac4rqmxc87ymh78ff8kbw1s252nbid71l0ircmj9kmh9jqwncl"; }; # cgit is tightly coupled with git and needs a git source tree to build. From e30baf653e1a2780c3453a65805b2c48e9a3bb4a Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:45:51 +0200 Subject: [PATCH 0780/2163] cppcheck: update from 1.65 to 1.66 --- pkgs/development/tools/analysis/cppcheck/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix index ca4176dbe1e..094cabb7306 100644 --- a/pkgs/development/tools/analysis/cppcheck/default.nix +++ b/pkgs/development/tools/analysis/cppcheck/default.nix @@ -4,14 +4,14 @@ let name = "cppcheck"; - version = "1.65"; + version = "1.66"; in stdenv.mkDerivation { name = "${name}-${version}"; src = fetchurl { url = "mirror://sourceforge/${name}/${name}-${version}.tar.bz2"; - sha256 = "0rsxnqvjyiviqsq4y5x4p1jpvcmhf8hh7d710rsvnv5d4cj7lmqn"; + sha256 = "1dy1jd9ckqs565iwcv281pc3xmp9fnfw5ydh3wq06pyz74yw4scl"; }; configurePhase = '' From f54f5539aa1d612446753bd52b0fedced7695042 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:47:48 +0200 Subject: [PATCH 0781/2163] dhcpcd: update from 6.4.2 to 6.4.3 --- pkgs/tools/networking/dhcpcd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index 8e93c424cb1..451e2954f40 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, udev }: stdenv.mkDerivation rec { - name = "dhcpcd-6.4.2"; + name = "dhcpcd-6.4.3"; src = fetchurl { url = "http://roy.marples.name/downloads/dhcpcd/${name}.tar.bz2"; - sha256 = "1dr08aqvazg4ncq5p93v6givwh7naj75dn2npgplf3dl2fg9zfzf"; + sha256 = "175bsmif76vigzljc4rpcjs5skx171y1bl37aj0w66p8krhh3b9n"; }; patches = [ /* ./lxc_ro_promote_secondaries.patch */ ]; From 14fd86307fe653c30fae933486e402a90d75d5b1 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:48:42 +0200 Subject: [PATCH 0782/2163] diffstat: update from 1.58 to 1.59 --- pkgs/tools/text/diffstat/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix index e70dfaedddf..62b696715d9 100644 --- a/pkgs/tools/text/diffstat/default.nix +++ b/pkgs/tools/text/diffstat/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "diffstat-1.58"; + name = "diffstat-1.59"; src = fetchurl { url = "ftp://invisible-island.net/diffstat/${name}.tgz"; - sha256 = "14rpf5c05ff30f6vn6pn6pzy0k4g4is5im656ahsxff3k58i7mgs"; + sha256 = "0w7jvfilbnfa9v3h8j8ipirvrj7n2x5gszfanzxvx748p10i8z96"; }; meta = with stdenv.lib; { From c5697874c23d37cc1f1d77241e6028170cb5e418 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:49:07 +0200 Subject: [PATCH 0783/2163] diffuse: update from 0.4.7 to 0.4.8 --- pkgs/applications/version-management/diffuse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix index 92cdddd8dcb..2bd4b584724 100644 --- a/pkgs/applications/version-management/diffuse/default.nix +++ b/pkgs/applications/version-management/diffuse/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, python, pygtk, makeWrapper }: stdenv.mkDerivation rec { - version = "0.4.7"; + version = "0.4.8"; name = "diffuse-${version}"; src = fetchurl { url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${name}.tar.bz2"; - sha256 = "1b1riy9wix2gby78v9i30ijycjhkcyqsllggjakbkx26sb5nmxdh"; + sha256 = "0ayz8bywmk1z3zicb0a7hbxliqpc7xym60s0mawzqllkpadvgly1"; }; buildInputs = [ python pygtk makeWrapper ]; From 2bfd7ae15c2c067a7a367ba4db8255a489e8016a Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:50:07 +0200 Subject: [PATCH 0784/2163] dos2unix: update from 6.0.5 to 6.0.6 --- pkgs/tools/text/dos2unix/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix index a87901eb5eb..6851ca89678 100644 --- a/pkgs/tools/text/dos2unix/default.nix +++ b/pkgs/tools/text/dos2unix/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, perl, gettext }: stdenv.mkDerivation { - name = "dos2unix-6.0.5"; + name = "dos2unix-6.0.6"; src = fetchurl { - url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.5.tar.gz; - sha256 = "13w5blhv0i473y9lyrxh4axz4niyrxcpj4v2qiq3w5kamyp20czx"; + url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.6.tar.gz; + sha256 = "0xnj4gmav1ypkgwmqldnq41b6l3cg08dyngkbygn9vrhlvlx9fwa"; }; configurePhase = '' From f2779233db4b7a8918838eb9fd296a4fcde477e3 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:51:21 +0200 Subject: [PATCH 0785/2163] ethtool: update from 3.14 to 3.15 --- pkgs/tools/misc/ethtool/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix index 1b6205db7ce..36d49ce9b23 100644 --- a/pkgs/tools/misc/ethtool/default.nix +++ b/pkgs/tools/misc/ethtool/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "ethtool-3.14"; + name = "ethtool-3.15"; src = fetchurl { url = "mirror://kernel/software/network/ethtool/${name}.tar.xz"; - sha256 = "01v7a757757bk68vvap2x0v6jbqicchnjxvh52w8dccixxq2nkj3"; + sha256 = "16kgw9y4fisldf1z6zpw3v965cc8nram0dycacwkc0js4l76klw8"; }; meta = with stdenv.lib; { From 1e543f02dfc2be80c174a1279e099e2b02418d62 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:55:20 +0200 Subject: [PATCH 0786/2163] fldigi: update from 3.21.82 to 3.21.83 --- pkgs/applications/audio/fldigi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/fldigi/default.nix b/pkgs/applications/audio/fldigi/default.nix index e78095a9c5d..e0250055ccd 100644 --- a/pkgs/applications/audio/fldigi/default.nix +++ b/pkgs/applications/audio/fldigi/default.nix @@ -2,13 +2,13 @@ libsamplerate, pulseaudio, libXinerama, gettext, pkgconfig, alsaLib }: stdenv.mkDerivation rec { - version = "3.21.82"; + version = "3.21.83"; pname = "fldigi"; name = "${pname}-${version}"; src = fetchurl { url = "http://www.w1hkj.com/downloads/${pname}/${name}.tar.gz"; - sha256 = "1q2fc1zm9kfsjir4g6fh95vmjdq984iyxfcs6q4gjqy1znhqcyqs"; + sha256 = "1fyg6dc6xnxb620rrhws60wj10lsgbwsmnhz8vc6ncspx8mx7019"; }; buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio From bff6e8de3c8e4f2365a6dbf3a6b9b1beb52d989f Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:57:51 +0200 Subject: [PATCH 0787/2163] gnuradio: update from 3.7.3 to 3.7.5 --- pkgs/applications/misc/gnuradio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix index 1a0dea586d0..19455f972a5 100644 --- a/pkgs/applications/misc/gnuradio/default.nix +++ b/pkgs/applications/misc/gnuradio/default.nix @@ -23,11 +23,11 @@ stdenv.mkDerivation rec { name = "gnuradio-${version}"; - version = "3.7.3"; + version = "3.7.5"; src = fetchurl { url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz"; - sha256 = "0caj7dqppav53nhn0ima106hpsn0sakw57v1ihac9fk7ka0x2w8w"; + sha256 = "0hv2nyz2hp1mjinin2q7jimh9mr81rjqvghqmaglz8w70qcn4zs6"; }; buildInputs = [ From 8c2384a7cf4d77a6069c90d98ac61f9d2db9fa6e Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 18:59:27 +0200 Subject: [PATCH 0788/2163] gparted: update from 0.18.0 to 0.19.1 --- pkgs/tools/misc/gparted/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix index 16c7f652dec..cc07ac95db8 100644 --- a/pkgs/tools/misc/gparted/default.nix +++ b/pkgs/tools/misc/gparted/default.nix @@ -2,11 +2,11 @@ , pkgconfig, gtkmm, libxml2 }: stdenv.mkDerivation rec { - name = "gparted-0.18.0"; + name = "gparted-0.19.1"; src = fetchurl { url = "mirror://sourceforge/gparted/${name}.tar.bz2"; - sha256 = "0slyf0sbv7a7xvdcpn9ibnixpy0w4s6zwpz6sklkxcyfybw1j7xz"; + sha256 = "1x0mbks94jpzphb8hm8w0iqjrn665jkdm4qnzrvxrnvy0x3m2fwd"; }; configureFlags = "--disable-doc"; From 0fe866c3a15a62e800ac85f0c2925cc2d25eda97 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 4 Sep 2014 19:00:59 +0200 Subject: [PATCH 0789/2163] gtkwave: update from 3.3.53 to 3.3.61 --- pkgs/applications/science/electronics/gtkwave/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix index c761f619642..a2f07bfe43d 100644 --- a/pkgs/applications/science/electronics/gtkwave/default.nix +++ b/pkgs/applications/science/electronics/gtkwave/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}: stdenv.mkDerivation rec { - name = "gtkwave-3.3.53"; + name = "gtkwave-3.3.61"; src = fetchurl { url = "mirror://sourceforge/gtkwave/${name}.tar.gz"; - sha256 = "1jmrk2p2azjca250h2bi4c8v0cp1gqd3c027dx18sxy3cgw1fsp1"; + sha256 = "1f8cw7xfr83mc5j6vq53jzzyw3n6pqdmrj4a7pm53m1wvjgk4w3v"; }; buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ]; From f73f7ccc6e0b17d08d2ef689b76755769d3663b4 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 3 Sep 2014 14:40:27 -0700 Subject: [PATCH 0790/2163] nixos/install-grub: Read correct mountpoints --- .../modules/system/boot/loader/grub/grub.nix | 2 +- .../system/boot/loader/grub/install-grub.pl | 45 ++++++++++++++++--- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index bc9a155ac95..892cd995a51 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -260,7 +260,7 @@ in if cfg.devices == [] then throw "You must set the option ‘boot.loader.grub.device’ to make the system bootable." else - "PERL5LIB=${makePerlPath [ pkgs.perlPackages.XMLLibXML pkgs.perlPackages.XMLSAX ]} " + + "PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX ])} " + "${pkgs.perl}/bin/perl ${./install-grub.pl} ${grubConfig}"; system.build.grub = grub; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 2dad8b36db3..eef81d81484 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -6,6 +6,7 @@ use File::Basename; use File::Path; use File::stat; use File::Copy; +use File::Slurp; use POSIX; use Cwd; @@ -70,14 +71,48 @@ struct(Fs => { type => '$', mount => '$', }); +sub PathInMount { + my ($path, $mount) = @_; + my @splitMount = split /\//, $mount; + my @splitPath = split /\//, $path; + if ($#splitPath < $#splitMount) { + return 0; + } + for (my $i = 0; $i <= $#splitMount; $i++) { + if ($splitMount[$i] ne $splitPath[$i]) { + return 0; + } + } + return 1; +} sub GetFs { my ($dir) = @_; - my ($status, @dfOut) = runCommand("df -T $dir"); - if ($status != 0 || $#dfOut != 1) { - die "Failed to retrieve output about $dir from `df`"; + my $bestFs = Fs->new(device => "", type => "", mount => ""); + foreach my $fs (read_file("/proc/self/mountinfo")) { + chomp $fs; + my @fields = split / /, $fs; + my $mountPoint = $fields[4]; + next unless -d $mountPoint; + my @mountOptions = split /,/, $fields[5]; + + # Skip the optional fields. + my $n = 6; $n++ while $fields[$n] ne "-"; $n++; + my $fsType = $fields[$n]; + my $device = $fields[$n + 1]; + my @superOptions = split /,/, $fields[$n + 2]; + + # Skip the read-only bind-mount on /nix/store. + next if $mountPoint eq "/nix/store" && (grep { $_ eq "rw" } @superOptions) && (grep { $_ eq "ro" } @mountOptions); + + # Ensure this matches the intended directory + next unless PathInMount($dir, $mountPoint); + + # Is it better than our current match? + if (length($mountPoint) > length($bestFs->mount)) { + $bestFs = Fs->new(device => $device, type => $fsType, mount => $mountPoint); + } } - my @boot = split(/[ \n\t]+/, $dfOut[1]); - return Fs->new(device => $boot[0], type => $boot[1], mount => $boot[6]); + return $bestFs; } struct (Grub => { path => '$', From c6bd6d6d89abee84d08f12786086ef9e4ccd0860 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 4 Sep 2014 09:15:59 -0700 Subject: [PATCH 0791/2163] nixos/grub: Assert devices should be absolute paths --- nixos/modules/system/boot/loader/grub/grub.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 892cd995a51..0269b95ae1d 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -277,7 +277,11 @@ in '') config.boot.loader.grub.extraFiles); assertions = [{ assertion = !cfg.zfsSupport || cfg.version == 2; - message = "Only grub version 2 provides zfs support";}]; + message = "Only grub version 2 provides zfs support";}] + ++ flip map cfg.devices (dev: { + assertion = hasPrefix "/" dev; + message = "Grub devices must be absolute paths, not ${dev}"; + }); }) From 6fcab9baca7711255be2615f490c3bf522334859 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Tue, 26 Aug 2014 19:32:35 +0200 Subject: [PATCH 0792/2163] libretro-cores: - adding: 4do, desmume, fceumm, mame, mupen64plus, scummvm, snes9x, stella, picodrive, ppsspp and vba retroarch: - added retroarch wrapper for configured cores - changed attributes, old retroarch is now retroarchBare* --- pkgs/misc/emulators/retroarch/cores.nix | 170 ++++++++++++++++++++++ pkgs/misc/emulators/retroarch/default.nix | 4 +- pkgs/misc/emulators/retroarch/master.nix | 17 ++- pkgs/misc/emulators/retroarch/wrapper.nix | 36 +++++ pkgs/top-level/all-packages.nix | 45 ++++-- 5 files changed, 254 insertions(+), 18 deletions(-) create mode 100644 pkgs/misc/emulators/retroarch/cores.nix create mode 100644 pkgs/misc/emulators/retroarch/wrapper.nix diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix new file mode 100644 index 00000000000..f1cef0acc1c --- /dev/null +++ b/pkgs/misc/emulators/retroarch/cores.nix @@ -0,0 +1,170 @@ +{ stdenv, fetchgit, pkgconfig, makeWrapper, python27 +, retroarch, fluidsynth, mesa, SDL, libpng, libjpeg, libvorbis, zlib }: + +let + + d2u = stdenv.lib.replaceChars ["-"] ["_"]; + + mkLibRetroCore = ({ core, src, description, ... }@a: + stdenv.lib.makeOverridable stdenv.mkDerivation rec { + + name = "libretro-${core}-${version}"; + version = "20140902"; + inherit src; + + buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or []; + + buildPhase = "make -f Makefile.libretro"; + installPhase = '' + COREDIR="$out/lib/retroarch/cores" + mkdir -p $out/bin + mkdir -p $COREDIR + mv ${d2u core}_libretro.so $COREDIR/. + makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \ + --add-flags "-L $COREDIR/${d2u core}_libretro.so $@" + ''; + + passthru.libretroCore = "/lib/retroarch/cores"; + + meta = with stdenv.lib; { + inherit description; + homepage = "http://www.libretro.com/"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.edwtjo ]; + platforms = platforms.linux; + }; + } // a); + + fetchRetro = { repo, rev, sha256 }: + fetchgit { + inherit rev sha256; + url = "https://github.com/libretro/${repo}.git"; + fetchSubmodules = true; + }; + +in + +{ + + _4do = (mkLibRetroCore rec { + core = "4do"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "961812bc421f3fbfd83ea211783bb511a0b6d31c"; + sha256 = "0217iq8sj8gn161c3mj632csl1da8ir2ffxxdillpcddv6ppsayl"; + }; + description = "Port of 4DO/libfreedo to libretro"; + }).override { + buildPhase = "make"; + }; + + desmume = mkLibRetroCore rec { + core = "desmume"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "1dd58e4a9fa375b6909cd8718165a429d4b8bd6d"; + sha256 = "137bw9316qxm8s6p0bzyvk39dv5b5bn60fgllmyj9z5y8x5lrc9l"; + }; + description = "libretro wrapper for desmume NDS emulator"; + }; + + fceumm = mkLibRetroCore rec { + core = "fceumm"; + src = fetchRetro { + repo = "libretro-" + core; + rev = "17e081541c9d36d0658e7139afa5b085aa0316c9"; + sha256 = "0cn74z976rgjh7hf0yb1sdjlm347157893s2z397rgjvks8xssb0"; + }; + description = "FCEUmm libretro port"; + }; + + mupen64plus = (mkLibRetroCore rec { + core = "mupen64plus"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "2251b3aba2a5bb233ff49dd9b6472f2c0feb9b83"; + sha256 = "04g93kj6n5vddbzfb30d8n711kg0yxfnl5v567aa854misn6gfxd"; + }; + description = "Libretro port of Mupen64 Plus, GL only"; + + extraBuildInputs = [ mesa ]; + }).override { + buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}"; + }; + + scummvm = (mkLibRetroCore rec { + core = "scummvm"; + src = fetchRetro { + repo = core; + rev = "c00247171ba8201614e85556c638b8825dc9f225"; + sha256 = "1wir3x928b37va6gn14bmwsydkpk4afma5hppmbivw4qp8mj25pa"; + }; + description = "Libretro port of ScummVM"; + + extraBuildInputs = [ fluidsynth libjpeg libvorbis mesa SDL ]; + }).override { + buildPhase = "cd backends/platform/libretro/build/;make"; + }; + + snes9x-next = mkLibRetroCore rec { + core = "snes9x-next"; + src = fetchRetro { + repo = core; + rev = "461d92be09e1857d215f51aeea448a8e180bbfdd"; + sha256 = "0ci453qsyrv3brmy2szngis2xyvxilcv9yhc2qjz285mirg6fj57"; + }; + description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro"; + }; + + stella = (mkLibRetroCore rec { + core = "stella"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "c7ee7ca7e8a29c986f49306c75832972f5749f72"; + sha256 = "15wy9h3a2qk66lh8x40b3a9il0zkdflqil1h51zjmhq2zzsq8p95"; + }; + description = "Port of Stella to libretro"; + }).override { + buildPhase = "make"; + }; + + picodrive = (mkLibRetroCore rec { + core = "picodrive"; + src = fetchRetro { + repo = core; + rev = "d84817550ac064fbba7ee718fb3baeda7d5546da"; + sha256 = "17zh9m2v7h1cifzz8dcwqm4wn94zyhz6g85gf0aw6xylxahza627"; + }; + description = "Fast MegaDrive/MegaCD/32X emulator"; + + extraBuildInputs = [ libpng SDL ]; + }).override { + patchPhase = "sed -i -e 's,SDL_CONFIG=\".*\",SDL_CONFIG=\"${SDL}/bin/sdl-config\",' configure"; + configurePhase = "./configure"; + }; + + ppsspp = (mkLibRetroCore rec { + core = "ppsspp"; + src = fetchRetro { + repo = "libretro-" + core; + rev = "6ee828171218b26e124c5e8fa7877e6ee1d5ff79"; + sha256 = "1559d4k3h0a2dv3684j4w924p2dg8z2j1fwhy7w9mhb5z4kddjhk"; + }; + description = "ppsspp libretro port"; + + extraBuildInputs = [ mesa ]; + }).override{ + buildPhase = "cd libretro && make"; + }; + + vba-next = mkLibRetroCore rec { + core = "vba-next"; + src = fetchRetro { + repo = core; + rev = "fb095107f83df5f93b8ba4833eaf43901f42c0c0"; + sha256 = "0fvq1dfll27vjbmyh4qsp2nw166jsd91sjmf1sl84z56ab3q3iw8"; + }; + description = "VBA-M libretro port"; + }; + +} \ No newline at end of file diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix index 8bc53da8f0c..d110f2b789e 100644 --- a/pkgs/misc/emulators/retroarch/default.nix +++ b/pkgs/misc/emulators/retroarch/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "retroarch-0.9.9.7"; + name = "retroarch-bare-0.9.9.7"; src = fetchgit { url = "https://github.com/libretro/RetroArch.git"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { preConfigure = '' configureFlags="--global-config-dir=$out/etc" ''; - + meta = { description = "Modular multi-system game/emulator system"; homepage = "http://www.libretro.com/"; diff --git a/pkgs/misc/emulators/retroarch/master.nix b/pkgs/misc/emulators/retroarch/master.nix index 44bd6649045..2efb43e5d5e 100644 --- a/pkgs/misc/emulators/retroarch/master.nix +++ b/pkgs/misc/emulators/retroarch/master.nix @@ -1,8 +1,11 @@ -{ stdenv, fetchgit, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit, freetype, libxml2, libv4l -, coreutils, python34, which, udev, alsaLib, libX11, libXext, libXxf86vm, libXdmcp, SDL -, pulseaudio ? null }: +{ stdenv, fetchgit, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit +, freetype, libxml2, libv4l, coreutils, python34, which, udev, alsaLib +, libX11, libXext, libXxf86vm, libXdmcp, SDL, pulseaudio ? null }: + stdenv.mkDerivation rec { - name = "retroarch-20140902"; + name = "retroarch-bare-${version}"; + version = "20140902"; + src = fetchgit { url = git://github.com/libretro/RetroArch.git; rev = "0856091296c2e47409f36e13007805d71db69483"; @@ -19,10 +22,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://libretro.org/; description = "Multi-platform emulator frontend for libretro cores"; - license = stdenv.lib.licenses.gpl3; - maintainers = with stdenv.lib.maintainers; [ MP2E ]; + license = licenses.gpl3; + maintainers = with maintainers; [ MP2E ]; }; } diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix new file mode 100644 index 00000000000..f7e903ef529 --- /dev/null +++ b/pkgs/misc/emulators/retroarch/wrapper.nix @@ -0,0 +1,36 @@ +{ stdenv, lib, makeWrapper, retroarch, cores }: + +let + + p = builtins.parseDrvName retroarch.name; + +in + +stdenv.mkDerivation { + name = "retroarch-" + p.version; + version = p.version; + + buildInputs = [ makeWrapper ]; + + buildCommand = '' + mkdir -p $out/lib + $(for coreDir in $cores + do + $(ln -s $coreDir/*.so $out/lib/.) + done) + makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \ + --suffix-each LD_LIBRARY_PATH ':' "$cores" \ + --add-flags "-L $out/lib/ --menu" \ + ''; + + cores = map (x: x + x.libretroCore) cores; + preferLocalBuild = true; + + meta = with retroarch.meta; { + inherit license homepage; + description = description + + " (with cores: " + + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) cores)) + + ")"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6e5e6d92a4b..af3980aff7e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1220,7 +1220,7 @@ let * objections before removal. The feature is integer coordinates */ graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { }; - + /* Readded by Michael Raskin. There are programs in the wild * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for * objections before removal. The feature is libgraph. @@ -7169,7 +7169,7 @@ let tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { }; tomcat7 = callPackage ../servers/http/tomcat/7.0.nix { }; - + tomcat8 = callPackage ../servers/http/tomcat/8.0.nix { }; tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { }; @@ -9819,7 +9819,7 @@ let }; stella = callPackage ../misc/emulators/stella { }; - + linuxstopmotion = callPackage ../applications/video/linuxstopmotion { }; sweethome3d = recurseIntoAttrs ( (callPackage ../applications/misc/sweethome3d { }) @@ -10215,6 +10215,27 @@ let gtk_modules = [ libcanberra ]; }; + wrapRetroArch = { retroarch }: + let + cfg = stdenv.lib.attrByPath [ "retroarch" ] {} config; + in + import ../misc/emulators/retroarch/wrapper.nix { + inherit stdenv lib makeWrapper retroarch; + cores = with libretro; + ([ ] + ++ lib.optional (cfg.enable4do or false) _4do + ++ lib.optional (cfg.enableDesmume or false) desmume + ++ lib.optional (cfg.enableFceumm or false) fceumm + ++ lib.optional (cfg.enableMupen64Plus or false) mupen64plus + ++ lib.optional (cfg.enablePicodrive or false) picodrive + ++ lib.optional (cfg.enablePPSSPP or false) ppsspp + ++ lib.optional (cfg.enableScummVM or false) scummvm + ++ lib.optional (cfg.enableSnes9xNext or false) snes9x-next + ++ lib.optional (cfg.enableStella or false) stella + ++ lib.optional (cfg.enableVbaNext or false) vba-next + ); + }; + wxhexeditor = callPackage ../applications/editors/wxhexeditor { }; wxcam = callPackage ../applications/video/wxcam { @@ -10222,7 +10243,7 @@ let inherit intltool; wxGTK = wxGTK28; gtk = gtk2; - }; + }; x11vnc = callPackage ../tools/X11/x11vnc { }; @@ -10376,12 +10397,11 @@ let zim = callPackage ../applications/office/zim { pygtk = pyGtkGlade; }; - + zotero = callPackage ../applications/office/zotero { }; zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { }; - ### GAMES alienarena = callPackage ../games/alienarena { }; @@ -10897,7 +10917,7 @@ let libnm-qt = callPackage ../development/libraries/libnm-qt { }; - massif-visualizer = callPackage ../development/tools/analysis/massif-visualizer { }; + massif-visualizer = callPackage ../development/tools/analysis/massif-visualizer { }; networkmanagement = callPackage ../tools/networking/networkmanagement { }; @@ -11477,8 +11497,15 @@ let putty = callPackage ../applications/networking/remote/putty { }; - retroarch = callPackage ../misc/emulators/retroarch { }; - retroarchMaster = callPackage ../misc/emulators/retroarch/master.nix { }; + retroarchBare = callPackage ../misc/emulators/retroarch { }; + + retroarchBareMaster = callPackage ../misc/emulators/retroarch/master.nix { }; + + retroarch = wrapRetroArch { retroarch = retroarchBareMaster; }; + + libretro = recurseIntoAttrs (callPackage ../misc/emulators/retroarch/cores.nix { + retroarch = retroarchBareMaster; + }); rssglx = callPackage ../misc/screensavers/rss-glx { }; From f21cccb2b63986a96775296f1f32d594faf6d6a0 Mon Sep 17 00:00:00 2001 From: Michael Fellinger Date: Thu, 4 Sep 2014 20:24:21 +0200 Subject: [PATCH 0793/2163] vagrant: 1.6.3 -> 1.6.4 --- pkgs/development/tools/vagrant/default.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index 072b8eeff5c..69c91eff179 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -3,19 +3,21 @@ assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"; +let version = "1.6.4"; +in stdenv.mkDerivation rec { - name = "vagrant-1.6.3"; + name = "vagrant-${version}"; src = if stdenv.system == "x86_64-linux" then fetchurl { - url = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_x86_64.deb; - sha256 = "1gmdg92dw7afnvpji0wg4nzr7vhk8mrmcqk3hcrkwscby2f2bhqg"; + url = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_x86_64.deb"; + sha256 = "1f171d2yjs4p2kzlwcknx1k29qnjvaxizjrxp84ya3sfxvfckm92"; } else fetchurl { - url = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_i686.deb; - sha256 = "1z26b6yghqgx8jbi2igf4kk4h6rzy869gli2vj7ayl7vbqdfvb60"; + url = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_i686.deb"; + sha256 = "1845sg2v9qas6obkkjtkmmamds901ik9rp2q2r6v75v69m0opvog"; }; meta = with stdenv.lib; { @@ -84,10 +86,10 @@ stdenv.mkDerivation rec { preFixup = '' # 'hide' the template file from shebang-patching - chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable + chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.6/lib/bundler/templates/Executable ''; postFixup = '' - chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable + chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.6/lib/bundler/templates/Executable ''; } From 0ec38e5b7f14790c05979120c1a60d77407f1432 Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Thu, 4 Sep 2014 20:32:30 +0200 Subject: [PATCH 0794/2163] Add myself to lib/maintainers.nix --- lib/maintainers.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index b616e30a858..11325a011e4 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -15,6 +15,7 @@ AndersonTorres = "Anderson Torres "; andres = "Andres Loeh "; antono = "Antono Vasiljev "; + aristid = "Aristid Breitkreuz "; arobyn = "Alexei Robyn "; astsmtl = "Alexander Tsamutali "; aszlig = "aszlig "; From 73e569bf01facc9e65738f708ee2fff1e49ac61f Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Thu, 4 Sep 2014 20:36:36 +0200 Subject: [PATCH 0795/2163] add postgresql 9.4beta2 --- lib/licenses.nix | 5 +++ pkgs/servers/sql/postgresql/9.4.x.nix | 44 +++++++++++++++++++ .../disable-resolve_symlinks-94.patch | 12 +++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 63 insertions(+) create mode 100644 pkgs/servers/sql/postgresql/9.4.x.nix create mode 100644 pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch diff --git a/lib/licenses.nix b/lib/licenses.nix index bdcf8a7b8a7..6eb265b3316 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -232,6 +232,11 @@ rec { fullName = "OpenSSL License"; }; + postgresql = spqd { + shortName = "PostgreSQL"; + fullName = "PostgreSQL License"; + }; + psfl = spdx { shortName = "Python-2.0"; fullName = "Python Software Foundation License version 2"; diff --git a/pkgs/servers/sql/postgresql/9.4.x.nix b/pkgs/servers/sql/postgresql/9.4.x.nix new file mode 100644 index 00000000000..2608dcae504 --- /dev/null +++ b/pkgs/servers/sql/postgresql/9.4.x.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, zlib, readline, libossp_uuid }: + +with stdenv.lib; + +let version = "9.4beta2"; in + +stdenv.mkDerivation rec { + name = "postgresql-${version}"; + + src = fetchurl { + url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; + sha256 = "131q3b9hv4pw02xhjsfi5is9i7pp5f4srxwfdn8ifs9qb37hcx2n"; + }; + + buildInputs = [ zlib readline ] ++ optionals (!stdenv.isDarwin) [ libossp_uuid ]; + + enableParallelBuilding = true; + + makeFlags = [ "world" ]; + + configureFlags = optional (!stdenv.isDarwin) + '' + --with-ossp-uuid + ''; + + patches = [ ./disable-resolve_symlinks-94.patch ./less-is-more.patch ]; + + installTargets = [ "install-world" ]; + + LC_ALL = "C"; + + passthru = { + inherit readline; + psqlSchema = "9.4"; + }; + + meta = { + homepage = http://www.postgresql.org/ ; + description = "A powerful, open source object-relational database system"; + license = stdenv.lib.licenses.postgresql; + maintainers = with stdenv.lib.maintainers; [ aristid ocharles ]; + hydraPlatforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch b/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch new file mode 100644 index 00000000000..fadeea90ac4 --- /dev/null +++ b/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch @@ -0,0 +1,12 @@ +--- a/src/common/exec.c 2014-09-04 20:19:12.236057588 +0200 ++++ b/src/common/exec.c 2014-09-04 20:19:50.550251633 +0200 +@@ -218,6 +218,9 @@ + static int + resolve_symlinks(char *path) + { ++ // On NixOS we *want* stuff relative to symlinks. ++ return 0; ++ + #ifdef HAVE_READLINK + struct stat buf; + char orig_wd[MAXPGPATH], diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index af3980aff7e..c6e89616312 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7095,6 +7095,8 @@ let postgresql93 = callPackage ../servers/sql/postgresql/9.3.x.nix { }; + postgresql94 = callPackage ../servers/sql/postgresql/9.4.x.nix { }; + postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { }; psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { }; From 559045d98c747e45014377108ba9786fe64fd3af Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Thu, 4 Sep 2014 20:38:12 +0200 Subject: [PATCH 0796/2163] fix license for postgresql packages --- pkgs/servers/sql/postgresql/8.4.x.nix | 2 +- pkgs/servers/sql/postgresql/9.0.x.nix | 2 +- pkgs/servers/sql/postgresql/9.1.x.nix | 2 +- pkgs/servers/sql/postgresql/9.2.x.nix | 2 +- pkgs/servers/sql/postgresql/9.3.x.nix | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix index 5151299e3b9..4807052478c 100644 --- a/pkgs/servers/sql/postgresql/8.4.x.nix +++ b/pkgs/servers/sql/postgresql/8.4.x.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.postgresql.org/; description = "A powerful, open source object-relational database system"; - license = "bsd"; + license = stdenv.lib.licenses.postgresql; maintainers = [ stdenv.lib.maintainers.ocharles ]; hydraPlatforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix index 97e98217f8a..85c14931eed 100644 --- a/pkgs/servers/sql/postgresql/9.0.x.nix +++ b/pkgs/servers/sql/postgresql/9.0.x.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.postgresql.org/; description = "A powerful, open source object-relational database system"; - license = "bsd"; + license = stdenv.lib.licenses.postgresql; maintainers = [ stdenv.lib.maintainers.ocharles ]; hydraPlatforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix index 92417dc730c..ef335a77ab6 100644 --- a/pkgs/servers/sql/postgresql/9.1.x.nix +++ b/pkgs/servers/sql/postgresql/9.1.x.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.postgresql.org/; description = "A powerful, open source object-relational database system"; - license = "bsd"; + license = stdenv.lib.licenses.postgresql; maintainers = [ stdenv.lib.maintainers.ocharles ]; hydraPlatforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix index e5dbdd034d3..fdfb5a17b54 100644 --- a/pkgs/servers/sql/postgresql/9.2.x.nix +++ b/pkgs/servers/sql/postgresql/9.2.x.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.postgresql.org/; description = "A powerful, open source object-relational database system"; - license = "bsd"; + license = stdenv.lib.licenses.postgresql; maintainers = [ stdenv.lib.maintainers.ocharles ]; hydraPlatforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/servers/sql/postgresql/9.3.x.nix b/pkgs/servers/sql/postgresql/9.3.x.nix index 6c6ef132e81..40f07d8ffe1 100644 --- a/pkgs/servers/sql/postgresql/9.3.x.nix +++ b/pkgs/servers/sql/postgresql/9.3.x.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.postgresql.org/; description = "A powerful, open source object-relational database system"; - license = "bsd"; + license = stdenv.lib.licenses.postgresql; maintainers = [ stdenv.lib.maintainers.ocharles ]; hydraPlatforms = stdenv.lib.platforms.linux; }; From 494ba98e65987320284dde09b373cd7f8edfaa69 Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Thu, 4 Sep 2014 20:40:03 +0200 Subject: [PATCH 0797/2163] fix typo in postgresql license definition --- lib/licenses.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/licenses.nix b/lib/licenses.nix index 6eb265b3316..caffa7539d1 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -232,7 +232,7 @@ rec { fullName = "OpenSSL License"; }; - postgresql = spqd { + postgresql = spdx { shortName = "PostgreSQL"; fullName = "PostgreSQL License"; }; From 4a2b6a63b61890aab22a6cf6e4dbafb5be814957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 4 Sep 2014 21:02:14 +0200 Subject: [PATCH 0798/2163] spring, warzone2100: work around build problems I guess there was a slight API change in the last mesa update. --- pkgs/games/spring/default.nix | 2 ++ pkgs/games/warzone2100/default.nix | 3 +++ 2 files changed, 5 insertions(+) diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix index 539be06bf7f..69387f0cfd3 100644 --- a/pkgs/games/spring/default.nix +++ b/pkgs/games/spring/default.nix @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { # reported upstream http://springrts.com/mantis/view.php?id=4305 #enableParallelBuilding = true; # occasionally missing generated files on Hydra + NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility + postInstall = '' wrapProgram "$out/bin/spring" \ --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib::${systemd}/lib" diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix index 284d420fe7f..0db90e95cc9 100644 --- a/pkgs/games/warzone2100/default.nix +++ b/pkgs/games/warzone2100/default.nix @@ -28,6 +28,9 @@ stdenv.mkDerivation rec { --replace "which %s" "${which}/bin/which %s" ''; configureFlags = "--with-backend=qt --with-distributor=NixOS"; + + NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility + postInstall = [] ++ stdenv.lib.optional withVideos "cp ${sequences_src} $out/share/warzone2100/sequences.wz"; meta = { From c4a35d8cf9548344cedf259363eef4332fd2e072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 4 Sep 2014 21:04:11 +0200 Subject: [PATCH 0799/2163] warzone2100: fix meta --- pkgs/games/warzone2100/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix index 0db90e95cc9..248b58a4e1a 100644 --- a/pkgs/games/warzone2100/default.nix +++ b/pkgs/games/warzone2100/default.nix @@ -33,7 +33,8 @@ stdenv.mkDerivation rec { postInstall = [] ++ stdenv.lib.optional withVideos "cp ${sequences_src} $out/share/warzone2100/sequences.wz"; - meta = { + + meta = with stdenv.lib; { description = "A free RTS game, originally developed by Pumpkin Studios"; longDescription = '' Warzone 2100 is an open source real-time strategy and real-time tactics @@ -47,8 +48,8 @@ stdenv.mkDerivation rec { variety of possible units and tactics. ''; homepage = http://wz2100.net; - license = [ "GPLv2+" ]; - maintainers = with stdenv.lib.maintainers; [ astsmtl ]; - platforms = with stdenv.lib.platforms; linux; + license = licenses.gpl2Plus; + maintainers = [ maintainers.astsmtl ]; + platforms = platforms.linux; }; } From 20113e5d8b45c99d551923e4a0380b5016a62ecd Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 4 Sep 2014 15:22:31 -0400 Subject: [PATCH 0800/2163] buildLocalCabal: Use host-native nixpkgs for the call to cabal2nix by default --- pkgs/top-level/haskell-packages.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c692800810e..0fd062940bc 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -3031,13 +3031,19 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in cabal2nix = callPackage ../development/tools/haskell/cabal2nix {}; # Build a cabal package given a local .cabal file - buildLocalCabalWithArgs = { src, name, args ? {}, cabalDrvArgs ? { jailbreak = true; } }: let - cabalExpr = pkgs.stdenv.mkDerivation ({ + buildLocalCabalWithArgs = { src + , name + , args ? {} + , cabalDrvArgs ? { jailbreak = true; } + # for import-from-derivation, want to use current system + , nativePkgs ? import pkgs.path {} + }: let + cabalExpr = nativePkgs.stdenv.mkDerivation ({ name = "${name}.nix"; buildCommand = '' export HOME="$TMPDIR" - ${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \ + ${nativePkgs.haskellPackages.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \ | grep -v FILTERME | sed \ -e 's/licenses.proprietary/licenses.unfree/' \ -e 's/{ cabal/{ cabal, cabalInstall, cabalDrvArgs ? {}, src/' \ @@ -3046,9 +3052,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in -e 's/pname = \([^\n]*\)/pname = \1\n inherit src;\n/' > $out ''; - } // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux { + } // pkgs.lib.optionalAttrs nativePkgs.stdenv.isLinux { LANG = "en_US.UTF-8"; - LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; + LOCALE_ARCHIVE = "${nativePkgs.glibcLocales}/lib/locale/locale-archive"; }); in callPackage cabalExpr ({ inherit src cabalDrvArgs; } // args); From bf1493401bf931c5ca073640e00560eccb232f90 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Fri, 5 Sep 2014 00:24:25 +0400 Subject: [PATCH 0801/2163] Update BATMAN module --- pkgs/os-specific/linux/batman-adv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix index fee955bcca2..f7b2a984e40 100644 --- a/pkgs/os-specific/linux/batman-adv/default.nix +++ b/pkgs/os-specific/linux/batman-adv/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, kernel }: -let base = "batman-adv-2013.4.0"; in +let base = "batman-adv-2014.3.0"; in stdenv.mkDerivation rec { name = "${base}-${kernel.version}"; src = fetchurl { url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz"; - sha1 = "870a85df5410b3b5623be69e75297e642c91a7d4"; + sha1 = "wh3if8v4wfwskvzwqsjsyr929krzfmsx"; }; preBuild = '' From 440d876b540f0386d39e9f3bb0a71f5321a10a8d Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Thu, 4 Sep 2014 22:28:41 +0200 Subject: [PATCH 0802/2163] moc: update from 2.5.0-beta2 to 2.5.0 also set platforms to linux, use default configurePhase and adopt it --- pkgs/applications/audio/moc/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix index 5c6a1d6ac54..9fbf05a2feb 100644 --- a/pkgs/applications/audio/moc/default.nix +++ b/pkgs/applications/audio/moc/default.nix @@ -5,23 +5,23 @@ stdenv.mkDerivation rec { name = "moc-${version}"; - version = "2.5.0-beta2"; + version = "2.5.0"; src = fetchurl { - url = "http://ftp.daper.net/pub/soft/moc/unstable/moc-${version}.tar.bz2"; - sha256 = "486d50584c3fb0067b8c03af54e44351633a7740b18dc3b7358322051467034c"; + url = "http://ftp.daper.net/pub/soft/moc/stable/moc-${version}.tar.bz2"; + sha256 = "14b0g9jn12jzxsf292g64dc6frlxv99kaagsasmc8xmg80iab7nj"; }; - configurePhase = "./configure prefix=$out"; - buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg libvorbis mpc libsndfile jack2 db libmodplug timidity libid3tag libtool ]; - meta = { + meta = with stdenv.lib; { description = "An ncurses console audio player designed to be powerful and easy to use"; homepage = http://moc.daper.net/; - license = stdenv.lib.licenses.gpl2; + license = licenses.gpl2; + maintainers = with maintainers; [ pSub ]; + platforms = platforms.linux; }; } From d62e848cc912a7301e05a1a0bf5c89b59f70ca1c Mon Sep 17 00:00:00 2001 From: Michael Fellinger Date: Thu, 4 Sep 2014 22:44:38 +0200 Subject: [PATCH 0803/2163] virtualbox: vboxusers may use /dev/vboxnetctl --- nixos/modules/programs/virtualbox.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/programs/virtualbox.nix b/nixos/modules/programs/virtualbox.nix index fec1a7b61f3..1a190573e94 100644 --- a/nixos/modules/programs/virtualbox.nix +++ b/nixos/modules/programs/virtualbox.nix @@ -15,7 +15,7 @@ let virtualbox = config.boot.kernelPackages.virtualbox; in '' KERNEL=="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660", TAG+="systemd" KERNEL=="vboxdrvu", OWNER="root", GROUP="root", MODE="0666", TAG+="systemd" - KERNEL=="vboxnetctl", OWNER="root", GROUP="root", MODE="0600", TAG+="systemd" + KERNEL=="vboxnetctl", OWNER="root", GROUP="vboxusers", MODE="0660", TAG+="systemd" SUBSYSTEM=="usb_device", ACTION=="add", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor" From 42bb59a8a650a90ed04facc90af05e2179c1dfe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 4 Sep 2014 23:36:41 +0200 Subject: [PATCH 0804/2163] thunderbird: maintenance update, including security --- .../networking/mailreaders/thunderbird/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index c0c11ff1f1c..0827ca2cc75 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix @@ -13,7 +13,7 @@ enableOfficialBranding ? false }: -let version = "31.0"; in +let version = "31.1.0"; in let verName = "${version}"; in stdenv.mkDerivation rec { @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2"; - sha1 = "0fe6666fddd4db82ec2e389f30c5ea11d4f72be5"; + sha1 = "08d231541a80a79180826f98dde732c5796191f4"; }; buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx From 701cd705024d81b137f2ce0f3abf4730ec760b9a Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Thu, 4 Sep 2014 23:53:54 +0200 Subject: [PATCH 0805/2163] zim: fixed build; it also runs find now but the solution is hacky --- pkgs/applications/office/zim/default.nix | 25 ++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix index cca52be1a17..658f460793f 100644 --- a/pkgs/applications/office/zim/default.nix +++ b/pkgs/applications/office/zim/default.nix @@ -20,8 +20,8 @@ buildPythonPackage rec { propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk /*pythonPackages.pyxdg*/ pygobject ]; preBuild = '' - mkdir -p $tmp/home - export HOME="$tmp/home" + mkdir -p /tmp/home + export HOME="/tmp/home" ''; setupPyInstallFlags = ["--skip-xdg-cmd"]; @@ -69,6 +69,27 @@ buildPythonPackage rec { runHook postInstall ''; + + # FIXME: this is quick and dirty hack, because zim expects the + # path to the executable in argv[0] therefore the wrapper is + # modified accordingly. + postFixup = '' + wrapPythonPrograms + + sed -i "s#sys\.argv\[0\] = 'zim'#sys.argv[0] = '$out/bin/zim'#g" \ + $out/bin/.zim-wrapped + + if test -e $out/nix-support/propagated-build-inputs; then + ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages + fi + + createBuildInputsPth build-inputs "$buildInputStrings" + for inputsfile in propagated-build-inputs propagated-native-build-inputs; do + if test -e $out/nix-support/$inputsfile; then + createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)" + fi + done + ''; # Testing fails. doCheck = false; From 498aef7766a1b96daee68aeab7308621e94b4ab8 Mon Sep 17 00:00:00 2001 From: Dmitry Malikov Date: Thu, 4 Sep 2014 23:40:22 +0200 Subject: [PATCH 0806/2163] haskell-regex-pcre-builtin: add 0.94.4.8.8.35 Closes #3972. Signed-off-by: Mateusz Kowalczyk --- .../haskell/regex-pcre-builtin/default.nix | 16 ++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 18 insertions(+) create mode 100644 pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix diff --git a/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix new file mode 100644 index 00000000000..f5ddf2a6388 --- /dev/null +++ b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, regexBase }: + +cabal.mkDerivation (self: { + pname = "regex-pcre-builtin"; + version = "0.94.4.8.8.35"; + sha256 = "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"; + buildDepends = [ regexBase ]; + meta = { + homepage = "http://hackage.haskell.org/package/regex-pcre"; + description = "Replaces/Enhances Text.Regex"; + 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 0fd062940bc..c4d8b42607d 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2072,6 +2072,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in regexCompatTdfa = callPackage ../development/libraries/haskell/regex-compat-tdfa {}; + regexPcreBuiltin = callPackage ../development/libraries/haskell/regex-pcre-builtin {}; + regexPosix_0_72_0_3 = callPackage ../development/libraries/haskell/regex-posix/0.72.0.3.nix {}; regexPosix_0_94_1 = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix {}; regexPosix_0_94_2 = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix {}; From f9ba413b558d4b628b97db2f2b127dc2a76a1457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 5 Sep 2014 00:05:52 +0200 Subject: [PATCH 0807/2163] fix eval --- pkgs/development/compilers/agda/stdlib.nix | 6 +++--- pkgs/development/tools/vagrant/default.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix index 2857a7d3d71..136d4e0c815 100644 --- a/pkgs/development/compilers/agda/stdlib.nix +++ b/pkgs/development/compilers/agda/stdlib.nix @@ -18,10 +18,10 @@ agda.mkDerivation (self: rec { topSourceDirectories = [ "src" ]; - meta = { + meta = with stdenv.lib; { homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary"; description = "A standard library for use with the Agda compiler."; license = "unknown"; - maintainers = with stdenv.lib.maintaianers; [ jwiegley ]; + maintainers = with maintainers; [ jwiegley ]; }; -}) \ No newline at end of file +}) diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index 69c91eff179..965f8645052 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { else fetchurl { url = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_i686.deb"; - sha256 = "1845sg2v9qas6obkkjtkmmamds901ik9rp2q2r6v75v69m0opvog"; + sha256 = "047zij0lvrlpyg6icnp4knl0q87icsavbd2g98bkcp79yh2y91d0"; }; meta = with stdenv.lib; { From 19335acb0cc889b49fd25ed3ad85ec811d3f5e9e Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 5 Sep 2014 00:32:25 +0100 Subject: [PATCH 0808/2163] haskell-rope: add 0.6.4 --- .../libraries/haskell/rope/default.nix | 18 ++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/development/libraries/haskell/rope/default.nix diff --git a/pkgs/development/libraries/haskell/rope/default.nix b/pkgs/development/libraries/haskell/rope/default.nix new file mode 100644 index 00000000000..3c751d5eddd --- /dev/null +++ b/pkgs/development/libraries/haskell/rope/default.nix @@ -0,0 +1,18 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, fingertree, mtl, utf8String }: + +cabal.mkDerivation (self: { + pname = "rope"; + version = "0.6.4"; + sha256 = "1g77bv2mmfhy2mkb08k92m3f2jab6p2la2s7rfib2r1jy6lq5vhb"; + buildDepends = [ fingertree mtl utf8String ]; + jailbreak = true; + meta = { + homepage = "http://github.com/ekmett/rope"; + description = "Tools for manipulating fingertrees of bytestrings with optional annotations"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c4d8b42607d..06ade738ca5 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2139,6 +2139,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in robotsTxt = callPackage ../development/libraries/haskell/robots-txt {}; + rope = callPackage ../development/libraries/haskell/rope {}; + rosezipper = callPackage ../development/libraries/haskell/rosezipper {}; RSA = callPackage ../development/libraries/haskell/RSA {}; From eac5176529d4d7fa99fe685ba408d22ef8e8f6c7 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 5 Sep 2014 01:47:16 +0100 Subject: [PATCH 0809/2163] Fix license on unRAR to unfree. This license is BAD and it needs to be caught. You need to agree to the use conditions or you have to remove the software from your machine which makes it not redistributable. cc @ehmry --- pkgs/tools/archivers/unrar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix index a88c0b345d7..2757c2ee457 100644 --- a/pkgs/tools/archivers/unrar/default.nix +++ b/pkgs/tools/archivers/unrar/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation { meta = { description = "Utility for RAR archives"; - license = "freeware"; + license = stdenv.lib.licenses.unfree; maintainers = [ stdenv.lib.maintainers.emery ]; platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; # arbitrary }; From 6386df1645091e30106db2c097f9bfb5b2d0070b Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 23 Jul 2014 17:04:21 +0200 Subject: [PATCH 0810/2163] nixos/nsd: Fix indentation/coding style. For Nix, we indent using two spaces, but in this module somehow 4 spaces were snuck in. Other than that, remoteControl and ratelimit are just nested attribute sets, so we don't need to make another submodule type for no particular reason. Signed-off-by: aszlig --- nixos/modules/services/networking/nsd.nix | 432 +++++++++++----------- 1 file changed, 212 insertions(+), 220 deletions(-) diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix index cacd52f130f..0928bf90571 100644 --- a/nixos/modules/services/networking/nsd.nix +++ b/nixos/modules/services/networking/nsd.nix @@ -10,16 +10,16 @@ let pidFile = stateDir + "/var/nsd.pid"; zoneFiles = pkgs.stdenv.mkDerivation { - preferLocalBuild = true; - name = "nsd-env"; - buildCommand = concatStringsSep "\n" - [ "mkdir -p $out" - (concatStrings (mapAttrsToList (zoneName: zoneOptions: '' - cat > "$out/${zoneName}" <<_EOF_ - ${zoneOptions.data} - _EOF_ - '') zoneConfigs)) - ]; + preferLocalBuild = true; + name = "nsd-env"; + buildCommand = concatStringsSep "\n" + [ "mkdir -p $out" + (concatStrings (mapAttrsToList (zoneName: zoneOptions: '' + cat > "$out/${zoneName}" <<_EOF_ + ${zoneOptions.data} + _EOF_ + '') zoneConfigs)) + ]; }; configFile = pkgs.writeText "nsd.conf" '' @@ -105,21 +105,20 @@ let zoneConfigFile = name: zone: '' - zone: - name: "${name}" - zonefile: "${stateDir}/zones/${name}" - ${maybeString "outgoing-interface: " zone.outgoingInterface} - ${forEach " rrl-whitelist: " zone.rrlWhitelist} + zone: + name: "${name}" + zonefile: "${stateDir}/zones/${name}" + ${maybeString "outgoing-interface: " zone.outgoingInterface} + ${forEach " rrl-whitelist: " zone.rrlWhitelist} - ${forEach " allow-notify: " zone.allowNotify} - ${forEach " request-xfr: " zone.requestXFR} - allow-axfr-fallback: ${yesOrNo zone.allowAXFRFallback} + ${forEach " allow-notify: " zone.allowNotify} + ${forEach " request-xfr: " zone.requestXFR} + allow-axfr-fallback: ${yesOrNo zone.allowAXFRFallback} - ${forEach " notify: " zone.notify} - notify-retry: ${toString zone.notifyRetry} - ${forEach " provide-xfr: " zone.provideXFR} - - ''; + ${forEach " notify: " zone.notify} + notify-retry: ${toString zone.notifyRetry} + ${forEach " provide-xfr: " zone.provideXFR} + ''; zoneConfigs = zoneConfigs' {} "" { children = cfg.zones; }; @@ -130,8 +129,8 @@ let # fork -> pattern else zipAttrsWith (name: head) ( - mapAttrsToList (name: child: zoneConfigs' (parent // zone // { children = {}; }) name child) - zone.children + mapAttrsToList (name: child: zoneConfigs' (parent // zone // { children = {}; }) name child) + zone.children ); # fighting infinite recursion @@ -145,138 +144,135 @@ let childConfig = x: v: { options.children = { type = types.attrsOf x; visible = v; }; }; - zoneOptionsRaw = types.submodule ( - { options, ... }: - { options = { - children = mkOption { - default = {}; - description = '' - Children zones inherit all options of their parents. Attributes - defined in a child will overwrite the ones of its parent. Only - leaf zones will be actually served. This way it's possible to - define maybe zones which share most attributes without - duplicating everything. This mechanism replaces nsd's patterns - in a save and functional way. - ''; - }; - - allowNotify = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "192.0.2.0/24 NOKEY" "10.0.0.1-10.0.0.5 my_tsig_key_name" - "10.0.3.4&255.255.0.0 BLOCKED" - ]; - description = '' - Listed primary servers are allowed to notify this secondary server. - - - either a plain IPv4/IPv6 address or range. Valid patters for ranges: - * 10.0.0.0/24 # via subnet size - * 10.0.0.0&255.255.255.0 # via subnet mask - * 10.0.0.1-10.0.0.254 # via range - - A optional port number could be added with a '@': - * 2001:1234::1@1234 - - - * will use the specified TSIG key - * NOKEY no TSIG signature is required - * BLOCKED notifies from non-listed or blocked IPs will be ignored - * ]]> - ''; - }; - - requestXFR = mkOption { - type = types.listOf types.str; - default = []; - example = []; - description = '' - Format: [AXFR|UDP] <ip-address> <key-name | NOKEY> - ''; - }; - - allowAXFRFallback = mkOption { - type = types.bool; - default = true; - description = '' - If NSD as secondary server should be allowed to AXFR if the primary - server does not allow IXFR. - ''; - }; - - notify = mkOption { - type = types.listOf types.str; - default = []; - example = [ "10.0.0.1@3721 my_key" "::5 NOKEY" ]; - description = '' - This primary server will notify all given secondary servers about - zone changes. - - - a plain IPv4/IPv6 address with on optional port number (ip@port) - - - * sign notifies with the specified key - * NOKEY don't sign notifies - ]]> - ''; - }; - - notifyRetry = mkOption { - type = types.int; - default = 5; - description = '' - Specifies the number of retries for failed notifies. Set this along with notify. - ''; - }; - - provideXFR = mkOption { - type = types.listOf types.str; - default = []; - example = [ "192.0.2.0/24 NOKEY" "192.0.2.0/24 my_tsig_key_name" ]; - description = '' - Allow these IPs and TSIG to transfer zones, addr TSIG|NOKEY|BLOCKED - address range 192.0.2.0/24, 1.2.3.4&255.255.0.0, 3.0.2.20-3.0.2.40 - ''; - }; - - outgoingInterface = mkOption { - type = types.nullOr types.str; - default = null; - example = "2000::1@1234"; - description = '' - This address will be used for zone-transfere requests if configured - as a secondary server or notifications in case of a primary server. - Supply either a plain IPv4 or IPv6 address with an optional port - number (ip@port). - ''; - }; - - rrlWhitelist = mkOption { - type = types.listOf types.str; - default = []; - description = '' - Whitelists the given rrl-types. - The RRL classification types are: nxdomain, error, referral, any, - rrsig, wildcard, nodata, dnskey, positive, all - ''; - }; - - data = mkOption { - type = types.str; - default = ""; - example = ""; - description = '' - The actual zone data. This is the content of your zone file. - Use imports or pkgs.lib.readFile if you don't want this data in your config file. - ''; - }; - + zoneOptionsRaw = types.submodule { + options = { + children = mkOption { + default = {}; + description = '' + Children zones inherit all options of their parents. Attributes + defined in a child will overwrite the ones of its parent. Only + leaf zones will be actually served. This way it's possible to + define maybe zones which share most attributes without + duplicating everything. This mechanism replaces nsd's patterns + in a save and functional way. + ''; }; - } - ); + + allowNotify = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "192.0.2.0/24 NOKEY" "10.0.0.1-10.0.0.5 my_tsig_key_name" + "10.0.3.4&255.255.0.0 BLOCKED" + ]; + description = '' + Listed primary servers are allowed to notify this secondary server. + + + either a plain IPv4/IPv6 address or range. Valid patters for ranges: + * 10.0.0.0/24 # via subnet size + * 10.0.0.0&255.255.255.0 # via subnet mask + * 10.0.0.1-10.0.0.254 # via range + + A optional port number could be added with a '@': + * 2001:1234::1@1234 + + + * will use the specified TSIG key + * NOKEY no TSIG signature is required + * BLOCKED notifies from non-listed or blocked IPs will be ignored + * ]]> + ''; + }; + + requestXFR = mkOption { + type = types.listOf types.str; + default = []; + example = []; + description = '' + Format: [AXFR|UDP] <ip-address> <key-name | NOKEY> + ''; + }; + + allowAXFRFallback = mkOption { + type = types.bool; + default = true; + description = '' + If NSD as secondary server should be allowed to AXFR if the primary + server does not allow IXFR. + ''; + }; + + notify = mkOption { + type = types.listOf types.str; + default = []; + example = [ "10.0.0.1@3721 my_key" "::5 NOKEY" ]; + description = '' + This primary server will notify all given secondary servers about + zone changes. + + + a plain IPv4/IPv6 address with on optional port number (ip@port) + + + * sign notifies with the specified key + * NOKEY don't sign notifies + ]]> + ''; + }; + + notifyRetry = mkOption { + type = types.int; + default = 5; + description = '' + Specifies the number of retries for failed notifies. Set this along with notify. + ''; + }; + + provideXFR = mkOption { + type = types.listOf types.str; + default = []; + example = [ "192.0.2.0/24 NOKEY" "192.0.2.0/24 my_tsig_key_name" ]; + description = '' + Allow these IPs and TSIG to transfer zones, addr TSIG|NOKEY|BLOCKED + address range 192.0.2.0/24, 1.2.3.4&255.255.0.0, 3.0.2.20-3.0.2.40 + ''; + }; + + outgoingInterface = mkOption { + type = types.nullOr types.str; + default = null; + example = "2000::1@1234"; + description = '' + This address will be used for zone-transfere requests if configured + as a secondary server or notifications in case of a primary server. + Supply either a plain IPv4 or IPv6 address with an optional port + number (ip@port). + ''; + }; + + rrlWhitelist = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Whitelists the given rrl-types. + The RRL classification types are: nxdomain, error, referral, any, + rrsig, wildcard, nodata, dnskey, positive, all + ''; + }; + + data = mkOption { + type = types.str; + default = ""; + example = ""; + description = '' + The actual zone data. This is the content of your zone file. + Use imports or pkgs.lib.readFile if you don't want this data in your config file. + ''; + }; + }; + }; in { @@ -585,37 +581,33 @@ in keys = mkOption { - type = types.attrsOf (types.submodule ( - { options, ... }: - { options = { - - algorithm = mkOption { - type = types.str; - default = "hmac-sha256"; - description = '' - Authentication algorithm for this key. - ''; - }; - - keyFile = mkOption { - type = types.path; - description = '' - Path to the file which contains the actual base64 encoded - key. The key will be copied into "${stateDir}/private" before - NSD starts. The copied file is only accessibly by the NSD - user. - ''; - }; - + type = types.attrsOf (types.submodule { + options = { + algorithm = mkOption { + type = types.str; + default = "hmac-sha256"; + description = '' + Authentication algorithm for this key. + ''; }; - })); - default = { - }; + + keyFile = mkOption { + type = types.path; + description = '' + Path to the file which contains the actual base64 encoded + key. The key will be copied into "${stateDir}/private" before + NSD starts. The copied file is only accessibly by the NSD + user. + ''; + }; + }; + }); + default = {}; example = { - "tsig.example.org" = { - algorithm = "hmac-md5"; - secret = "aaaaaabbbbbbccccccdddddd"; - }; + "tsig.example.org" = { + algorithm = "hmac-md5"; + secret = "aaaaaabbbbbbccccccdddddd"; + }; }; description = '' Define your TSIG keys here. @@ -626,32 +618,32 @@ in type = types.attrsOf zoneOptions; default = {}; example = { - "serverGroup1" = { - provideXFR = [ "10.1.2.3 NOKEY" ]; - children = { - "example.com." = { - data = '' - $ORIGIN example.com. - $TTL 86400 - @ IN SOA a.ns.example.com. admin.example.com. ( - ... - ''; - }; - "example.org." = { - data = '' - $ORIGIN example.org. - $TTL 86400 - @ IN SOA a.ns.example.com. admin.example.com. ( - ... - ''; - }; - }; + "serverGroup1" = { + provideXFR = [ "10.1.2.3 NOKEY" ]; + children = { + "example.com." = { + data = '' + $ORIGIN example.com. + $TTL 86400 + @ IN SOA a.ns.example.com. admin.example.com. ( + ... + ''; + }; + "example.org." = { + data = '' + $ORIGIN example.org. + $TTL 86400 + @ IN SOA a.ns.example.com. admin.example.com. ( + ... + ''; + }; }; + }; - "example.net." = { - provideXFR = [ "10.3.2.1 NOKEY" ]; - data = ''...''; - }; + "example.net." = { + provideXFR = [ "10.3.2.1 NOKEY" ]; + data = ''...''; + }; }; description = '' Define your zones here. Zones can cascade other zones and therefore @@ -670,23 +662,23 @@ in # this is not working :( nixpkgs.config.nsd = { - ipv6 = cfg.ipv6; - ratelimit = cfg.ratelimit.enable; - rootServer = cfg.rootServer; + ipv6 = cfg.ipv6; + ratelimit = cfg.ratelimit.enable; + rootServer = cfg.rootServer; }; users.extraGroups = singleton { - name = username; - gid = config.ids.gids.nsd; + name = username; + gid = config.ids.gids.nsd; }; users.extraUsers = singleton { - name = username; - description = "NSD service user"; - home = stateDir; - createHome = true; - uid = config.ids.uids.nsd; - group = username; + name = username; + description = "NSD service user"; + home = stateDir; + createHome = true; + uid = config.ids.uids.nsd; + group = username; }; systemd.services.nsd = { From fd9c8fa3dcabf4a9def05779c6b2d837e0d8d183 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 23 Jul 2014 17:09:28 +0200 Subject: [PATCH 0811/2163] pkgs/nsd: Allow to easily override the package. Allowing to use nixpkgs config to provide different defaults is not going to help us here, so we would like to use nsd.override {} in order to supply the correct options in the module. Eventually removing the nixpkgs config option would make sense here as well. Signed-off-by: aszlig --- pkgs/servers/dns/nsd/default.nix | 30 +++++++++++++++++++----------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix index 7279aa6d4ef..f5cf9544b9b 100644 --- a/pkgs/servers/dns/nsd/default.nix +++ b/pkgs/servers/dns/nsd/default.nix @@ -1,4 +1,13 @@ { config, stdenv, fetchurl, libevent, openssl +, bind8Stats ? false +, checking ? false +, ipv6 ? true +, mmap ? false +, minimalResponses ? true +, nsec3 ? true +, ratelimit ? false +, recvmmsg ? false +, rootServer ? false }: stdenv.mkDerivation rec { @@ -12,17 +21,16 @@ stdenv.mkDerivation rec { buildInputs = [ libevent openssl ]; configureFlags = - let flag = state: flags: if state then map (x: "--enable-${x}") flags - else map (x: "--disable-${x}") flags; - in flag (config.nsd.bind8Stats or false) [ "bind8-stats" ] - ++ flag (config.nsd.checking or false) [ "checking" ] - ++ flag (config.nsd.ipv6 or true) [ "ipv6" ] - ++ flag (config.nsd.mmap or false) [ "mmap" ] - ++ flag (config.nsd.minimalResponses or true) [ "minimal-responses" ] - ++ flag (config.nsd.nsec3 or true) [ "nsec3" ] - ++ flag (config.nsd.ratelimit or false) [ "ratelimit" ] - ++ flag (config.nsd.recvmmsg or false) [ "recvmmsg" ] - ++ flag (config.nsd.rootServer or false) [ "root-server" ] + let edf = c: o: if c then ["--enable-${o}"] else ["--disable-${o}"]; + in edf bind8Stats "bind8-stats" + ++ edf checking "checking" + ++ edf ipv6 "ipv6" + ++ edf mmap "mmap" + ++ edf minimalResponses "minimal-responses" + ++ edf nsec3 "nsec3" + ++ edf ratelimit "ratelimit" + ++ edf recvmmsg "recvmmsg" + ++ edf rootServer "root-server" ++ [ "--with-ssl=${openssl}" "--with-libevent=${libevent}" ]; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c6e89616312..31e9f9f64d3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7003,7 +7003,7 @@ let nix-binary-cache = callPackage ../servers/http/nix-binary-cache {}; - nsd = callPackage ../servers/dns/nsd { }; + nsd = callPackage ../servers/dns/nsd (config.nsd or {}); nsq = callPackage ../servers/nsq { }; From 141cb70d5c1f92fdbdb91b7929567bb144304f88 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 5 Sep 2014 02:47:26 +0200 Subject: [PATCH 0812/2163] nixos/networking: Fix typo in ipv6prefixLength. Within the module it's referenced with an uppercase "P" and ipv6Address also begins with an uppercase "A" after the "6", so let's make it consistent. Signed-off-by: aszlig --- nixos/modules/tasks/network-interfaces.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 868039177d8..97b37b0714c 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -108,7 +108,7 @@ let ''; }; - ipv6prefixLength = mkOption { + ipv6PrefixLength = mkOption { default = 64; example = 64; type = types.int; From e8c4fde22d35d34219a65dd5e3e5c59c89fdcadb Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 5 Sep 2014 02:50:18 +0200 Subject: [PATCH 0813/2163] nixos/nsd: Improve support for journald/systemd. Don't fork into the background and just log to stderr. Signed-off-by: aszlig --- nixos/modules/services/networking/nsd.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix index 0928bf90571..140b7ed2da3 100644 --- a/nixos/modules/services/networking/nsd.nix +++ b/nixos/modules/services/networking/nsd.nix @@ -33,7 +33,6 @@ let # the list of dynamically added zones. zonelistfile: "${stateDir}/var/zone.list" database: "${stateDir}/var/nsd.db" - logfile: "${stateDir}/var/nsd.log" pidfile: "${pidFile}" xfrdfile: "${stateDir}/var/xfrd.state" xfrdir: "${stateDir}/tmp" @@ -687,10 +686,9 @@ in after = [ "network.target" ]; serviceConfig = { - Type = "forking"; PIDFile = pidFile; Restart = "always"; - ExecStart = "${pkgs.nsd}/sbin/nsd -c ${configFile}"; + ExecStart = "${pkgs.nsd}/sbin/nsd -d -c ${configFile}"; }; preStart = '' From c9d1c0d8d160e54cac9b42a6e839066a89208147 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 5 Sep 2014 02:52:05 +0200 Subject: [PATCH 0814/2163] nixos/tests: Add basic test for nsd module. Currently only tests basic resource record lookup against IPv4 and IPv6. Nothing special yet, but probably enough for most setups. Signed-off-by: aszlig --- nixos/release.nix | 1 + nixos/tests/nsd.nix | 83 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 nixos/tests/nsd.nix diff --git a/nixos/release.nix b/nixos/release.nix index d4e1a3737e3..f8c437fff05 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -247,6 +247,7 @@ in rec { tests.mysqlReplication = callTest tests/mysql-replication.nix {}; tests.nat = callTest tests/nat.nix {}; tests.nfs3 = callTest tests/nfs.nix { version = 3; }; + tests.nsd = callTest tests/nsd.nix {}; tests.openssh = callTest tests/openssh.nix {}; tests.printing = callTest tests/printing.nix {}; tests.proxy = callTest tests/proxy.nix {}; diff --git a/nixos/tests/nsd.nix b/nixos/tests/nsd.nix new file mode 100644 index 00000000000..c2331931cdd --- /dev/null +++ b/nixos/tests/nsd.nix @@ -0,0 +1,83 @@ +let + common = { pkgs, ... }: { + networking.firewall.enable = false; + networking.useDHCP = false; + # for a host utility with IPv6 support + environment.systemPackages = [ pkgs.bind ]; + }; +in import ./make-test.nix { + name = "nsd"; + + nodes = { + clientv4 = { lib, nodes, ... }: { + imports = [ common ]; + networking.nameservers = lib.mkForce [ + nodes.server.config.networking.interfaces.eth1.ipAddress + ]; + networking.interfaces.eth1.ipAddress = "192.168.0.2"; + networking.interfaces.eth1.prefixLength = 24; + }; + + clientv6 = { lib, nodes, ... }: { + imports = [ common ]; + networking.nameservers = lib.mkForce [ + nodes.server.config.networking.interfaces.eth1.ipv6Address + ]; + networking.interfaces.eth1.ipv6Address = "dead:beef::2"; + }; + + server = { lib, ... }: { + imports = [ common ]; + networking.interfaces.eth1.ipAddress = "192.168.0.1"; + networking.interfaces.eth1.prefixLength = 24; + networking.interfaces.eth1.ipv6Address = "dead:beef::1"; + services.nsd.enable = true; + services.nsd.interfaces = lib.mkForce []; + services.nsd.zones."example.com.".data = '' + @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 + ipv4 A 1.2.3.4 + ipv6 AAAA abcd::eeff + deleg NS ns.example.com + ns A 192.168.0.1 + ns AAAA dead:beef::1 + ''; + services.nsd.zones."deleg.example.com.".data = '' + @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 + @ A 9.8.7.6 + @ AAAA fedc::bbaa + ''; + }; + }; + + testScript = '' + startAll; + + $clientv4->waitForUnit("network.target"); + $clientv6->waitForUnit("network.target"); + $server->waitForUnit("nsd.service"); + + sub assertHost { + my ($type, $rr, $query, $expected) = @_; + my $self = $type eq 4 ? $clientv4 : $clientv6; + my $out = $self->succeed("host -$type -t $rr $query"); + $self->log("output: $out"); + chomp $out; + die "DNS IPv$type query on $query gave '$out' instead of '$expected'" + if ($out !~ $expected); + } + + foreach (4, 6) { + subtest "ipv$_", sub { + assertHost($_, "a", "example.com", qr/has no [^ ]+ record/); + assertHost($_, "aaaa", "example.com", qr/has no [^ ]+ record/); + + assertHost($_, "soa", "example.com", qr/SOA.*?noc\.example\.com/); + assertHost($_, "a", "ipv4.example.com", qr/address 1.2.3.4$/); + assertHost($_, "aaaa", "ipv6.example.com", qr/address abcd::eeff$/); + + assertHost($_, "a", "deleg.example.com", qr/address 9.8.7.6$/); + assertHost($_, "aaaa", "deleg.example.com", qr/address fedc::bbaa$/); + }; + } + ''; +} From 7e744041f34ce4087364837a2ec089041d502343 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Sep 2014 12:37:07 +0200 Subject: [PATCH 0815/2163] rpm-closure.pl: Reduce verbosity --- pkgs/build-support/vm/rpm/rpm-closure.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/vm/rpm/rpm-closure.pl b/pkgs/build-support/vm/rpm/rpm-closure.pl index 94da0a20adc..411c351f1e4 100644 --- a/pkgs/build-support/vm/rpm/rpm-closure.pl +++ b/pkgs/build-support/vm/rpm/rpm-closure.pl @@ -91,7 +91,7 @@ for (my $i = 0; $i < scalar(@packagesFiles); $i++) { my %provides; foreach my $pkgName (keys %pkgs) { - print STDERR "looking at $pkgName\n"; + #print STDERR "looking at $pkgName\n"; my $pkg = $pkgs{$pkgName}; #print STDERR keys %{$pkg->{format}}, "\n"; From 7d6a27a78060ffb1014633e5cb9a10d5222cdb5a Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 5 Sep 2014 12:06:05 +0200 Subject: [PATCH 0816/2163] evolution: fix build --- pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix index 8cba366faae..b60363b024c 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix @@ -1,7 +1,7 @@ { stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight , pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify, gtkspell3 , makeWrapper, itstool, shared_mime_info, libical, db, gcr -, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu +, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu, libtool , libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit }: stdenv.mkDerivation rec { @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; - buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu gnome3.evolution_data_server libsecret libical gcr webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3 From daebba2c97625fa322c93777738642e8c03fec21 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Sep 2014 14:08:35 +0200 Subject: [PATCH 0817/2163] Fix container test --- nixos/tests/containers.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/tests/containers.nix b/nixos/tests/containers.nix index a582e23fda0..13d98d74207 100644 --- a/nixos/tests/containers.nix +++ b/nixos/tests/containers.nix @@ -67,7 +67,6 @@ import ./make-test.nix { # Execute commands via the root shell. $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die; - $machine->succeed("nixos-container set-root-password $id1 foobar"); # Destroy the containers. $machine->succeed("nixos-container destroy $id1"); From 1f7c7759103c07a1a2a6ac774d31e143fe36eaac Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Sep 2014 14:25:17 +0200 Subject: [PATCH 0818/2163] Remove unrar from the installation CD since it's unfree --- nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix | 1 - nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix | 1 - nixos/modules/profiles/base.nix | 1 - 3 files changed, 3 deletions(-) diff --git a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix index c2a11a1a8b3..7d3346e4ea1 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix @@ -79,7 +79,6 @@ in pkgs.jfsrec # Some compression/archiver tools. - pkgs.unrar pkgs.unzip pkgs.zip pkgs.xz diff --git a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix index 2ed70c1daa9..4ce7582c166 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix @@ -70,7 +70,6 @@ in pkgs.btrfsProgs # Some compression/archiver tools. - pkgs.unrar pkgs.unzip pkgs.zip pkgs.xz diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index 6f9e3002f29..7a6f7657205 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -37,7 +37,6 @@ #pkgs.jfsrec # disabled because of Boost dependency # Some compression/archiver tools. - pkgs.unrar pkgs.unzip pkgs.zip pkgs.dar # disk archiver From 00887dc3f8a406b0aefdea28099e7f55a99c608a Mon Sep 17 00:00:00 2001 From: Michael Fellinger Date: Thu, 4 Sep 2014 18:32:55 +0200 Subject: [PATCH 0819/2163] diod: fix service --- nixos/modules/services/network-filesystems/diod.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/network-filesystems/diod.nix b/nixos/modules/services/network-filesystems/diod.nix index 1ab5f52d438..7de7acaa4a0 100644 --- a/nixos/modules/services/network-filesystems/diod.nix +++ b/nixos/modules/services/network-filesystems/diod.nix @@ -31,7 +31,7 @@ in listen = mkOption { type = types.listOf types.str; - default = [ ]; + default = [ "0.0.0.0:564" ]; description = '' [ "IP:PORT" [,"IP:PORT",...] ] List the interfaces and ports that diod should listen on. @@ -39,7 +39,7 @@ in }; exports = mkOption { - type = types.listOf types.path; + type = types.listOf types.str; default = []; description = '' List the file systems that clients will be allowed to mount. All paths should @@ -152,7 +152,8 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; serviceConfig = { - ExecStart = "${pkgs.diod}/sbin/diod -c ${diodConfig}"; + ExecStart = "${pkgs.diod}/sbin/diod -f -c ${diodConfig}"; + Capabilities = "cap_net_bind_service+=ep"; }; }; }; From cd7129a037465ea36d95848561d7a00c72db3062 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Sep 2014 14:43:11 +0200 Subject: [PATCH 0820/2163] Revert "nixos: add setuid wrappers for some networked filesystems' helpers" This reverts commit 26a4001a98322ab903b8186b97f33c5b282828a5. It breaks the NFS test: http://hydra.nixos.org/build/13943148 Also, having more setuid programs is a bad thing security-wise. --- nixos/modules/security/setuid-wrappers.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nixos/modules/security/setuid-wrappers.nix b/nixos/modules/security/setuid-wrappers.nix index 22dbdf6a6bf..373afffd3fb 100644 --- a/nixos/modules/security/setuid-wrappers.nix +++ b/nixos/modules/security/setuid-wrappers.nix @@ -77,9 +77,7 @@ in config = { security.setuidPrograms = - [ "mount.nfs" "mount.nfs4" "mount.cifs" - "fusermount" "umount" - "wodim" "cdrdao" "growisofs" ]; + [ "fusermount" "wodim" "cdrdao" "growisofs" ]; system.activationScripts.setuid = let From bb9ee6a13f1623c3107d264891a52a76e4a2853a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Sep 2014 14:46:36 +0200 Subject: [PATCH 0821/2163] Remove some setuid wrappers for non-standard programs --- nixos/modules/security/setuid-wrappers.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nixos/modules/security/setuid-wrappers.nix b/nixos/modules/security/setuid-wrappers.nix index 373afffd3fb..2a289dc402c 100644 --- a/nixos/modules/security/setuid-wrappers.nix +++ b/nixos/modules/security/setuid-wrappers.nix @@ -76,8 +76,7 @@ in config = { - security.setuidPrograms = - [ "fusermount" "wodim" "cdrdao" "growisofs" ]; + security.setuidPrograms = [ "fusermount" ]; system.activationScripts.setuid = let From b0855d59a10d9b77e1e92fc15b9cab3bcd3557ae Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Sep 2014 15:28:24 +0200 Subject: [PATCH 0822/2163] Improve option descriptions a bit --- nixos/modules/services/logging/logstash.nix | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix index 802dd454878..df81ac142dc 100644 --- a/nixos/modules/services/logging/logstash.nix +++ b/nixos/modules/services/logging/logstash.nix @@ -11,20 +11,25 @@ in ###### interface options = { + services.logstash = { + enable = mkOption { + type = types.bool; default = false; - description = "Enable logstash"; + description = "Enable logstash."; }; enableWeb = mkOption { + type = types.bool; default = false; - description = "Enable logstash web interface"; + description = "Enable the logstash web interface."; }; inputConfig = mkOption { + type = types.lines; default = ''stdin { type => "example" }''; - description = "Logstash input configuration"; + description = "Logstash input configuration."; example = '' # Read from journal pipe { @@ -35,8 +40,9 @@ in }; filterConfig = mkOption { + type = types.lines; default = ''noop {}''; - description = "logstash filter configuration"; + description = "logstash filter configuration."; example = '' if [type] == "syslog" { # Keep only relevant systemd fields @@ -52,13 +58,15 @@ in }; outputConfig = mkOption { + type = types.lines; default = ''stdout { debug => true debug_format => "json"}''; - description = "Logstash output configuration"; + description = "Logstash output configuration."; example = '' redis { host => "localhost" data_type => "list" key => "logstash" codec => json } elasticsearch { embedded => true } ''; }; + }; }; From da4fb089591e4f63c5f96255733c3034def95a36 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Sep 2014 15:28:55 +0200 Subject: [PATCH 0823/2163] Disable the logstash test It's broken because it uses the "grep" plugin, which is no longer included in the standard distribution. --- nixos/release.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/release.nix b/nixos/release.nix index f8c437fff05..d8cc1c8291b 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -239,7 +239,7 @@ in rec { tests.kde4 = callTest tests/kde4.nix {}; tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; }; tests.login = callTest tests/login.nix {}; - tests.logstash = callTest tests/logstash.nix {}; + #tests.logstash = callTest tests/logstash.nix {}; tests.misc = callTest tests/misc.nix {}; tests.mumble = callTest tests/mumble.nix {}; tests.munin = callTest tests/munin.nix {}; From 59edfd61ad839752dddb628813b6c74589649592 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Sep 2014 15:50:55 +0200 Subject: [PATCH 0824/2163] Increase systemd timeout on Jenkins and Munin tests These were timing out a lot. http://hydra.nixos.org/build/13991108 http://hydra.nixos.org/build/13991107 --- nixos/modules/services/monitoring/munin.nix | 16 ++++++++-------- nixos/tests/jenkins.nix | 2 ++ nixos/tests/munin.nix | 1 + 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index 21840bc67e8..aab1c4b75ef 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -37,7 +37,7 @@ let --set PATH "/run/current-system/sw/bin:/run/current-system/sw/sbin" \ --set MUNIN_LIBDIR "${pkgs.munin}/lib" \ --set MUNIN_PLUGSTATE "/var/run/munin" - + # munin uses markers to tell munin-node-configure what a plugin can do echo "#%# family=$family" >> $file echo "#%# capabilities=$cap" >> $file @@ -57,7 +57,7 @@ let rundir /var/run/munin ${cronCfg.extraGlobalConfig} - + ${cronCfg.hosts} ''; @@ -72,10 +72,10 @@ let group root host_name ${config.networking.hostName} setsid 0 - + # wrapped plugins by makeWrapper being with dots ignore_file ^\. - + allow ^127\.0\.0\.1$ ${nodeCfg.extraConfig} @@ -97,7 +97,7 @@ in See . ''; }; - + extraConfig = mkOption { default = ""; description = '' @@ -118,7 +118,7 @@ in Enable munin-cron. Takes care of all heavy lifting to collect data from nodes and draws graphs to html. Runs munin-update, munin-limits, munin-graphs and munin-html in that order. - + HTML output is in /var/www/munin/, configure your favourite webserver to serve static files. ''; @@ -138,7 +138,7 @@ in }; ''; }; - + extraGlobalConfig = mkOption { default = ""; description = '' @@ -160,7 +160,7 @@ in ''; }; - + }; }; diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix index 28027c294bc..f0d3139d902 100644 --- a/nixos/tests/jenkins.nix +++ b/nixos/tests/jenkins.nix @@ -16,6 +16,8 @@ import ./make-test.nix { services.jenkinsSlave.enable = true; users.extraUsers.jenkins.extraGroups = [ "users" ]; + + systemd.services.jenkins.unitConfig.TimeoutSec = 240; }; slave = diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix index 31676c10df1..ddbac590143 100644 --- a/nixos/tests/munin.nix +++ b/nixos/tests/munin.nix @@ -19,6 +19,7 @@ import ./make-test.nix { }; }; }; + systemd.services.munin-node.unitConfig.TimeoutSec = 240; }; testScript = '' From 364bdc2a95f945a35d18058bdc6aa3e12da24240 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Sep 2014 16:05:50 +0200 Subject: [PATCH 0825/2163] nixUnstable: Update to 1.8pre3782_d2d5543 --- pkgs/tools/package-management/nix/unstable.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index bba53b0002f..5c20c7eb72a 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "nix-1.8pre3766_809ca33"; + name = "nix-1.8pre3782_d2d5543"; src = fetchurl { - url = "http://hydra.nixos.org/build/13584170/download/5/${name}.tar.xz"; - sha256 = "e6d91e73aabf8e8912f9701bf87b66089c197c5b8c8fbcc1707b888c88b96dfd"; + url = "http://hydra.nixos.org/build/13991590/download/5/${name}.tar.xz"; + sha256 = "dcef54f49d2ea6fcb7f31ec3fdcb64ac74b2d4ca4224eaf2d00587ae1133a64c"; }; nativeBuildInputs = [ perl pkgconfig ]; From 309851f999af2e9657cc36be134a74f8933f909f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 5 Sep 2014 15:18:24 +0200 Subject: [PATCH 0826/2163] scala-mode2: update to latest version --- pkgs/applications/editors/emacs-modes/scala-mode/v2.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix index 13d3f4b00d1..75861b0a988 100644 --- a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix +++ b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation { - name = "scala-mode2-2014-06-05"; + name = "scala-mode2-2014-07-01"; src = fetchurl { - url = "https://github.com/hvesalai/scala-mode2/archive/af2dc30226c890ff7d49d727450f8006b90781df.zip"; - sha256 = "1jj08li9lfg5291jzj170wa3cmyf3g2a0j80cy5307l0mdawp9vx"; + url = "https://github.com/hvesalai/scala-mode2/archive/c154f1623f4696d26e1c88d19170e67bf6825837.zip"; + sha256 = "0fyxdpwz55n4c87v4ijqlbv6w1rybg5qrgsc40f6bs6sd747scy5"; }; buildInputs = [ unzip emacs ]; From a4ec7a6316e6a6caceb6e43bb80d11a16f188f70 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 5 Sep 2014 16:04:50 +0200 Subject: [PATCH 0827/2163] emacs-dash: add version 1.5.0 --- .../editors/emacs-modes/dash/default.nix | 23 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +++-- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/editors/emacs-modes/dash/default.nix diff --git a/pkgs/applications/editors/emacs-modes/dash/default.nix b/pkgs/applications/editors/emacs-modes/dash/default.nix new file mode 100644 index 00000000000..aacc33c9b51 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/dash/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, emacs}: + +let version = "1.5.0"; + +in stdenv.mkDerivation { + name = "emacs-dash-${version}"; + + src = fetchurl { + url = "https://github.com/magnars/dash.el/archive/${version}.tar.gz"; + sha256 = "0c6jknzy306vn22vqlabxkwxfnllrd33spymi74fkirbxaxvp8kp"; + }; + + buildInputs = [ emacs ]; + + buildPhase = '' + emacs -L . --batch -f batch-byte-compile *.el + ''; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install *.el *.elc $out/share/emacs/site-lisp + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 31e9f9f64d3..3710dddccd2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8641,9 +8641,9 @@ let darcsum = callPackage ../applications/editors/emacs-modes/darcsum { }; - # ecb = callPackage ../applications/editors/emacs-modes/ecb { }; + dash = callPackage ../applications/editors/emacs-modes/dash { }; - jabber = callPackage ../applications/editors/emacs-modes/jabber { }; + # ecb = callPackage ../applications/editors/emacs-modes/ecb { }; emacsClangCompleteAsync = callPackage ../applications/editors/emacs-modes/emacs-clang-complete-async { }; @@ -8665,6 +8665,8 @@ let idris = callPackage ../applications/editors/emacs-modes/idris { }; + jabber = callPackage ../applications/editors/emacs-modes/jabber { }; + jade = callPackage ../applications/editors/emacs-modes/jade { }; jdee = callPackage ../applications/editors/emacs-modes/jdee { From e8bff6f83820f595939d4686c628383aa4cdf216 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 5 Sep 2014 16:05:22 +0200 Subject: [PATCH 0828/2163] emacs-s: add version 1.9.0 --- .../editors/emacs-modes/s/default.nix | 23 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/applications/editors/emacs-modes/s/default.nix diff --git a/pkgs/applications/editors/emacs-modes/s/default.nix b/pkgs/applications/editors/emacs-modes/s/default.nix new file mode 100644 index 00000000000..b818348939e --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/s/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, emacs}: + +let version = "1.9.0"; + +in stdenv.mkDerivation { + name = "emacs-s-${version}"; + + src = fetchurl { + url = "https://github.com/magnars/s.el/archive/${version}.tar.gz"; + sha256 = "1gah2k577gvnmxlpw7zrz0jr571vghzhdv2hbgchlgah07czd091"; + }; + + buildInputs = [ emacs ]; + + buildPhase = '' + emacs -L . --batch -f batch-byte-compile *.el + ''; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install *.el *.elc $out/share/emacs/site-lisp + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3710dddccd2..4c0e57bc3c0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8739,6 +8739,8 @@ let rudel = callPackage ../applications/editors/emacs-modes/rudel { }; + s = callPackage ../applications/editors/emacs-modes/s { }; + sbtMode = callPackage ../applications/editors/emacs-modes/sbt-mode { }; scalaMode1 = callPackage ../applications/editors/emacs-modes/scala-mode/v1.nix { }; From 7f5bc1018670f2b2389b106408308af1cdb7b96d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 5 Sep 2014 16:06:05 +0200 Subject: [PATCH 0829/2163] emacs-ensime: add current git snapshot --- .../editors/emacs-modes/ensime/default.nix | 22 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/applications/editors/emacs-modes/ensime/default.nix diff --git a/pkgs/applications/editors/emacs-modes/ensime/default.nix b/pkgs/applications/editors/emacs-modes/ensime/default.nix new file mode 100644 index 00000000000..26f3b8a9d38 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/ensime/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, emacs, unzip, autoComplete, dash, s }: + +stdenv.mkDerivation { + name = "emacs-ensime-2014-09-04"; + + src = fetchurl { + url = "https://github.com/ensime/ensime-emacs/archive/d3820a3f362975f6e14b817988ec07bfef2b4dad.zip"; + sha256 = "0gwr0r92z2hh2x8g0hpxaar2vvfk1b91cp6v04gaasw0fvl5i7g5"; + }; + + buildInputs = [ emacs unzip ]; + propagatedUserEnvPkgs = [ autoComplete dash s ]; + + buildPhase = '' + emacs -L . -L ${autoComplete}/share/emacs/site-lisp --batch -f batch-byte-compile *.el + ''; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install *.el *.elc $out/share/emacs/site-lisp + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c0e57bc3c0..46166d608ef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8653,6 +8653,8 @@ let emms = callPackage ../applications/editors/emacs-modes/emms { }; + ensime = callPackage ../applications/editors/emacs-modes/ensime { }; + ess = callPackage ../applications/editors/emacs-modes/ess { }; flymakeCursor = callPackage ../applications/editors/emacs-modes/flymake-cursor { }; From 96adde8f6a37cf747996a31a39e2da5d09d3f7ed Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 5 Sep 2014 10:43:06 -0400 Subject: [PATCH 0830/2163] rsync: update 3.1.0 to 3.1.1 fix http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-2855 --- .../networking/sync/rsync/default.nix | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix index 00a00530df4..8d32c1e5d86 100644 --- a/pkgs/applications/networking/sync/rsync/default.nix +++ b/pkgs/applications/networking/sync/rsync/default.nix @@ -7,37 +7,33 @@ assert enableACLs -> acl != null; stdenv.mkDerivation rec { name = "rsync-${version}"; - version = "3.1.0"; + version = "3.1.1"; mainSrc = fetchurl { + # signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5 url = "http://rsync.samba.org/ftp/rsync/src/rsync-${version}.tar.gz"; - sha256 = "0kirw8wglqvwi1v8bwxp373g03xg857h59j5k3mmgff9gzvj7jl1"; + sha256 = "0896iah6w72q5izpxgkai75bn40dqkqifi2ivcxjzr2zrx7kdr3x"; }; patchesSrc = fetchurl { + # signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5 url = "http://rsync.samba.org/ftp/rsync/rsync-patches-${version}.tar.gz"; - sha256 = "0sl8aadpjblvbb05vgais40z90yzhr09rwz0cykjdiv452gli75p"; + sha256 = "0iij996xbyn20yr4w3kv3rw3cx4jwkg2k85x6w5hb5xlgsis8zjl"; }; srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc; - patches = [(fetchurl { - url = "https://git.samba.org/?p=rsync.git;a=commitdiff_plain;h=0dedfbce2c1b851684ba658861fe9d620636c56a"; - sha256 = "0j1pqmwsqc5mh815x28izi4baki2y2r5q8k7ma1sgs4xsgjc4rk8"; - name = "CVE-2014-2855.patch"; - })] - ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff"; + patches = stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff"; buildInputs = stdenv.lib.optional enableACLs acl; nativeBuildInputs = [perl]; configureFlags = "--with-nobody-group=nogroup"; - meta = { - homepage = http://samba.anu.edu.au/rsync/; + meta = with stdenv.lib; { + homepage = http://rsync.samba.org/; description = "A fast incremental file transfer utility"; - license = stdenv.lib.licenses.gpl3Plus; - - platforms = stdenv.lib.platforms.unix; - maintainers = [ stdenv.lib.maintainers.simons stdenv.lib.maintainers.emery ]; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ simons emery ]; }; } From 1124d8a9b963bd9dac28dcf9db29f07377ff2075 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 5 Sep 2014 10:14:36 -0400 Subject: [PATCH 0831/2163] unrar: update from 5.1.5 to 5.1.7, change license to 'unfree-redistributable' --- pkgs/tools/archivers/unrar/default.nix | 27 ++++++++++++-------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix index 2757c2ee457..a13c4c3b70b 100644 --- a/pkgs/tools/archivers/unrar/default.nix +++ b/pkgs/tools/archivers/unrar/default.nix @@ -1,32 +1,29 @@ {stdenv, fetchurl}: let - version = "5.1.5"; + version = "5.1.7"; in stdenv.mkDerivation { name = "unrar-${version}"; src = fetchurl { url = "http://www.rarlab.com/rar/unrarsrc-${version}.tar.gz"; - sha256 = "1jrla255911rbl953br2xbgvyw15kpi11r4lpqm3jlw553ccw912"; + sha256 = "13ida8vcamiagl40d9yfjma9k6givxczhx278f1p7bv9wgb8gfmc"; }; - patchPhase = '' - sed -i \ - -e "/CXX=/d" \ - -e "/CXXFLAGS=/d" \ - makefile - ''; - installPhase = '' - mkdir -p $out/bin - cp unrar $out/bin + installBin unrar + + mkdir -p $out/share/doc/unrar + cp acknow.txt license.txt \ + $out/share/doc/unrar ''; - meta = { + meta = with stdenv.lib; { description = "Utility for RAR archives"; - license = stdenv.lib.licenses.unfree; - maintainers = [ stdenv.lib.maintainers.emery ]; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; # arbitrary + homepage = http://www.rarlab.com/; + license = licenses.unfree-redistributable; + maintainers = [ maintainers.emery ]; + platforms = platforms.all; }; } From 20be024d1bae622409fa56844b2f8799bbf29bb0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 5 Sep 2014 17:40:09 +0200 Subject: [PATCH 0832/2163] Fix subuid/subgid generation I don't think we need to filter users with an unset uid, because mkSubuidEntry/mkSubgidEntry don't references the uid. --- nixos/modules/config/users-groups.nix | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index d172ddb6bca..619f329d74c 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -276,23 +276,17 @@ let }; }; - filterNull = a: filter (x: hasAttr a x && getAttr a x != null); - - sortOn "gid" (filterNull "gid" (attrValues cfg.extraGroups)) - sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers)) mkSubuidEntry = user: concatStrings ( map (range: "${user.name}:${toString range.startUid}:${toString range.count}\n") - user.subUidRanges); + user.subUidRanges); - subuidFile = concatStrings (map mkSubuidEntry ( - sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers)))); + subuidFile = concatStrings (map mkSubuidEntry (attrValues cfg.extraUsers)); mkSubgidEntry = user: concatStrings ( map (range: "${user.name}:${toString range.startGid}:${toString range.count}\n") user.subGidRanges); - subgidFile = concatStrings (map mkSubgidEntry ( - sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers)))); + subgidFile = concatStrings (map mkSubgidEntry (attrValues cfg.extraUsers)); idsAreUnique = set: idAttr: !(fold (name: args@{ dup, acc }: let From 718106e958cbd872ecf3e08a451b80f68f950dae Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 5 Sep 2014 18:42:14 +0200 Subject: [PATCH 0833/2163] Fix initrd after recent busybox upgrades --- nixos/modules/system/boot/stage-1.nix | 2 +- nixos/modules/virtualisation/qemu-vm.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 426da778f43..6977880fa28 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -50,7 +50,7 @@ let cp -pvd ${pkgs.busybox}/bin/* ${pkgs.busybox}/sbin/* $out/bin/ # Copy some utillinux stuff. - cp -vf ${pkgs.utillinux}/sbin/blkid $out/bin + cp -vf --remove-destination ${pkgs.utillinux}/sbin/blkid $out/bin cp -pdv ${pkgs.utillinux}/lib/libblkid*.so.* $out/lib cp -pdv ${pkgs.utillinux}/lib/libuuid*.so.* $out/lib diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 58386ce5cf5..33f48d65d43 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -278,7 +278,7 @@ in boot.initrd.extraUtilsCommands = '' # We need mke2fs in the initrd. - cp -f ${pkgs.e2fsprogs}/sbin/mke2fs $out/bin + cp -vf --remove-destination ${pkgs.e2fsprogs}/sbin/mke2fs $out/bin ''; boot.initrd.postDeviceCommands = From e07e1c3fdfda965ce244bf077cf98fd736be622f Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 4 Sep 2014 10:30:25 -0700 Subject: [PATCH 0834/2163] nixos/installer-test: Add writable store test --- nixos/tests/installer.nix | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 66ab2567e19..7cab313cec2 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -35,7 +35,8 @@ let # The configuration to install. - makeConfig = { testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }: + makeConfig = { testChannel, useEFI, grubVersion, grubDevice, grubIdentifier + , readOnly ? true, forceGrubReinstallCount ? 0 }: pkgs.writeText "configuration.nix" '' { config, pkgs, modulesPath, ... }: @@ -57,6 +58,10 @@ let boot.loader.grub.fsIdentifier = "${grubIdentifier}"; ''} + boot.loader.grub.configurationLimit = 100 + ${toString forceGrubReinstallCount}; + + ${optionalString (!readOnly) "nix.readOnlyStore = false;"} + environment.systemPackages = [ ${optionalString testChannel "pkgs.rlwrap"} ]; } ''; @@ -198,6 +203,11 @@ let $machine->succeed("type -tP ls | tee /dev/stderr") =~ /.nix-profile/ or die "nix-env failed"; + # We need to a writable nix-store on next boot + $machine->copyFileFromHost( + "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 1; } }", + "/etc/nixos/configuration.nix"); + # Check whether nixos-rebuild works. $machine->succeed("nixos-rebuild switch >&2"); @@ -208,6 +218,15 @@ let $machine->shutdown; + # Check whether a writable store build works + $machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" }); + $machine->waitForUnit("multi-user.target"); + $machine->copyFileFromHost( + "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 2; } }", + "/etc/nixos/configuration.nix"); + $machine->succeed("nixos-rebuild boot >&2"); + $machine->shutdown; + # And just to be sure, check that the machine still boots after # "nixos-rebuild switch". $machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" }); From 6fb6ba48f85f7ec8f954428468e96ce55f5535a3 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 5 Sep 2014 09:49:05 -0700 Subject: [PATCH 0835/2163] nixos/installer-test: nixos-option syntax correction --- nixos/tests/installer.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 7cab313cec2..3e29bc2a45b 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -213,8 +213,8 @@ let # Test nixos-option. $machine->succeed("nixos-option boot.initrd.kernelModules | grep virtio_console"); - $machine->succeed("nixos-option -d boot.initrd.kernelModules | grep 'List of modules'"); - $machine->succeed("nixos-option -l boot.initrd.kernelModules | grep qemu-guest.nix"); + $machine->succeed("nixos-option boot.initrd.kernelModules | grep 'List of modules'"); + $machine->succeed("nixos-option boot.initrd.kernelModules | grep qemu-guest.nix"); $machine->shutdown; From de03197100538cfa64cd5f2ddacf289d0c596f0d Mon Sep 17 00:00:00 2001 From: gounnoticed Date: Fri, 5 Sep 2014 19:35:28 +0100 Subject: [PATCH 0836/2163] Add luna cpp build for eclipse didnt have sha512 so used md5 instead. --- pkgs/applications/editors/eclipse/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index b32981ccb94..6073dc42c69 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -191,6 +191,23 @@ in { sha256 = "0d6jlj7hwz8blx6csrlyi2h2prql0wckbh7ihwjmgclwpcpj84g6"; }; }; + + eclipse_cpp_44 = buildEclipse { + name = "eclipse-cpp-4.4"; + description = "Eclipse IDE for C/C++ Developers"; + src = + if stdenv.system == "x86_64-linux" then + fetchurl { + url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/luna/R/eclipse-cpp-luna-R-linux-gtk-x86_64.tar.gz; + md5 = "b0a6ee33e8108a7ff4682ab911271b04"; + } + else + fetchurl { + url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/luna/R/eclipse-cpp-luna-R-linux-gtk.tar.gz; + md5 = "5000f93cecf6ef9af112f0df6e8c87f3"; + }; + }; + eclipse_sdk_421 = buildEclipse { name = "eclipse-sdk-4.2.1"; From b420eeba44c8428bf90f4655d94cc336c49ffec4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 5 Sep 2014 22:49:18 +0200 Subject: [PATCH 0837/2163] remove bittorrent package since it's obsolete --- doc/quick-start.xml | 11 -------- nixos/tests/bittorrent.nix | 2 +- .../networking/p2p/bittorrent/builder.sh | 27 ------------------- .../networking/p2p/bittorrent/default.nix | 24 ----------------- pkgs/top-level/release.nix | 1 - 5 files changed, 1 insertion(+), 64 deletions(-) delete mode 100644 pkgs/tools/networking/p2p/bittorrent/builder.sh delete mode 100644 pkgs/tools/networking/p2p/bittorrent/default.nix diff --git a/doc/quick-start.xml b/doc/quick-start.xml index 0f11a906d77..c0f96f87152 100644 --- a/doc/quick-start.xml +++ b/doc/quick-start.xml @@ -92,17 +92,6 @@ $ git add pkgs/development/libraries/libfoo/default.nix hackery. - - BitTorrent (wxPython-based): pkgs/tools/networking/p2p/bittorrent/default.nix. - Uses an external build - script, which can be useful if you have lots of code - that you don’t want cluttering up the Nix expression. But - external builders are mostly obsolete. - - - Thunderbird: pkgs/applications/networking/mailreaders/thunderbird/default.nix. diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index b12a861f723..c4a00ee507b 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -28,7 +28,7 @@ in nodes = { tracker = { config, pkgs, ... }: - { environment.systemPackages = [ pkgs.transmission pkgs.bittorrent ]; + { environment.systemPackages = [ pkgs.transmission ]; # We need Apache on the tracker to serve the torrents. services.httpd.enable = true; diff --git a/pkgs/tools/networking/p2p/bittorrent/builder.sh b/pkgs/tools/networking/p2p/bittorrent/builder.sh deleted file mode 100644 index 3f30aa5c851..00000000000 --- a/pkgs/tools/networking/p2p/bittorrent/builder.sh +++ /dev/null @@ -1,27 +0,0 @@ -source $stdenv/setup - - -# Workaround for: -# File "...-python-2.4.4/lib/python2.4/posixpath.py", line 62, in join -# elif path == '' or path.endswith('/'): -# AttributeError: 'NoneType' object has no attribute 'endswith' -export HOME=$TMP - - -buildPhase() { - python setup.py build -} - - -installPhase() { - python setup.py install --prefix=$out - - # Create wrappers that set the environment correctly. - for i in $(cd $out/bin && ls); do - wrapProgram $out/bin/$i \ - --set PYTHONPATH "$(toPythonPath $out):$PYTHONPATH" - done -} - - -genericBuild diff --git a/pkgs/tools/networking/p2p/bittorrent/default.nix b/pkgs/tools/networking/p2p/bittorrent/default.nix deleted file mode 100644 index 1d4f43445bf..00000000000 --- a/pkgs/tools/networking/p2p/bittorrent/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ gui ? false -, stdenv, fetchurl, makeWrapper -, python, wxPython ? null, pycrypto, twisted -}: - -assert gui -> wxPython != null; - -stdenv.mkDerivation { - name = "bittorrent-5.2.2"; - - builder = ./builder.sh; - - src = fetchurl { - url = http://download.bittorrent.com/dl/archive/BitTorrent-5.2.2.tar.gz; - sha256 = "05k803hbwsyn51j4aibzdsnqxz24kw4rvr60v2c0wji8gcvy3kx9"; - }; - - buildInputs = [ python pycrypto twisted makeWrapper ] - ++ stdenv.lib.optional gui wxPython; - - meta = { - description = "The original client for the BitTorrent peer-to-peer file sharing protocol"; - }; -} diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 07c3126e5ab..ccd674a42d8 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -64,7 +64,6 @@ let binutils = linux; bind = linux; bitlbee = linux; - bittorrent = linux; blender = linux; bsdiff = all; btrfsProgs = linux; From b7a889759dc8e3c2e9f39135ed9febc356630a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 24 Aug 2014 13:54:16 +0200 Subject: [PATCH 0838/2163] nixos/fail2ban: don't use types.string (it's deprecated) I'm not really sure which one of types.lines or types.str that fit better, but I'm going for types.lines because it behaves more like the current type (i.e. have the ability to merge). --- nixos/modules/services/security/fail2ban.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/security/fail2ban.nix b/nixos/modules/services/security/fail2ban.nix index 3758652ebdd..c40f41e07d4 100644 --- a/nixos/modules/services/security/fail2ban.nix +++ b/nixos/modules/services/security/fail2ban.nix @@ -40,7 +40,7 @@ in socket = /run/fail2ban/fail2ban.sock pidfile = /run/fail2ban/fail2ban.pid ''; - type = types.string; + type = types.lines; description = '' The contents of Fail2ban's main configuration file. It's @@ -64,7 +64,7 @@ in maxretry = 5 ''; }; - type = types.attrsOf types.string; + type = types.attrsOf types.lines; description = '' The configuration of each Fail2ban “jail”. A jail From 1d263f3776bf31f48fbab34c91592f8e55665a0b Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Fri, 5 Sep 2014 23:53:19 +0200 Subject: [PATCH 0839/2163] calibre: update from 2.1.0 to 2.2.0 --- pkgs/applications/misc/calibre/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 00a5d15a84c..1bf5d6a9ff8 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "calibre-2.1.0"; + name = "calibre-2.2.0"; src = fetchurl { url = "mirror://sourceforge/calibre/${name}.tar.xz"; - sha256 = "1znwrmz740m08bihkmdijm193bvav4nm313xsagd5x9mjh2nffg7"; + sha256 = "03qljbb3995cq25azwy9qh087dq7m6igia5301v89y98vxxg2lxm"; }; inherit python; From db86b03b1c5b3940c7daf4a03dac364861fcead3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 2 Jan 2014 00:35:42 +0100 Subject: [PATCH 0840/2163] nixos/apcupsd: add systemd documentation hint systemctl has the ability to display a list of documentation URLs in the output of "systemctl status ". --- nixos/modules/services/monitoring/apcupsd.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix index 6cc0c122ec6..ffa7be7dd30 100644 --- a/nixos/modules/services/monitoring/apcupsd.nix +++ b/nixos/modules/services/monitoring/apcupsd.nix @@ -161,6 +161,7 @@ in # systemd kills it with SIGKILL. TimeoutStopSec = 5; }; + unitConfig.Documentation = "man:apcupsd(8)"; }; # A special service to tell the UPS to power down/hibernate just before the From c5f51039f477880351edd0b765cb7bda839adb82 Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Wed, 23 Apr 2014 01:03:14 +0200 Subject: [PATCH 0841/2163] steam: fix steam on x86_64 --- .../build-fhs-chrootenv/default.nix | 158 ++++++++++++++---- pkgs/games/steam/chrootenv.nix | 67 +++++++- pkgs/games/steam/default.nix | 107 +----------- pkgs/top-level/all-packages.nix | 17 +- 4 files changed, 198 insertions(+), 151 deletions(-) diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix index e807a04628a..411e73ab810 100644 --- a/pkgs/build-support/build-fhs-chrootenv/default.nix +++ b/pkgs/build-support/build-fhs-chrootenv/default.nix @@ -1,16 +1,50 @@ -{stdenv, glibc, glibcLocales, gcc, coreutils, diffutils, findutils, gnused, gnugrep, gnutar, gzip, bzip2, -bashInteractive, xz, shadow, gawk, less, buildEnv}: -{name, pkgs ? [], profile ? ""}: +{ buildEnv, nixpkgs, nixpkgs_i686, system +, stdenv, glibc, glibc_multi, glibcLocales +, bashInteractive, coreutils, less, shadow su +, gawk, gcc, diffutils, findutils, gnused, gnugrep +, gnutar, gzip, bzip2, xz +} : +{ name, pkgs ? [], profile ? "" +, targetPkgs ? null, multiPkgs ? null +, extraBuildCommands ? "", extraBuildCommandsMulti ? "" +}: + +assert pkgs != [] -> targetPkgs == null && multiPkgs == null; +assert targetPkgs != null -> multiPkgs != null; +assert multiPkgs != null -> targetPkgs != null; +assert targetPkgs != null -> pkgs == []; let - basePkgs = [ - glibc glibcLocales gcc coreutils diffutils findutils gnused gnugrep gnutar - gzip bzip2 bashInteractive xz shadow gawk less - ]; + is64Bit = system == "x86_64-linux"; + # enable multi builds on x86_64 hosts if pakgs_target/multi are defined + isMultiBuild = is64Bit && targetPkgs != null; + isNormalBuild = !isMultiBuild; + + # list of packages (usually programs) which will only be installed for the + # hosts architecture + targetPaths = if targetPkgs == null + then pkgs + else targetPkgs nixpkgs ++ multiPkgs nixpkgs; + + # list of pckages which should be build for both x86 and x86_64 on x86_64 + # systems + multiPaths = if isMultiBuild + then multiPkgs nixpkgs_i686 + else []; + + # base packages of the chroot + # these match the hosts architecture, glibc_multi will be choosen + # on multi builds + basePkgs = + [ (if isMultiBuild then glibc_multi else glibc) + bashInteractive coreutils less shadow su + gawk gcc diffutils findutils gnused gnugrep + gnutar gzip bzip2 xz + ]; # Compose a global profile for the chroot environment - profilePkg = stdenv.mkDerivation { - name = "${name}-chrootenv-profile"; + profilePkg = nixpkgs.stdenv.mkDerivation { + name = "${name}-chrootenv-profile"; buildCommand = '' mkdir -p $out/etc cat >> $out/etc/profile << "EOF" @@ -20,67 +54,117 @@ let ''; }; - paths = basePkgs ++ [ profilePkg ] ++ pkgs; - # Composes a /usr like directory structure - staticUsrProfile = buildEnv { - name = "system-profile"; - inherit paths; + staticUsrProfileTarget = buildEnv { + name = "system-profile-target"; + paths = basePkgs ++ [ profilePkg ] ++ targetPaths; }; - + + staticUsrProfileMulti = buildEnv { + name = "system-profile-multi"; + paths = multiPaths; + }; + # References to shell scripts that set up or tear down the environment - initSh = ./init.sh.in; - mountSh = ./mount.sh.in; - loadSh = ./load.sh.in; - umountSh = ./umount.sh.in; + initSh = ./init.sh.in; + mountSh = ./mount.sh.in; + loadSh = ./load.sh.in; + umountSh = ./umount.sh.in; destroySh = ./destroy.sh.in; -in -stdenv.mkDerivation { - name = "${name}-chrootenv"; - buildCommand = '' - mkdir -p $out/sw - cd $out/sw - - for i in ${staticUsrProfile}/{etc,bin,lib{,32,64},sbin,var} - do + + linkProfile = profile: '' + for i in ${profile}/{etc,bin,lib{,32,64},sbin,share,var}; do if [ -x "$i" ] then ln -s "$i" fi done - - ln -s ${staticUsrProfile} usr - + ''; + + # the target profile is the actual profile that will be used for the chroot + setupTargetProfile = '' + ${linkProfile staticUsrProfileTarget} + mkdir -m0755 usr + cd usr + ${linkProfile staticUsrProfileTarget} cd .. - + ''; + + # this will happen on x86_64 host: + # /x86 -> links to the whole profile defined by multiPaths + # /lib, /lib32 -> links to 32bit binaries + # /lib64 -> links to 64bit binaries + # /usr/lib* -> same as above + setupMultiProfile = if isNormalBuild then "" else '' + mkdir -m0755 x86 + cd x86 + ${linkProfile staticUsrProfileMulti} + cd .. + + ${setupLibDirs} + + cd usr + ${setupLibDirs} + cd .. + ''; + + setupLibDirs = '' + rm -f lib lib32 lib64 + mkdir -m0755 lib + # copy glibc stuff + cp -rs ${staticUsrProfileTarget}/lib/32/* lib/ + # copy contents of multiPaths + cp -rsf ${staticUsrProfileMulti}/lib/* lib/ + + ln -s lib lib32 + ln -s ${staticUsrProfileTarget}/lib lib64 + ''; + +in stdenv.mkDerivation { + name = "${name}-chrootenv"; + buildCommand = '' + mkdir -p "$out/sw" + cd "$out/sw" + ${setupTargetProfile} + ${setupMultiProfile} + cd .. + mkdir -p bin cd bin - + sed -e "s|@chrootEnv@|$out|g" \ -e "s|@name@|${name}|g" \ -e "s|@shell@|${stdenv.shell}|g" \ ${initSh} > init-${name}-chrootenv chmod +x init-${name}-chrootenv - + sed -e "s|@shell@|${stdenv.shell}|g" \ -e "s|@name@|${name}|g" \ ${mountSh} > mount-${name}-chrootenv chmod +x mount-${name}-chrootenv - + sed -e "s|@shell@|${stdenv.shell}|g" \ -e "s|@name@|${name}|g" \ ${loadSh} > load-${name}-chrootenv chmod +x load-${name}-chrootenv - + sed -e "s|@shell@|${stdenv.shell}|g" \ -e "s|@name@|${name}|g" \ ${umountSh} > umount-${name}-chrootenv chmod +x umount-${name}-chrootenv - + sed -e "s|@chrootEnv@|$out|g" \ -e "s|@shell@|${stdenv.shell}|g" \ -e "s|@name@|${name}|g" \ ${destroySh} > destroy-${name}-chrootenv chmod +x destroy-${name}-chrootenv + + cd .. + + cd "$out/sw" + ${extraBuildCommands} + cd "$out/sw" + ${extraBuildCommandsMulti} + cd .. ''; } diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index 2173d12666e..d7b8437450d 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -1,12 +1,69 @@ -{ buildFHSChrootEnv, steam -, xterm, libX11, zenity, python, mesa, xdg_utils, dbus_tools, alsaLib -}: +{ buildFHSChrootEnv }: buildFHSChrootEnv { name = "steam"; - pkgs = [ steam xterm libX11 zenity python mesa xdg_utils dbus_tools alsaLib ]; + + targetPkgs = pkgs: + [ pkgs.steam + pkgs.corefonts + pkgs.curl + pkgs.dbus + pkgs.dpkg + pkgs.mono + pkgs.python + pkgs.gnome2.zenity + pkgs.xdg_utils + ]; + + multiPkgs = pkgs: + [ pkgs.cairo + pkgs.glib + pkgs.gtk + pkgs.gdk_pixbuf + pkgs.pango + + pkgs.freetype + pkgs.xlibs.libICE + pkgs.xlibs.libSM + pkgs.xlibs.libX11 + pkgs.xlibs.libXau + pkgs.xlibs.libxcb + pkgs.xlibs.libXcursor + pkgs.xlibs.libXdamage + pkgs.xlibs.libXdmcp + pkgs.xlibs.libXext + pkgs.xlibs.libXfixes + pkgs.xlibs.libXi + pkgs.xlibs.libXinerama + pkgs.xlibs.libXrandr + pkgs.xlibs.libXrender + pkgs.xlibs.libXScrnSaver + pkgs.xlibs.libXtst + pkgs.xlibs.libXxf86vm + + pkgs.libpng12 + pkgs.mesa + pkgs.SDL + + pkgs.libgcrypt + pkgs.zlib + + pkgs.alsaLib + pkgs.libvorbis + pkgs.openal + pkgs.pulseaudio + + pkgs.flashplayer + ]; + + extraBuildCommandsMulti = '' + cd usr/lib + ln -sf ../lib64/steam steam + ''; + profile = '' - export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib:/lib + export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib:/lib:/lib32:/lib64 + export PATH=$PATH:/usr/bin:/usr/sbin export FONTCONFIG_FILE=/etc/fonts/fonts.conf ''; } diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index c1273e9a20f..ba5a410f3a3 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -1,118 +1,21 @@ -/*{ stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc, glibc -, libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk -, gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib -, dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio -, libxcb, libXau, libXdmcp, flashplayer, libSM, libICE, libXext -, dbus_glib, libusb1, networkmanager -, SDL # World of Goo -, libvorbis # Osmos -, curl, mesa # Superbrothers: S&S EP -, patchelf }: - -assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; - -let version = "1.0.0.39"; in - -stdenv.mkDerivation rec { - name = "steam-${version}"; - - src = fetchurl { - url = "http://repo.steampowered.com/steam/pool/steam/s/steam/steam-launcher_${version}_all.deb"; - sha256 = "1z1cnlr2qw2ndnqsfwjck9617m2p0f3p9q9409vczj909h2a9wyk"; - }; - - buildInputs = [ dpkg makeWrapper ]; - - phases = "installPhase"; - - installPhase = '' - mkdir -p $out - dpkg-deb -x $src $out - cp -r $out/usr/* $out/ - rm -rf $out/usr - substituteInPlace "$out/bin/steam" --replace "/usr/bin/env bash" "/bin/sh" - substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/" - sed -i 's,STEAMPACKAGE=.*,STEAMPACKAGE=steam,' $out/bin/steam - sed -i '/STEAMSCRIPT/d' $out/bin/steam - - mv $out/bin/steam $out/bin/.steam-wrapped - cat > $out/bin/steam << EOF - - export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib:${libSM}/lib:${libICE}/lib:${dbus_glib}/lib:${networkmanager}/lib:${libXext}/lib:${libusb1}/lib - STEAMBOOTSTRAP=~/.steam/steam/steam.sh - if [ -f \$STEAMBOOTSTRAP ]; then - PLATFORM32=ubuntu12_32 - STEAMCONFIG=~/.steam - STEAMROOT=~/.local/share/Steam - STEAMDATA="\$STEAMROOT" - PIDFILE="\$STEAMCONFIG/steam.pid" - STEAMBIN32LINK="\$STEAMCONFIG/bin32" - STEAMBIN64LINK="\$STEAMCONFIG/bin64" - STEAMSDK32LINK="\$STEAMCONFIG/sdk32" - STEAMSDK64LINK="\$STEAMCONFIG/sdk64" - STEAMROOTLINK="\$STEAMCONFIG/root" - STEAMDATALINK="\$STEAMCONFIG/steam" - STEAMSTARTING="\$STEAMCONFIG/starting" - # Create symbolic links for the Steam API - if [ ! -e "\$STEAMCONFIG" ]; then - mkdir "\$STEAMCONFIG" - fi - if [ "\$STEAMROOT" != "\$STEAMROOTLINK" -a "\$STEAMROOT" != "\$STEAMDATALINK" ]; then - rm -f "\$STEAMBIN32LINK" && ln -s "\$STEAMROOT/\$PLATFORM32" "\$STEAMBIN32LINK" - rm -f "\$STEAMBIN64LINK" && ln -s "\$STEAMROOT/\$PLATFORM64" "\$STEAMBIN64LINK" - rm -f "\$STEAMSDK32LINK" && ln -s "\$STEAMROOT/linux32" "\$STEAMSDK32LINK" - rm -f "\$STEAMSDK64LINK" && ln -s "\$STEAMROOT/linux64" "\$STEAMSDK64LINK" - rm -f "\$STEAMROOTLINK" && ln -s "\$STEAMROOT" "\$STEAMROOTLINK" - if [ "\$STEAMDATALINK" ]; then - rm -f "\$STEAMDATALINK" && ln -s "\$STEAMDATA" "\$STEAMDATALINK" - fi - fi - # Temporary bandaid until everyone has the new libsteam_api.so - rm -f ~/.steampath && ln -s "\$STEAMCONFIG/bin32/steam" ~/.steampath - rm -f ~/.steampid && ln -s "\$PIDFILE" ~/.steampid - rm -f ~/.steam/bin && ln -s "\$STEAMBIN32LINK" ~/.steam/bin - export LD_LIBRARY_PATH="\$STEAMBIN32LINK:\$LD_LIBRARY_PATH:${mesa}/lib" - export SDL_VIDEO_X11_DGAMOUSE=0 - cd "\$STEAMROOT" - FLASHLINK="\$STEAMCONFIG/bin32/plugins" - rm -f "\$FLASHLINK" && ln -s "${flashplayer}/lib/mozilla/plugins" "\$FLASHLINK" - LDSO="\$STEAMBIN32LINK/ld.so" - cp ${glibc}/lib/ld-linux.so.2 "\$LDSO" - chmod u+w "\$LDSO" - echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam - export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${glibc}/lib - exec "\$LDSO" "\$STEAMBIN32LINK/steam" - else - export PATH=${xz}/bin:\$PATH - exec $out/bin/.steam-wrapped - fi - EOF - - chmod +x $out/bin/steam - ''; - - meta = { - description = "A digital distribution platform"; - homepage = http://store.steampowered.com/; - license = stdenv.lib.licenses.unfree; - }; -} -*/ - {stdenv, fetchurl}: stdenv.mkDerivation { name = "steam-1.0.0.48"; + src = fetchurl { url = http://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.48.tar.gz; sha256 = "08y5qf75ssk4fnazyv2yz1c5zs7gjiwigaibv8yz1gbr290r0b52"; }; + + buildInputs = [ dpkg ]; + unpackPhase = "true"; installPhase = '' make DESTDIR=$out install mv $out/usr/* $out #*/ rmdir $out/usr ''; - + meta = { description = "A digital distribution platform"; homepage = http://store.steampowered.com/; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 46166d608ef..9f2c7d5ed2b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -262,9 +262,14 @@ let }; buildFHSChrootEnv = import ../build-support/build-fhs-chrootenv { - inherit stdenv glibc glibcLocales gcc coreutils diffutils findutils; - inherit gnused gnugrep gnutar gzip bzip2 bashInteractive xz shadow gawk; - inherit less buildEnv; + inherit buildEnv system; + inherit stdenv glibc glibc_multi glibcLocales; + inherit bashInteractive coreutils less shadow su; + inherit gawk gcc diffutils findutils gnused gnugrep; + inherit gnutar gzip bzip2 xz; + + nixpkgs = pkgs; + nixpkgs_i686 = pkgsi686Linux; }; dotnetenv = import ../build-support/dotnetenv { @@ -10653,11 +10658,9 @@ let stardust = callPackage ../games/stardust {}; - steam = callPackage_i686 ../games/steam {}; + steam = callPackage ../games/steam {}; - steamChrootEnv = callPackage_i686 ../games/steam/chrootenv.nix { - zenity = gnome2.zenity; - }; + steamChrootEnv = callPackage ../games/steam/chrootenv.nix { }; stuntrally = callPackage ../games/stuntrally { }; From 72b1f874ef0c43569516892b17c8893f0785bfef Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Wed, 23 Apr 2014 09:39:58 +0200 Subject: [PATCH 0842/2163] buildFHSChrootEnv: fix merge error --- pkgs/build-support/build-fhs-chrootenv/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix index 411e73ab810..306cfeeb264 100644 --- a/pkgs/build-support/build-fhs-chrootenv/default.nix +++ b/pkgs/build-support/build-fhs-chrootenv/default.nix @@ -1,6 +1,6 @@ { buildEnv, nixpkgs, nixpkgs_i686, system , stdenv, glibc, glibc_multi, glibcLocales -, bashInteractive, coreutils, less, shadow su +, bashInteractive, coreutils, less, shadow, su , gawk, gcc, diffutils, findutils, gnused, gnugrep , gnutar, gzip, bzip2, xz } : From 2d912e29d564872a729828d959836945a4736389 Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Sat, 26 Apr 2014 14:42:10 +0200 Subject: [PATCH 0843/2163] build-fhs-chrootenv: fix gcc_multi paths --- .../build-fhs-chrootenv/default.nix | 39 +++++++++++++------ pkgs/top-level/all-packages.nix | 5 ++- 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix index 306cfeeb264..41c60ea5fe8 100644 --- a/pkgs/build-support/build-fhs-chrootenv/default.nix +++ b/pkgs/build-support/build-fhs-chrootenv/default.nix @@ -1,7 +1,7 @@ { buildEnv, nixpkgs, nixpkgs_i686, system , stdenv, glibc, glibc_multi, glibcLocales , bashInteractive, coreutils, less, shadow, su -, gawk, gcc, diffutils, findutils, gnused, gnugrep +, gawk, gcc, gcc_multi, diffutils, findutils, gnused, gnugrep , gnutar, gzip, bzip2, xz } : { name, pkgs ? [], profile ? "" @@ -33,12 +33,14 @@ let else []; # base packages of the chroot - # these match the hosts architecture, glibc_multi will be choosen + # these match the hosts architecture, gcc/glibc_multi will be choosen # on multi builds + choosenGcc = if isMultiBuild then gcc_multi else gcc; basePkgs = [ (if isMultiBuild then glibc_multi else glibc) + choosenGcc bashInteractive coreutils less shadow su - gawk gcc diffutils findutils gnused gnugrep + gawk diffutils findutils gnused gnugrep gnutar gzip bzip2 xz ]; @@ -101,23 +103,36 @@ let ${linkProfile staticUsrProfileMulti} cd .. - ${setupLibDirs} + ${setupMultiLibDirs} cd usr - ${setupLibDirs} + ${setupMultiLibDirs} cd .. ''; - setupLibDirs = '' + setupMultiLibDirs = '' rm -f lib lib32 lib64 mkdir -m0755 lib - # copy glibc stuff - cp -rs ${staticUsrProfileTarget}/lib/32/* lib/ - # copy contents of multiPaths - cp -rsf ${staticUsrProfileMulti}/lib/* lib/ - + mkdir -m0755 lib64 ln -s lib lib32 - ln -s ${staticUsrProfileTarget}/lib lib64 + + # copy glibc stuff + cp -rsf ${staticUsrProfileTarget}/lib/32/* lib/ + + # copy content of multiPaths (32bit libs) + cp -rsf ${staticUsrProfileMulti}/lib/* lib/ + + # copy content of targetPaths (64bit libs) + cp -rsf ${staticUsrProfileTarget}/lib/* lib64/ + # most 64bit only libs put their stuff into /lib + # some pkgs (like gcc_multi) put 32bit libs into /lib 64bit libs into /lib64 + # by overwriting these we will hopefully catch all these cases + # in the end /lib should only contain 32bit and /lib64 only 64bit libs + cp -rsf ${staticUsrProfileTarget}/lib64/* lib64/ + + # copy gcc libs (and may overwrite exitsting wrongly placed libs) + cp -rsf ${choosenGcc.gcc}/lib/* lib/ + cp -rsf ${choosenGcc.gcc}/lib64/* lib64/ ''; in stdenv.mkDerivation { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9f2c7d5ed2b..6de1001c5cb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -265,7 +265,7 @@ let inherit buildEnv system; inherit stdenv glibc glibc_multi glibcLocales; inherit bashInteractive coreutils less shadow su; - inherit gawk gcc diffutils findutils gnused gnugrep; + inherit gawk gcc gcc_multi diffutils findutils gnused gnugrep; inherit gnutar gzip bzip2 xz; nixpkgs = pkgs; @@ -2737,7 +2737,8 @@ let gambit = callPackage ../development/compilers/gambit { }; - gcc = gcc48; + gcc = gcc48; + gcc_multi = gcc48_multi; gcc33 = wrapGCC (import ../development/compilers/gcc/3.3 { inherit fetchurl stdenv noSysDirs; From 64f873461f8e96dad4ea45253d7801e38108bc9d Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Sat, 26 Apr 2014 19:38:03 +0200 Subject: [PATCH 0844/2163] build-fhs-chrootenv: fix gcc libs on x86 --- .../build-fhs-chrootenv/default.nix | 66 +++++++++++++++---- 1 file changed, 52 insertions(+), 14 deletions(-) diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix index 41c60ea5fe8..38bd3623d29 100644 --- a/pkgs/build-support/build-fhs-chrootenv/default.nix +++ b/pkgs/build-support/build-fhs-chrootenv/default.nix @@ -14,11 +14,36 @@ assert targetPkgs != null -> multiPkgs != null; assert multiPkgs != null -> targetPkgs != null; assert targetPkgs != null -> pkgs == []; + +# HOWTO: +# If pkgs is defined buildFHSChrootEnv will run in legacy mode. This means +# it will build all pkgs contained in pkgs and basePkgs and then just merge +# all of their contents together via buildEnv. +# +# The new way is to define both targetPkgs and multiPkgs. These two are +# functions which get a pkgs environment supplied and should then return a list +# of packages based this environment. +# For example: targetPkgs = pkgs: [ pkgs.nmap ]; +# +# All packages (most likeley programs) placed in targetPkgs will only be +# installed once--matching the hosts architecture (64bit on x86_64 and 32bit on +# x86). These packages will populate the chroot directory tree. +# +# Packages (most likeley libraries) defined in multiPkgs will be installed once +# on x86 systems and twice on x86_64 systems. +# On x86 they will just be merge with the packages defined in targetPkgs. +# On x86_64 they will be added to targetPkgs and in addition their 32bit +# versions will also be installed. The final directory should look as follows: +# /lib will include 32bit libraries from multiPkgs +# /lib32 will link to /lib +# /lib64 will include 64bit libraries from multiPkgs and targetPkgs +# /x86 will contain a complete 32bit environment composed by multiPkgs + let is64Bit = system == "x86_64-linux"; # enable multi builds on x86_64 hosts if pakgs_target/multi are defined isMultiBuild = is64Bit && targetPkgs != null; - isNormalBuild = !isMultiBuild; + isTargetBuild = !isMultiBuild; # list of packages (usually programs) which will only be installed for the # hosts architecture @@ -75,7 +100,7 @@ let destroySh = ./destroy.sh.in; linkProfile = profile: '' - for i in ${profile}/{etc,bin,lib{,32,64},sbin,share,var}; do + for i in ${profile}/{etc,bin,sbin,share,var}; do if [ -x "$i" ] then ln -s "$i" @@ -86,9 +111,12 @@ let # the target profile is the actual profile that will be used for the chroot setupTargetProfile = '' ${linkProfile staticUsrProfileTarget} + ${setupLibDirs} + mkdir -m0755 usr cd usr ${linkProfile staticUsrProfileTarget} + ${setupLibDirs} cd .. ''; @@ -97,21 +125,30 @@ let # /lib, /lib32 -> links to 32bit binaries # /lib64 -> links to 64bit binaries # /usr/lib* -> same as above - setupMultiProfile = if isNormalBuild then "" else '' + setupMultiProfile = if isTargetBuild then "" else '' mkdir -m0755 x86 cd x86 ${linkProfile staticUsrProfileMulti} cd .. - - ${setupMultiLibDirs} - - cd usr - ${setupMultiLibDirs} - cd .. ''; - setupMultiLibDirs = '' - rm -f lib lib32 lib64 + setupLibDirs = if isTargetBuild then setupLibDirs_target + else setupLibDirs_multi; + + # setup library paths only for the targeted architecture + setupLibDirs_target = '' + mkdir -m0755 lib + + # copy content of targetPaths + cp -rsf ${staticUsrProfileTarget}/lib/* lib/ + + # copy gcc libs + cp -rsf ${choosenGcc.gcc}/lib/* lib/ + + ''; + + # setup /lib, /lib32 and /lib64 + setupLibDirs_multi = '' mkdir -m0755 lib mkdir -m0755 lib64 ln -s lib lib32 @@ -120,12 +157,13 @@ let cp -rsf ${staticUsrProfileTarget}/lib/32/* lib/ # copy content of multiPaths (32bit libs) - cp -rsf ${staticUsrProfileMulti}/lib/* lib/ + cp -rsf ${staticUsrProfileMulti}/lib/* lib/ # copy content of targetPaths (64bit libs) - cp -rsf ${staticUsrProfileTarget}/lib/* lib64/ + cp -rsf ${staticUsrProfileTarget}/lib/* lib64/ + # most 64bit only libs put their stuff into /lib - # some pkgs (like gcc_multi) put 32bit libs into /lib 64bit libs into /lib64 + # some pkgs (like gcc_multi) put 32bit libs into and /lib 64bit libs into /lib64 # by overwriting these we will hopefully catch all these cases # in the end /lib should only contain 32bit and /lib64 only 64bit libs cp -rsf ${staticUsrProfileTarget}/lib64/* lib64/ From c376b1afa08be5d7efe3ddd3c1c210485eacb53f Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Sun, 15 Jun 2014 15:29:18 +0200 Subject: [PATCH 0845/2163] build-fhs-chrootenv: fix gcc libs on i686 --- pkgs/build-support/build-fhs-chrootenv/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix index 38bd3623d29..b325c22a25a 100644 --- a/pkgs/build-support/build-fhs-chrootenv/default.nix +++ b/pkgs/build-support/build-fhs-chrootenv/default.nix @@ -141,10 +141,6 @@ let # copy content of targetPaths cp -rsf ${staticUsrProfileTarget}/lib/* lib/ - - # copy gcc libs - cp -rsf ${choosenGcc.gcc}/lib/* lib/ - ''; # setup /lib, /lib32 and /lib64 From a383e0f1b8f043310f570ec78bbac52cabdd8082 Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Sun, 15 Jun 2014 15:34:27 +0200 Subject: [PATCH 0846/2163] steam: add optional java support --- pkgs/games/steam/chrootenv.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index d7b8437450d..67f69aa4067 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -1,4 +1,4 @@ -{ buildFHSChrootEnv }: +{ buildFHSChrootEnv, config }: buildFHSChrootEnv { name = "steam"; @@ -13,7 +13,9 @@ buildFHSChrootEnv { pkgs.python pkgs.gnome2.zenity pkgs.xdg_utils - ]; + ] + ++ (if config.steam.java or false then [ pkgs.jdk ] else [ ]) + ; multiPkgs = pkgs: [ pkgs.cairo @@ -23,6 +25,7 @@ buildFHSChrootEnv { pkgs.pango pkgs.freetype + pkgs.fontconfig pkgs.xlibs.libICE pkgs.xlibs.libSM pkgs.xlibs.libX11 @@ -41,9 +44,11 @@ buildFHSChrootEnv { pkgs.xlibs.libXtst pkgs.xlibs.libXxf86vm + pkgs.ffmpeg pkgs.libpng12 pkgs.mesa pkgs.SDL + pkgs.SDL2 pkgs.libgcrypt pkgs.zlib From 573aa18e9f3527c23c88b250f101d17db116434f Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Sun, 15 Jun 2014 19:17:58 +0200 Subject: [PATCH 0847/2163] steam: fix extraBuildCommandsMulti on i686 --- pkgs/build-support/build-fhs-chrootenv/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix index b325c22a25a..89dd2faf3ba 100644 --- a/pkgs/build-support/build-fhs-chrootenv/default.nix +++ b/pkgs/build-support/build-fhs-chrootenv/default.nix @@ -213,7 +213,7 @@ in stdenv.mkDerivation { cd "$out/sw" ${extraBuildCommands} cd "$out/sw" - ${extraBuildCommandsMulti} + ${if isMultiBuild then extraBuildCommandsMulti else ""} cd .. ''; } From 5a74e1a6060723dd721afbd3ce8885c9f36c0a09 Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Thu, 19 Jun 2014 11:28:14 +0200 Subject: [PATCH 0848/2163] steam-chrootenv: remove fontconfig from installed modules --- pkgs/games/steam/chrootenv.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index 67f69aa4067..4844e6a5c87 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -25,7 +25,6 @@ buildFHSChrootEnv { pkgs.pango pkgs.freetype - pkgs.fontconfig pkgs.xlibs.libICE pkgs.xlibs.libSM pkgs.xlibs.libX11 From 3894e687218b6eacf42420bf26b148a04a20a20a Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Thu, 10 Jul 2014 10:25:19 +0200 Subject: [PATCH 0849/2163] steam-chrootenv: fix indentation --- pkgs/games/steam/chrootenv.nix | 72 +++++++++++++++++----------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index 4844e6a5c87..75bbca67ab0 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -18,47 +18,47 @@ buildFHSChrootEnv { ; multiPkgs = pkgs: - [ pkgs.cairo - pkgs.glib - pkgs.gtk - pkgs.gdk_pixbuf - pkgs.pango + [ pkgs.cairo + pkgs.glib + pkgs.gtk + pkgs.gdk_pixbuf + pkgs.pango - pkgs.freetype - pkgs.xlibs.libICE - pkgs.xlibs.libSM - pkgs.xlibs.libX11 - pkgs.xlibs.libXau - pkgs.xlibs.libxcb - pkgs.xlibs.libXcursor - pkgs.xlibs.libXdamage - pkgs.xlibs.libXdmcp - pkgs.xlibs.libXext - pkgs.xlibs.libXfixes - pkgs.xlibs.libXi - pkgs.xlibs.libXinerama - pkgs.xlibs.libXrandr - pkgs.xlibs.libXrender - pkgs.xlibs.libXScrnSaver - pkgs.xlibs.libXtst - pkgs.xlibs.libXxf86vm + pkgs.freetype + pkgs.xlibs.libICE + pkgs.xlibs.libSM + pkgs.xlibs.libX11 + pkgs.xlibs.libXau + pkgs.xlibs.libxcb + pkgs.xlibs.libXcursor + pkgs.xlibs.libXdamage + pkgs.xlibs.libXdmcp + pkgs.xlibs.libXext + pkgs.xlibs.libXfixes + pkgs.xlibs.libXi + pkgs.xlibs.libXinerama + pkgs.xlibs.libXrandr + pkgs.xlibs.libXrender + pkgs.xlibs.libXScrnSaver + pkgs.xlibs.libXtst + pkgs.xlibs.libXxf86vm - pkgs.ffmpeg - pkgs.libpng12 - pkgs.mesa - pkgs.SDL - pkgs.SDL2 + pkgs.ffmpeg + pkgs.libpng12 + pkgs.mesa + pkgs.SDL + pkgs.SDL2 - pkgs.libgcrypt - pkgs.zlib + pkgs.libgcrypt + pkgs.zlib - pkgs.alsaLib - pkgs.libvorbis - pkgs.openal - pkgs.pulseaudio + pkgs.alsaLib + pkgs.libvorbis + pkgs.openal + pkgs.pulseaudio - pkgs.flashplayer - ]; + pkgs.flashplayer + ]; extraBuildCommandsMulti = '' cd usr/lib From 23d5fd2e2ff091468f493043e14526c1b8f1556b Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Sat, 6 Sep 2014 00:30:10 +0200 Subject: [PATCH 0850/2163] Fix steam package --- pkgs/games/steam/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index ba5a410f3a3..9104bb40f77 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -8,8 +8,6 @@ stdenv.mkDerivation { sha256 = "08y5qf75ssk4fnazyv2yz1c5zs7gjiwigaibv8yz1gbr290r0b52"; }; - buildInputs = [ dpkg ]; - unpackPhase = "true"; installPhase = '' make DESTDIR=$out install mv $out/usr/* $out #*/ From 0dc8d73d17873ddce19c7472d67662a41c96ca69 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 6 Sep 2014 00:54:40 +0200 Subject: [PATCH 0851/2163] Fix munin test evaluation --- nixos/tests/munin.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix index ddbac590143..d18abd68ee0 100644 --- a/nixos/tests/munin.nix +++ b/nixos/tests/munin.nix @@ -18,8 +18,8 @@ import ./make-test.nix { ''; }; }; + systemd.services.munin-node.unitConfig.TimeoutSec = 240; }; - systemd.services.munin-node.unitConfig.TimeoutSec = 240; }; testScript = '' From f4ebb3ebac9ccaf1dacebba0550c21818101be3d Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 5 Sep 2014 16:50:48 -0400 Subject: [PATCH 0852/2163] klibc: bump --- pkgs/os-specific/linux/klibc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index df44cb68d8b..b948dbff2c1 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, kernelHeaders, kernel, perl }: let - version = "2.0.3"; + version = "2.0.4"; commonMakeFlags = [ "prefix=$(out)" @@ -14,7 +14,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://kernel/linux/libs/klibc/2.0/klibc-${version}.tar.xz"; - sha256 = "02035f2b230020de569d40605485121e0fe481ed33a93bdb8bf8c6ee2695fffa"; + sha256 = "7f9a0850586def7cf4faeeb75e5d0f66e613674c524f6e77b0f4d93a26c801cb"; }; patches = [ ./no-reinstall-kernel-headers.patch ]; From 7d6ce52d19281e3d0646782a899cf6623d41e4da Mon Sep 17 00:00:00 2001 From: taku0 Date: Fri, 5 Sep 2014 19:59:01 -0700 Subject: [PATCH 0853/2163] firefox-bin: update to version 32.0 --- .../browsers/firefox-bin/default.nix | 360 +++++++++--------- .../browsers/firefox-bin/generate_nix.rb | 2 + 2 files changed, 183 insertions(+), 179 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index 56ba95c661f..f24f44c1719 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -40,186 +40,188 @@ assert stdenv.isLinux; let - version = "31.0"; + version = "32.0"; sources = [ - { locale = "ach"; arch = "linux-i686"; sha256 = "8372c1227b75486e297fd914bac530a45b22b789e627638e010d4c25337f350f"; } - { locale = "ach"; arch = "linux-x86_64"; sha256 = "e01412aa570a462a3bb1ba851cd7133014b3299c0ad349c15534edc35c6d6397"; } - { locale = "af"; arch = "linux-i686"; sha256 = "e75bd2d41de60483ed1eadcf03d9cd57146210ff9fdfe04e984404ce4bca29f7"; } - { locale = "af"; arch = "linux-x86_64"; sha256 = "32697271215a0e63b7d0b25398d27772da5d53e88d020df24f170ebc341e5394"; } - { locale = "an"; arch = "linux-i686"; sha256 = "3a590702183a86283e4de415eefdeed6f95f1e5d48c64456c4d6db8f84dcfb68"; } - { locale = "an"; arch = "linux-x86_64"; sha256 = "98d35a6a2f0875a9723ed9511f3bea65f58da3196db3f75aaf7420d45bde33ad"; } - { locale = "ar"; arch = "linux-i686"; sha256 = "e632f104442b725cf8e0e25c9a924b166289e1fab601a70aee0a81394632423c"; } - { locale = "ar"; arch = "linux-x86_64"; sha256 = "603a054ceb36645881f52042e556572252e898bfa78cec04811e65f27b9db026"; } - { locale = "as"; arch = "linux-i686"; sha256 = "05e64b9113f450bfbfa1b99c9580dbb2442af35d6cc20dec0c7af379dd5d37db"; } - { locale = "as"; arch = "linux-x86_64"; sha256 = "85b57a101afd0c4aae040bb1f3523ddda3079d46ac8abe9cad826939fd274353"; } - { locale = "ast"; arch = "linux-i686"; sha256 = "5df5eb0db623b42d9a2c9be58807ec66f43a26dd1365d44202d4b0db50d6a6f0"; } - { locale = "ast"; arch = "linux-x86_64"; sha256 = "6faac3f3637bd68d6c20c73dd84c554afdaa136c4e142c26eb8142b7ab00895f"; } - { locale = "be"; arch = "linux-i686"; sha256 = "4a87051df26ddb3fd2cf7c2beabc2d403cbc4d2f2e7e0802fb11566722171b57"; } - { locale = "be"; arch = "linux-x86_64"; sha256 = "8194b851ed7f9559b78f63711df598ed094783eb2cc288fbd1e880d53118dde5"; } - { locale = "bg"; arch = "linux-i686"; sha256 = "f6f903529d3276d1aa55968d4978fe5977d45076db0ee99d87199d59a9441ad5"; } - { locale = "bg"; arch = "linux-x86_64"; sha256 = "bce34ee8ec314db0f7abfeddf491d15642dcedea125dc9bb7d7dda3915054940"; } - { locale = "bn-BD"; arch = "linux-i686"; sha256 = "9bd0e37ddf9a222263ca90308245e2078f45d754d8a2b0bc1e4dea13a5e7b581"; } - { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "debb3a9983e4219b6632cdfd09d04ab95314ba4e0bd7ff36fd89f0a748d25cdd"; } - { locale = "bn-IN"; arch = "linux-i686"; sha256 = "ea2c9d29f4a3dfe8e0f146979c47ccba835b81cb1f1ed6e95124a837918590fa"; } - { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "b2bf8e36ac1ca1afeae463bf95a289db7cf2d2fa303083ab405497cca2993b57"; } - { locale = "br"; arch = "linux-i686"; sha256 = "b4b9d2828e5387a65d0f63b2149400626cd47fc81b97b912eda11b3fe31d4604"; } - { locale = "br"; arch = "linux-x86_64"; sha256 = "c3af78f1215ffc1e9b6c193ba87d17e2f08e1a24856ee68aabf95b3ee7804ea9"; } - { locale = "bs"; arch = "linux-i686"; sha256 = "7930f10d5d43e4504b9f347bcb2a2ef451be4418cee86c199b3e98c38587a20d"; } - { locale = "bs"; arch = "linux-x86_64"; sha256 = "ee31279d2acf7286c9a59c99e68fdd1692b96247585230df20ea2bea5ee30ba2"; } - { locale = "ca"; arch = "linux-i686"; sha256 = "f22f7964180ad27a122e56f070c6a2a0e3b044fe15ec5046b04db03877a3b7c7"; } - { locale = "ca"; arch = "linux-x86_64"; sha256 = "84e8675f9613d1a8a49a760ee46d4625b88092cfc542e6b750384d0d5a0a465f"; } - { locale = "cs"; arch = "linux-i686"; sha256 = "bed550a83c763a8147ef862cca7ca36106bfc5b34ea81f008c94886b86a3dde2"; } - { locale = "cs"; arch = "linux-x86_64"; sha256 = "8bf76f388c6286a1b91cf460325b98c2dd08842031288617d9141b1368b5f62c"; } - { locale = "csb"; arch = "linux-i686"; sha256 = "2420bf49ff3429b3f186b17555b8b3250d44579b5ff7ce616914af646b5996be"; } - { locale = "csb"; arch = "linux-x86_64"; sha256 = "a0ee304a61b12ec1dd3caf5d876acbd9d2ad4443f9b96e73ecc1de8a1e16206f"; } - { locale = "cy"; arch = "linux-i686"; sha256 = "603a66c237e95534d2dbd004e7fd77b69d5b99b73cba797c7825aaca6d849c61"; } - { locale = "cy"; arch = "linux-x86_64"; sha256 = "69f68c024d6e9999b5a846d12c5a61ca63d962f6bd21737769d1fe5519916dad"; } - { locale = "da"; arch = "linux-i686"; sha256 = "da8ed391e8ae9729cf2af35700aff3f6900af208fee9eab6a6bd0fcb303abd09"; } - { locale = "da"; arch = "linux-x86_64"; sha256 = "7e3cc63eb61289e1006f683581345caaffe3ae39f7a636ff4f451b1e77a8ffb6"; } - { locale = "de"; arch = "linux-i686"; sha256 = "f191e74047cdddd43fa72242b1dce15a28160f62b4b8eae08ad117f4b27d6e0f"; } - { locale = "de"; arch = "linux-x86_64"; sha256 = "a81165d446cab525645ca2b18ef28cf253c6ee6267086d692a3904c79f7e5be0"; } - { locale = "el"; arch = "linux-i686"; sha256 = "eb0757aafd2a1c4bb9abeab01a3960d3ac21b92879f8dc7d24f485a43d305957"; } - { locale = "el"; arch = "linux-x86_64"; sha256 = "900f64bad286393f6d96f0ff00c6e78ae6cce998046cf506e2b3ec7a7b8e76c0"; } - { locale = "en-GB"; arch = "linux-i686"; sha256 = "99284b229b7bfcc44cce3ebeee523e49bd5d9c7d860345ad3e242af4f9848683"; } - { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "9a4e003441556422375d4bede21da27a03d31b5ec452ff467abcfffdfe363f4a"; } - { locale = "en-US"; arch = "linux-i686"; sha256 = "13b4297db52ef851b38f292eba2b2136e4c2f1453e004012fe8b1fbcf000abce"; } - { locale = "en-US"; arch = "linux-x86_64"; sha256 = "ce87f081c4867b9968a2695341001854aa6c1f4f19073d13f54f333cfed236fc"; } - { locale = "en-ZA"; arch = "linux-i686"; sha256 = "849584baf4c6dd330bf9c798e3e8923004a3a381642d4f684b5de3fb5b4fd895"; } - { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "635d0cb43a2b5f7f0401f961fd88fc0d6735223ad421ec0ef92a4ee16b29727f"; } - { locale = "eo"; arch = "linux-i686"; sha256 = "91da9571212dc82f5d7140e4de073189018f7f895a3b263a4f8840401b4b10bb"; } - { locale = "eo"; arch = "linux-x86_64"; sha256 = "77f39ab0168efe9070ecd881dbd2884fe5f35eeea17a63ad8d957398f6eef40d"; } - { locale = "es-AR"; arch = "linux-i686"; sha256 = "f4ec6f07e67195981c12b5cbc3a6289a6e9d29539014c034039bd498a40f9301"; } - { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "3f24135fd1a6fd2207bf1d80fc79cb34536b109e195e43a3a13eba0b68548c0e"; } - { locale = "es-CL"; arch = "linux-i686"; sha256 = "de3672a512473cc6edc48bb775bc9a405d0c9effccdb0cd46af5ce2593d67613"; } - { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "770134c2bd8bc9f2e629e355b8e3b0949f67dd2ecd1b3a1d513bff364e53b734"; } - { locale = "es-ES"; arch = "linux-i686"; sha256 = "4eeb5854427cde599468b90af70ae3e04eb9aff5132659f6e1ddb2f859f0be74"; } - { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "eb91e2e9b80cab85e6ab75e78a9b206a18bb647ffb247c0d5ed324ee219dccd9"; } - { locale = "es-MX"; arch = "linux-i686"; sha256 = "0aa0c85a51a50adb9eca5e5a1eda0ca11ddc15ad12b2d930ebe769f10d535433"; } - { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "3f340072c80c95283b17e797bf4fdbde9d1de55b5f10f1c9e8193f8426c6157d"; } - { locale = "et"; arch = "linux-i686"; sha256 = "4719961e58e755ea2d9b94ff7439e1f9e858b0dacbd8631f98fadebca36c72a1"; } - { locale = "et"; arch = "linux-x86_64"; sha256 = "70aa1a76414c50b00fc85be87a07b936c7f60d83037f13716862e8491ec8d609"; } - { locale = "eu"; arch = "linux-i686"; sha256 = "ea450d11b0cd3b4381797bf6ca48d74fb18d661864eccb365bc2d51b872b101a"; } - { locale = "eu"; arch = "linux-x86_64"; sha256 = "d543e7fdd4c27875d30a1d527219e257296c6010e80dc0d5529722aa82cc666f"; } - { locale = "fa"; arch = "linux-i686"; sha256 = "4b8aaf0d27f10474c6ec4eeec1418ffb08338475c5433199ac2db79aab5273b2"; } - { locale = "fa"; arch = "linux-x86_64"; sha256 = "df10d71c7a762696ee682ca705052b15031dc7e84aa396f67fa26463e3dcd353"; } - { locale = "ff"; arch = "linux-i686"; sha256 = "acdfec7656b48e5502692c408cd8c7543add80181130bdd2e0ec66ac44219a06"; } - { locale = "ff"; arch = "linux-x86_64"; sha256 = "a9a0041cba2f80b09a2f22da6f1e9bfdfc1cbf0f5c324a427a1758174901fc27"; } - { locale = "fi"; arch = "linux-i686"; sha256 = "304e90020134af5564d5c90c5d9fee6264aa871e82419408f5b0e9d97f8f8ff1"; } - { locale = "fi"; arch = "linux-x86_64"; sha256 = "bfb86547ea4e0a5650a152070a7651a7f63b0df366fa4aed7f890033332e64a5"; } - { locale = "fr"; arch = "linux-i686"; sha256 = "1ccef0f95df1571b9e378d97122303982f93251bd3ed70d0af93babc3459bad2"; } - { locale = "fr"; arch = "linux-x86_64"; sha256 = "93ffcc3bbba8b7e0941fe674f6a67ed378e75b37c3e52debbef2434ea75f2b09"; } - { locale = "fy-NL"; arch = "linux-i686"; sha256 = "20ae7baa888fdcb467388313fa51104f8ba77ca31b2bcd731e2d65a46ff75c3f"; } - { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "33a028be0c63dc892efc93bd03375c8c4f9be38acb96a2bc516300c204086b3d"; } - { locale = "ga-IE"; arch = "linux-i686"; sha256 = "ddf134c692d321744bd787b7833ccc9b06ef130865c8f8ee816d35ff55c344a7"; } - { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "e76e18b18a7468ee6a550e837abf04b79833ae084210f723d0781f2b81e3077e"; } - { locale = "gd"; arch = "linux-i686"; sha256 = "3c361e322be79ffaec9a382aacf3b9cc90f03fa664e35e283cd8572e66d3b8b0"; } - { locale = "gd"; arch = "linux-x86_64"; sha256 = "5e95305321ff373d9cc6eee522dbd5ee948e6c298f2fb38d655965ec1de448e0"; } - { locale = "gl"; arch = "linux-i686"; sha256 = "99b9dbf38f50f5385072d72d14684e980aead6125c4c91cfa8e69bd5c7f1aa0e"; } - { locale = "gl"; arch = "linux-x86_64"; sha256 = "372bf1395f96be3b41d05630267354f7a6c0706e90f5e21320ab5ebd5d411d41"; } - { locale = "gu-IN"; arch = "linux-i686"; sha256 = "0b8429553052c8e23d3aaf1210d53b51fac2250d1d526311a22757ebd85ca54f"; } - { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "da6a7d7292965a0c1eaf58564d9bf85192719831208e8762d06c7082ee9824d7"; } - { locale = "he"; arch = "linux-i686"; sha256 = "78ac97da0515eb5a94455dcbf4cbd9a8d1ddbf03d4b8d29bad7b9e8fdbf5ef12"; } - { locale = "he"; arch = "linux-x86_64"; sha256 = "c0d853c639cfa7b14ce10ee50776f3aebf0c84807bb59d9ec6e0e20554ae8ed2"; } - { locale = "hi-IN"; arch = "linux-i686"; sha256 = "82376fe3005c56d2e895e1ffa0e9233f3885700117a73d1c49d67d742e324752"; } - { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "0ed6234fa9c5d449437d133c83f572ceca3dd82df6cbee8573c9f137c50bcf9c"; } - { locale = "hr"; arch = "linux-i686"; sha256 = "10ff3539c27dc49763fe322e9540878d421bdf590d9a307fecc6c158472889c3"; } - { locale = "hr"; arch = "linux-x86_64"; sha256 = "f97d7e3b290b0fc6a9116198da7fc7eb32895da74a3ad572d29577e14ab12f20"; } - { locale = "hsb"; arch = "linux-i686"; sha256 = "bba1a949823e70d1b5f4a0bec27437b6fc11638fa67b2ca286a833a0d44f5ef8"; } - { locale = "hsb"; arch = "linux-x86_64"; sha256 = "5efaf3ec7f7b5d94df17d2fe0d5877a35442d33ccbf141fcf30e11351f9b4000"; } - { locale = "hu"; arch = "linux-i686"; sha256 = "88a86463f2a47e38886cd2e8b470702623c772086b71d55e61de80e1c1be4fb3"; } - { locale = "hu"; arch = "linux-x86_64"; sha256 = "967ff3bb62c8dbc93a25f75bec73803428b3fe5024841d3e2d97e444c1d27304"; } - { locale = "hy-AM"; arch = "linux-i686"; sha256 = "4bac63a8b8fea36c3dab794dff933972f9adff7f91a7d3957d4edc3c60534016"; } - { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "9c26a2438462429f96b2d8bb8c4566b1b1f7d03200ed68aaca4eb6602342c33c"; } - { locale = "id"; arch = "linux-i686"; sha256 = "e36cd7195d5cd21afd97f31a5108af5999ade8a97f92db3e00067f3cfc31cd72"; } - { locale = "id"; arch = "linux-x86_64"; sha256 = "191e47625a6764670bfbab673989e5b2e6ad45ad1c3a0544a129afe8cb963171"; } - { locale = "is"; arch = "linux-i686"; sha256 = "c839d21d4e16b05bd9aa995ff2124b6b8418ca1405a8f3bfc70fb65b5710488b"; } - { locale = "is"; arch = "linux-x86_64"; sha256 = "16d8df9867e6a13a2be7408f459e2c67d449a47105cf9709e4a743abed8229a9"; } - { locale = "it"; arch = "linux-i686"; sha256 = "7f9c3909cda97d9a40f2630af4f11e6dd8e29f45ab949348123c4334f6aee8fe"; } - { locale = "it"; arch = "linux-x86_64"; sha256 = "52f95491dbf4ee9a1f2ee552feb8a30b8196b6747064e45d5a98d0fecfa11f67"; } - { locale = "ja"; arch = "linux-i686"; sha256 = "6586fd1d792feea4e98442736f06eab15d7de526667db6a3ce7de1afac9fdaec"; } - { locale = "ja"; arch = "linux-x86_64"; sha256 = "0ef883bdf3d415a5795bd613af05b16a406b3af3415ac1c1ebc646dd76f76467"; } - { locale = "kk"; arch = "linux-i686"; sha256 = "39167c7ee9f0e9b62308fcaba0f061bda0eaac9d3bb707c6556f71085c7ddd54"; } - { locale = "kk"; arch = "linux-x86_64"; sha256 = "ec2c9ae1f5daba1e3b0c8a4f24737b0968bc818748b682418f02983e25302703"; } - { locale = "km"; arch = "linux-i686"; sha256 = "797747aa402ad42b6addd04d69995b0ea5c628da71f2cce15c8e612d15461189"; } - { locale = "km"; arch = "linux-x86_64"; sha256 = "fd75e5fbba75dd8a6cdafdb1c4983bfd4336f300df559518d3fff0e6e7e482d6"; } - { locale = "kn"; arch = "linux-i686"; sha256 = "fada07e5679bcf174078e0c596cd121301f72c307401922e5772c6fa79eeedbe"; } - { locale = "kn"; arch = "linux-x86_64"; sha256 = "d9cbb3dc02e3db54ea691dc09c882fcd65fd99bb1d0250e29e3d0a37df72179b"; } - { locale = "ko"; arch = "linux-i686"; sha256 = "22bd8b1dec10117579a267d5bb9b10f460c27c9419305aa1cc4456b09fcd7df5"; } - { locale = "ko"; arch = "linux-x86_64"; sha256 = "0e9da5e79ebb149a62606e002202b70908d329a26c213df35480962fb05a9f7c"; } - { locale = "ku"; arch = "linux-i686"; sha256 = "e5f55ab5112ca3a137c4df37460304ff7e33471e3e95e2709ace1cb32ef88084"; } - { locale = "ku"; arch = "linux-x86_64"; sha256 = "224385ae3a9da1fbbbc0d309eba0de6f64e29da4de29299cb1c778cb5a57c968"; } - { locale = "lij"; arch = "linux-i686"; sha256 = "e39f5edc61e25f490dcae7ea4fdc91033f5e868cbcaf848180c40bd920455f17"; } - { locale = "lij"; arch = "linux-x86_64"; sha256 = "f6e9725f368ce4df3be078a1ad268a29cfeba01e5606de85fbe2e375b3a5e263"; } - { locale = "lt"; arch = "linux-i686"; sha256 = "46b2c694c60540ded3d3f6cb504bc5b7a709cc0940ff6b3223f05d7b8e1f7309"; } - { locale = "lt"; arch = "linux-x86_64"; sha256 = "51d10f5c63e377b0f9e46d7ee12ea8552b8df57d6e8d9334555b7fbab617c8a4"; } - { locale = "lv"; arch = "linux-i686"; sha256 = "8e224c3efcca9864255332b7f7c089c0c04b0eb2dfe60cd04d7dd6a61d807852"; } - { locale = "lv"; arch = "linux-x86_64"; sha256 = "e53090be92e7557be5d38aed25ac0a2fb1006d15bb38d61141473f4b38c6e26c"; } - { locale = "mai"; arch = "linux-i686"; sha256 = "479795f542d17476bb721d3e7c7fef565617528016085976a63b9e5864b4dd31"; } - { locale = "mai"; arch = "linux-x86_64"; sha256 = "8daa2882e27a19894ded43885e868dd7203f506cb1bd25ede1d36328fffbbe0d"; } - { locale = "mk"; arch = "linux-i686"; sha256 = "78f6fa53d5fda46fbe54b9978acaa75faaf094d2d3b8e464539609253da07c52"; } - { locale = "mk"; arch = "linux-x86_64"; sha256 = "47a147a93dc7d1e683a57f0d7ddd7fbe3d944145932e0773be8dab6a7a0b4b01"; } - { locale = "ml"; arch = "linux-i686"; sha256 = "6ac6a36596db8bf675df76abc629fc99ff019455f8c08842668a08cb40b67e9a"; } - { locale = "ml"; arch = "linux-x86_64"; sha256 = "c4d4bed760c429c5db1d5c42682127794f81e20182aed0fc37f4c9aaf7bc582c"; } - { locale = "mr"; arch = "linux-i686"; sha256 = "a2fc483f2aca2cbb7bdff42e4b27b711fdf27f46bee707d1c6d664c391c95def"; } - { locale = "mr"; arch = "linux-x86_64"; sha256 = "5209926b3130b8b75d933287872af62ac752fc9e3fc170b540a2f0bc49d97bdf"; } - { locale = "ms"; arch = "linux-i686"; sha256 = "926944ef9a3807b3379bba4b2fff05d8c2776cc4e3239b0b2bd2e5424151e6ee"; } - { locale = "ms"; arch = "linux-x86_64"; sha256 = "20cf8557fa41119febc99bbc6de10ea7e97d3c1abc2245241db862ca8a735db1"; } - { locale = "nb-NO"; arch = "linux-i686"; sha256 = "5a2778d9e93ae4371ad29737904aaecacf494855b45e5e79cfe773410f6600f6"; } - { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "8cfe4c778ee258dcd511990fd71eefcda46ab73c4448705e3815c5c371ee6ea1"; } - { locale = "nl"; arch = "linux-i686"; sha256 = "350efbbaeb3ef9eee16a398ce482c2a3790f5b85dda6177857d7448de03af9e1"; } - { locale = "nl"; arch = "linux-x86_64"; sha256 = "6d1310f7e2ebe5fc846f966bfa930a2bf3cd0877260de40b01496cb860630c37"; } - { locale = "nn-NO"; arch = "linux-i686"; sha256 = "6447690e509ec0d1306bbfa484df82e62dd5909603b43440443c28bf2f489f24"; } - { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "6e71ad4fe85b02f8745e6b3b39a6f69f13fff45fd555704747d1f59fcf64447a"; } - { locale = "or"; arch = "linux-i686"; sha256 = "71866d15af41df9d98716544d25d8fc2069a9a8f92cdd8180731e3b3fb3c3492"; } - { locale = "or"; arch = "linux-x86_64"; sha256 = "22ace7c20948526f1011e16581c870a919c4d8002bd0c3210ae8f702d1f8a03f"; } - { locale = "pa-IN"; arch = "linux-i686"; sha256 = "12eabc66d39bd767c129c1a1777a6a13812efa0bc3df430dd7940908f53094ec"; } - { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "54501bca85e231e9fab0aa894a6e566966fdbd172fc45888d97eb828e248d105"; } - { locale = "pl"; arch = "linux-i686"; sha256 = "e16acf44c5ab2ee708ba0f74301106a5fc0c36cd65ebd302043af09803f30138"; } - { locale = "pl"; arch = "linux-x86_64"; sha256 = "a1532684d5d0e9e2091a5d42202dc6b49ee8c21df14600f0772e1f0f53f6d638"; } - { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9827bfda689b01e795d4ddf7ab1169e25cc1728175af74e8a08fa3e8ef40e40c"; } - { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "bfe02180011d564fe8deff4d3f3f8e3a6bfde05469738b5b2f8849a2ee485ba8"; } - { locale = "pt-PT"; arch = "linux-i686"; sha256 = "83fcda599d09946da8a968d903fa12b93502a23337f019d3217cc80f81607fe7"; } - { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "533050be56e6dbf06a5631a5b7a7db2da4f5514f224cb787600671c79c020379"; } - { locale = "rm"; arch = "linux-i686"; sha256 = "62906af16b8e179be3015f6be9cf4b9481fcc506044c053373f9bc2e315729fa"; } - { locale = "rm"; arch = "linux-x86_64"; sha256 = "f968ed9ba8ed43d0d52b02db23b2badf6e6a2544d105f23d6b09b80a07a28ee3"; } - { locale = "ro"; arch = "linux-i686"; sha256 = "503fc4cf0de24ff5b1658d09264f8bb3b131c678f61c554ddf1006633ff2d336"; } - { locale = "ro"; arch = "linux-x86_64"; sha256 = "514625ffbf4af4519a7671896f2f2797a1b17057dea356f7c17fa52a17736358"; } - { locale = "ru"; arch = "linux-i686"; sha256 = "01521832ab38fd46751578691b82c0283d9c7a68459ab7225328afa285699b01"; } - { locale = "ru"; arch = "linux-x86_64"; sha256 = "16b780ed767ff0537ec4619453d8cd3ebdcf124704d03d1741b5501007078dee"; } - { locale = "si"; arch = "linux-i686"; sha256 = "35ee6cded95ea13c8c480a46ffc9398f50d172aff2030611d6713b04ddc1c54d"; } - { locale = "si"; arch = "linux-x86_64"; sha256 = "c4ad9cec257bacffbcf3b4c84c63ec52e1ce830754b5be0b622a44ab223919ad"; } - { locale = "sk"; arch = "linux-i686"; sha256 = "53a6bc5aebe5edf4bad34e163a54a3bed30a7c74ff883463caf057793ac3f58e"; } - { locale = "sk"; arch = "linux-x86_64"; sha256 = "5110806bb3f02317b542bb79ce34c6bffeef68982807a5e53614958fb9adc779"; } - { locale = "sl"; arch = "linux-i686"; sha256 = "3a58652b394fc2ffe1abcc1e89596f3e9357a2455cda8a0c76a44ff20331ada2"; } - { locale = "sl"; arch = "linux-x86_64"; sha256 = "fb733f327080e5b4e2ae079a5cdbdb645fde1c9388368c13fcc6af4d3d91da7a"; } - { locale = "son"; arch = "linux-i686"; sha256 = "56a262e4411404e94747312858ae1e7ca99ea48171361f03cdc660f8b0da0da2"; } - { locale = "son"; arch = "linux-x86_64"; sha256 = "db77a5cab885f96efcbaae8e9f284ad30ab78aae1a405a5f1c2ac7d4d2e43498"; } - { locale = "sq"; arch = "linux-i686"; sha256 = "fde7c85f09997ab3f7918072a9577f8d70947c5fafcc70782d684759146941bd"; } - { locale = "sq"; arch = "linux-x86_64"; sha256 = "9865054be5d0a3913e4fa16aafdacd345607955b1d733d978033a2825d926c32"; } - { locale = "sr"; arch = "linux-i686"; sha256 = "87f9f7d46a211b9205df5258f551b7c42264fdb81c70f836a37b3d5a821c4c03"; } - { locale = "sr"; arch = "linux-x86_64"; sha256 = "ed03914c382efdec2f218e87e8efdd2b761e16ad0cc2a646b02050f27503161b"; } - { locale = "sv-SE"; arch = "linux-i686"; sha256 = "1e28e39ac45177607a2ff3c71d3317b8b777679bc9e8dad2236991f05c6823ca"; } - { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "81c2fdc5ec9f338b1dc3cd5d2e8dd62cf106c4cf759826be8eb7f3f3f550c49e"; } - { locale = "ta"; arch = "linux-i686"; sha256 = "8e27ba1c8079745a93bebf6f7e4dbfa9ffc32b91d6dfa12975497466f3ec1550"; } - { locale = "ta"; arch = "linux-x86_64"; sha256 = "c244aeff11608d6f1a8513045ab53d4909af02915761b15ff34ddbbc9995dcbe"; } - { locale = "te"; arch = "linux-i686"; sha256 = "32e404eeeebeb521d909cc64fe1ba3c0b40130f7a4b4ae742a48ba61e8b668d4"; } - { locale = "te"; arch = "linux-x86_64"; sha256 = "83b5cefddc6308050c24d9fb30818fa1fb3c1d4ba9a2de9d8fc99878b01855b4"; } - { locale = "th"; arch = "linux-i686"; sha256 = "009cb39521635c1c89717b3d526a59c05e7ab82082ec31f0fd482800f01d3e8b"; } - { locale = "th"; arch = "linux-x86_64"; sha256 = "1fe31902ef44e7049e9efa4774098c00d3ecad0a4c4f585716cb4bec158e3b88"; } - { locale = "tr"; arch = "linux-i686"; sha256 = "e54ee04479b9891420af6fc1d639da121b677660a5bf1dfd8565792c9e1cdbdf"; } - { locale = "tr"; arch = "linux-x86_64"; sha256 = "bdfae1142a7714a0be9bd24b02582a9ab9913c17d130cf0b2928deb657f8bebc"; } - { locale = "uk"; arch = "linux-i686"; sha256 = "b2d6b518e86c3bae1068f7a6d7cdc975f3b0f99e514c5d3d18dbe5e62d15dbce"; } - { locale = "uk"; arch = "linux-x86_64"; sha256 = "71bd0518b69c911dbb21297cd676ed66231a3b7bc59090a9f6a85d6882263277"; } - { locale = "vi"; arch = "linux-i686"; sha256 = "390fb219da7169d69a7aca1df883750d56bf34f0f7b6b49781d6f3c6b8962962"; } - { locale = "vi"; arch = "linux-x86_64"; sha256 = "1c5af9f646ced5533223bca6dd36f364c0ca9d3f02ba93797aa8b091144cf7e2"; } - { locale = "xh"; arch = "linux-i686"; sha256 = "5d0d04c7c84ffc51b11f99205ae767954b78d98c3a2d18bfcceca1cb292fcd9a"; } - { locale = "xh"; arch = "linux-x86_64"; sha256 = "5fafe2b375ee0935da52ec9037c4f515d1be5cf783548215d289a300e06bb9de"; } - { locale = "zh-CN"; arch = "linux-i686"; sha256 = "1361b7cfc08d4d000107a244ec2a163ab27616b1d1db13917f34acc4d4167d34"; } - { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "66aa04a7b5240df285afd37608c816b7c09cb365c6d0cd5aa4dbe8a7be61d824"; } - { locale = "zh-TW"; arch = "linux-i686"; sha256 = "c0e3d9b584ba10e2a67a904253b2d93ab3546465e69619f932b566ad6b04a003"; } - { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "6a24f9f3631bc0bcc15de6a124c0f7dbcee6d0099e2f0b0622a18e54c04620a9"; } - { locale = "zu"; arch = "linux-i686"; sha256 = "7fa59f6ee26d48f992015b0bb667a0c230cea854eafa67d7c4e51d38e1a267d3"; } - { locale = "zu"; arch = "linux-x86_64"; sha256 = "4af969f1e0d0703e83d903fc2a30739ae2ab42cc3a24219be8bfd152490970c5"; } + { locale = "ach"; arch = "linux-i686"; sha256 = "cef5938e567e6dc4d0460c1eb3f770d2acfa045d98186f6a490ad53b3c69d302"; } + { locale = "ach"; arch = "linux-x86_64"; sha256 = "bd5427dfd1d11f8a9a8d4803608453fdb11a7d304aed618f26b3fd6667a0d131"; } + { locale = "af"; arch = "linux-i686"; sha256 = "48e97eb3c65b381b8fe579d9a3cb4e4f28f06137043be1a54288f3e85c1f8312"; } + { locale = "af"; arch = "linux-x86_64"; sha256 = "fea64b289b3ee69ec0efa55b0d57998485125bf000c78e1c4567be5b40e1ac34"; } + { locale = "an"; arch = "linux-i686"; sha256 = "022110d1b31f51f5e9aedb2eac01159fd7c14e9c787530c246ba907e68317d0d"; } + { locale = "an"; arch = "linux-x86_64"; sha256 = "418f9b1061950b93ff8a2889a47ebd65c792a221510eb15ec6e0d67c73fa4da0"; } + { locale = "ar"; arch = "linux-i686"; sha256 = "228739f558428aa97364da3869ab28e68499e103bac0af7c391f1ee66be97754"; } + { locale = "ar"; arch = "linux-x86_64"; sha256 = "44255bbfed7a804a205846a2c634a0ec4868a05f58a9ce0350ac3d2ce147f500"; } + { locale = "as"; arch = "linux-i686"; sha256 = "0a40d888a10b2be8b76ddab70e32a534a3e95a029aac4c8945bb71b4a6e63d3d"; } + { locale = "as"; arch = "linux-x86_64"; sha256 = "a55a81da699c51b3bb422ba0942d548373d2a207c6e8eb0d7abde50dca6dc57f"; } + { locale = "ast"; arch = "linux-i686"; sha256 = "61826f0098f2535a1019eb1c7e21fb8971f66fa1d39bf773a130e96cfa99897a"; } + { locale = "ast"; arch = "linux-x86_64"; sha256 = "4b84870ecb220189ab59e837f74a2195a38265226dce5542841187d35dbd18dd"; } + { locale = "be"; arch = "linux-i686"; sha256 = "40029f2cdcb4964a43193456f436c3a9428face17ed3ef4b655e3f1bc47c217c"; } + { locale = "be"; arch = "linux-x86_64"; sha256 = "7490f9815dac528c32d0254c9f5e7834e4af6b4e61d6618d235481b0e086906a"; } + { locale = "bg"; arch = "linux-i686"; sha256 = "320e9f8c338d180cd90390b3dbf38b2ed17ab9606ac13c79d64ae114e72653a1"; } + { locale = "bg"; arch = "linux-x86_64"; sha256 = "921ef8a9beb4469d5faba09e6786415dce37030a4c24f6057ec5fbe301113dd4"; } + { locale = "bn-BD"; arch = "linux-i686"; sha256 = "69833779015e09952825d0fdc6fb9283379c9b9a26d7bad4a12bb29bb74c277c"; } + { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "de3f0efafc6b838e90d550287d574f9fa26c9b2690fa1fc48b766b9d478fc1b9"; } + { locale = "bn-IN"; arch = "linux-i686"; sha256 = "aff667e3277bf61f3b117ebd13a3ce469e9bf6ba58b7dd736d8913b234c4a4a4"; } + { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "c446d8a57a1542eb2aefd4a0b5304917dde8446c94c11d8f80110ff881878bb2"; } + { locale = "br"; arch = "linux-i686"; sha256 = "5f05c4bb347f5150c5685e7308aee338b6d92b8cac204e7afb326d2c44ff8dd8"; } + { locale = "br"; arch = "linux-x86_64"; sha256 = "6dfa3436ddcf6f47e7d40846b09ad4c7555aae40f25f5380b30a0776d0368d37"; } + { locale = "bs"; arch = "linux-i686"; sha256 = "7df19221c455bfe29e9a8eb6f48088e37be5a493319c46e45b48a72ebbac1df2"; } + { locale = "bs"; arch = "linux-x86_64"; sha256 = "aaa2c0f3eb430337e865732c0bbf3d5efe72869954607f5560c8925bd736cfba"; } + { locale = "ca"; arch = "linux-i686"; sha256 = "9c725ba77e778144e31b907b2b4cdd4f045dc6ce12bedd9bbb92a98224a44327"; } + { locale = "ca"; arch = "linux-x86_64"; sha256 = "30a27b9558bcc7f7c03f4a204e20aabc9b1d4fd5240a93fe14e02f95ba4f34e8"; } + { locale = "cs"; arch = "linux-i686"; sha256 = "491b7114f686235233e3ceb2c7db47d8bef426bd1578545f5d1cd001b15afb71"; } + { locale = "cs"; arch = "linux-x86_64"; sha256 = "098596de29865bac4dcb642d8da801b7707fafbc60f25e5c1803ed8aaaa77d50"; } + { locale = "csb"; arch = "linux-i686"; sha256 = "a53579fc73f5bf4811ab608320b0d889406be9b655574fbaef2aa8db7478e023"; } + { locale = "csb"; arch = "linux-x86_64"; sha256 = "903bb549115252d2850ab7cbca9d46890cb8ee5f40ac7b8740fc3d81a1225c68"; } + { locale = "cy"; arch = "linux-i686"; sha256 = "0f3db887046a8f5b597eca5d943a9eed295f8ca7b8831f8c27ec6c833c63b2b4"; } + { locale = "cy"; arch = "linux-x86_64"; sha256 = "ab680b6ef58106766de8aeae909ffd313abc03f2400a06e2b3f8371e211a0a0d"; } + { locale = "da"; arch = "linux-i686"; sha256 = "47280c825f065cfbfccbef0077032f3c04a75f860eb5a31861515295b6a85050"; } + { locale = "da"; arch = "linux-x86_64"; sha256 = "25a93f49d789d3d5d6d3fa82cbfc5f5c195a8da4d1dfb12c113d29b125e71e79"; } + { locale = "de"; arch = "linux-i686"; sha256 = "2922c1a06f37322c05b6ad66a95fd7cdc2ad10a86ee082739810060a932bea55"; } + { locale = "de"; arch = "linux-x86_64"; sha256 = "5dadafb7e44eb174c717101a336b00a03b8f7fefb606f356c0ae4b00209d5723"; } + { locale = "dsb"; arch = "linux-i686"; sha256 = "047f3c1b05ac28e1e566451e6b93fbb88e300afb0f264faf17e72ac5f9aae201"; } + { locale = "dsb"; arch = "linux-x86_64"; sha256 = "f0de9a6713f197a4664183b4fe80179543588cbaf83d4f174f360177e0149a6d"; } + { locale = "el"; arch = "linux-i686"; sha256 = "5343cc2302d49a57c3fabb7b03ca4f11a0eb979bbab7442262bc34186b3bd596"; } + { locale = "el"; arch = "linux-x86_64"; sha256 = "91ab977a9089fc68ed54062cee6d0a71caa2591ec5d4994181d8939605baa114"; } + { locale = "en-GB"; arch = "linux-i686"; sha256 = "1d4c0d24b2558bd311f9f6cf44186596f9634d7a5c69b4b7648b59a2443272bd"; } + { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "7c13ae7155b92b7aaec599fffdbc8c02fde8b6575f892fd3e5edf67c3102790b"; } + { locale = "en-US"; arch = "linux-i686"; sha256 = "1a6d8fe7cf0df7ccee2047c2031da4b8f0ef8271d6413e0c7bc87bf208c8af90"; } + { locale = "en-US"; arch = "linux-x86_64"; sha256 = "3b9793fe7957031f88f240254326697e685de3690aac1fa13d447cb2a23a2738"; } + { locale = "en-ZA"; arch = "linux-i686"; sha256 = "63fd411e37656bfe56fec468f47dca7a61ffe5f9be3ab1c23ad252b8199f39d5"; } + { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "3a5510c7a996a50e94e68c05cff1fbf31a7cc787d2bd173828d867d4b8d22243"; } + { locale = "eo"; arch = "linux-i686"; sha256 = "cf2004a5134c6240bfb05f499cee09f425295ce0bd8d170b0832a845b4d255c3"; } + { locale = "eo"; arch = "linux-x86_64"; sha256 = "186753142ed4c28eded8861e399ff33bc7738ba75c112507b4acb53ccd11b13c"; } + { locale = "es-AR"; arch = "linux-i686"; sha256 = "57cf456aed64517f69801d6c19a143aa9a90f85de015be22b8a2e2d4a6b33d23"; } + { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "09c833d17aa31e99fa0aae3eb5f296c643c34ea22d94f8b5ff64e2b871e70dbe"; } + { locale = "es-CL"; arch = "linux-i686"; sha256 = "5b2fca43e84335e8b0cdb5d341402d5b1b57016881e7112a0ae8f5c5374f8857"; } + { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "f1a03f0e4c69d796d5fd4b26aed1d356dfdcdd5ce7f180bf045a97ce308f13c2"; } + { locale = "es-ES"; arch = "linux-i686"; sha256 = "0167a7dcc31364818981372dce640c408a4bfd2983b5bc3d2726b5525873361e"; } + { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "92dac800255e1ba12c48b8078b8098ae1b3980401c6da54c3798d853c6685c13"; } + { locale = "es-MX"; arch = "linux-i686"; sha256 = "e0f7c028869ac2d1edf582622fa2dfe5c6c6dfe042f8d74bc3ec9080dc70a36c"; } + { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "02669ae0b19e3b1cb8589b583b6de0b0b62f2987ef126c7fcc2efa2cd63e714f"; } + { locale = "et"; arch = "linux-i686"; sha256 = "855f6c7bf2bb01e08b8e20e7c8d633000c70e64fd37405695be7cf3cee515be1"; } + { locale = "et"; arch = "linux-x86_64"; sha256 = "348dc193a4bfc6fc53d203cae7e5b5af68c56bcb01ffec0f7c427017f5d3b98f"; } + { locale = "eu"; arch = "linux-i686"; sha256 = "7a79a9967b0522199c62ea03edc27cd2752c80eeba816a9334e9624f48c7525d"; } + { locale = "eu"; arch = "linux-x86_64"; sha256 = "5cc04f7915a31d54d858d0e532e49829ab45ccd250416aed1612774c960d0cb9"; } + { locale = "fa"; arch = "linux-i686"; sha256 = "59ff7d6cd90eb7a4f2e34adacec95ef728e4fe1739a098a22da8843c5a2da1c0"; } + { locale = "fa"; arch = "linux-x86_64"; sha256 = "529a65d93b5da907cc8f2389996e783d261fcd03711c92aab7be0ee05e92aba5"; } + { locale = "ff"; arch = "linux-i686"; sha256 = "62c8c769fc847b2fd564e85748e0b8b1249555d86e09d38212566e4dbbb9526c"; } + { locale = "ff"; arch = "linux-x86_64"; sha256 = "fbc42b7aaf60f83da91b76905ddca103cbdfa660824343348c7b5325977b9e70"; } + { locale = "fi"; arch = "linux-i686"; sha256 = "7377752db6d01993cde0ac9d73234bf8538cee217e3d11089a50c4c2be447751"; } + { locale = "fi"; arch = "linux-x86_64"; sha256 = "5909ddaa88ad8408b8590518ea4b738d7f581ee827ecd679bd8ebd2208287c5e"; } + { locale = "fr"; arch = "linux-i686"; sha256 = "7c9de38b184ca8d10b0d7035c0b31cde79103a25efc516b98f6a2d91e054d7e8"; } + { locale = "fr"; arch = "linux-x86_64"; sha256 = "8668f081a5c976cde7bcea6727d1885d77711c11bbb4a0023c9759d6f0bfb619"; } + { locale = "fy-NL"; arch = "linux-i686"; sha256 = "dff7ae0b0a4b18eaae1501a03ad754e71794cef3981334bbc77cd55f15b42fa2"; } + { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "3b20b9fe8eee700192296d70b93ff5f21d6667093cbff16303679a3491c78fd7"; } + { locale = "ga-IE"; arch = "linux-i686"; sha256 = "fb4c5e7689668af719f2ed2c16d7605298e61003b6d9490a67742b6146b0f98b"; } + { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "f3d379924e56b8296004be9c3dbf381cf3535bf1790e44ee2bb1f6477829def1"; } + { locale = "gd"; arch = "linux-i686"; sha256 = "1768c0e05770c502fe3122dd1c37dbd1e51b9b5c5aaa7cf57a5590e9217393d4"; } + { locale = "gd"; arch = "linux-x86_64"; sha256 = "95d77215bd1332cefba9dac1f55eaf3f479927526ca6ed38281837b3c8fbac39"; } + { locale = "gl"; arch = "linux-i686"; sha256 = "0af5c23d8e11ec797537c9710b179c7f6ae182bb4831f535848aba0b229ea89f"; } + { locale = "gl"; arch = "linux-x86_64"; sha256 = "1befe0623ee71fdc3f7508b532a411fb5f8438ca06963f79cd9c3d20c3fdaa7f"; } + { locale = "gu-IN"; arch = "linux-i686"; sha256 = "d61a8bc5eb6b78a4a9d36078ce5946487e0bb9f89ceaba0feb7c449d486feacb"; } + { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "bcfdfe861bfd7447cab99a03826013e77e004ef9b01927b5dbeb0afd40f46f67"; } + { locale = "he"; arch = "linux-i686"; sha256 = "0b4c596542e65af735a2f66a61743492c146c51373acf7026274378033a6431d"; } + { locale = "he"; arch = "linux-x86_64"; sha256 = "96cd11044613c0a924eee6272313f21e01b987982732d6bcc362935d799fa6ff"; } + { locale = "hi-IN"; arch = "linux-i686"; sha256 = "8640aae3dc8d965ac3c0aa65e3579e7613d0c78dfabb06d23840d39df8881ec0"; } + { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "b1b84b405b4d0f5c87ab750ed5942d29018e46b73e298296dc9931f8b3981998"; } + { locale = "hr"; arch = "linux-i686"; sha256 = "006e932d4b7474b5f24628d08ec5e28d45b9a23dfb144599fda2b0969f57863e"; } + { locale = "hr"; arch = "linux-x86_64"; sha256 = "b70aa31702ea42b85e6ed678cc20bff94267a746cb81ac70dec0d84a244b489f"; } + { locale = "hsb"; arch = "linux-i686"; sha256 = "c33442ce4cb0d9355c915fa1ea3407f67c0470e8711055bb2fb275e612a64fa4"; } + { locale = "hsb"; arch = "linux-x86_64"; sha256 = "19d6b48b415d48c278f5ec203ee03136a5f80a8ee566e336de187694ab9862a9"; } + { locale = "hu"; arch = "linux-i686"; sha256 = "eddcf8119a9680c2676720f33d0fbe750e015d7d21f07325bd47dea0b7cc5bd9"; } + { locale = "hu"; arch = "linux-x86_64"; sha256 = "703e8e9da4bd1adb2e1ca77b221c4ce80d9e2b63be7b27eb34c0fed29a2d76b6"; } + { locale = "hy-AM"; arch = "linux-i686"; sha256 = "3c2fe1bb3bc7d9d0bf1006962e635262b7ab23017ea703746d436e25b68d7ec6"; } + { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "602942788ce157b3d2d6a02d0105e1da632a055bf657282131a0946f87a4431d"; } + { locale = "id"; arch = "linux-i686"; sha256 = "de47061063986cff65ae50537a2dbc0abb3d5ec7f1fc5b2a3c8aa66dc4ca4a6e"; } + { locale = "id"; arch = "linux-x86_64"; sha256 = "2d3c4a294c1dc8ece94de489dbef9ce3b4222b0883c5f61f1f90fa881329cd53"; } + { locale = "is"; arch = "linux-i686"; sha256 = "0ae9ae73771c7429e7f6ec457e656bef034d211a191e5125dc09006a4157b57a"; } + { locale = "is"; arch = "linux-x86_64"; sha256 = "8618faa41d021e98d5d010efbead4440828f9f2cc485068fef3f3fef39713bdf"; } + { locale = "it"; arch = "linux-i686"; sha256 = "e91bbb7a5bc1052b2f8558598fc9c4cb610314bf026c5eae97a7e85badcc096f"; } + { locale = "it"; arch = "linux-x86_64"; sha256 = "1b2c610711bfa05aa0ecbd4ddd81724d29f3f162798cdb35b2c15b1a07cc5743"; } + { locale = "ja"; arch = "linux-i686"; sha256 = "c4495bdfc92b1089a3c812d863df20856d585ad9601f41a8c99a522df216736a"; } + { locale = "ja"; arch = "linux-x86_64"; sha256 = "55a5fc7eef3d8a4bb2ea7b19eff6dbeddf9fe9f239f645b996aba44477cb4bf3"; } + { locale = "kk"; arch = "linux-i686"; sha256 = "ca09ceaf455f7fdc93e871617f73200eedd9cff32e8704ead4fd68b86190a8ac"; } + { locale = "kk"; arch = "linux-x86_64"; sha256 = "b6f09b29afe73ab3a25a8cfa2b88ef7f51b83f501990fc80fa886da75916a257"; } + { locale = "km"; arch = "linux-i686"; sha256 = "920de5e59f13894e0f2b008cbecf4089b1b36087744ee4bc050b32e1887f8e7b"; } + { locale = "km"; arch = "linux-x86_64"; sha256 = "fee6df7cce32d81675c91116ed89996ceaf5de1cc3fde028b04d6012338527b0"; } + { locale = "kn"; arch = "linux-i686"; sha256 = "d6587c2a00e4c1a9c38a75f64085bd66e100482a7977dfbb3434bc6a902be313"; } + { locale = "kn"; arch = "linux-x86_64"; sha256 = "b6066271412a7d4faa2fa028b03f88061477bd5a0ea5e7d5ec8e3e81c52ce166"; } + { locale = "ko"; arch = "linux-i686"; sha256 = "c0de3fcf13a0947239a1310d862deaf5d37836f82f4d618f9aaf09ed69fcfcfc"; } + { locale = "ko"; arch = "linux-x86_64"; sha256 = "b929dffdf57cb08087e2ec4054ba58368cc5535579d336872b4016d5bddc9ceb"; } + { locale = "ku"; arch = "linux-i686"; sha256 = "4926a59d15eda575ec3a0b32f8ebecd12a354b80746efc61d0630a91720c5e9b"; } + { locale = "ku"; arch = "linux-x86_64"; sha256 = "04083b8b57ab3e5693637ca424daa18ab678594b37a56ba4ba9e70c369782002"; } + { locale = "lij"; arch = "linux-i686"; sha256 = "730ef2c9920b0eb6e511d5725780ce3d6c2b341d03049e6cb8e83ceeeaf191d7"; } + { locale = "lij"; arch = "linux-x86_64"; sha256 = "b068b0e242ff84055665eb9688d392d98e433ed0c44793734f264b340c2efdf5"; } + { locale = "lt"; arch = "linux-i686"; sha256 = "885ad622f8a36bb5385187995423e811be28a169c8f33d8eec064f04f45e85cc"; } + { locale = "lt"; arch = "linux-x86_64"; sha256 = "d289b593c8c6ccef5d0ee339de674385b08ee28da7b851230da20469aeba7558"; } + { locale = "lv"; arch = "linux-i686"; sha256 = "e5558f1cd93264f7f30a9259c28cc50131782d1941388b71f80b1672a29c597f"; } + { locale = "lv"; arch = "linux-x86_64"; sha256 = "61788b9ef4f13369114abe4a16e7ee89e16d791cf5d3e1eb74eedb88c3a90e9b"; } + { locale = "mai"; arch = "linux-i686"; sha256 = "a9991d23913da8fe6dcf47aacc23b92055c7019265d6c7a01d9d6b3c7ffa4c4d"; } + { locale = "mai"; arch = "linux-x86_64"; sha256 = "946420fd821b3ec97bfa1fab52b22111428da0ed919e86c0d33be53b30f5d476"; } + { locale = "mk"; arch = "linux-i686"; sha256 = "bf10e053684e5e71eb1886f4127743937a560eee15e7c85c9849bc4b15a60123"; } + { locale = "mk"; arch = "linux-x86_64"; sha256 = "b5d1d9d3eaff11f230c864799c77c8169415ee5dd2e1dab944d91ce1c8e8c054"; } + { locale = "ml"; arch = "linux-i686"; sha256 = "c899ba567d847933fa40e3bf1be26e8a5fd3bdf4af45db60cb9198b1a6c98ee8"; } + { locale = "ml"; arch = "linux-x86_64"; sha256 = "fb069df12d603c808c798e43d3ef92868c239a130e078e7492456d1f54cac882"; } + { locale = "mr"; arch = "linux-i686"; sha256 = "14027be4ec9f060b3ac69975dfa1da7aa0b58531383bd335fe3dca98f06597a8"; } + { locale = "mr"; arch = "linux-x86_64"; sha256 = "a18dc57bd2b73bf733a0ad61b7ac9b8b4bd149260a4c59fed171b76e52eaed41"; } + { locale = "ms"; arch = "linux-i686"; sha256 = "3fbd39a0c2def17862e266ef295a38f93400135898348e6321fd37829461660c"; } + { locale = "ms"; arch = "linux-x86_64"; sha256 = "0fb3bab95d1aa501304069aad3c4a8ec38088f3b86ebbd0ef58f29c9d837602d"; } + { locale = "nb-NO"; arch = "linux-i686"; sha256 = "1c36cae02772a2e7465f1b6a67e91d169120724c0f13aaa06ff66a095084d71f"; } + { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "7a64797441cc03f947c98c5ebdfb7c36caa2daf0597374904a25e6d499501de5"; } + { locale = "nl"; arch = "linux-i686"; sha256 = "32b93da5068e6cd76c4bde1833592d89d0c2ebf3d9b4ac636e7b00e7007edb6d"; } + { locale = "nl"; arch = "linux-x86_64"; sha256 = "6dfa7bd9edfe177e03a4f3244760c7d75db1c6edb291bf05df2db31156235743"; } + { locale = "nn-NO"; arch = "linux-i686"; sha256 = "d9fa7e708e90c20ebb1c2b2df9bf866817f87cc8638b886c6d69ba5033e6482d"; } + { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "fd431fe5784dd4d5b42b53bea56439db95f5bebc4b8f47517e2cdd4ff5ebaa7c"; } + { locale = "or"; arch = "linux-i686"; sha256 = "83f358e0e8e545ee4bdb01da4795f4609edd5c504150260241274b205f4df5ae"; } + { locale = "or"; arch = "linux-x86_64"; sha256 = "128c80cc0c6e2ff558960b8f4d191239b92a38ed4537dc58b77c7c464254992b"; } + { locale = "pa-IN"; arch = "linux-i686"; sha256 = "87af71809038e38b00bbefc8795aa8fdba6bbe6fae0a7a6c82e9e752044b8573"; } + { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "263c8f80b2e7f4cb86f829cea41c92ec876fa77c945cfb46452e456a55f72685"; } + { locale = "pl"; arch = "linux-i686"; sha256 = "32dad8cb30e70394b118d305135d86ffc4ad1fc345cafb063712a7d288e04209"; } + { locale = "pl"; arch = "linux-x86_64"; sha256 = "97231cd5c4fc5e5c125d6ead400ea941c60bcadecaa46200a485e2df79e6ccc6"; } + { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9f5fcbc0c9f70c02e997483888dd69c5a510cdf07f4d6d6447c04c258ad60681"; } + { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "2921da4f0d1018201c2db7e65823f36fc307d46759cd0cf94d3667f8c1ae719f"; } + { locale = "pt-PT"; arch = "linux-i686"; sha256 = "6aebbc3a93961d2baeeb2e07f00b57c4abd73d1ffe4ff21f9bc4812c98b0025d"; } + { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "59cf5be7d0a3390ac0094a436b7b498bf26a42c178082f2ba2a79273f4ba8a44"; } + { locale = "rm"; arch = "linux-i686"; sha256 = "b57ca3477f1869cdbe474b875640a0516d6dac660aeb2b16f1902f776131aeec"; } + { locale = "rm"; arch = "linux-x86_64"; sha256 = "0cdad1a4bc9af986bdab8cafd0efc0d96c0010d8c86797e0cd58de9b90fad5cd"; } + { locale = "ro"; arch = "linux-i686"; sha256 = "1cf86aa09a145bd190ee815a2dc66129f0f05fb4c30802c9f85d977ec370dbe8"; } + { locale = "ro"; arch = "linux-x86_64"; sha256 = "6e10324605e7b50adee8597ce9694c318125131e301c7c5608e15206784d2475"; } + { locale = "ru"; arch = "linux-i686"; sha256 = "30d902defb08ab7661c369118729e78046fd0bb17ae9ac080587d105c44c7e04"; } + { locale = "ru"; arch = "linux-x86_64"; sha256 = "a3ad52e02e346f5c51ea58b92ebda1f5d98234583dbd1627e002ee95db150837"; } + { locale = "si"; arch = "linux-i686"; sha256 = "367ba16e7505ac93908443861ef76f7bcb9444a65add1155a3e80bbc97564c72"; } + { locale = "si"; arch = "linux-x86_64"; sha256 = "018c013809857c5bda53b931080c40e8152a229f3d2b079975d381cb106059a7"; } + { locale = "sk"; arch = "linux-i686"; sha256 = "471da0ef940666ed3442a576b085ed065a6da4de102f59aacaf2168c84d127de"; } + { locale = "sk"; arch = "linux-x86_64"; sha256 = "4cb690b5c1b8a97f83eeb8d26870f19492ed61463765eae29294946f3fb173fd"; } + { locale = "sl"; arch = "linux-i686"; sha256 = "863a1866b30700a6b22775b8b7c01ad27502ee3bd73ed20a874a9cac0a889638"; } + { locale = "sl"; arch = "linux-x86_64"; sha256 = "1c2c815b9fbf5cef9bd0b732bf47d56c1ecfc554ca4573d3fb67be3351a35bf9"; } + { locale = "son"; arch = "linux-i686"; sha256 = "aaa955cb028036b3f70e0284eedfcfb2b655dd6b7bd6f717ec0609323ad6a897"; } + { locale = "son"; arch = "linux-x86_64"; sha256 = "84751dbf1e16f8912bd71f24a9c80805ac3a7aa32f30eeb2f3f945113ff4c1ee"; } + { locale = "sq"; arch = "linux-i686"; sha256 = "50ef1fe3d72312a78d951bda1892b7548d46669ddcb60f0af5a22fdd1b8f23aa"; } + { locale = "sq"; arch = "linux-x86_64"; sha256 = "05b24a18a637a730804dc485f86e3b3d4ce3046ff81689984c0e14d6e55c9ade"; } + { locale = "sr"; arch = "linux-i686"; sha256 = "3388ec26ca4c9ac2ed327037bc73eddcd7fd390765107e47fa3953c53e0ab1f2"; } + { locale = "sr"; arch = "linux-x86_64"; sha256 = "d81f19076ce990256fdd4c5e7bdf39f8f70d24f3057a1383aa100d259844ada9"; } + { locale = "sv-SE"; arch = "linux-i686"; sha256 = "3ae73ff229c1280ab7b271c29096804839c5d92ef0c15f7a8a8366946ba24720"; } + { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "77f723f41ec258309a66e8c808ff4ebc5705ba115bf2417f87943d381d6b57e8"; } + { locale = "ta"; arch = "linux-i686"; sha256 = "6897b368738eed28e6b2b17529d6e6656d22f228ecaae04c4f8c539a1dfc3d6c"; } + { locale = "ta"; arch = "linux-x86_64"; sha256 = "831bdc86dd2023f273c55276c81181027a0e701520aba397308ad662076a6ee4"; } + { locale = "te"; arch = "linux-i686"; sha256 = "3a33e92dc25ea10c55b5ca56345e5b8659c99ca335112e049ba9edb9017c09b4"; } + { locale = "te"; arch = "linux-x86_64"; sha256 = "3c071efaef763ea731caa1c6cb97357c13e07b112d923b3c3ef7ee22badbeca9"; } + { locale = "th"; arch = "linux-i686"; sha256 = "7982fa0407ff8f3a955c7a74b70fb9fd10cc06f7f06d429ce06cc60fe4b7b635"; } + { locale = "th"; arch = "linux-x86_64"; sha256 = "06f54c193ba9bbf19774e8d507c9e15414a9859584de806900ccb0bcb546178e"; } + { locale = "tr"; arch = "linux-i686"; sha256 = "c1565d373b951065a1c6ac827590f944e1524d5a91748bd42740ea25210ece31"; } + { locale = "tr"; arch = "linux-x86_64"; sha256 = "6d49988225ae1a662e1fd721910f445bf1c111bef6894153b2092a4117391bdb"; } + { locale = "uk"; arch = "linux-i686"; sha256 = "f03049ea0b8bd86d95e386bb79a90513087691b725a90e01fec4f7a54803ba0b"; } + { locale = "uk"; arch = "linux-x86_64"; sha256 = "5bac7c50bb2a850c208c8410a2deab0b37e03a02f33d52e3d4097ce2c8718d37"; } + { locale = "vi"; arch = "linux-i686"; sha256 = "ee6b3f27f68c3d37e8170c7222249c1459e4530f61438a0f1553fe36213c5ce7"; } + { locale = "vi"; arch = "linux-x86_64"; sha256 = "1cb80cac3b942d588e133ccad7ac8c77d3af31cf6ddd9676ffa7be130434788c"; } + { locale = "xh"; arch = "linux-i686"; sha256 = "86f7bab77885e5cf391d9dca758f8c1112bea9dd249dc7d2f184845da9df6316"; } + { locale = "xh"; arch = "linux-x86_64"; sha256 = "07d874163ace6a820dfca49829032efd1b1a612e76c14a012287db39841280b7"; } + { locale = "zh-CN"; arch = "linux-i686"; sha256 = "27a7039cdd5be498d2de89e2993264c432e36309bb5c40bd519212de6f8b3469"; } + { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "f65d8334d5fb6b7bdcb6b212c232e2bad3d8d2718d96dba7c149a6bb2add81c8"; } + { locale = "zh-TW"; arch = "linux-i686"; sha256 = "1aab3b3aad0adbb72edc3db1780838bb2fdf80554eb9eb00fe7b50918bef843c"; } + { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "b322ec6027b6760855520dbc40b6e934f931b64c0a859682e4014ee1bdb2b321"; } + { locale = "zu"; arch = "linux-i686"; sha256 = "f29d8c82b595edb03a42b0c8896e1880efe2fd14e87802501c4007088bf3ad9c"; } + { locale = "zu"; arch = "linux-x86_64"; sha256 = "bed6ddb23da87c4d7f469d92a1cec9817a41b51012bb30145227633b3265e998"; } ]; arch = if stdenv.system == "i686-linux" diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb index a768b1f8dff..7c38f275169 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb +++ b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb @@ -83,6 +83,8 @@ puts(<<"EOH") , systemd }: +assert stdenv.isLinux; + let version = "#{real_version}"; sources = [ From 2e33964a6a97b738764045960f4f87a328c2ae70 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Fri, 5 Sep 2014 00:45:55 +0400 Subject: [PATCH 0854/2163] Fix leafnode by working around the check --- pkgs/servers/news/leafnode/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/news/leafnode/default.nix b/pkgs/servers/news/leafnode/default.nix index 23f236a9a34..a3579aa8309 100644 --- a/pkgs/servers/news/leafnode/default.nix +++ b/pkgs/servers/news/leafnode/default.nix @@ -10,6 +10,11 @@ stdenv.mkDerivation rec { configureFlags = "--enable-runas-user=nobody"; + preConfigure = '' + # configure uses id to check environment; we don't want this check + sed -re 's/^ID[=].*/ID="echo whatever"/' -i configure + ''; + postConfigure = '' # The is_validfqdn is far too restrictive, and only allows # Internet-facing servers to run. In order to run leafnode via @@ -24,6 +29,5 @@ stdenv.mkDerivation rec { description = "Leafnode implements a store & forward NNTP proxy"; license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.unix; - broken = true; # The user check in the configure does not work in a chroot }; } From 2ca3c23ddc7bb7881a8219b7e7931062df053dc4 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Thu, 15 May 2014 14:11:46 +0200 Subject: [PATCH 0855/2163] Add a derivation for ocaml-calendar --- .../ocaml-modules/calendar/default.nix | 23 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/development/ocaml-modules/calendar/default.nix diff --git a/pkgs/development/ocaml-modules/calendar/default.nix b/pkgs/development/ocaml-modules/calendar/default.nix new file mode 100644 index 00000000000..0010508a215 --- /dev/null +++ b/pkgs/development/ocaml-modules/calendar/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, ocaml, findlib}: + +stdenv.mkDerivation { + name = "ocaml-calendar-2.03.2"; + src = fetchurl { + url = https://forge.ocamlcore.org/frs/download.php/915/calendar-2.03.2.tar.gz; + sha256 = "04pvhwb664g3s644c7v7419a3kvf5s3pynkhmk5j59dvlfm1yf0f"; + }; + + buildInputs = [ocaml findlib]; + + createFindlibDestdir = true; + + meta = { + homepage = https://forge.ocamlcore.org/projects/calendar/; + description = "An Objective Caml library managing dates and times."; + license = "LGPL"; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6de1001c5cb..50bbe3e9052 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3297,6 +3297,8 @@ let camlp5_transitional = camlp5_6_transitional; + calendar = callPackage ../development/ocaml-modules/calendar { }; + camlzip = callPackage ../development/ocaml-modules/camlzip { }; camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { }; From 6863dfeccc4296bba01a0a736878141545f54f14 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sat, 17 May 2014 12:51:18 +0200 Subject: [PATCH 0856/2163] Add a derivation for ocaml-optcomp --- .../ocaml-modules/optcomp/default.nix | 25 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/development/ocaml-modules/optcomp/default.nix diff --git a/pkgs/development/ocaml-modules/optcomp/default.nix b/pkgs/development/ocaml-modules/optcomp/default.nix new file mode 100644 index 00000000000..6075bc4ab2a --- /dev/null +++ b/pkgs/development/ocaml-modules/optcomp/default.nix @@ -0,0 +1,25 @@ +{stdenv, fetchurl, ocaml, findlib}: + +stdenv.mkDerivation { + name = "ocaml-optcomp"; + src = fetchurl { + url = https://github.com/diml/optcomp/archive/1.6.tar.gz; + md5 = "d3587244dba1b8b10f24d0b60a8c700d"; + }; + + createFindlibDestdir = true; + + buildInputs = [ocaml findlib]; + + + meta = { + homepage = https://github.com/diml/optcomp; + description = "Optional compilation for OCaml with cpp-like directives"; + license = "BSD"; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 50bbe3e9052..77bb9e814c2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3381,6 +3381,8 @@ let ocaml_oasis = callPackage ../development/tools/ocaml/oasis { }; + ocaml_optcomp = callPackage ../development/ocaml-modules/optcomp { }; + ocaml_pcre = callPackage ../development/ocaml-modules/pcre { inherit pcre; }; From ffe02360dced874fae5168cf683e77c0451d363c Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sat, 17 May 2014 12:52:37 +0200 Subject: [PATCH 0857/2163] =?UTF-8?q?Add=20a=20derivation=20for=20deriving?= =?UTF-8?q?=20(ocaml=20instance=20derivation=20=C3=A0=20la=20Haskell)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocsigen-deriving/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/development/ocaml-modules/ocsigen-deriving/default.nix diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix new file mode 100644 index 00000000000..d2a1ed3a624 --- /dev/null +++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix @@ -0,0 +1,32 @@ +{stdenv, fetchgit, ocaml, findlib, ocaml_oasis, ocaml_data_notation, ocaml_optcomp}: + +stdenv.mkDerivation { + name = "ocsigen-deriving"; + src = fetchgit { + url = "git://github.com/ocsigen/deriving"; + rev = "refs/tags/0.6.2"; + sha256 = "2b3bf3f4972d0e6eaf075f7353ce482b776726e0cd04947a89b7156384ec0662"; + }; + + buildInputs = [ocaml findlib ocaml_oasis ocaml_data_notation ocaml_optcomp]; + + configurePhase = '' + make setup-dev.exe + ./setup-dev.exe -configure --prefix $out + ''; + + createFindlibDestdir = true; + + + meta = { + homepage = https://github.com/ocsigen/deriving; + description = "Extension to OCaml for deriving functions from type declarations"; + license = "MIT"; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; + + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 77bb9e814c2..9e44b18cbb5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3441,6 +3441,8 @@ let zed = callPackage ../development/ocaml-modules/zed { }; + ocsigen_deriving = callPackage ../development/ocaml-modules/ocsigen-deriving { }; + }; ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0; From b5c621062d1928150d9dd75ae9efd180733a7718 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Wed, 28 May 2014 21:52:23 +0200 Subject: [PATCH 0858/2163] add ocaml-ipaddr --- .../ocaml-modules/ocaml-ipaddr/default.nix | 15 +++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix diff --git a/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix b/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix new file mode 100644 index 00000000000..e96f3f179a9 --- /dev/null +++ b/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix @@ -0,0 +1,15 @@ +{ocaml, findlib, stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "ocaml-ipaddr-2.4.0"; + + src = fetchurl { + url = https://github.com/mirage/ocaml-ipaddr/archive/2.4.0.tar.gz; + sha256 = "0g7qg35w3vzcg37798rhbx7iia83286md3gj5gdhs1qgizlg56wx"; + }; + + buildInputs = [ocaml findlib]; + + createFindlibDestdir = true; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9e44b18cbb5..e29f01ef042 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3371,6 +3371,8 @@ let ocamlify = callPackage ../development/tools/ocaml/ocamlify { }; + ocaml_ipaddr = callPackage ../development/ocaml-modules/ocaml-ipaddr { }; + ocaml_lwt = callPackage ../development/ocaml-modules/lwt { }; ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { }; From 3245b97000313f24fd626e2e61084179f358ac89 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Wed, 28 May 2014 22:04:40 +0200 Subject: [PATCH 0859/2163] Add a derivation for js_of_ocaml --- .../ocaml/js_of_ocaml/Makefile.conf.diff | 10 +++++++ .../tools/ocaml/js_of_ocaml/default.nix | 28 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 40 insertions(+) create mode 100644 pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff create mode 100644 pkgs/development/tools/ocaml/js_of_ocaml/default.nix diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff b/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff new file mode 100644 index 00000000000..ee39855fec9 --- /dev/null +++ b/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff @@ -0,0 +1,10 @@ +--- old/Makefile.conf 2014-05-19 16:53:09.263564921 +0200 ++++ new/Makefile.conf 2014-05-19 16:53:42.213152994 +0200 +@@ -1,6 +1,6 @@ + + # Where binaries are installed: +-BINDIR := /usr/local/bin ++BINDIR := $(out)/bin + + #### + diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix new file mode 100644 index 00000000000..a7167d0c226 --- /dev/null +++ b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving}: + +stdenv.mkDerivation { + name = "js_of_ocaml"; + src = fetchurl { + url = https://github.com/ocsigen/js_of_ocaml/archive/2.2.tar.gz; + sha256 = "1cp81gpvyxgvzxg0vzyl8aa2zvcixp6m433w8zjifrg6vb7lhp97"; + }; + + buildInputs = [ocaml findlib ocaml_lwt menhir ocsigen_deriving]; + + patches = [ ./Makefile.conf.diff ]; + + createFindlibDestdir = true; + + + meta = { + homepage = http://ocsigen.org/js_of_ocaml/; + description = "Compiler of OCaml bytecode to Javascript. It makes it possible to run Ocaml programs in a Web browser"; + license = "LGPL"; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; + + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e29f01ef042..f0e223b1288 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3337,6 +3337,8 @@ let gmetadom = callPackage ../development/ocaml-modules/gmetadom { }; + js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { }; + lablgl = callPackage ../development/ocaml-modules/lablgl { }; lablgtk = callPackage ../development/ocaml-modules/lablgtk { From 02a4e404745d40854baf322b84fffa501465f5f4 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sat, 7 Jun 2014 22:38:47 +0200 Subject: [PATCH 0860/2163] Reexport ocaml data notation in the ocaml-oasis derivation --- pkgs/development/tools/ocaml/oasis/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix index 3ab935705a2..a5260b499c4 100644 --- a/pkgs/development/tools/ocaml/oasis/default.nix +++ b/pkgs/development/tools/ocaml/oasis/default.nix @@ -13,9 +13,11 @@ stdenv.mkDerivation { buildInputs = [ - ocaml findlib ocaml_data_notation ocaml_typeconv ocamlmod ocamlify ounit + ocaml findlib ocaml_typeconv ocamlmod ocamlify ounit ]; + propagatedBuildInputs = [ ocaml_data_notation ]; + configurePhase = "ocaml setup.ml -configure --prefix $out"; buildPhase = "ocaml setup.ml -build"; installPhase = "ocaml setup.ml -install"; From da6859722d943a1cd964df4d6490cccfe8f5c31c Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sun, 8 Jun 2014 12:12:27 +0200 Subject: [PATCH 0861/2163] Add tyxml (XML library for ocaml) --- .../ocaml-modules/tyxml/default.nix | 30 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 pkgs/development/ocaml-modules/tyxml/default.nix diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix new file mode 100644 index 00000000000..39cee4e32ce --- /dev/null +++ b/pkgs/development/ocaml-modules/tyxml/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl, ocaml, findlib, ocaml_oasis}: + +stdenv.mkDerivation { + name = "tyxml-3.0.0"; + + src = fetchurl { + url = http://ocsigen.org/download/tyxml-3.0.0.tar.gz; + sha256 = "0cvbmyg4g0lg4f23032cjlxqklisccbjgj47117wm6gva8xi7xa3"; + }; + + buildInputs = [ocaml findlib ocaml_oasis]; + + createFindlibDestdir = true; + + configurePhase = '' + make setup-dev.exe + ./setup-dev.exe -configure --prefix $out + ''; + + meta = { + homepage = http://ocsigen.org/tyxml/; + description = "Tyxml is a library that makes it almost impossible for your OCaml programs to generate wrong XML ouput, using static typing."; + license = "LGPL"; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; + +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f0e223b1288..975370ff5e8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3403,6 +3403,8 @@ let ounit = callPackage ../development/ocaml-modules/ounit { }; + tyxml = callPackage ../development/ocaml-modules/tyxml { }; + ulex = callPackage ../development/ocaml-modules/ulex { }; ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 { From e8250dd94ae4cebec34a08aedd4e2c016c408576 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sun, 8 Jun 2014 12:13:31 +0200 Subject: [PATCH 0862/2163] Add a derivation for the ocsigen server (ocaml webserver) --- .../ocaml-modules/ocsigen-server/default.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/development/ocaml-modules/ocsigen-server/default.nix diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix new file mode 100644 index 00000000000..0e01b811b57 --- /dev/null +++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix @@ -0,0 +1,34 @@ +{stdenv, fetchurl, ocaml, findlib, which, ocaml_react, ocaml_ssl, ocaml_lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ocaml_ipaddr, zlib, libev, openssl, ocaml_sqlite3, tree}: + +stdenv.mkDerivation { + name = "ocsigenserver-2.4.0"; + + src = fetchurl { + url = https://github.com/ocsigen/ocsigenserver/archive/2.4.0.tar.gz; + sha256 = "1fjj8g6ivyfsa0446w77rjihhbw0gh5pgx7brywql2shk999riby"; + }; + + buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt ocamlnet ocaml_pcre cryptokit tyxml ocaml_ipaddr zlib libev openssl ocaml_sqlite3 tree]; + + configureFlags = "--root $(out) --prefix /"; + + dontAddPrefix = true; + + createFindlibDestdir = true; + + postFixup = + '' + rm -rf $out/var/run + ''; + + dontPatchShebangs = true; + + meta = { + homepage = http://ocsigen.org/ocsigenserver/; + description = "Ocsigen Server is a full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages."; + license = "LGPL"; # <- todo: check + platforms = ocaml.meta.platforms; + maintainers = [ stdenv.lib.maintainers.gal_bolle ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 975370ff5e8..2271a5b96fb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3401,6 +3401,8 @@ let ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { }; + ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { }; + ounit = callPackage ../development/ocaml-modules/ounit { }; tyxml = callPackage ../development/ocaml-modules/tyxml { }; From 2709d322746e549a5c04d5952ca355da259bcb14 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sun, 8 Jun 2014 12:14:08 +0200 Subject: [PATCH 0863/2163] Add a derivation for eliom (ocaml web framework) --- .../ocaml-modules/eliom/default.nix | 29 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/development/ocaml-modules/eliom/default.nix diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix new file mode 100644 index 00000000000..af85a0a8f94 --- /dev/null +++ b/pkgs/development/ocaml-modules/eliom/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, ocaml, findlib, which, ocsigen_server, ocsigen_deriving, + js_of_ocaml, ocaml_react, ocaml_lwt, calendar, cryptokit, tyxml, + ocaml_ipaddr, ocamlnet, ocaml_ssl, ocaml_pcre, ocaml_optcomp}: + +stdenv.mkDerivation +{ + name = "eliom-4.0.0"; + + src = fetchurl { + url = https://github.com/ocsigen/eliom/archive/4.0.0.tar.gz; + sha256 = "1xf2l6lvngxzwaw6lvr6sgi48rz0wxg65q9lz4jzqjarkp0sx206"; + }; + + buildInputs = [ocaml which ocsigen_server findlib ocsigen_deriving + js_of_ocaml ocaml_react ocaml_lwt calendar + cryptokit tyxml ocaml_ipaddr ocamlnet ocaml_ssl + ocaml_pcre ocaml_optcomp]; + + preConfigure = + ''chmod a+x configure + sed s/deriving-ocsigen/deriving/g -i configure + ''; + + configureFlags = "--root $(out) --prefix /"; + + dontAddPrefix = true; + + createFindlibDestdir = true; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2271a5b96fb..eb6f671a3b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3325,6 +3325,8 @@ let easy-format = callPackage ../development/ocaml-modules/easy-format { }; + eliom = callPackage ../development/ocaml-modules/eliom { }; + findlib = callPackage ../development/tools/ocaml/findlib { }; javalib = callPackage ../development/ocaml-modules/javalib { From 9a9ecbf32df0d5bfee978e310281b8f539d67fe6 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 6 Sep 2014 12:44:20 +0400 Subject: [PATCH 0864/2163] A description cleanup after merge --- pkgs/development/ocaml-modules/calendar/default.nix | 2 +- pkgs/development/ocaml-modules/ocsigen-server/default.nix | 5 ++++- pkgs/development/ocaml-modules/tyxml/default.nix | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/calendar/default.nix b/pkgs/development/ocaml-modules/calendar/default.nix index 0010508a215..6af7ce25077 100644 --- a/pkgs/development/ocaml-modules/calendar/default.nix +++ b/pkgs/development/ocaml-modules/calendar/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { meta = { homepage = https://forge.ocamlcore.org/projects/calendar/; - description = "An Objective Caml library managing dates and times."; + description = "An Objective Caml library managing dates and times"; license = "LGPL"; platforms = ocaml.meta.platforms; maintainers = [ diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix index 0e01b811b57..c69bf92b614 100644 --- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix @@ -25,7 +25,10 @@ stdenv.mkDerivation { meta = { homepage = http://ocsigen.org/ocsigenserver/; - description = "Ocsigen Server is a full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages."; + description = "A full featured Web server'' + longDescription ='' + A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages. + ''; license = "LGPL"; # <- todo: check platforms = ocaml.meta.platforms; maintainers = [ stdenv.lib.maintainers.gal_bolle ]; diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix index 39cee4e32ce..02ac7f381e5 100644 --- a/pkgs/development/ocaml-modules/tyxml/default.nix +++ b/pkgs/development/ocaml-modules/tyxml/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { meta = { homepage = http://ocsigen.org/tyxml/; - description = "Tyxml is a library that makes it almost impossible for your OCaml programs to generate wrong XML ouput, using static typing."; + description = "A library that makes it almost impossible for your OCaml programs to generate wrong XML ouput, using static typing"; license = "LGPL"; platforms = ocaml.meta.platforms; maintainers = [ @@ -27,4 +27,4 @@ stdenv.mkDerivation { ]; }; -} \ No newline at end of file +} From 98a46755812d8203e3a18263640f2aab8881e9b4 Mon Sep 17 00:00:00 2001 From: "Robert M. Mather" Date: Thu, 26 Jun 2014 05:11:56 -0700 Subject: [PATCH 0865/2163] Ur/Web compiler: new release, 20140531 -> 20140830 --- pkgs/development/compilers/urweb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index bd457b227e6..01dbaee8cde 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "urweb"; - version = "20140531"; + version = "20140830"; name = "${pname}-${version}"; src = fetchurl { url = "http://www.impredicative.com/ur/${name}.tgz"; - sha256 = "0gbk16hzs8267cfhb7w1cqgjxdv2icxg5clxdbda6qsn84jaf3n4"; + sha256 = "0l4zhvdy2fdvhihyl4gl09v8q4w05b1k0c6h4k8281px96d5ljgr"; }; buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ]; From f7ce66985ae4ec360054cc1769c640b6d113e9be Mon Sep 17 00:00:00 2001 From: Nathaniel Baxter Date: Sat, 6 Sep 2014 20:32:01 +1000 Subject: [PATCH 0866/2163] bittorrent: Remove reference to deleted package. --- pkgs/top-level/all-packages.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eb6f671a3b2..cffaebd5e63 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -690,10 +690,6 @@ let inherit (strategoPackages016) strategoxt sdf; }; - bittorrent = callPackage ../tools/networking/p2p/bittorrent { - gui = true; - }; - bittornado = callPackage ../tools/networking/p2p/bit-tornado { }; blueman = callPackage ../tools/bluetooth/blueman { From 8f30cabb834954eb02a5331fb52c253251a2e979 Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sat, 6 Sep 2014 12:45:20 +0200 Subject: [PATCH 0867/2163] fix ocsigen expression --- pkgs/development/ocaml-modules/ocsigen-server/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix index c69bf92b614..6f68958aeab 100644 --- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation { meta = { homepage = http://ocsigen.org/ocsigenserver/; - description = "A full featured Web server'' + description = "A full featured Web server"; longDescription ='' A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages. ''; From 4a1a77a432cec719c2fdcf3e36a02afb09dde3fe Mon Sep 17 00:00:00 2001 From: Nathaniel Baxter Date: Sat, 6 Sep 2014 20:53:45 +1000 Subject: [PATCH 0868/2163] unrar: Fixed license typo --- pkgs/tools/archivers/unrar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix index a13c4c3b70b..9ef93a30b68 100644 --- a/pkgs/tools/archivers/unrar/default.nix +++ b/pkgs/tools/archivers/unrar/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Utility for RAR archives"; homepage = http://www.rarlab.com/; - license = licenses.unfree-redistributable; + license = licenses.unfreeRedistributable; maintainers = [ maintainers.emery ]; platforms = platforms.all; }; From 4c5d12d3f0c3623dd99938d9dca1658a44692319 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 6 Sep 2014 13:28:53 +0200 Subject: [PATCH 0869/2163] all-packages.nix: re-arrange Emacs packages into a semi-alphabetical order --- pkgs/top-level/all-packages.nix | 36 ++++++++++++++++----------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cffaebd5e63..42af3f0743b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8683,34 +8683,22 @@ let gist = callPackage ../applications/editors/emacs-modes/gist { }; + haskellMode = callPackage ../applications/editors/emacs-modes/haskell { }; + + hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { }; + + htmlize = callPackage ../applications/editors/emacs-modes/htmlize { }; + idris = callPackage ../applications/editors/emacs-modes/idris { }; jabber = callPackage ../applications/editors/emacs-modes/jabber { }; jade = callPackage ../applications/editors/emacs-modes/jade { }; - jdee = callPackage ../applications/editors/emacs-modes/jdee { - # Requires Emacs 23, for `avl-tree'. - }; + jdee = callPackage ../applications/editors/emacs-modes/jdee { }; js2 = callPackage ../applications/editors/emacs-modes/js2 { }; - stratego = callPackage ../applications/editors/emacs-modes/stratego { }; - - haskellMode = callPackage ../applications/editors/emacs-modes/haskell { }; - - ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { }; - - structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode { - inherit (haskellPackages) cabal haskellSrcExts; - }; - - tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { }; - - hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { }; - - htmlize = callPackage ../applications/editors/emacs-modes/htmlize { }; - logito = callPackage ../applications/editors/emacs-modes/logito { }; loremIpsum = callPackage ../applications/editors/emacs-modes/lorem-ipsum { }; @@ -8723,6 +8711,8 @@ let notmuch = lowPrio (callPackage ../applications/networking/mailreaders/notmuch { }); + ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { }; + offlineimap = callPackage ../applications/editors/emacs-modes/offlineimap {}; # This is usually a newer version of Org-Mode than that found in GNU Emacs, so @@ -8766,8 +8756,16 @@ let scalaMode1 = callPackage ../applications/editors/emacs-modes/scala-mode/v1.nix { }; scalaMode2 = callPackage ../applications/editors/emacs-modes/scala-mode/v2.nix { }; + stratego = callPackage ../applications/editors/emacs-modes/stratego { }; + + structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode { + inherit (haskellPackages) cabal haskellSrcExts; + }; + sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { }; + tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { }; + writeGood = callPackage ../applications/editors/emacs-modes/writegood { }; xmlRpc = callPackage ../applications/editors/emacs-modes/xml-rpc { }; From 1e92a862404c952404fd570f7fa99750b76646d4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 6 Sep 2014 13:30:13 +0200 Subject: [PATCH 0870/2163] emacs-rainbow-delimiters: add version 1.3.8 --- .../rainbow-delimiters/default.nix | 23 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix diff --git a/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix new file mode 100644 index 00000000000..5d92397d295 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, emacs}: + +let version = "1.3.8"; + +in stdenv.mkDerivation { + name = "emacs-rainbow-delimiters-${version}"; + + src = fetchurl { + url = "https://github.com/jlr/rainbow-delimiters/archive/${version}.tar.gz"; + sha256 = "1xavygdnd9q80wqavxliks0w662mvn8v79qmg0kr494yfqc5hw6h"; + }; + + buildInputs = [ emacs ]; + + buildPhase = '' + emacs -L . --batch -f batch-byte-compile *.el + ''; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install *.el *.elc $out/share/emacs/site-lisp + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 42af3f0743b..b3a48315d86 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8743,6 +8743,8 @@ let quack = callPackage ../applications/editors/emacs-modes/quack { }; + rainbowDelimiters = callPackage ../applications/editors/emacs-modes/rainbow-delimiters { }; + rectMark = callPackage ../applications/editors/emacs-modes/rect-mark { }; remember = callPackage ../applications/editors/emacs-modes/remember { }; From 6f819ef4f4ec451ccbeac69d8112e9b93840a634 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 6 Sep 2014 13:30:37 +0200 Subject: [PATCH 0871/2163] emacs-ensime: depend on scala-mode2 and sbt-mode --- pkgs/applications/editors/emacs-modes/ensime/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/emacs-modes/ensime/default.nix b/pkgs/applications/editors/emacs-modes/ensime/default.nix index 26f3b8a9d38..d776103a662 100644 --- a/pkgs/applications/editors/emacs-modes/ensime/default.nix +++ b/pkgs/applications/editors/emacs-modes/ensime/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, emacs, unzip, autoComplete, dash, s }: +{ stdenv, fetchurl, emacs, unzip, autoComplete, dash, s, scalaMode2, sbtMode }: stdenv.mkDerivation { name = "emacs-ensime-2014-09-04"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { }; buildInputs = [ emacs unzip ]; - propagatedUserEnvPkgs = [ autoComplete dash s ]; + propagatedUserEnvPkgs = [ autoComplete dash s scalaMode2 sbtMode ]; buildPhase = '' emacs -L . -L ${autoComplete}/share/emacs/site-lisp --batch -f batch-byte-compile *.el From 46266cc216c42b983f3d293f42e651113fa83481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Tue, 19 Aug 2014 20:36:25 +0200 Subject: [PATCH 0872/2163] gdb: Update to 7.8 and include Guile support. GDB 7.8 adds Guile scripting support. This is now enabled by default as well. Checking for guile also adds a pkg-config dependency. It seems Python is explicitly excluded from cross building. I'm not sure if Guile should also be excluded. --- pkgs/development/tools/misc/gdb/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 5ee0f64a4e4..d9af1e3eb54 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo -, dejagnu, python, target ? null +, dejagnu, python, pkgconfig, guile, target ? null # Additional dependencies for GNU/Hurd. , mig ? null, hurd ? null @@ -8,7 +8,7 @@ let - basename = "gdb-7.7"; + basename = "gdb-7.8"; # Whether (cross-)building for GNU/Hurd. This is an approximation since # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and @@ -26,8 +26,8 @@ stdenv.mkDerivation rec { ("-" + target.config); src = fetchurl { - url = "mirror://gnu/gdb/${basename}.tar.bz2"; - sha256 = "08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104"; + url = "mirror://gnu/gdb/${basename}.tar.xz"; + sha256 = "49c4abe174f79f54e1f9e75210ffb590d9b497d5b5200b5398c0e073a4ecb875"; }; patches = [ ./edit-signals.patch ]; @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ texinfo python ] ++ stdenv.lib.optional isGNU mig; - buildInputs = [ ncurses readline gmp mpfr expat ] + buildInputs = [ ncurses readline gmp mpfr expat pkgconfig guile ] ++ stdenv.lib.optional isGNU hurd ++ stdenv.lib.optional doCheck dejagnu; From 538195e088be108e741d2f3b5df24470c5704762 Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sat, 6 Sep 2014 13:40:16 +0200 Subject: [PATCH 0873/2163] disable guile by default and add attribute for gdb-with-guile --- pkgs/top-level/all-packages.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b3a48315d86..390af2f731e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4366,11 +4366,14 @@ let }; gdb = callPackage ../development/tools/misc/gdb { + guile = null; hurd = gnu.hurdCross; readline = readline63; inherit (gnu) mig; }; + gdbGuile = lowPrio (gdb.override { inherit guile; }); + gdbCross = lowPrio (callPackage ../development/tools/misc/gdb { target = crossSystem; }); From c3fe942a57ac5772ace50df1b6580530d7163565 Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sun, 31 Aug 2014 14:34:12 +0200 Subject: [PATCH 0874/2163] start dhcpcd after network-interfaces --- nixos/modules/services/networking/dhcpcd.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 084ac69e8d5..15dbf80a987 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -138,6 +138,9 @@ in { description = "DHCP Client"; wantedBy = [ "network.target" ]; + # Work-around to deal with problems where the kernel would remove & + # re-create Wifi interfaces early during boot. + after = [ "network-interfaces.target" ]; # Stopping dhcpcd during a reconfiguration is undesirable # because it brings down the network interfaces configured by From 0fc621e66691e510b5fd72f09829a9014da26578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 5 Sep 2014 22:52:31 +0200 Subject: [PATCH 0875/2163] pypyPackages.greenlet: disable --- pkgs/top-level/python-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 467b24ffea9..2c87b5da734 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3852,6 +3852,7 @@ rec { greenlet = buildPythonPackage rec { name = "greenlet-0.4.3"; + disabled = isPyPy; # builtin for pypy src = fetchurl { url = "http://pypi.python.org/packages/source/g/greenlet/${name}.zip"; From ed706113a899fa2f562e866e5ae46db2ae5a7398 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 15:23:22 +0200 Subject: [PATCH 0876/2163] sproxy-web: mark as broken --- pkgs/tools/networking/sproxy-web/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/networking/sproxy-web/default.nix b/pkgs/tools/networking/sproxy-web/default.nix index fa3221a7759..67daab08359 100644 --- a/pkgs/tools/networking/sproxy-web/default.nix +++ b/pkgs/tools/networking/sproxy-web/default.nix @@ -22,5 +22,6 @@ cabal.mkDerivation (self: { description = "Web interface to sproxy"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + broken = true; }; }) From b08be368796357c34cbef0c01ba1be641b956b6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 15:56:48 +0200 Subject: [PATCH 0877/2163] pythonPackages.zope_testrunner: enable tests --- pkgs/top-level/python-packages.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2c87b5da734..f1540ca2a6b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9779,8 +9779,7 @@ rec { propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit; - # a test is failing - doCheck = false; + doCheck = true; meta = { description = "A flexible test runner with layer support"; From 2c7290c58f21f053abbf3512ec7b4b3255e94c28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 16:08:01 +0200 Subject: [PATCH 0878/2163] pythonPackages.sure: use upstream package, next release should have tests --- pkgs/top-level/python-packages.nix | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f1540ca2a6b..e59a8af5c60 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8315,15 +8315,11 @@ rec { export LC_ALL="en_US.UTF-8" ''; - # Not picking up from PyPI because it doesn't contain tests. - src = fetchgit { - url = "git://github.com/gabrielfalcao/sure.git"; - rev = "86ab9faa97aa9c1720c7d090deac2be385ed3d7a"; - sha256 = "02vffcdgr6vbj80lhl925w7zqy6cqnfvs088i0rbkjs5lxc511b3"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/s/sure/${name}.tar.gz"; + md5 = "6dbecef27dffc41c8cd8aab8a8b3fdfb"; }; - - buildInputs = [ nose ]; propagatedBuildInputs = [ six mock ]; From 2eed178fe70f0ce545190beb86c83b25d740a653 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 16:15:40 +0200 Subject: [PATCH 0879/2163] pypyPackages.fabric: disable tests --- pkgs/top-level/python-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e59a8af5c60..7b6b91873d4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2109,6 +2109,7 @@ rec { sha256 = "103mzf0l15kyvw5nmf7bsdrqg6y3wpyxmkyl2h9lk7jxb5gdc9s1"; }; disabled = isPy3k; + doCheck = (!isPyPy); # https://github.com/fabric/fabric/issues/11891 propagatedBuildInputs = [ paramiko pycrypto ]; buildInputs = [ fudge nose ]; }; From e8a38b78227cb6d91d00b26ed4d0e7332b510a1c Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sat, 6 Sep 2014 16:18:26 +0200 Subject: [PATCH 0880/2163] add more convenient adapter for making debug builds --- 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 390af2f731e..d7c89d881d6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -423,6 +423,8 @@ let { deps = [ pkgs.lcov pkgs.enableGCOVInstrumentation ]; } ../build-support/setup-hooks/make-coverage-analysis-report.sh; + # intended to be used like nix-build -E 'with {}; enableDebugging fooPackage' + enableDebugging = pkg : pkg.override { stdenv = stdenvAdapters.keepDebugInfo pkg.stdenv; }; ### TOOLS From f99ad6fe9404d9c026baa5e6e2ea53d0d85d254b Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sat, 6 Sep 2014 16:22:31 +0200 Subject: [PATCH 0881/2163] help2man: update from 1.46.1 to 1.46.2 --- pkgs/development/tools/misc/help2man/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix index c8cff116282..e8e50999f3e 100644 --- a/pkgs/development/tools/misc/help2man/default.nix +++ b/pkgs/development/tools/misc/help2man/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }: stdenv.mkDerivation rec { - name = "help2man-1.46.1"; + name = "help2man-1.46.2"; src = fetchurl { url = "mirror://gnu/help2man/${name}.tar.xz"; - sha256 = "0iqwb3qirl7rp1wwpbh01q89qxvi4h3bc73wi03av6hl4sh05z9x"; + sha256 = "0483cpizy0mqngibv56p6p8jxwh8678qksf5zs5wh963r3n1s6cj"; }; buildInputs = [ makeWrapper perl gettext LocaleGettext ]; From ee27bd1d99ab6eb4834e0d45e1456cdb8af15712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 16:35:54 +0200 Subject: [PATCH 0882/2163] pypyPackages.pil: fix build --- pkgs/top-level/python-packages.nix | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7b6b91873d4..4e62a6c7f12 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5785,8 +5785,9 @@ rec { buildInputs = [ python pkgs.libjpeg pkgs.zlib pkgs.freetype ]; disabled = isPy3k; - doCheck = true; + + postInstall = "ln -s $out/lib/${python.libPrefix}/site-packages $out/lib/${python.libPrefix}/site-packages/PIL"; preConfigure = '' sed -i "setup.py" \ @@ -5795,13 +5796,8 @@ rec { s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${pkgs.zlib}")|g ;' ''; - checkPhase = "${python}/bin/${python.executable} selftest.py"; - buildPhase = "${python}/bin/${python.executable} setup.py build_ext -i"; - - postInstall = '' - cd "$out"/lib/python*/site-packages - ln -s $PWD PIL - ''; + checkPhase = "${python}/bin/${python.executable} selftest.py"; + buildPhase = "${python}/bin/${python.executable} setup.py build_ext -i"; meta = { homepage = http://www.pythonware.com/products/pil/; From 7cc77a12e48aec34b68a437ab1e63120cafe59e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 16:54:14 +0200 Subject: [PATCH 0883/2163] pypyPackages.numpy: disable and upgrade --- pkgs/top-level/python-packages.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4e62a6c7f12..00f0203db3e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5297,12 +5297,14 @@ rec { }; numpy = buildPythonPackage ( rec { - name = "numpy-1.7.1"; + name = "numpy-1.8.2"; src = fetchurl { url = "mirror://sourceforge/numpy/${name}.tar.gz"; - sha256 = "0jh832j439jj2b7m1z5a4rv5cpdn1yiw1r6gwrhdihw562d029am"; + sha256 = "1gcxlk3mf43pzpxvbw8kcfg173g4105j9szsfc1kxwablail6myf"; }; + + disabled = isPyPy; # WIP preConfigure = '' sed -i 's/-faltivec//' numpy/distutils/system_info.py From a9d25eae98e41b0c89a6784090a59fb72f6e59c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 17:10:29 +0200 Subject: [PATCH 0884/2163] pypyPackages.lxml: 3.0.2 -> 3.3.6 (fixes pypy build) --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 00f0203db3e..9cdd9c0d074 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4368,11 +4368,11 @@ rec { }; lxml = buildPythonPackage ( rec { - name = "lxml-3.0.2"; + name = "lxml-3.3.6"; src = fetchurl { url = "http://pypi.python.org/packages/source/l/lxml/${name}.tar.gz"; - md5 = "38b15b0dd5e9292cf98be800e84a3ce4"; + md5 = "a804b36864c483fe7abdd7f493a0c379"; }; buildInputs = [ pkgs.libxml2 pkgs.libxslt ]; From e69dd3b9aa497698c8012b71f5d0aa78aa2a60c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 17:12:11 +0200 Subject: [PATCH 0885/2163] pypyPackages.psycopg2: disable --- pkgs/top-level/python-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9cdd9c0d074..b14043a8349 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5982,6 +5982,7 @@ rec { psycopg2 = buildPythonPackage rec { name = "psycopg2-2.5.3"; + disabled = isPyPy; # error: invalid command 'test' doCheck = false; From 8d85bfefcf6ceeb26a160a08092d9a7ee5648a2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 17:16:44 +0200 Subject: [PATCH 0886/2163] pypyPackages.pycurl: disable --- pkgs/top-level/python-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b14043a8349..61cdc637f08 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6203,6 +6203,7 @@ rec { pycurl = buildPythonPackage (rec { name = "pycurl-7.19.5"; + disabled = isPyPy; # https://github.com/pycurl/pycurl/issues/208 src = fetchurl { url = "http://pycurl.sourceforge.net/download/${name}.tar.gz"; From 424669e7b040296ca62669f43e53876adfe20db2 Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 6 Sep 2014 18:08:33 +0200 Subject: [PATCH 0887/2163] ack: update from 2.12 to 2.14 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 67accf016cc..c183edb1ac7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -25,10 +25,10 @@ let self = _self // overrides; _self = with self; { ack = buildPerlPackage rec { - name = "ack-2.12"; + name = "ack-2.14"; src = fetchurl { url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz"; - sha256 = "0avxpgg1fvib4354d9a9710j63sgxpb5j07if5qr83apq9xx7wjj"; + sha256 = "0gqv30666vlclnwylhk9i64s7raa70x4ncy6bg48s5gcxwrshjc5"; }; # use gnused so that the preCheck command passes buildInputs = stdenv.lib.optional stdenv.isDarwin [ gnused ]; From 9d73922ed7812bb214619d86280fe04e1c2cbe47 Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 6 Sep 2014 18:12:35 +0200 Subject: [PATCH 0888/2163] blueman: update from 1.21 to 1.23 --- pkgs/tools/bluetooth/blueman/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix index 095337d1251..a9a167355ed 100644 --- a/pkgs/tools/bluetooth/blueman/default.nix +++ b/pkgs/tools/bluetooth/blueman/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "blueman-1.21"; + name = "blueman-1.23"; src = fetchurl { url = "http://download.tuxfamily.org/blueman/${name}.tar.gz"; - sha256 = "1bz31w0cqcl77r7vfjwm9c4gmk4hvq3nqn1pjnd5qndia2mhs846"; + sha256 = "04ghlh4h5bwp9mqr5jxcmjm01595l5fq5561qxvf369fvjy63cjh"; }; configureFlags = "--disable-polkit"; From 17f1043eb076d5e7e80ee6b8d6f670e96e45dd71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 18:12:38 +0200 Subject: [PATCH 0889/2163] buildPythonPackage: support .override {} --- pkgs/top-level/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 61cdc637f08..85f11a12916 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -38,7 +38,7 @@ rec { # global distutils config used by buildPythonPackage distutils-cfg = callPackage ../development/python-modules/distutils-cfg { }; - buildPythonPackage = callPackage ../development/python-modules/generic { }; + buildPythonPackage = makeOverridable (callPackage ../development/python-modules/generic { }); wrapPython = pkgs.makeSetupHook { deps = pkgs.makeWrapper; From 46acec64c29dfc6fe6bc3dce1264797fec4424e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 18:13:01 +0200 Subject: [PATCH 0890/2163] pythonPackages.sqlalchemy{,8}: disable on py34 --- pkgs/top-level/python-packages.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 85f11a12916..7e7188c628a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8140,9 +8140,10 @@ rec { }; }); - sqlalchemy = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { + sqlalchemy = sqlalchemy9.override rec { name = "SQLAlchemy-0.7.10"; - disabled = isPy3k; + disabled = isPy34; + src = fetchurl { url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp"; @@ -8155,10 +8156,12 @@ rec { preConfigure = optionalString isPy3k '' python3 sa2to3.py --no-diffs -w lib test examples ''; - }); + }; - sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { + sqlalchemy8 = sqlalchemy9.override rec { name = "SQLAlchemy-0.8.7"; + disabled = isPy34; + src = fetchurl { url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; md5 = "4f3377306309e46739696721b1785335"; @@ -8166,7 +8169,7 @@ rec { preConfigure = optionalString isPy3k '' python3 sa2to3.py --no-diffs -w lib test examples ''; - }); + }; sqlalchemy9 = buildPythonPackage rec { name = "SQLAlchemy-0.9.4"; From 2415c6cbb27d43dd656063e5782ebeb29ec1dce1 Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 6 Sep 2014 18:16:45 +0200 Subject: [PATCH 0891/2163] memtest86: update from 4.3.3 to 4.3.6 --- pkgs/tools/misc/memtest86/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/memtest86/default.nix b/pkgs/tools/misc/memtest86/default.nix index ebf0a89a707..6fccff7781d 100644 --- a/pkgs/tools/misc/memtest86/default.nix +++ b/pkgs/tools/misc/memtest86/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation { - name = "memtest86-4.3.3"; + name = "memtest86-4.3.6"; src = fetchurl { - url = http://www.memtest86.com/downloads/memtest86-4.3.3-src.tar.gz; - sha256 = "1fzpk0s97lx8h1wbv2bgr6m8v4ag8i58kzr8fa25bvwyl8hks9sl"; + url = http://www.memtest86.com/downloads/memtest86-4.3.6-src.tar.gz; + sha256 = "0qbksyl2hmkm12n7zbmf2m2n3q811skhykxx6a9a7y6r7k8y5qmv"; }; preBuild = '' From 7694fcf524789b1b5d75fe2dab898aaeac11564f Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 6 Sep 2014 18:18:21 +0200 Subject: [PATCH 0892/2163] mysql55: update from 5.5.37 to 5.5.39, potentially fixes CVE-2014-2494, CVE-2014-4207, CVE-2014-4258, CVE-2014-4260 --- pkgs/servers/sql/mysql/5.5.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/mysql/5.5.x.nix b/pkgs/servers/sql/mysql/5.5.x.nix index 7c31bd7c582..7266727fdad 100644 --- a/pkgs/servers/sql/mysql/5.5.x.nix +++ b/pkgs/servers/sql/mysql/5.5.x.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "mysql-${version}"; - version = "5.5.37"; + version = "5.5.39"; src = fetchurl { url = "http://cdn.mysql.com/Downloads/MySQL-5.5/${name}.tar.gz"; - md5 = "bf1d80c66d4822ec6036300399a33c03"; + sha256 = "0qj8bc83v6vf8jyn4ag179nclpn6ilw4h4xqb50zz9jd0c5s14qq"; }; preConfigure = stdenv.lib.optional stdenv.isDarwin '' From 43fdbc0bd70769aecb2d365d0ed3e4d83f1b9bfe Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 6 Sep 2014 18:20:17 +0200 Subject: [PATCH 0893/2163] mysql: update from 5.1.72 to 5.1.73, potentially fixes CVE-2013-5908, CVE-2014-0401, CVE-2014-0412, CVE-2014-0437 --- pkgs/servers/sql/mysql/5.1.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/mysql/5.1.x.nix b/pkgs/servers/sql/mysql/5.1.x.nix index c309158a670..b422b993832 100644 --- a/pkgs/servers/sql/mysql/5.1.x.nix +++ b/pkgs/servers/sql/mysql/5.1.x.nix @@ -3,11 +3,11 @@ # Note: zlib is not required; MySQL can use an internal zlib. stdenv.mkDerivation rec { - name = "mysql-5.1.72"; + name = "mysql-5.1.73"; src = fetchurl { url = "http://cdn.mysql.com/Downloads/MySQL-5.1/${name}.tar.gz"; - md5 = "ed79cd48e3e7402143548917813cdb80"; + sha256 = "1dfwi4ck0vq6sdci6gz0031s7zz5lc3pddqlgm0292s00l9y5sq5"; }; buildInputs = [ncurses zlib perl openssl] ++ stdenv.lib.optional stdenv.isLinux ps; From db0076b659967e6212d0c51f488679430c4b2351 Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 6 Sep 2014 18:32:11 +0200 Subject: [PATCH 0894/2163] python34Packages.httplib2: update from 0.8 to 0.9, potentially fixes CVE-2013-2037 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7e7188c628a..982f053da24 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4026,11 +4026,11 @@ rec { }; httplib2 = buildPythonPackage rec { - name = "httplib2-0.8"; + name = "httplib2-0.9"; src = fetchurl { url = "https://pypi.python.org/packages/source/h/httplib2/${name}.tar.gz"; - sha256 = "174w6rz4na1sdlfz37h95l0pkfm9igf9nqmhbd8aqh3sm7d9zrff"; + sha256 = "1asi5wpncnc6ki3bz33mhb9xh2lrkb24y4qng8bmqnczdmm8rsir"; }; meta = { From 73bd403a579257b7483bc49977fa6c00239c2228 Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 6 Sep 2014 19:01:31 +0200 Subject: [PATCH 0895/2163] shared_mime_info: update from 1.2 to 1.3 --- pkgs/data/misc/shared-mime-info/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix index 134a6f5307e..57f5b24a6f8 100644 --- a/pkgs/data/misc/shared-mime-info/default.nix +++ b/pkgs/data/misc/shared-mime-info/default.nix @@ -2,11 +2,11 @@ , libxml2, glib}: stdenv.mkDerivation rec { - name = "shared-mime-info-1.2"; + name = "shared-mime-info-1.3"; src = fetchurl { url = "http://freedesktop.org/~hadess/${name}.tar.xz"; - sha256 = "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"; + sha256 = "0fijrc8j2kw6bvdx7fmlfafbcwxvinhr8l44b46b3v59gj69rm2g"; }; buildInputs = [ From d54fd845bc785aa55913e7c65190738a944b1391 Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 6 Sep 2014 19:04:08 +0200 Subject: [PATCH 0896/2163] at: update from 3.1.14 to 3.1.15 --- pkgs/tools/system/at/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/system/at/default.nix b/pkgs/tools/system/at/default.nix index 2964db34e12..1dc36043ea9 100644 --- a/pkgs/tools/system/at/default.nix +++ b/pkgs/tools/system/at/default.nix @@ -1,12 +1,12 @@ { fetchurl, stdenv, bison, flex, pam, ssmtp }: stdenv.mkDerivation { - name = "at-3.1.14"; + name = "at-3.1.15"; src = fetchurl { # Debian is apparently the last location where it can be found. - url = mirror://debian/pool/main/a/at/at_3.1.14.orig.tar.gz; - sha256 = "cd092bf05d29c25b286f55a960ce8b8c3c5beb571d86ed8eb1dfb3b61291b3ae"; + url = mirror://debian/pool/main/a/at/at_3.1.15.orig.tar.gz; + sha256 = "1z7pgglr0zmwapb4sc1bdb3z0hgig1asyzqv4gs5xafmjd94za03"; }; patches = [ ./install.patch ]; From 0d357114129097b7978c79c371ff399fe85cd046 Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sat, 6 Sep 2014 20:10:19 +0200 Subject: [PATCH 0897/2163] atd: use /var/setuid-wrappers/sendmail by default instead of ssmtp --- pkgs/tools/system/at/default.nix | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/system/at/default.nix b/pkgs/tools/system/at/default.nix index 1dc36043ea9..5108174c887 100644 --- a/pkgs/tools/system/at/default.nix +++ b/pkgs/tools/system/at/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, bison, flex, pam, ssmtp }: +{ fetchurl, stdenv, bison, flex, pam, sendmailPath ? "/var/setuid-wrappers/sendmail" }: stdenv.mkDerivation { name = "at-3.1.15"; @@ -12,15 +12,11 @@ stdenv.mkDerivation { patches = [ ./install.patch ]; buildInputs = - [ bison flex pam - # `configure' and `atd' want the `sendmail' command. - ssmtp - ]; + [ bison flex pam ]; preConfigure = '' - export PATH="${ssmtp}/sbin:$PATH" - + export SENDMAIL=${sendmailPath} # Purity: force atd.pid to be placed in /var/run regardless of # whether it exists now. substituteInPlace ./configure --replace "test -d /var/run" "true" From a71744392b6964e624d3ae968bee660731b7d271 Mon Sep 17 00:00:00 2001 From: Nixpkgs Monitor Date: Sat, 6 Sep 2014 20:10:37 +0200 Subject: [PATCH 0898/2163] pcre: update from 8.34 to 8.35 --- pkgs/development/libraries/pcre/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index 4cf6bd44dd3..930d7b86f06 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -5,11 +5,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "pcre-8.34"; + name = "pcre-8.35"; src = fetchurl { url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2"; - sha256 = "0gsqmsp0q0n3q0ba32gkjvgcsdy6nwidqa7sbxkbw817zzhkl15n"; + sha256 = "0nw66r92dr24vy9k4lw17bkv8x5nlzn6wx9hq4y2dvzgig3w2qd9"; }; # The compiler on Darwin crashes with an internal error while building the From 18d99044331fa99372fc67abf0451056087e5629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 20:59:06 +0200 Subject: [PATCH 0899/2163] nixos-option: fixes as suggested by @nbp --- nixos/doc/manual/man-nixos-option.xml | 2 +- nixos/modules/installer/tools/nixos-option.sh | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml index 554b2969180..2875336c67e 100644 --- a/nixos/doc/manual/man-nixos-option.xml +++ b/nixos/doc/manual/man-nixos-option.xml @@ -71,7 +71,7 @@ Description: Whether to enable the GNU GRUB boot loader. Declared by: - "/path/to/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix" + "/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix" Defined by: "/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix" diff --git a/nixos/modules/installer/tools/nixos-option.sh b/nixos/modules/installer/tools/nixos-option.sh index d995787c76f..96d09c3a605 100644 --- a/nixos/modules/installer/tools/nixos-option.sh +++ b/nixos/modules/installer/tools/nixos-option.sh @@ -182,7 +182,9 @@ if test "$(evalOpt "_type" 2> /dev/null)" = '"option"'; then fi echo if example=$(evalOpt "example" - 2> /dev/null); then - echo "Example: $example" + echo "Example:" + echo "$example" + echo fi echo "Description:" echo From 420385f81a9b3d288e9ab975bd980643e12b5fec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 6 Sep 2014 21:26:03 +0200 Subject: [PATCH 0900/2163] lua-5.2: minor update to fix CVE-2014-5461 Note that almost all packages use lua-5.1 which does remain vulnerable, as they released no update on that branch. CC: @peti. --- pkgs/development/interpreters/lua-5/5.2.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix index ea44adb462c..1839e7789a8 100644 --- a/pkgs/development/interpreters/lua-5/5.2.nix +++ b/pkgs/development/interpreters/lua-5/5.2.nix @@ -10,11 +10,11 @@ in stdenv.mkDerivation rec { name = "lua-${version}"; majorVersion = "5.2"; - version = "${majorVersion}.2"; + version = "${majorVersion}.3"; src = fetchurl { url = "http://www.lua.org/ftp/${name}.tar.gz"; - sha256 = "004zyh9p3lpvbwhyhlmrw6wwcia5abx84q4h2brkn4zdypipvmiz"; + sha1 = "926b7907bc8d274e063d42804666b40a3f3c124c"; }; nativeBuildInputs = [ readline ]; From ac03d296b9b261b342e95871c62593d374179204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 6 Sep 2014 21:28:03 +0200 Subject: [PATCH 0901/2163] telegram-cli: work around a build problem --- .../networking/instant-messengers/telegram-cli/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix index b0302ba8e0b..812f00829e2 100644 --- a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { buildInputs = [ libconfig lua5_2 openssl readline zlib ]; + NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # CPPFunction + installPhase = '' mkdir -p $out/bin cp ./telegram $out/bin/telegram-wo-key From 81046b9e5d20077c4a394c8d5e685ead9c7f609c Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Sat, 6 Sep 2014 21:37:46 +0200 Subject: [PATCH 0902/2163] Initial configuration + image generation script for Micro$oft Azure. Work in progress for #3986. --- .../maintainers/scripts/azure/create-azure.sh | 11 ++ nixos/modules/virtualisation/azure-config.nix | 5 + nixos/modules/virtualisation/azure-image.nix | 122 ++++++++++++++++++ 3 files changed, 138 insertions(+) create mode 100755 nixos/maintainers/scripts/azure/create-azure.sh create mode 100644 nixos/modules/virtualisation/azure-config.nix create mode 100644 nixos/modules/virtualisation/azure-image.nix diff --git a/nixos/maintainers/scripts/azure/create-azure.sh b/nixos/maintainers/scripts/azure/create-azure.sh new file mode 100755 index 00000000000..f87a88404f6 --- /dev/null +++ b/nixos/maintainers/scripts/azure/create-azure.sh @@ -0,0 +1,11 @@ +#! /bin/sh -e + +BUCKET_NAME=${BUCKET_NAME:-nixos} +export NIX_PATH=nixpkgs=../../../.. +export NIXOS_CONFIG=$(dirname $(readlink -f $0))/../../../modules/virtualisation/azure-image.nix +export TIMESTAMP=$(date +%Y%m%d%H%M) + +nix-build '' \ + -A config.system.build.azureImage --argstr system x86_64-linux -o azure --option extra-binary-caches http://hydra.nixos.org -j 10 + +azure vm image create nixos-test --location "West Europe" --md5-skip -v --os Linux azure/disk.vhd diff --git a/nixos/modules/virtualisation/azure-config.nix b/nixos/modules/virtualisation/azure-config.nix new file mode 100644 index 00000000000..5c9f18ef52a --- /dev/null +++ b/nixos/modules/virtualisation/azure-config.nix @@ -0,0 +1,5 @@ +{ config, pkgs, modulesPath, ... }: + +{ + imports = [ "${modulesPath}/virtualisation/azure-image.nix" ]; +} diff --git a/nixos/modules/virtualisation/azure-image.nix b/nixos/modules/virtualisation/azure-image.nix new file mode 100644 index 00000000000..8c980c5eec9 --- /dev/null +++ b/nixos/modules/virtualisation/azure-image.nix @@ -0,0 +1,122 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + diskSize = "4096"; +in +{ + imports = [ ../profiles/headless.nix ]; + + system.build.azureImage = + pkgs.vmTools.runInLinuxVM ( + pkgs.runCommand "azure-image" + { preVM = + '' + mkdir $out + diskImage=$out/$diskImageBase + + cyl=$(((${diskSize}*1024*1024)/(512*63*255))) + size=$(($cyl*255*63*512)) + roundedsize=$((($size/(1024*1024)+1)*(1024*1024))) + ${pkgs.vmTools.qemu}/bin/qemu-img create -f raw $diskImage $roundedsize + mv closure xchg/ + ''; + + postVM = + '' + mkdir -p $out + ${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vpc $diskImage $out/disk.vhd + rm $diskImage + ''; + diskImageBase = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw"; + buildInputs = [ pkgs.utillinux pkgs.perl ]; + exportReferencesGraph = + [ "closure" config.system.build.toplevel ]; + } + '' + # Create partition table + ${pkgs.parted}/sbin/parted /dev/vda mklabel msdos + ${pkgs.parted}/sbin/parted /dev/vda mkpart primary ext4 1 ${diskSize}M + ${pkgs.parted}/sbin/parted /dev/vda print + . /sys/class/block/vda1/uevent + mknod /dev/vda1 b $MAJOR $MINOR + + # Create an empty filesystem and mount it. + ${pkgs.e2fsprogs}/sbin/mkfs.ext4 -L nixos /dev/vda1 + ${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1 + + mkdir /mnt + mount /dev/vda1 /mnt + + # The initrd expects these directories to exist. + mkdir /mnt/dev /mnt/proc /mnt/sys + + mount --bind /proc /mnt/proc + mount --bind /dev /mnt/dev + mount --bind /sys /mnt/sys + + # Copy all paths in the closure to the filesystem. + storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure) + + mkdir -p /mnt/nix/store + echo "copying everything (will take a while)..." + cp -prd $storePaths /mnt/nix/store/ + + # Register the paths in the Nix database. + printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \ + chroot /mnt ${config.nix.package}/bin/nix-store --load-db + + # Create the system profile to allow nixos-rebuild to work. + chroot /mnt ${config.nix.package}/bin/nix-env \ + -p /nix/var/nix/profiles/system --set ${config.system.build.toplevel} + + # `nixos-rebuild' requires an /etc/NIXOS. + mkdir -p /mnt/etc + touch /mnt/etc/NIXOS + + # `switch-to-configuration' requires a /bin/sh + mkdir -p /mnt/bin + ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh + + # Install a configuration.nix. + mkdir -p /mnt/etc/nixos /mnt/boot/grub + cp ${./azure-config.nix} /mnt/etc/nixos/configuration.nix + + # Generate the GRUB menu. + ln -s vda /dev/sda + chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot + + umount /mnt/proc /mnt/dev /mnt/sys + umount /mnt + '' + ); + + fileSystems."/".device = "/dev/disk/by-label/nixos"; + + boot.kernelParams = [ "console=ttyS0" "earlyprintk=ttyS0" "rootdelay=300" "panic=1" "boot.panic_on_fail" ]; + boot.initrd.kernelModules = [ "hv_vmbus" "hv_netvsc" "hv_utils" "hv_storvsc" ]; + + # Generate a GRUB menu. + boot.loader.grub.device = "/dev/sda"; + boot.loader.grub.version = 2; + boot.loader.grub.timeout = 0; + + # Don't put old configurations in the GRUB menu. The user has no + # way to select them anyway. + boot.loader.grub.configurationLimit = 0; + + # Allow root logins only using the SSH key that the user specified + # at instance creation time. + services.openssh.enable = true; + services.openssh.permitRootLogin = "without-password"; + + # Force getting the hostname from Azure + networking.hostName = mkDefault ""; + + # Always include cryptsetup so that NixOps can use it. + environment.systemPackages = [ pkgs.cryptsetup ]; + + networking.usePredictableInterfaceNames = false; + + users.extraUsers.root.openssh.authorizedKeys.keys = [ builtins.readFile ]; +} From e9c1fb0c89a75e23f9a78f6388629db244066449 Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Sat, 6 Sep 2014 21:53:10 +0200 Subject: [PATCH 0903/2163] Azure: Mount metadata 'CD' on /metadata --- nixos/modules/virtualisation/azure-image.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/virtualisation/azure-image.nix b/nixos/modules/virtualisation/azure-image.nix index 8c980c5eec9..c415890d6c4 100644 --- a/nixos/modules/virtualisation/azure-image.nix +++ b/nixos/modules/virtualisation/azure-image.nix @@ -93,6 +93,9 @@ in fileSystems."/".device = "/dev/disk/by-label/nixos"; + # Azure metadata is available as a CD-ROM drive. + fileSystems."/metadata".device = "/dev/sr0"; + boot.kernelParams = [ "console=ttyS0" "earlyprintk=ttyS0" "rootdelay=300" "panic=1" "boot.panic_on_fail" ]; boot.initrd.kernelModules = [ "hv_vmbus" "hv_netvsc" "hv_utils" "hv_storvsc" ]; From 0418d8299d17e7efac7585bf7843c4a3356e9316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sat, 6 Sep 2014 22:24:56 +0200 Subject: [PATCH 0904/2163] disable a bunch of python packages on pypy --- pkgs/development/python-modules/sip/4.16.nix | 4 ++-- pkgs/development/python-modules/sip/default.nix | 4 ++-- pkgs/top-level/python-packages.nix | 9 ++++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/sip/4.16.nix b/pkgs/development/python-modules/sip/4.16.nix index aa1fb198438..210346062f9 100644 --- a/pkgs/development/python-modules/sip/4.16.nix +++ b/pkgs/development/python-modules/sip/4.16.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, python }: +{ stdenv, fetchurl, python, isPyPy }: -stdenv.mkDerivation rec { +if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec { name = "sip-4.16.1"; src = fetchurl { diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix index db397f95944..cf3a0149844 100644 --- a/pkgs/development/python-modules/sip/default.nix +++ b/pkgs/development/python-modules/sip/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, python }: +{ stdenv, fetchurl, python, isPyPy }: -stdenv.mkDerivation rec { +if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec { name = "sip-4.14.7"; # kde410.pykde4 doesn't build with 4.15 src = fetchurl { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 982f053da24..d1ad28a9cde 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -188,12 +188,12 @@ rec { sip = import ../development/python-modules/sip { inherit (pkgs) stdenv fetchurl; - inherit python; + inherit python isPyPy; }; sip_4_16 = import ../development/python-modules/sip/4.16.nix { inherit (pkgs) stdenv fetchurl; - inherit python; + inherit python isPyPy; }; tables = import ../development/python-modules/tables { @@ -440,6 +440,7 @@ rec { apsw = buildPythonPackage rec { name = "apsw-3.7.6.2-r1"; + disabled = isPyPy; src = fetchurl { url = "http://apsw.googlecode.com/files/${name}.zip"; @@ -2005,6 +2006,7 @@ rec { eyeD3 = buildPythonPackage rec { version = "0.7.4"; name = "eyeD3-${version}"; + disabled = isPyPy; src = fetchurl { url = "http://eyed3.nicfit.net/releases/${name}.tgz"; @@ -6478,6 +6480,7 @@ rec { pyparted = buildPythonPackage rec { name = "pyparted-${version}"; version = "3.10"; + disabled = isPyPy; src = fetchurl { url = "https://fedorahosted.org/releases/p/y/pyparted/${name}.tar.gz"; @@ -8536,7 +8539,7 @@ rec { smmap = buildPythonPackage rec { name = "smmap-0.8.2"; - disabled = isPy3k; # next release will have py3k support + disabled = isPy3k || isPyPy; # next release will have py3k/pypy support meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; src = fetchurl { From f14d1d76bb14dd186ee6854aded124cdb09133db Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Sat, 6 Sep 2014 22:54:15 +0200 Subject: [PATCH 0905/2163] Azure: Fix authorized_keys --- nixos/modules/virtualisation/azure-image.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/azure-image.nix b/nixos/modules/virtualisation/azure-image.nix index c415890d6c4..ec7e8888c03 100644 --- a/nixos/modules/virtualisation/azure-image.nix +++ b/nixos/modules/virtualisation/azure-image.nix @@ -121,5 +121,5 @@ in networking.usePredictableInterfaceNames = false; - users.extraUsers.root.openssh.authorizedKeys.keys = [ builtins.readFile ]; + users.extraUsers.root.openssh.authorizedKeys.keys = [ (builtins.readFile ) ]; } From 7668e3dafedfe2ca801f42e1830bf8073fa7d6ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 7 Sep 2014 00:13:07 +0200 Subject: [PATCH 0906/2163] sip: use package from pythonPackages attrset --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d7c89d881d6..9b04b37d7d7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6825,7 +6825,7 @@ let rhpl = callPackage ../development/python-modules/rhpl { }; - sip = callPackage ../development/python-modules/sip { }; + sip = pythonPackages.sip; pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { stdenv = if stdenv.isDarwin From 301fe9360e70b364d6a58065f4175c0923c201a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 7 Sep 2014 00:13:28 +0200 Subject: [PATCH 0907/2163] pypyPackages.skype4py: disable --- pkgs/top-level/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d1ad28a9cde..f97da897ba5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7980,7 +7980,7 @@ rec { skype4py = buildPythonPackage (rec { name = "Skype4Py-1.0.32.0"; - disabled = isPy3k; + disabled = isPy3k || isPyPy; src = fetchurl { url = mirror://sourceforge/skype4py/Skype4Py-1.0.32.0.tar.gz; From 4ead67b785fc666aaebaa3958b034dca28d61f19 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sun, 7 Sep 2014 00:46:25 +0200 Subject: [PATCH 0908/2163] firefox: Workaround for building on i686-linux http://hydra.nixos.org/build/13992569 --- pkgs/applications/networking/browsers/firefox/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index 4f4a88f01c8..3223f873bfb 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -66,7 +66,8 @@ stdenv.mkDerivation rec { ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"] else [ "--disable-debug" "--enable-release" - "--enable-optimize" "--enable-strip" ]) + "--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}" + "--enable-strip" ]) ++ lib.optional enableOfficialBranding "--enable-official-branding"; enableParallelBuilding = true; From b61d98728cb6564da06c0b72a8071a7da58bd32d Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Sat, 6 Sep 2014 16:15:37 -0700 Subject: [PATCH 0909/2163] Add notice for chocolateDoomMaster --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b84e986b499..7b9e52ccc00 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -754,6 +754,7 @@ let chkrootkit = callPackage ../tools/security/chkrootkit { }; chocolateDoom = callPackage ../games/chocolate-doom { }; + # master is here because chocolateDoom v2.0 has broken netplay chocolateDoomMaster = callPackage ../games/chocolate-doom/master.nix { }; chrony = callPackage ../tools/networking/chrony { }; From eb7dbf90677983f7febf251c3f286a0dc7966507 Mon Sep 17 00:00:00 2001 From: Cray Elliott Date: Sat, 6 Sep 2014 16:18:23 -0700 Subject: [PATCH 0910/2163] Remove eternityMaster --- pkgs/games/eternity-engine/master.nix | 30 --------------------------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 31 deletions(-) delete mode 100644 pkgs/games/eternity-engine/master.nix diff --git a/pkgs/games/eternity-engine/master.nix b/pkgs/games/eternity-engine/master.nix deleted file mode 100644 index 0d0f8e26b44..00000000000 --- a/pkgs/games/eternity-engine/master.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, cmake, mesa, SDL, SDL_mixer, SDL_net, fetchgit }: - -stdenv.mkDerivation rec { - name = "eternity-engine-20140902"; - src = fetchgit { - url = git://github.com/team-eternity/eternity.git; - rev = "db21379abb33f6d92dc0e1665e527e4d49acc722"; - sha256 = "0k54yvxqxnd60az21b734ka3myxkqb7pjmdp3klrkfwp1kl02ysc"; - }; - - cmakeFlags = '' - -DCMAKE_BUILD_TYPE=Release - ''; - - buildInputs = [ stdenv cmake mesa SDL SDL_mixer SDL_net ]; - - enableParallelBuilding = true; - - installPhase = '' - mkdir -p $out/bin - cp source/eternity $out/bin - ''; - - meta = { - homepage = http://doomworld.com/eternity; - description = "New school Doom port by James Haley"; - license = stdenv.lib.licenses.gpl3; - maintainers = with stdenv.lib.maintainers; [ MP2E ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 30f43d30059..2bf19ae4bab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -994,7 +994,6 @@ let ethtool = callPackage ../tools/misc/ethtool { }; eternity = callPackage ../games/eternity-engine { }; - eternityMaster = callPackage ../games/eternity-engine/master.nix { }; ettercap = callPackage ../applications/networking/sniffers/ettercap { }; From d3f80b36ba5289a7e37f03c2b3dae9eb6b55d2d7 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 6 Sep 2014 18:09:48 -0700 Subject: [PATCH 0911/2163] kernel: 3.10.53 -> 3.10.54 --- pkgs/os-specific/linux/kernel/linux-3.10.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index 8fa684e407c..e888afc2c6d 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.10.53"; + version = "3.10.54"; extraMeta.branch = "3.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1sxa6ppgpy9fgj4lyj8d53y309v6r5nmifbrcf5pqs6l944frhq6"; + sha256 = "0rhwdkw0ia8bpi237006y0m84vfvqz38l0z2dvqy2shg8ywf24ya"; }; features.iwlwifi = true; From ed7ce2bd8175ee9bd5f5d3289f7a177f546ba14e Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 6 Sep 2014 18:10:01 -0700 Subject: [PATCH 0912/2163] kernel: 3.14.17 -> 3.14.18 --- pkgs/os-specific/linux/kernel/linux-3.14.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix index 74d83345ec1..5dc570f1998 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.14.17"; + version = "3.14.18"; extraMeta.branch = "3.14"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1dl9skwd1xvkdm9gblidcawkck6x5slb41gbx0i8jxby2k6w6i5n"; + sha256 = "0i0b35qmpxvfkflf079dhfx3yfjbh0dgqs7qzxrhs9sw4jf73z75"; }; features.iwlwifi = true; From 844aef5bcf19ae7e362bceb981b17fa7a59c2c9c Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 6 Sep 2014 18:10:13 -0700 Subject: [PATCH 0913/2163] kernel: 3.16.1 -> 3.16.2 --- pkgs/os-specific/linux/kernel/linux-3.16.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.16.nix b/pkgs/os-specific/linux/kernel/linux-3.16.nix index be2e68ab81e..c41e1bce107 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.16.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.16.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.16.1"; + version = "3.16.2"; extraMeta.branch = "3.16"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0wbxqlmk7w9047ir51dsz6vi7ww0hpycgrb43mk2a189xaldsdxy"; + sha256 = "16l5l099qv367d3gknpbycgrakli2mdklvgaifsn3hcrrjs44ybf"; }; features.iwlwifi = true; From fb9d919fe414404794f0354b6dce65785ac78153 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 6 Sep 2014 18:47:24 -0700 Subject: [PATCH 0914/2163] libotr: git -> 4.0.0 --- pkgs/development/libraries/libotr/default.nix | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/pkgs/development/libraries/libotr/default.nix b/pkgs/development/libraries/libotr/default.nix index 3782dabc67b..7b8f40d1886 100644 --- a/pkgs/development/libraries/libotr/default.nix +++ b/pkgs/development/libraries/libotr/default.nix @@ -1,23 +1,22 @@ -{stdenv, fetchgit, libgcrypt, autoconf, automake, libtool}: +{ stdenv, fetchurl, libgcrypt, autoreconfHook }: stdenv.mkDerivation rec { - name = "libotr-20130821-git-f0f8a2"; - src = fetchgit { - url = "http://git.code.sf.net/p/otr/libotr"; - rev = "f0f8a2"; - sha256 = "08019r8bnk8f4yx6574jdz217p283ry7dmpqcad2d87yhkdmc3mm"; + name = "libotr-4.0.0"; + + src = fetchurl { + url = "https://otr.cypherpunks.ca/${name}.tar.gz"; + sha256 = "1d4k0b7v4d3scwm858cmqr9c6xgd6ppla1vk4x2yg64q82a1k49z"; }; - NIX_LDFLAGS = "-lssp"; + buildInputs = [ autoreconfHook ]; + propagatedBuildInputs = [ libgcrypt ]; - propagatedBuildInputs = [ libgcrypt autoconf automake libtool ]; - - preConfigure = "autoreconf -vfi"; - - meta = { + meta = with stdenv.lib; { homepage = "http://www.cypherpunks.ca/otr/"; repositories.git = git://git.code.sf.net/p/otr/libotr; - license = stdenv.lib.licenses.lgpl21; + license = licenses.lgpl21; description = "Library for Off-The-Record Messaging"; + maintainers = with maintainers; [ wkennington ]; + platforms = platforms.unix; }; } From cc5d2cf55a0cbfc54b4a132b059b9e49b5ed51db Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 6 Sep 2014 18:47:44 -0700 Subject: [PATCH 0915/2163] bitlbee: 3.2 -> 3.2.2 --- .../instant-messengers/bitlbee/default.nix | 20 +++++++++++-------- pkgs/top-level/all-packages.nix | 5 +---- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix index cf10c1e6fe2..8685e704af4 100644 --- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix +++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix @@ -1,19 +1,23 @@ { fetchurl, stdenv, gnutls, glib, pkgconfig, check, libotr }: +with stdenv.lib; stdenv.mkDerivation rec { - name = "bitlbee-3.2"; + name = "bitlbee-3.2.2"; src = fetchurl { url = "mirror://bitlbee/src/${name}.tar.gz"; - sha256 = "1b43828e906f5450993353f2ebecc6c038f0261c4dc3f1722ebafa6ea3e62030"; + sha256 = "13jmcxxgli82wb2n4hs091159xk8rgh7nb02f478lgpjh6996f5s"; }; buildInputs = [ gnutls glib pkgconfig libotr ] - ++ stdenv.lib.optional doCheck check; + ++ optional doCheck check; - configureFlags = [ "--otr=1" ]; + configureFlaags = [ + "--gcov=1" + "--otr=1" + "--ssl=gnutls" + ]; - preCheck = "mkdir tests/.depend"; doCheck = true; meta = { @@ -31,9 +35,9 @@ stdenv.mkDerivation rec { ''; homepage = http://www.bitlbee.org/; - license = stdenv.lib.licenses.gpl2Plus; + license = licenses.gpl2Plus; - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice + maintainers = with maintainers; [ ludo wkennington ]; + platforms = platforms.gnu; # arbitrary choice }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9b04b37d7d7..5c0d6039f04 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8423,10 +8423,7 @@ let (callPackage ../applications/misc/bitcoin/dogecoin.nix {}) ); - bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { - gnutls = gnutls; - libotr = libotr_3_2; - }; + bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { }; blender = callPackage ../applications/misc/blender { python = python34; From 9a48f9d1b6656683c7450eecd839012ca424f556 Mon Sep 17 00:00:00 2001 From: Nathaniel Baxter Date: Thu, 4 Sep 2014 13:11:30 +1000 Subject: [PATCH 0916/2163] ati-drivers: bump version to 14.4 --- pkgs/os-specific/linux/ati-drivers/builder.sh | 4 ++-- pkgs/os-specific/linux/ati-drivers/default.nix | 6 +++--- .../linux/ati-drivers/gentoo-patches.patch | 18 ------------------ 3 files changed, 5 insertions(+), 23 deletions(-) diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh index d1ca1b35452..ab347d976a5 100644 --- a/pkgs/os-specific/linux/ati-drivers/builder.sh +++ b/pkgs/os-specific/linux/ati-drivers/builder.sh @@ -8,7 +8,7 @@ die(){ echo $@; exit 1; } # custom unpack: unzip $src -run_file=$(echo amd-catalyst-*) +run_file=$(echo fglrx-*/amd-driver-installer-*) sh $run_file --extract . eval "$patchPhase" @@ -60,7 +60,7 @@ setSMP(){ } setModVersions(){ - ! grep CONFIG_MODVERSIONS=y $kernel/config || + ! grep CONFIG_MODVERSIONS=y $kernelBuild/.config || def_modversions="-DMODVERSIONS" # make.sh contains much more code to determine this whether its enabled } diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index 0aa67dba237..0da2d26c356 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -26,7 +26,7 @@ assert stdenv.system == "x86_64-linux"; stdenv.mkDerivation { - name = "ati-drivers-13.12-${kernel.version}"; + name = "ati-drivers-14.4-${kernel.version}"; builder = ./builder.sh; @@ -34,8 +34,8 @@ stdenv.mkDerivation { gcc = stdenv.gcc.gcc; src = fetchurl { - url = http://www2.ati.com/drivers/linux/amd-catalyst-13.12-linux-x86.x86_64.zip; - sha256 = "1c3fn328340by4qn99dgfj8c2q34fxdb2alcak0vnyc6bw7l5sms"; + url = http://www2.ati.com/drivers/linux/amd-catalyst-14-4-rev2-linux-x86-x86-64-may6.zip; + sha256 = "1xbhn55yifis9b0lzb3s03hc1bcq8jmy7l96m4x8d842n7ji7qlk"; curlOpts = "--referer http://support.amd.com/en-us/download/desktop?os=Linux%20x86_64"; }; diff --git a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch index 392c2a8c29e..fd1d12cccb6 100644 --- a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch +++ b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch @@ -31,21 +31,3 @@ index d3ad3ce..9362b58 100755 +# endif #endif } - - -diff -urN a/common/lib/modules/fglrx/build_mod/kcl_acpi.c common/lib/modules/fglrx/build_mod/kcl_acpi.c ---- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-12-27 13:32:34.734832283 +0100 -+++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-12-27 13:33:31.849831765 +0100 -@@ -1002,7 +1002,11 @@ - #endif - { - return KCL_ACPI_ERROR; -- } -+ } -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1) -+ ((acpi_tbl_table_handler)handler)(hdr); -+#else - ((acpi_table_handler)handler)(hdr); -+#endif - return KCL_ACPI_OK; - } From c16874c4c0e8f0980d1000b4024239146c02028d Mon Sep 17 00:00:00 2001 From: Nathaniel Baxter Date: Fri, 5 Sep 2014 19:53:36 +1000 Subject: [PATCH 0917/2163] ati_unfree: Create a nixos module for the ati_unfree x11 driver and blacklist the radeon driver when ati_unfree is installed. --- nixos/modules/hardware/opengl.nix | 17 +-------- nixos/modules/hardware/video/ati.nix | 37 +++++++++++++++++++ nixos/modules/module-list.nix | 1 + nixos/modules/services/x11/xserver.nix | 6 +-- .../os-specific/linux/ati-drivers/default.nix | 2 - 5 files changed, 41 insertions(+), 22 deletions(-) create mode 100644 nixos/modules/hardware/video/ati.nix diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix index f894c830eb6..f974ec01c66 100644 --- a/nixos/modules/hardware/opengl.nix +++ b/nixos/modules/hardware/opengl.nix @@ -104,22 +104,9 @@ in environment.sessionVariables.LD_LIBRARY_PATH = [ "/run/opengl-driver/lib" "/run/opengl-driver-32/lib" ]; - # FIXME: move this into card-specific modules. - hardware.opengl.package = mkDefault - (if elem "ati_unfree" videoDrivers then - kernelPackages.ati_drivers_x11 - else - makePackage pkgs); - + hardware.opengl.package = mkDefault (makePackage pkgs); hardware.opengl.package32 = mkDefault (makePackage pkgs_i686); - boot.extraModulePackages = - optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions ++ - optional (elem "ati_unfree" videoDrivers) kernelPackages.ati_drivers_x11; - - environment.etc = - optionalAttrs (elem "ati_unfree" videoDrivers) { - "ati".source = "${kernelPackages.ati_drivers_x11}/etc/ati"; - }; + boot.extraModulePackages = optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions; }; } diff --git a/nixos/modules/hardware/video/ati.nix b/nixos/modules/hardware/video/ati.nix new file mode 100644 index 00000000000..4ae1711318f --- /dev/null +++ b/nixos/modules/hardware/video/ati.nix @@ -0,0 +1,37 @@ +# This module provides the proprietary ATI X11 / OpenGL drivers. + +{ config, lib, pkgs, pkgs_i686, ... }: + +with lib; + +let + + drivers = config.services.xserver.videoDrivers; + + enabled = elem "ati_unfree" drivers; + + ati_x11 = config.boot.kernelPackages.ati_drivers_x11; + +in + +{ + + config = mkIf enabled { + + services.xserver.drivers = singleton + { name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; }; + + hardware.opengl.package = ati_x11; + #hardware.opengl.package32 = pkgs_i686.linuxPackages.ati_x11.override { libsOnly = true; kernel = null; }; + + environment.systemPackages = [ ati_x11 ]; + + boot.extraModulePackages = [ ati_x11 ]; + + boot.blacklistedKernelModules = [ "radeon" ]; + + environment.etc."ati".source = "${ati_x11}/etc/ati"; + + }; + +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 61a98ca12ff..a6da9b32d81 100755 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -38,6 +38,7 @@ ./hardware/pcmcia.nix ./hardware/video/bumblebee.nix ./hardware/video/nvidia.nix + ./hardware/video/ati.nix ./installer/tools/nixos-checkout.nix ./installer/tools/tools.nix ./misc/assertions.nix diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 21eaf6bb6b7..c08afe2041f 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -13,7 +13,6 @@ let # Map video driver names to driver packages. FIXME: move into card-specific modules. knownVideoDrivers = { - ati_unfree = { modules = [ kernelPackages.ati_drivers_x11 ]; driverName = "fglrx"; }; nouveau = { modules = [ pkgs.xf86_video_nouveau ]; }; unichrome = { modules = [ pkgs.xorgVideoUnichrome ]; }; virtualbox = { modules = [ kernelPackages.virtualboxGuestAdditions ]; driverName = "vboxvideo"; }; @@ -444,8 +443,7 @@ in pkgs.xterm pkgs.xdg_utils ] - ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh - ++ optional (elem "ati_unfree" cfg.videoDrivers) kernelPackages.ati_drivers_x11; + ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh; environment.pathsToLink = [ "/etc/xdg" "/share/xdg" "/share/applications" "/share/icons" "/share/pixmaps" ]; @@ -465,8 +463,6 @@ in XORG_DRI_DRIVER_PATH = "/run/opengl-driver/lib/dri"; # !!! Depends on the driver selected at runtime. LD_LIBRARY_PATH = concatStringsSep ":" ( [ "${xorg.libX11}/lib" "${xorg.libXext}/lib" ] - ++ optionals (elem "ati_unfree" cfg.videoDrivers) - [ "${kernelPackages.ati_drivers_x11}/lib" "${kernelPackages.ati_drivers_x11}/X11R6/lib64/modules/linux" ] ++ concatLists (catAttrs "libPath" cfg.drivers)); } // cfg.displayManager.job.environment; diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index 0da2d26c356..10aeea18ceb 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -21,8 +21,6 @@ # There is one issue left: # /usr/lib/dri/fglrx_dri.so must point to /run/opengl-driver/lib/fglrx_dri.so -# You eventually have to blacklist radeon module (?) - assert stdenv.system == "x86_64-linux"; stdenv.mkDerivation { From 45f4b8b3adabfe8f19ef358e0d7d84df2c3c4723 Mon Sep 17 00:00:00 2001 From: Nathaniel Baxter Date: Sat, 6 Sep 2014 14:17:00 +1000 Subject: [PATCH 0918/2163] ati_unfree: Towards using ati unfree 32bit binary libs --- nixos/modules/hardware/video/ati.nix | 2 +- pkgs/os-specific/linux/ati-drivers/builder.sh | 36 ++++++++++++------- .../os-specific/linux/ati-drivers/default.nix | 26 +++++++------- 3 files changed, 38 insertions(+), 26 deletions(-) diff --git a/nixos/modules/hardware/video/ati.nix b/nixos/modules/hardware/video/ati.nix index 4ae1711318f..033e49d2233 100644 --- a/nixos/modules/hardware/video/ati.nix +++ b/nixos/modules/hardware/video/ati.nix @@ -22,7 +22,7 @@ in { name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; }; hardware.opengl.package = ati_x11; - #hardware.opengl.package32 = pkgs_i686.linuxPackages.ati_x11.override { libsOnly = true; kernel = null; }; + hardware.opengl.package32 = pkgs_i686.linuxPackages.ati_drivers_x11.override { libsOnly = true; kernel = null; }; environment.systemPackages = [ ati_x11 ]; diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh index ab347d976a5..90d186ea113 100644 --- a/pkgs/os-specific/linux/ati-drivers/builder.sh +++ b/pkgs/os-specific/linux/ati-drivers/builder.sh @@ -13,6 +13,21 @@ sh $run_file --extract . eval "$patchPhase" +case "$system" in + x86_64-linux) + arch=x86_64 + lib_arch=lib64 + DIR_DEPENDING_ON_XORG_VERSION=xpic_64a + ;; + i686-linux) + arch=x86 + lib_arch=lib + DIR_DEPENDING_ON_XORG_VERSION=xpic + ;; + *) exit 1;; +esac + +if test -z "$libsOnly"; then kernelVersion=$(cd ${kernel}/lib/modules && ls) kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/build) linuxsources=$(echo ${kernel}/lib/modules/$kernelVersion/source) @@ -105,17 +120,6 @@ setSMP setModVersions CC=gcc MODULE=fglrx -case "$system" in - x86_64-linux) - arch=x86_64 - lib_arch=lib64 - ;; - i686-linux) - arch=x86 - lib_arch=lib - ;; - *) exit 1;; -esac LIBIP_PREFIX=$TMP/arch/$arch/lib/modules/fglrx/build_mod [ -d $LIBIP_PREFIX ] GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" @@ -138,6 +142,8 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" cd $TMP } +fi + { # install mkdir -p $out/lib/xorg @@ -152,13 +158,15 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" # what are those files used for? cp -r common/etc $out - DIR_DEPENDING_ON_XORG_VERSION=xpic_64a cp -r $DIR_DEPENDING_ON_XORG_VERSION/usr/X11R6/$lib_arch/* $out/lib/xorg + # install kernel module + if test -z "$libsOnly"; then t=$out/lib/modules/${kernelVersion}/kernel/drivers/misc mkdir -p $t cp ./common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko $t + fi # should this be installed at all? # its used by the example fglrx_gamma only @@ -185,6 +193,8 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" patchelf --set-rpath $gcc/$lib_arch $out/lib/libatiadlxx.so } +if test -z "$libsOnly"; then + { # build samples mkdir -p $out/bin @@ -229,6 +239,8 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" } +fi + for p in $extraDRIlibs; do for lib in $p/lib/*.so*; do ln -s $lib $out/lib/ diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index 10aeea18ceb..45452c1ea6d 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -1,10 +1,16 @@ -{ stdenv, fetchurl, kernel, xlibs, which, imake +{ stdenv, fetchurl, kernel ? null, xlibs, which, imake , mesa # for fgl_glxgears , libXxf86vm, xf86vidmodeproto # for fglrx_gamma , xorg, makeWrapper, glibc, patchelf , unzip +, # Whether to build the libraries only (i.e. not the kernel module or + # driver utils). Used to support 32-bit binaries on 64-bit + # Linux. + libsOnly ? false }: +assert (!libsOnly) -> kernel != null; + # If you want to use a different Xorg version probably # DIR_DEPENDING_ON_XORG_VERSION in builder.sh has to be adopted (?) # make sure libglx.so of ati is used. xorg.xorgserver does provide it as well @@ -21,10 +27,10 @@ # There is one issue left: # /usr/lib/dri/fglrx_dri.so must point to /run/opengl-driver/lib/fglrx_dri.so -assert stdenv.system == "x86_64-linux"; +with stdenv.lib; stdenv.mkDerivation { - name = "ati-drivers-14.4-${kernel.version}"; + name = "ati-drivers-14.4" + (optionalString (!libsOnly) "-${kernel.version}"); builder = ./builder.sh; @@ -49,7 +55,9 @@ stdenv.mkDerivation { mesa ]; - kernel = kernel.dev; + inherit libsOnly; + + kernel = if libsOnly then null else kernel.dev; inherit glibc /* glibc only used for setting interpreter */; @@ -73,15 +81,7 @@ stdenv.mkDerivation { homepage = http://support.amd.com/us/gpudownload/Pages/index.aspx; license = licenses.unfree; maintainers = with maintainers; [marcweber offline]; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; hydraPlatforms = []; }; - - # moved assertions here because the name is evaluated when the NixOS manual is generated - # Don't make that fail - fail lazily when a users tries to build this derivation only - dummy = - # assert xorg.xorgserver.name == "xorg-server-1.7.5"; - assert stdenv.system == "x86_64-linux"; # i686-linux should work as well - however I didn't test it. - null; - } From fb9a6221b63ee92c27c917368e980649c5167203 Mon Sep 17 00:00:00 2001 From: Nathaniel Baxter Date: Sun, 7 Sep 2014 12:42:32 +1000 Subject: [PATCH 0919/2163] ati_unfree: Update nixos-manual for AMD driver support --- nixos/doc/manual/configuration/x-windows.xml | 19 +++++++++++++++++++ nixos/modules/hardware/opengl.nix | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml index bc58bb1f066..cfcc8baa898 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -73,6 +73,25 @@ services.xserver.driSupport32Bit = true; +AMD Graphics Cards + +AMD provides a proprietary driver for its graphics cards that +has better 3D performance than the X.org drivers. It is not enabled +by default because it’s not free software. You can enable it as follows: + +services.xserver.videoDrivers = [ "ati_unfree" ]; + +You will need to reboot after enabling this driver to prevent a clash +with other kernel modules. + +On 64-bit systems, if you want full acceleration for 32-bit +programs such as Wine, you should also set the following: + +hardware.opengl.driSupport32Bit = true; + + + + Touchpads diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix index f974ec01c66..1777c200dd1 100644 --- a/nixos/modules/hardware/opengl.nix +++ b/nixos/modules/hardware/opengl.nix @@ -46,7 +46,8 @@ in description = '' On 64-bit systems, whether to support Direct Rendering for 32-bit applications (such as Wine). This is currently only - supported for the nvidia driver and for + supported for the nvidia and + ati_unfree drivers, as well as Mesa. ''; }; From c3361f9414561822bb05e1306f29cd24198219c0 Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sun, 7 Sep 2014 11:34:15 +0200 Subject: [PATCH 0920/2163] perlPackages.FinanceQuote: update from 1.29 to 1.35 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c183edb1ac7..f77836671cb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3785,10 +3785,10 @@ let self = _self // overrides; _self = with self; { }; FinanceQuote = buildPerlPackage rec { - name = "Finance-Quote-1.29"; + name = "Finance-Quote-1.35"; src = fetchurl { url = "mirror://cpan/authors/id/E/EC/ECOCODE/${name}.tar.gz"; - sha256 = "0rx8whixbhwq2imd3ffx3vcqdgfbjj6y1s01m38b52x3bjn9hw0f"; + sha256 = "0mxfhi1ndckj4w7fw20rwy6ymalg2yncnp9xn0v2bnk5ibqj439w"; }; propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc JSON ]; meta = { From 5856fbc7d2d80f6fdab7400890b43a0d03d94d29 Mon Sep 17 00:00:00 2001 From: Nathaniel Baxter Date: Sun, 7 Sep 2014 12:14:44 +1000 Subject: [PATCH 0921/2163] nixos-manual: Fix reference to obsolete configuration option --- nixos/doc/manual/configuration/x-windows.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml index bc58bb1f066..4008e89fcea 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -67,7 +67,7 @@ with other kernel modules. On 64-bit systems, if you want full acceleration for 32-bit programs such as Wine, you should also set the following: -services.xserver.driSupport32Bit = true; +hardware.opengl.driSupport32Bit = true; From 9104888b3824932ca6a0b880c9dcf681bac30a55 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Sun, 7 Sep 2014 11:40:47 +0100 Subject: [PATCH 0922/2163] haskellPackages.tastyAntXml: Update to 1.0.0.9 --- pkgs/development/libraries/haskell/tasty-ant-xml/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix index 9f8e59322b0..2dbd8a17b94 100644 --- a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix +++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "tasty-ant-xml"; - version = "1.0.0.8"; - sha256 = "0khjx3anxp63ch6wkdhqnsk5miavkq014ab30rpir97gdqw0vykm"; + version = "1.0.0.9"; + sha256 = "0zl1gdm5cm3vpi551ysvcis17grb83q18y3c329bxynnizrm8q9f"; buildDepends = [ genericDeriving mtl reducers stm tagged tasty transformers xml ]; From 218c28934e16d80397c7c5227798595d1bbf8564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 7 Sep 2014 13:09:27 +0200 Subject: [PATCH 0923/2163] jquery-ui: align attrname with pkgname (jquery_ui => jquery-ui) --- pkgs/top-level/all-packages.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5c0d6039f04..c562c530ba1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6695,7 +6695,7 @@ let ### DEVELOPMENT / LIBRARIES / JAVASCRIPT - jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { }; + jquery-ui = callPackage ../development/libraries/javascript/jquery-ui { }; yuicompressor = callPackage ../development/tools/yuicompressor { }; @@ -11778,6 +11778,7 @@ let asciidocFull = asciidoc-full; # added 2014-06-22 lttngTools = lttng-tools; # added 2014-07-31 lttngUst = lttng-ust; # added 2014-07-31 + jquery_ui = jquery-ui; # added 2014-09-07 }; in self; in pkgs From f8c7e340a4a65b53f4015abd9225e3298588e2ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 7 Sep 2014 13:36:13 +0200 Subject: [PATCH 0924/2163] jquery-ui: update to latest stable (v1.11.1) The current version (v1.10.4) is now called "legacy". The new stable version has a different directory layout; it no longer splits css/ and js/ directories. Since the *.js files refer to the *.css files by relative paths, I'm not splitting them. Everything now goes to "$out/js/". Also, upstream removed version numbers from filenames, so we don't need to create those version-less symlinks anymore. --- .../javascript/jquery-ui/default.nix | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/pkgs/development/libraries/javascript/jquery-ui/default.nix b/pkgs/development/libraries/javascript/jquery-ui/default.nix index 9a485906e53..fd7f5367c8e 100644 --- a/pkgs/development/libraries/javascript/jquery-ui/default.nix +++ b/pkgs/development/libraries/javascript/jquery-ui/default.nix @@ -1,29 +1,19 @@ { stdenv, fetchurl, unzip }: stdenv.mkDerivation rec { - name = "jquery-ui-1.10.4"; + name = "jquery-ui-1.11.1"; src = fetchurl { - url = "http://jqueryui.com/resources/download/${name}.custom.zip"; - sha256 = "04kp27ln74j4k2jacs54264x2bsdjx1dxlw5zlpd889jqv2m6dfc"; + url = "http://jqueryui.com/resources/download/${name}.zip"; + sha256 = "05dlcfwklymx94fb4n88l5syf80l6zrs862zzmla477vd8ndk537"; }; buildInputs = [ unzip ]; installPhase = '' - mkdir -p $out - cp -prvd css js $out/ - - # For convenience, provide symlinks "jquery.min.js" etc. (i.e., - # without the version number). - pushd $out/js - ln -s jquery-ui-*.custom.js jquery-ui.js - ln -s jquery-ui-*.custom.min.js jquery-ui.min.js - ln -s jquery-1.*.js jquery.js - popd - pushd $out/css/smoothness - ln -s jquery-ui-*.custom.css jquery-ui.css + mkdir -p "$out/js" + cp -rv . "$out/js" ''; meta = { From af26d5e25b12316f350723a0d9eac3af8ce0baca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 7 Sep 2014 14:20:11 +0200 Subject: [PATCH 0925/2163] jquery: new package jQuery is a JavaScript library designed to simplify the client-side scripting of HTML. I'm adding version 1.x instead of 2.x because 1.x supports IE 6, 7, 8 browsers and both versions are API compatible. http://jquery.com/ --- .../libraries/javascript/jquery/default.nix | 36 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/libraries/javascript/jquery/default.nix diff --git a/pkgs/development/libraries/javascript/jquery/default.nix b/pkgs/development/libraries/javascript/jquery/default.nix new file mode 100644 index 00000000000..7dd2b6284fa --- /dev/null +++ b/pkgs/development/libraries/javascript/jquery/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, compressed ? true }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "jquery-1.11.1"; + + src = if compressed then + fetchurl { + url = "http://code.jquery.com/${name}.min.js"; + sha256 = "0hgly37jhg0n5cqlx3ylmwcxkxmbkvv07f9z9pm94jyxq7gcc2sl"; + } + else + fetchurl { + url = "http://code.jquery.com/${name}.js"; + sha256 = "1g7nhy8dwzzai7h7m800fsig4gzw34kjxxbpqdac2y8ch9586a9h"; + }; + + unpackPhase = "true"; + + installPhase = + '' + mkdir -p "$out/js" + cp -v "$src" "$out/js/jquery.js" + ${optionalString compressed '' + (cd "$out/js" && ln -s jquery.js jquery.min.js) + ''} + ''; + + meta = with stdenv.lib; { + description = "JavaScript library designed to simplify the client-side scripting of HTML"; + homepage = http://jquery.com/; + license = licenses.mit; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c562c530ba1..550f3668075 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6695,6 +6695,8 @@ let ### DEVELOPMENT / LIBRARIES / JAVASCRIPT + jquery = callPackage ../development/libraries/javascript/jquery { }; + jquery-ui = callPackage ../development/libraries/javascript/jquery-ui { }; yuicompressor = callPackage ../development/tools/yuicompressor { }; From 130e56cd422342b7e370738d6cf52d8726868a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 7 Sep 2014 12:40:35 +0200 Subject: [PATCH 0926/2163] nixos.tests.gnome3: wait 20sec for the screenshot --- nixos/tests/gnome3.nix | 2 +- nixos/tests/gnome3_12.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix index 44668f57fc1..df30283e315 100644 --- a/nixos/tests/gnome3.nix +++ b/nixos/tests/gnome3.nix @@ -23,7 +23,7 @@ import ./make-test.nix { $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); $machine->waitForWindow(qr/Terminal/); - $machine->sleep(10); + $machine->sleep(20); $machine->screenshot("screen"); ''; diff --git a/nixos/tests/gnome3_12.nix b/nixos/tests/gnome3_12.nix index 439674b69d5..723d1bc4522 100644 --- a/nixos/tests/gnome3_12.nix +++ b/nixos/tests/gnome3_12.nix @@ -24,7 +24,7 @@ import ./make-test.nix { $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); $machine->waitForWindow(qr/Terminal/); - $machine->sleep(10); + $machine->sleep(20); $machine->screenshot("screen"); ''; From dce3e9261bd6d2fdd764b4d0394bae19791e8337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 7 Sep 2014 14:48:48 +0200 Subject: [PATCH 0927/2163] pypy: disable some more packages --- pkgs/top-level/python-packages.nix | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f97da897ba5..705e6696695 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4138,11 +4138,11 @@ rec { }; }; - ipdb = buildPythonPackage { - name = "ipdb-0.7"; + ipdb = buildPythonPackage rec { + name = "ipdb-0.8"; src = fetchurl { - url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz"; - md5 = "d879f9b2b0f26e0e999809585dcaec61"; + url = "http://pypi.python.org/packages/source/i/ipdb/${name}.zip"; + md5 = "96dca0712efa01aa5eaf6b22071dd3ed"; }; propagatedBuildInputs = [ pythonPackages.ipythonLight ]; }; @@ -5356,13 +5356,13 @@ rec { }; }; - livestreamer = if isPy34 then null else (buildPythonPackage rec { - version = "1.8.2"; + livestreamer = buildPythonPackage rec { + version = "1.10.2"; name = "livestreamer-${version}"; src = fetchurl { url = "https://github.com/chrippa/livestreamer/archive/v${version}.tar.gz"; - sha256 = "130h97qdb7qx8xg0gz54p5a6cb2zbffi5hsi305xf0ah9nf4rbrc"; + sha256 = "0f1m51wax4q17ida4h0ckyakmlchf36kbhfa9qs6bpxc6xqqbry0"; }; buildInputs = [ pkgs.makeWrapper ]; @@ -5379,7 +5379,7 @@ rec { ''; license = "bsd"; }; - }); + }; oauth2 = buildPythonPackage (rec { name = "oauth2-1.5.211"; @@ -6365,6 +6365,7 @@ rec { pygpgme = buildPythonPackage rec { version = "0.3"; name = "pygpgme-${version}"; + disabled = isPyPy; src = fetchurl { url = "https://launchpad.net/pygpgme/trunk/${version}/+download/${name}.tar.gz"; @@ -6441,6 +6442,7 @@ rec { pyodbc = buildPythonPackage rec { name = "pyodbc-3.0.7"; + disabled = isPyPy; # use pypypdbc instead src = fetchurl { url = "https://pyodbc.googlecode.com/files/${name}.zip"; @@ -9258,6 +9260,7 @@ rec { zfec = buildPythonPackage (rec { name = "zfec-1.4.24"; + disabled = isPyPy; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz"; @@ -9331,6 +9334,7 @@ rec { zodbpickle = pythonPackages.buildPythonPackage rec { name = "zodbpickle-0.5.2"; + disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10 src = fetchurl { url = "https://pypi.python.org/packages/source/z/zodbpickle/${name}.tar.gz"; @@ -9729,11 +9733,13 @@ rec { zope_sqlalchemy = buildPythonPackage rec { - name = "zope.sqlalchemy-0.7.3"; + name = "zope.sqlalchemy-0.7.5"; + + doCheck = !isPyPy; # https://github.com/zopefoundation/zope.sqlalchemy/issues/12 src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.sqlalchemy/${name}.zip"; - md5 = "8b317b41244fc2e67f2f286890ba59a0"; + md5 = "0a468bd5b8884cd29fb71acbf7eaa31e"; }; buildInputs = [ zope_testing zope_interface ]; From 8e8f95beda59ee25d0c7a7acfc3e211b246a1a8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 7 Sep 2014 15:37:16 +0200 Subject: [PATCH 0928/2163] nixos/test-reports: use local copy of jquery The current way test reports get jquery, src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" only works when getting reports over http:// or https://, not file://. Change it so that it works for all protocols by using a local copy of jquery. This fixes the issue where locally created and browsed test reports cannot be navigated properly; clicking the '+' symbol to expand sub-sections doesn't work. --- nixos/lib/test-driver/log2html.xsl | 4 ++-- nixos/lib/testing.nix | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos/lib/test-driver/log2html.xsl b/nixos/lib/test-driver/log2html.xsl index ce8a9c6de2b..0485412b4c8 100644 --- a/nixos/lib/test-driver/log2html.xsl +++ b/nixos/lib/test-driver/log2html.xsl @@ -9,8 +9,8 @@ - - + +