From 79b76d59b5581bc18ac63a6723a1d0876349ddc3 Mon Sep 17 00:00:00 2001 From: Anthony Cowley Date: Thu, 31 Mar 2016 19:00:30 -0400 Subject: [PATCH 001/182] tbb: darwin compatibility Reflects the different extension of shared library files. --- pkgs/development/libraries/tbb/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix index 58e5d0864d3..31fc5401e75 100644 --- a/pkgs/development/libraries/tbb/default.nix +++ b/pkgs/development/libraries/tbb/default.nix @@ -1,5 +1,8 @@ { stdenv, fetchurl }: +let + SHLIB_EXT = if stdenv.isDarwin then "dylib" else "so"; +in stdenv.mkDerivation { name = "tbb-4.4-u2"; @@ -13,7 +16,7 @@ stdenv.mkDerivation { installPhase = '' mkdir -p $out/{lib,share/doc} - cp "build/"*release*"/"*so* $out/lib/ + cp "build/"*release*"/"*${SHLIB_EXT}* $out/lib/ mv include $out/ rm $out/include/index.html mv doc/html $out/share/doc/tbb @@ -33,7 +36,7 @@ stdenv.mkDerivation { represents a higher-level, task-based parallelism that abstracts platform details and threading mechanisms for scalability and performance. ''; - platforms = stdenv.lib.platforms.linux; + platforms = with stdenv.lib.platforms; linux ++ darwin; maintainers = with stdenv.lib.maintainers; [ simons thoughtpolice ]; }; } From c97ccd388c5bdcd1b581312408dc17222246f4cf Mon Sep 17 00:00:00 2001 From: Anthony Cowley Date: Fri, 1 Apr 2016 14:06:14 -0400 Subject: [PATCH 002/182] qhull: darwin compatibility The hand-rolled iterator declaration is incompatible with libc++'s, and clang > 3.5 is stricter about this. See for another reference to this issue. The errors that occur are of the form: reference to 'random_access_iterator_tag' is ambiguous --- pkgs/development/libraries/qhull/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/libraries/qhull/default.nix b/pkgs/development/libraries/qhull/default.nix index 76ceb12b401..f98c7bdb97e 100644 --- a/pkgs/development/libraries/qhull/default.nix +++ b/pkgs/development/libraries/qhull/default.nix @@ -12,6 +12,11 @@ stdenv.mkDerivation rec { cmakeFlags = "-DMAN_INSTALL_DIR=share/man/man1 -DDOC_INSTALL_DIR=share/doc/qhull"; + patchPhase = stdenv.lib.optionalString stdenv.isDarwin '' + sed -i 's/namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }/#include /' ./src/libqhullcpp/QhullIterator.h + sed -i 's/namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }/#include /' ./src/libqhullcpp/QhullLinkedList.h + ''; + meta = { homepage = http://www.qhull.org/; description = "Computes the convex hull, Delaunay triangulation, Voronoi diagram and more"; From 2552d690af41f7776087df99f58e62c92ef3e611 Mon Sep 17 00:00:00 2001 From: Angus Gibson Date: Tue, 5 Apr 2016 00:32:46 +0000 Subject: [PATCH 003/182] dns: 2015.07 -> 2016.03 --- pkgs/top-level/go-packages.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 2639cc4ac7a..1f0a53cbb46 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -661,11 +661,11 @@ let }; dns = buildFromGitHub { - rev = "e59f851c912767b1db587dcabee6e6652e495c75"; - version = "2015-07-22"; - owner = "miekg"; - repo = "dns"; - sha256 = "1zcj4drmmskwvjy5ld54qd8a34ls9651ysl3q7c2bcambax5r0hp"; + rev = "7e024ce8ce18b21b475ac6baf8fa3c42536bf2fa"; + version = "2016-03-28"; + owner = "miekg"; + repo = "dns"; + sha256 = "0hlwb52lnnj3c6papjk9i5w5cjdw6r7c891v4xksnfvk1f9cy9kl"; }; docopt-go = buildFromGitHub { From 4992b043bd018a26c732924e08e42f70ff0dad58 Mon Sep 17 00:00:00 2001 From: Angus Gibson Date: Tue, 5 Apr 2016 23:45:19 +0000 Subject: [PATCH 004/182] skydns: 2.5.2b -> 2.5.3a --- pkgs/top-level/go-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 1f0a53cbb46..645e64e9850 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -3410,10 +3410,10 @@ let }; skydns = buildFromGitHub { - rev = "2.5.2b"; + rev = "2.5.3a"; owner = "skynetservices"; repo = "skydns"; - sha256 = "01vac6bd71wky5jbd5k4a0x665bjn1cpmw7p655jrdcn5757c2lv"; + sha256 = "0i1iaif79cwnwm7pc8nxfa261cgl4zhm3p2a5a3smhy1ibgccpq7"; buildInputs = [ go-etcd rcrowley.go-metrics dns go-systemd prometheus.client_golang From f5d05ddd8729eafbd8cefd53c16832476800e8ab Mon Sep 17 00:00:00 2001 From: Angus Gibson Date: Tue, 5 Apr 2016 00:33:02 +0000 Subject: [PATCH 005/182] caddy: init at 0.8.2 --- pkgs/top-level/all-packages.nix | 2 ++ pkgs/top-level/go-packages.nix | 56 +++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 304a698df67..29bf726983f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -639,6 +639,8 @@ in cabal2nix = haskellPackages.cabal2nix; + caddy = goPackages.caddy.bin // { outputs = [ "bin" ]; }; + capstone = callPackage ../development/libraries/capstone { }; catch = callPackage ../development/libraries/catch { }; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 645e64e9850..33e0f99476c 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -195,6 +195,16 @@ let buildInputs = [ gohtml ]; }; + acme = buildFromGitHub { + rev = "v0.3.0"; + owner = "xenolf"; + repo = "lego"; + sha256 = "0hlnqdn793j4s43bhnmpi2lxgmjxs1ccg26alxnrcyw5x7p2vvdn"; + + subPackages = [ "acme" ]; + propagatedBuildInputs = [ crypto dns go-jose-v1 net ]; + }; + adapted = buildFromGitHub { rev = "eaea06aaff855227a71b1c58b18bc6de822e3e77"; version = "2015-06-03"; @@ -401,6 +411,18 @@ let propagatedBuildInputs = [ panicwrap revel ]; }; + caddy = buildFromGitHub { + rev = "9099375b11b7b5e62b831627c2927d1c4c666071"; + version = "v0.8.2"; + owner = "mholt"; + repo = "caddy"; + sha256 = "1zdy2sxir21ngh2ird01sv4fgj6sy3wl4s6k4piklri8ps1zw0k0"; + buildInputs = [ + acme blackfriday crypto go-humanize go-shlex go-syslog + http-authentication lumberjack-v2 toml websocket yaml-v2 + ]; + }; + cascadia = buildGoPackage rec { rev = "54abbbf07a45a3ef346ebe903e0715d9a3c19352"; #master name = "cascadia-${stdenv.lib.strings.substring 0 7 rev}"; @@ -1561,6 +1583,16 @@ let sha256 = "0qrcsh7j9mxcaspw8lfxh9hhflz55vj4aq1xy00v78301czq6jlj"; }; + go-jose-v1 = buildFromGitHub { + rev = "v1.0.1"; + owner = "square"; + repo = "go-jose"; + sha256 = "0asa1kl1qbx0cyayk44jhxxff0awpkwiw6va7yzrzjzhfc5kvg7p"; + propagatedBuildInputs = [ cli-go ]; + goPackagePath = "gopkg.in/square/go-jose.v1"; + goPackageAliases = [ "github.com/square/go-jose" ]; + }; + go-liblzma = buildFromGitHub { rev = "e74be71c3c60411922b5424e875d7692ea638b78"; version = "2016-01-01"; @@ -1770,6 +1802,13 @@ let }; }; + go-shlex = buildFromGitHub { + rev = "3f9db97f856818214da2e1057f8ad84803971cff"; + owner = "flynn"; + repo = "go-shlex"; + sha256 = "2a6a6f8eb150260cd60881ec5f027b7d1d2946ee22c627b450773eaf3d1de4c8"; + }; + go-simplejson = buildFromGitHub { rev = "18db6e68d8fd9cbf2e8ebe4c81a78b96fd9bf05a"; version = "2015-03-31"; @@ -1996,6 +2035,13 @@ let buildInputs = [ crypto protobuf goamz rgbterm go-bindata go-homedir ldap g2s gox ]; }; + http-authentication = buildFromGitHub { + rev = "3eca13d6893afd7ecabe15f4445f5d2872a1b012"; + owner = "jimstudt"; + repo = "http-authentication"; + sha256 = "08601600811a172d7f806b541f05691e4bef812ed8a68f7de65fde9ee11a3cb7"; + }; + http2 = buildFromGitHub rec { rev = "f8202bc903bda493ebba4aa54922d78430c2c42f"; owner = "bradfitz"; @@ -2242,6 +2288,16 @@ let sha256 = "1hfj1lx7wdpifn16zqrl4xml6cj5gxbn6hfz1f46g2a6bdf0gcvs"; }; + lumberjack-v2 = buildFromGitHub { + rev = "v2.0"; + owner = "natefinch"; + repo = "lumberjack"; + sha256 = "1v92v8vkip36l2fs6l5dpp655151hrijjc781cif658r8nf7xr82"; + goPackagePath = "gopkg.in/natefinch/lumberjack.v2"; + goPackageAliases = [ "github.com/natefinch/lumberjack" ]; + }; + + lxd = buildFromGitHub { rev = "lxd-2.0.0.rc4"; owner = "lxc"; From bb6408ba1684f4971cfd38f13d6a6914900b5f97 Mon Sep 17 00:00:00 2001 From: Angus Gibson Date: Tue, 5 Apr 2016 01:30:21 +0000 Subject: [PATCH 006/182] caddy service: initial implementation --- nixos/modules/misc/ids.nix | 2 + nixos/modules/module-list.nix | 1 + nixos/modules/services/web-servers/caddy.nix | 53 ++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 nixos/modules/services/web-servers/caddy.nix diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 1e14fe655fc..8fe7f74a109 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -259,6 +259,7 @@ hydra-www = 236; syncthing = 237; mfi = 238; + caddy = 239; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -489,6 +490,7 @@ radicale = 234; syncthing = 237; #mfi = 238; # unused + caddy = 239; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index fd479763c0a..d09f78b68b6 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -433,6 +433,7 @@ ./services/ttys/kmscon.nix ./services/web-apps/pump.io.nix ./services/web-servers/apache-httpd/default.nix + ./services/web-servers/caddy.nix ./services/web-servers/fcgiwrap.nix ./services/web-servers/jboss/default.nix ./services/web-servers/lighttpd/cgit.nix diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix new file mode 100644 index 00000000000..0d2612aaa66 --- /dev/null +++ b/nixos/modules/services/web-servers/caddy.nix @@ -0,0 +1,53 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.caddy; + configFile = pkgs.writeText "Caddyfile" cfg.config; +in +{ + options.services.caddy = { + enable = mkEnableOption "Caddy web server"; + + config = mkOption { + description = "Verbatim Caddyfile to use"; + }; + + email = mkOption { + default = ""; + type = types.string; + description = "Email address (for Let's Encrypt certificate)"; + }; + + dataDir = mkOption { + default = "/var/lib/caddy"; + type = types.path; + description = "The data directory, for storing certificates."; + }; + }; + + config = mkIf cfg.enable { + systemd.services.caddy = { + description = "Caddy web server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${pkgs.caddy}/bin/caddy -conf=${configFile} -email=${cfg.email}"; + Type = "simple"; + User = "caddy"; + Group = "caddy"; + AmbientCapabilities = "cap_net_bind_service"; + }; + }; + + users.extraUsers.caddy = { + group = "caddy"; + uid = config.ids.uids.caddy; + home = cfg.dataDir; + createHome = true; + }; + + users.extraGroups.caddy.gid = config.ids.uids.caddy; + }; +} From c6345de9f95012c5102370823fafc2cda6379a15 Mon Sep 17 00:00:00 2001 From: Slawomir Gonet Date: Tue, 29 Mar 2016 12:54:40 +0200 Subject: [PATCH 007/182] vivaldi: init at 1.0 --- .../networking/browsers/vivaldi/default.nix | 77 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 79 insertions(+) create mode 100644 pkgs/applications/networking/browsers/vivaldi/default.nix diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix new file mode 100644 index 00000000000..aeb1724d963 --- /dev/null +++ b/pkgs/applications/networking/browsers/vivaldi/default.nix @@ -0,0 +1,77 @@ +{ stdenv, fetchurl, zlib, libX11, libXext, libSM, libICE +, libXfixes, libXt, libXi, libXcursor, libXScrnSaver, libXcomposite, libXdamage, libXtst, libXrandr +, alsaLib, dbus_libs, cups, libexif, ffmpeg, udev +, freetype, fontconfig, libXft, libXrender, libxcb, expat, libXau, libXdmcp +, libuuid, xz +, gstreamer, gst_plugins_base, libxml2 +, glib, gtk, pango, gdk_pixbuf, cairo, atk, gnome3 +, nss, nspr +, patchelf +}: + +let + archUrl = name: arch: "https://vivaldi.com/download/stable/${name}_${arch}.deb"; +in +stdenv.mkDerivation rec { + version = "1.0"; + debversion = "stable_1.0.435.40-1"; + product = "vivaldi"; + name = "${product}-${version}"; + + src = if stdenv.system == "x86_64-linux" + then fetchurl { + url = archUrl "vivaldi-${debversion}" "amd64"; + sha256 = "12c051a40258a95f9594eed2f73fa5f591482ac2a41d5cf643811b1ea2a1efbf"; + } + else if stdenv.system == "i686-linux" + then fetchurl { + url = archUrl "vivaldi-${debversion}" "i386"; + sha256 = "6e0b84fba38211bab9a71bc10e97398fca77c0acd82791923c1d432b20846f0f"; + } + else throw "Vivaldi is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)"; + + unpackPhase = '' + ar vx ${src} + tar -xvf data.tar.xz + ''; + + buildInputs = + [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE + libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr + atk alsaLib dbus_libs cups gtk gdk_pixbuf libexif ffmpeg udev + freetype fontconfig libXrender libuuid expat glib nss nspr + gstreamer libxml2 gst_plugins_base pango cairo gnome3.gconf + patchelf + ]; + + libPath = stdenv.lib.makeLibraryPath buildInputs + + stdenv.lib.optionalString (stdenv.system == "x86_64-linux") + (":" + stdenv.lib.makeSearchPath "lib64" buildInputs); + + buildPhase = '' + echo "Patching Vivaldi binaries" + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" \ + opt/vivaldi/vivaldi-bin + echo "Finished patching Vivaldi binaries" + ''; + + dontPatchELF = true; + dontStrip = true; + + installPhase = '' + mkdir -p "$out" + cp -r opt "$out" + mkdir "$out/bin" + ln -s "$out/opt/vivaldi/vivaldi" "$out/bin/vivaldi" + ''; + + meta = with stdenv.lib; { + description = "A Browser for our Friends, powerful and personal"; + homepage = "https://vivaldi.com"; + license = licenses.unfree; + maintainers = with maintainers; [ otwieracz ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 752f2307995..25b370aff78 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13264,6 +13264,8 @@ in inherit (pkgs.kde4) kdelibs; }; + vivaldi = callPackage ../applications/networking/browsers/vivaldi {}; + opusfile = callPackage ../applications/audio/opusfile { }; opusTools = callPackage ../applications/audio/opus-tools { }; From 215b5f6282a02044b928a9a4fcf361beabba11ab Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Sun, 20 Mar 2016 00:36:36 +0100 Subject: [PATCH 008/182] systemd: Try adding cryptsetup to buildInputs. --- pkgs/os-specific/linux/systemd/default.nix | 2 +- pkgs/top-level/all-packages.nix | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index cb1521a4005..7620fef0aa6 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { buildInputs = [ linuxHeaders pkgconfig intltool gperf libcap kmod xz pam acl - /* cryptsetup */ libuuid m4 glib libxslt libgcrypt libgpgerror + cryptsetup libuuid m4 glib libxslt libgcrypt libgpgerror libmicrohttpd kexectools libseccomp audit lz4 libapparmor /* FIXME: we may be able to prevent the following dependencies by generating an autoconf'd tarball, but that's probably not diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dfb1d258ba3..d9507a18982 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10990,6 +10990,11 @@ in systemd = callPackage ../os-specific/linux/systemd { linuxHeaders = linuxHeaders_3_18; + cryptsetup = null; # Infinite recusion + }; + + systemd-with-cryptsetup = systemd.override { + inherit cryptsetup; }; # In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get From 8cbf4bb70b50da07f15a1bfb07fd866c14312bf6 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Sun, 20 Mar 2016 00:46:13 +0100 Subject: [PATCH 009/182] systemd-with-cryptsetup: append '-with-cryptsetup' to name. --- pkgs/top-level/all-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d9507a18982..736cb2f2db6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10993,9 +10993,9 @@ in cryptsetup = null; # Infinite recusion }; - systemd-with-cryptsetup = systemd.override { + systemd-with-cryptsetup = appendToName "-with-cryptsetup" (systemd.override { inherit cryptsetup; - }; + }); # In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get # LVM2 working in systemd. From 2e9a0b21f458f8f56cec9c8dd42af87e78630d9f Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Sun, 20 Mar 2016 17:48:48 +0100 Subject: [PATCH 010/182] systemd-with-cryptsetup -> systemd_with_cryptsetup. --- 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 736cb2f2db6..c0a45379793 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10993,7 +10993,7 @@ in cryptsetup = null; # Infinite recusion }; - systemd-with-cryptsetup = appendToName "-with-cryptsetup" (systemd.override { + systemd_with_cryptsetup = appendToName "-with-cryptsetup" (systemd.override { inherit cryptsetup; }); From 47e5fd9f57b69b2b22a5162456c22525bbb17ab6 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 24 Mar 2016 12:42:27 +0100 Subject: [PATCH 011/182] systemd-cryptsetup-generator: Init --- .../linux/systemd/cryptsetup-generator.nix | 21 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 +++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/os-specific/linux/systemd/cryptsetup-generator.nix diff --git a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix new file mode 100644 index 00000000000..efad362e886 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix @@ -0,0 +1,21 @@ +{ stdenv, systemd, cryptsetup }: + +assert stdenv.isLinux; + +stdenv.lib.overrideDerivation systemd (p: { + version = p.version; + name = "systemd-cryptsetup-generator"; + + nativeBuildInputs = p.nativeBuildInputs ++ [ cryptsetup ]; + outputs = [ "out" ]; + + buildPhase = '' + make $makeFlags built-sources + make $makeFlags systemd-cryptsetup-generator + ''; + + installPhase = '' + mkdir -p $out/lib/systemd/system-generators/ + cp systemd-cryptsetup-generator $out/lib/systemd/system-generators/systemd-cryptsetup-generator + ''; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c0a45379793..392ead817f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10997,6 +10997,9 @@ in inherit cryptsetup; }); + # The standalone cryptsetup generator for systemd + systemd-cryptsetup-generator = callPackage ../os-specific/linux/systemd/cryptsetup-generator.nix { }; + # 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: { From faa79e60cc6b049786c4814f47e38bcc5e273a81 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 24 Mar 2016 13:30:29 +0100 Subject: [PATCH 012/182] systemd-cryptsetup-generator: Also build `systemd-cryptsetup` --- pkgs/os-specific/linux/systemd/cryptsetup-generator.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix index efad362e886..69ba39616d7 100644 --- a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix +++ b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix @@ -11,11 +11,15 @@ stdenv.lib.overrideDerivation systemd (p: { buildPhase = '' make $makeFlags built-sources + make $makeFlags systemd-cryptsetup make $makeFlags systemd-cryptsetup-generator ''; installPhase = '' mkdir -p $out/lib/systemd/system-generators/ cp systemd-cryptsetup-generator $out/lib/systemd/system-generators/systemd-cryptsetup-generator + + mkdir -p $out/lib/systemd/ + cp systemd-cryptsetup $out/lib/systemd/systemd-cryptsetup ''; }) From 88e2cc480f588be7514ea3953c42facd34e0f123 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 24 Mar 2016 15:27:47 +0100 Subject: [PATCH 013/182] systemd.generator-packages: Option to specify packages providing generators. --- nixos/modules/system/boot/systemd.nix | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index a3c83521c35..244a4cd61f0 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -472,6 +472,13 @@ in ''; }; + systemd.generator-packages = mkOption { + default = []; + type = types.listOf types.package; + example = literalExample "[ pkgs.systemd-cryptsetup-generator ]"; + description = "Packages providing systemd generators."; + }; + systemd.defaultUnit = mkOption { default = "multi-user.target"; type = types.str; @@ -628,7 +635,13 @@ in environment.systemPackages = [ systemd ]; - environment.etc = { + environment.etc = let + generators = (fold (p: attrs: let path = "${p}/lib/systemd/system-generators"; + in attrs // (mapAttrs' (name: _: nameValuePair name "${path}/${toString name}") + (builtins.readDir "${path}"))) + cfg.generators + cfg.generator-packages); + in ({ "systemd/system".source = generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants; "systemd/user".source = generateUnits "user" cfg.user.units upstreamUserUnits []; @@ -667,7 +680,7 @@ in ${concatStringsSep "\n" cfg.tmpfiles.rules} ''; - } // mapAttrs' (n: v: nameValuePair "systemd/system-generators/${n}" {"source"=v;}) cfg.generators; + } // mapAttrs' (n: v: nameValuePair "systemd/system-generators/${n}" {"source"=v;}) generators); system.activationScripts.systemd = stringAfter [ "groups" ] '' From 7503ee71fcbb2088d49f9736ded445f0dcf4e57a Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 24 Mar 2016 15:34:09 +0100 Subject: [PATCH 014/182] Revert "systemd: Try adding cryptsetup to buildInputs." This reverts commit eda8d21d8b0a69e4b7a3bc215e2215ffc6526495. --- pkgs/os-specific/linux/systemd/default.nix | 2 +- pkgs/top-level/all-packages.nix | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 7620fef0aa6..cb1521a4005 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { buildInputs = [ linuxHeaders pkgconfig intltool gperf libcap kmod xz pam acl - cryptsetup libuuid m4 glib libxslt libgcrypt libgpgerror + /* cryptsetup */ libuuid m4 glib libxslt libgcrypt libgpgerror libmicrohttpd kexectools libseccomp audit lz4 libapparmor /* FIXME: we may be able to prevent the following dependencies by generating an autoconf'd tarball, but that's probably not diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 392ead817f0..65ca5c3a58d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10990,14 +10990,9 @@ in systemd = callPackage ../os-specific/linux/systemd { linuxHeaders = linuxHeaders_3_18; - cryptsetup = null; # Infinite recusion }; - systemd_with_cryptsetup = appendToName "-with-cryptsetup" (systemd.override { - inherit cryptsetup; - }); - - # The standalone cryptsetup generator for systemd + # standalone cryptsetup generator for systemd systemd-cryptsetup-generator = callPackage ../os-specific/linux/systemd/cryptsetup-generator.nix { }; # In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get From 5c770c4c0bce80fabdf0bc69c6a9bfc0ff012a1a Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 24 Mar 2016 15:50:39 +0100 Subject: [PATCH 015/182] systemd-cryptsetup-generator: Cleaner install phase. --- pkgs/os-specific/linux/systemd/cryptsetup-generator.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix index 69ba39616d7..2935990755c 100644 --- a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix +++ b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix @@ -16,10 +16,10 @@ stdenv.lib.overrideDerivation systemd (p: { ''; installPhase = '' - mkdir -p $out/lib/systemd/system-generators/ - cp systemd-cryptsetup-generator $out/lib/systemd/system-generators/systemd-cryptsetup-generator - mkdir -p $out/lib/systemd/ cp systemd-cryptsetup $out/lib/systemd/systemd-cryptsetup + + mkdir -p $out/lib/systemd/system-generators/ + cp systemd-cryptsetup-generator $out/lib/systemd/system-generators/systemd-cryptsetup-generator ''; }) From e366d8294ee3afedfd951222ec8a8fc8c60c1063 Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Fri, 25 Mar 2016 12:45:54 +0100 Subject: [PATCH 016/182] systemd.generators: Generate folders via environment.etc. --- nixos/modules/system/boot/systemd.nix | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 244a4cd61f0..3f497566ff1 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -636,11 +636,16 @@ in environment.systemPackages = [ systemd ]; environment.etc = let - generators = (fold (p: attrs: let path = "${p}/lib/systemd/system-generators"; - in attrs // (mapAttrs' (name: _: nameValuePair name "${path}/${toString name}") - (builtins.readDir "${path}"))) - cfg.generators - cfg.generator-packages); + # generate contents for /etc/systemd/system-generators from + # systemd.generators and systemd.generator-packages + generators = pkgs.runCommand "system-generators" { packages = cfg.generator-packages; } '' + mkdir -p $out + for package in $packages + do + ln -s $package/lib/systemd/system-generators/* $out/ + done; + ${concatStrings (mapAttrsToList (generator: target: "ln -s ${target} $out/${generator};\n") cfg.generators)} + ''; in ({ "systemd/system".source = generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants; @@ -680,7 +685,9 @@ in ${concatStringsSep "\n" cfg.tmpfiles.rules} ''; - } // mapAttrs' (n: v: nameValuePair "systemd/system-generators/${n}" {"source"=v;}) generators); + + "systemd/system-generators" = { source = generators; }; + }); system.activationScripts.systemd = stringAfter [ "groups" ] '' From 8706726d59ba80ebe9ad7c4c68fa52defdc10924 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Sat, 9 Apr 2016 17:53:24 +0100 Subject: [PATCH 017/182] Simplify contributing * Highlight the top mistakes directly in CONTRIBUTING.md * Remove unecessary cruft from the PR template --- .github/CONTRIBUTING.md | 16 +++++++++++++++- .github/PULL_REQUEST_TEMPLATE.md | 10 +--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 0ddf93dbec4..9a7a55f8676 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -12,4 +12,18 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license. ## Submitting changes -See the nixpkgs manual for details on how to [Submit changes to nixpkgs](http://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download-by-type/doc/manual#chap-submitting-changes). +* Format the commits in the following way: + + `(pkg-name | service-name): (from -> to | init at version | refactor | etc)` + + Examples: + + * nginx: init at 2.0.1 + * firefox: 3.0 -> 3.1.1 + * hydra service: add bazBaz option + * nginx service: refactor config generation + +* Don't put dots at the end of package descriptions. + +See the nixpkgs manual for more details on how to [Submit changes to nixpkgs](http://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download-by-type/doc/manual#chap-submitting-changes). + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index aac1650ae7a..ceea615d5d7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,4 +1,4 @@ -###### Things done: +###### Things done - [ ] Tested using sandboxing (`nix-build --option build-use-chroot true` or [nix.useChroot](http://nixos.org/nixos/manual/options.html#opt-nix.useChroot) on NixOS) - Built on platform(s) @@ -9,13 +9,5 @@ - [ ] Tested execution of all binary files (usually in `./result/bin/`) - [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md). -###### More - -Fixes issue # - -cc @ - - --- -_Please note, that points are not mandatory, but rather desired._ From 6111d5b48089d63ffb34ba6aa5547f39bc361b0c Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 8 Apr 2016 10:15:01 +0200 Subject: [PATCH 018/182] youtube-dl: 2016.02.13 -> 2016.04.06 --- pkgs/tools/misc/youtube-dl/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index a7bb5a3083d..fa3fd2281da 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -12,11 +12,11 @@ buildPythonApplication rec { name = "youtube-dl-${version}"; - version = "2016.02.13"; + version = "2016.04.06"; src = fetchurl { - url = "http://yt-dl.org/downloads/${stdenv.lib.getVersion name}/${name}.tar.gz"; - sha256 = "0d6ml6nas0pnp6is73fn326ayxkdmxvarzyr96qd6gyjm9icpdcb"; + url = "http://yt-dl.org/downloads/${version}/${name}.tar.gz"; + sha256 = "1kdrjwrn0x1wmvansvd2222gfqnld4zdihf2jwnz36112r1p8nhi"; }; buildInputs = [ makeWrapper zip pandoc ]; From 3c2e9324508e18c1846c6bb71fa0d6ff59a0a165 Mon Sep 17 00:00:00 2001 From: Micxjo Funkcio Date: Sat, 9 Apr 2016 12:18:55 -0700 Subject: [PATCH 019/182] botanUnstable: 1.11.28 -> 1.11.29 (security) This release contains fixes for * CVE-2016-2849 * CVE-2016-2850 --- pkgs/development/libraries/botan/unstable.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/botan/unstable.nix b/pkgs/development/libraries/botan/unstable.nix index b3fd76ab20c..dd185f21035 100644 --- a/pkgs/development/libraries/botan/unstable.nix +++ b/pkgs/development/libraries/botan/unstable.nix @@ -2,7 +2,7 @@ callPackage ./generic.nix (args // { baseVersion = "1.11"; - revision = "28"; - sha256 = "0cjr3zkara8js1fbm8ddcbd5mkizxh1wm6fja13psw5j8mpwj554"; + revision = "29"; + sha256 = "157bp8716h17agrxyj7xpsj2i5sqhafj1nfx4gpzccx7y2kyq176"; openssl = null; }) From 3b33c3628a6d4f353435002c34183a72e81ff4f6 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Sat, 9 Apr 2016 20:50:48 +0100 Subject: [PATCH 020/182] fixup! Simplify contributing --- .github/CONTRIBUTING.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 9a7a55f8676..fb8c6b53cb5 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -23,7 +23,10 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license. * hydra service: add bazBaz option * nginx service: refactor config generation -* Don't put dots at the end of package descriptions. +* `meta.description` should: + * Be capitalized + * Not start with the package name + * Not have a dot at the end See the nixpkgs manual for more details on how to [Submit changes to nixpkgs](http://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download-by-type/doc/manual#chap-submitting-changes). From cef2814a4f0530f6e020badc56dd808a96422a66 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 9 Apr 2016 20:22:16 +0200 Subject: [PATCH 021/182] nixos: add optional process information hiding This module adds an option `security.hideProcessInformation` that, when enabled, restricts access to process information such as command-line arguments to the process owner. The module adds a static group "proc" whose members are exempt from process information hiding. Ideally, this feature would be implemented by simply adding the appropriate mount options to `fileSystems."/proc".fsOptions`, but this was found to not work in vmtests. To ensure that process information hiding is enforced, we use a systemd service unit that remounts `/proc` after `systemd-remount-fs.service` has completed. To verify the correctness of the feature, simple tests were added to nixos/tests/misc: the test ensures that unprivileged users cannot see process information owned by another user, while members of "proc" CAN. Thanks to @abbradar for feedback and suggestions. --- nixos/modules/misc/ids.nix | 2 ++ nixos/modules/module-list.nix | 1 + nixos/modules/security/hidepid.nix | 42 ++++++++++++++++++++++++++++++ nixos/tests/misc.nix | 9 +++++++ 4 files changed, 54 insertions(+) create mode 100644 nixos/modules/security/hidepid.nix diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 1e14fe655fc..3f2c735b221 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -47,6 +47,7 @@ #floppy = 18; # unused #uucp = 19; # unused #lp = 20; # unused + #proc = 21; # unused pulseaudio = 22; # must match `pulseaudio' GID gpsd = 23; #cdrom = 24; # unused @@ -288,6 +289,7 @@ floppy = 18; uucp = 19; lp = 20; + proc = 21; pulseaudio = 22; # must match `pulseaudio' UID gpsd = 23; cdrom = 24; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 7bcc5b84941..19c8db1039b 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -90,6 +90,7 @@ ./security/ca.nix ./security/duosec.nix ./security/grsecurity.nix + ./security/hidepid.nix ./security/oath.nix ./security/pam.nix ./security/pam_usb.nix diff --git a/nixos/modules/security/hidepid.nix b/nixos/modules/security/hidepid.nix new file mode 100644 index 00000000000..8271578c55d --- /dev/null +++ b/nixos/modules/security/hidepid.nix @@ -0,0 +1,42 @@ +{ config, pkgs, lib, ... }: +with lib; + +{ + options = { + security.hideProcessInformation = mkEnableOption "" // { description = '' + Restrict access to process information to the owning user. Enabling + this option implies, among other things, that command-line arguments + remain private. This option is recommended for most systems, unless + there's a legitimate reason for allowing unprivileged users to inspect + the process information of other users. + + Members of the group "proc" are exempt from process information hiding. + To allow a service to run without process information hiding, add "proc" + to its supplementary groups via + . + ''; }; + }; + + config = mkIf config.security.hideProcessInformation { + users.groups.proc.gid = config.ids.gids.proc; + + systemd.services.hidepid = { + wantedBy = [ "local-fs.target" ]; + after = [ "systemd-remount-fs.service" ]; + before = [ "local-fs-pre.target" "local-fs.target" "shutdown.target" ]; + wants = [ "local-fs-pre.target" ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=2,gid=${toString config.ids.gids.proc} /proc''; + ExecStop = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=0,gid=0 /proc''; + }; + + unitConfig = { + DefaultDependencies = false; + Conflicts = "shutdown.target"; + }; + }; + }; +} diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix index b926a62194b..cd4086cb8f6 100644 --- a/nixos/tests/misc.nix +++ b/nixos/tests/misc.nix @@ -25,6 +25,8 @@ import ./make-test.nix ({ pkgs, ...} : { }; users.users.sybil = { isNormalUser = true; group = "wheel"; }; security.sudo = { enable = true; wheelNeedsPassword = false; }; + security.hideProcessInformation = true; + users.users.alice = { isNormalUser = true; extraGroups = [ "proc" ]; }; }; testScript = @@ -117,5 +119,12 @@ import ./make-test.nix ({ pkgs, ...} : { subtest "sudo", sub { $machine->succeed("su - sybil -c 'sudo true'"); }; + + # Test hidepid + subtest "hidepid", sub { + $machine->succeed("grep -Fq hidepid=2 /etc/mtab"); + $machine->succeed("[ `su - sybil -c 'pgrep -c -u root'` = 0 ]"); + $machine->succeed("[ `su - alice -c 'pgrep -c -u root'` != 0 ]"); + }; ''; }) From 9a55b76db1a00dd735ab82b1c7c030ee6705ca89 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sun, 10 Apr 2016 15:40:30 +0200 Subject: [PATCH 022/182] mupen64plus: build with gcc49 Works around failure with gcc5, see https://hydra.nixos.org/build/34273319/nixlog/1/raw Not a real fix, but a working build is better than nothing ... I have tested that the program at least runs: it fails to load a few plugins, tho, have no idea to what extent that affects use Couldn't load plugin 'ricevideo.so': /nix/store/...-mupen64plus-1.5/share/mupen64plus/plugins/ricevideo.so: undefined symbol: glCombinerInputNV Couldn't load plugin 'glN64.so': /nix/store/...-mupen64plus-1.5/share/mupen64plus/plugins/glN64.so: undefined symbol: glCombinerInputNV --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ad45e7bee69..394c3c403ae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16113,7 +16113,9 @@ in mongoc = callPackage ../development/libraries/mongoc { }; - mupen64plus = callPackage ../misc/emulators/mupen64plus { }; + mupen64plus = callPackage ../misc/emulators/mupen64plus { + stdenv = overrideCC stdenv gcc49; + }; inherit (callPackages ../tools/package-management/nix { storeDir = config.nix.storeDir or "/nix/store"; From 1773c53fcf1376f8d75f4e1bd38c1098cbaf5d7f Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sun, 10 Apr 2016 14:41:37 +0000 Subject: [PATCH 023/182] php55: 5.5.33 -> 5.5.34 --- pkgs/development/interpreters/php/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index fc8041b597b..e4dd79ead0f 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -288,8 +288,8 @@ let in { php55 = generic { - version = "5.5.33"; - sha256 = "1a8ac1zcq68irvdffh08cpi4aaaira4hsqwgns7b95pm9pnv3464"; + version = "5.5.34"; + sha256 = "0745wn0qg9rqibwr948bzc719s7pywizvl1ahkg1j9m92r28i25g"; }; php56 = generic { From b0d1eb457974bc42637d4b24b67a874cddc384aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Galliat?= Date: Sat, 9 Apr 2016 17:18:23 -0400 Subject: [PATCH 024/182] Shout: configure with attrs --- nixos/modules/services/networking/shout.nix | 50 +++++++++++++++++---- 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/nixos/modules/services/networking/shout.nix b/nixos/modules/services/networking/shout.nix index f069fe7bec9..761ecbcd173 100644 --- a/nixos/modules/services/networking/shout.nix +++ b/nixos/modules/services/networking/shout.nix @@ -6,6 +6,21 @@ let cfg = config.services.shout; shoutHome = "/var/lib/shout"; + defaultConfig = pkgs.runCommand "config.js" {} '' + EDITOR=true ${pkgs.shout}/bin/shout config --home $PWD + mv config.js $out + ''; + + configFile = if (cfg.configFile != null) then cfg.configFile else '' + var _ = require('${pkgs.shout}/lib/node_modules/shout/node_modules/lodash') + + module.exports = _.merge( + {}, + require('${defaultConfig}'), + ${builtins.toJSON cfg.config} + ) + ''; + in { options.services.shout = { enable = mkEnableOption "Shout web IRC client"; @@ -33,10 +48,33 @@ in { configFile = mkOption { type = types.nullOr types.lines; - default = null; + default = configFile; description = '' - Contents of Shout's config.js file. If left empty, - Shout will generate from its defaults at first startup. + Contents of Shout's config.js file. + + Used for backward compatibility, recommended way is now to use + the config option. + + Documentation: http://shout-irc.com/docs/server/configuration.html + ''; + }; + + config = mkOption { + default = {}; + type = types.attrs; + example = { + displayNetwork = false; + defaults = { + name = "Your Network"; + host = "localhost"; + port = 6697; + }; + }; + description = '' + Shout config.js contents as attribute set (will be + converted to JSON to generate the configuration file). + + The options defined here will be merged to the default configuration file. Documentation: http://shout-irc.com/docs/server/configuration.html ''; @@ -57,11 +95,7 @@ in { wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; after = [ "network-online.target" ]; - preStart = if isNull cfg.configFile then "" - else '' - ln -sf ${pkgs.writeText "config.js" cfg.configFile} \ - ${shoutHome}/config.js - ''; + preStart = "ln -sf ${pkgs.writeText "config.js" configFile} ${shoutHome}/config.js"; script = concatStringsSep " " [ "${pkgs.shout}/bin/shout" (if cfg.private then "--private" else "--public") From c1178f171c1267b28add2f131d5b959f3d059282 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 10 Apr 2016 17:46:17 +0200 Subject: [PATCH 025/182] nixos/xserver: Use null as default for dpi option Commit 98d9bba introduced this option as a nullOr type and it actually checks whether null has been set and only appends -dpi if that's the case. So let's actually set the default to null instead of 0. Signed-off-by: aszlig --- nixos/modules/services/x11/xserver.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index c3cd550e838..70df18b4020 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -221,7 +221,7 @@ in dpi = mkOption { type = types.nullOr types.int; - default = 0; + default = null; description = "DPI resolution to use for X server."; }; From 7e7a614aaa9aaa05adde92225a709505575f2df3 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 10 Apr 2016 17:53:07 +0200 Subject: [PATCH 026/182] pure-ftpd: init at 1.0.42 --- pkgs/servers/ftp/pure-ftpd/default.nix | 18 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/servers/ftp/pure-ftpd/default.nix diff --git a/pkgs/servers/ftp/pure-ftpd/default.nix b/pkgs/servers/ftp/pure-ftpd/default.nix new file mode 100644 index 00000000000..fe557b5080d --- /dev/null +++ b/pkgs/servers/ftp/pure-ftpd/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "pure-ftpd-1.0.42"; + + src = fetchurl { + url = "https://download.pureftpd.org/pub/pure-ftpd/releases/${name}.tar.gz"; + sha256 = "1yg7v1l3ng7c08nhh804k28y1f8ccmg0rq1a9l2sg45ib273mrvv"; + }; + + meta = with stdenv.lib; { + description = "A free, secure, production-quality and standard-conformant FTP server"; + homepage = https://www.pureftpd.org; + license = licenses.bsd; + maintainers = [ maintainers.lethalman ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 394c3c403ae..685dd065e87 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9877,6 +9877,8 @@ in pumpio = callPackage ../servers/web-apps/pump.io { }; + pure-ftpd = callPackage ../servers/ftp/pure-ftpd { }; + pyIRCt = callPackage ../servers/xmpp/pyIRCt {}; pyMAILt = callPackage ../servers/xmpp/pyMAILt {}; From f353f0de00fec2a70eade22ee0eb544def627641 Mon Sep 17 00:00:00 2001 From: Nicolas Petton Date: Sun, 10 Apr 2016 19:06:37 +0200 Subject: [PATCH 027/182] totem: build with gst-libav and gst-plugins-ugly --- pkgs/desktops/gnome-3/3.18/core/totem/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.18/core/totem/default.nix b/pkgs/desktops/gnome-3/3.18/core/totem/default.nix index 13665c72274..bcf30baa5ba 100644 --- a/pkgs/desktops/gnome-3/3.18/core/totem/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/totem/default.nix @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.grilo clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins - gst_all_1.gstreamer gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad + gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly gst_all_1.gst-libav gnome3.libpeas pygobject3 shared_mime_info dbus_glib gdk_pixbuf gnome3.defaultIconTheme librsvg gnome3.gnome_desktop gnome3.gsettings_desktop_schemas makeWrapper file ]; From 52f0aa3f824847fdc3a07cdb811d66517bcd27b9 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sun, 10 Apr 2016 19:48:01 +0200 Subject: [PATCH 028/182] pure-ftpd: fix meta.license There is no licenses.bsd. Consulting the source reveals that it uses the language of the ISC license (which is supposed to be equivalent to the simplified BSD license). --- pkgs/servers/ftp/pure-ftpd/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/ftp/pure-ftpd/default.nix b/pkgs/servers/ftp/pure-ftpd/default.nix index fe557b5080d..0cbf920cb72 100644 --- a/pkgs/servers/ftp/pure-ftpd/default.nix +++ b/pkgs/servers/ftp/pure-ftpd/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A free, secure, production-quality and standard-conformant FTP server"; homepage = https://www.pureftpd.org; - license = licenses.bsd; + license = licenses.isc; # with some parts covered by BSD3(?) maintainers = [ maintainers.lethalman ]; }; From 789c281a621a6fad043d5f2689fbdd1c0b767adb Mon Sep 17 00:00:00 2001 From: Tomasz Kontusz Date: Sun, 10 Apr 2016 20:41:42 +0200 Subject: [PATCH 029/182] partimage: correct the patch SHA256 It was using a hash for the file itself, instead of the one for a sanitized patch. --- pkgs/tools/backup/partimage/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/backup/partimage/default.nix b/pkgs/tools/backup/partimage/default.nix index 18e8bb40025..37d99a115f8 100644 --- a/pkgs/tools/backup/partimage/default.nix +++ b/pkgs/tools/backup/partimage/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation { name = "no-SSLv2.patch"; url = "https://projects.archlinux.org/svntogit/community.git/plain/trunk" + "/use-SSLv3-by-default.patch?h=packages/partimage&id=7e95d1c6614e"; - sha256 = "1zfixa6g1nb1hqfzn2wvyvxsr38gm7908zfml2iaqnwy6iz6jd8v"; + sha256 = "17dfqwvwnkinz8vs0l3bjjbmfx3a7y8nv3wn67gjsqpmggcpdnd6"; }) ]; From d61b739f07e418fd7b8e3eb5eeac225dc1d35ab9 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sun, 10 Apr 2016 18:41:57 +0000 Subject: [PATCH 030/182] php: 5.6.19 -> 5.6.20 --- pkgs/development/interpreters/php/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index e4dd79ead0f..ca984335fdc 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -293,8 +293,8 @@ in { }; php56 = generic { - version = "5.6.19"; - sha256 = "0s61fncsdgr1mqgh8jma6pi6xxz4gl350467lk00ls3i97wa691a"; + version = "5.6.20"; + sha256 = "07xz48dz1ijwq45vh90jfzdd56k0s5ppi3j5rwc9p9y7mrybziss"; }; php70 = generic { From ad7b1e24c20d60199525f3849115fa7e96bc5174 Mon Sep 17 00:00:00 2001 From: Charles Strahan Date: Sat, 9 Apr 2016 19:36:02 -0400 Subject: [PATCH 031/182] fan-networking: updated patches from Ubuntu This pulls in updated Fan Networking patches from Ubuntu. (https://wiki.ubuntu.com/FanNetworking) closes #14328 --- pkgs/os-specific/linux/fanctl/default.nix | 46 +- .../os-specific/linux/fanctl/robustness.patch | 85 ++ .../iproute/1000-ubuntu-poc-fan-driver.patch | 65 + ...ch => 1001-ubuntu-poc-fan-driver-v3.patch} | 87 +- .../1002-ubuntu-poc-fan-driver-vxlan.patch | 177 +++ pkgs/os-specific/linux/iproute/default.nix | 8 +- pkgs/os-specific/linux/kernel/patches.nix | 9 +- .../linux/kernel/ubuntu-fan-3.patch | 616 -------- .../linux/kernel/ubuntu-fan-4.4.patch | 1240 +++++++++++++++++ .../linux/kernel/ubuntu-fan-4.patch | 616 -------- 10 files changed, 1626 insertions(+), 1323 deletions(-) create mode 100644 pkgs/os-specific/linux/fanctl/robustness.patch create mode 100644 pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch rename pkgs/os-specific/linux/iproute/{ubuntu-fan.patch => 1001-ubuntu-poc-fan-driver-v3.patch} (59%) create mode 100644 pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch delete mode 100644 pkgs/os-specific/linux/kernel/ubuntu-fan-3.patch create mode 100644 pkgs/os-specific/linux/kernel/ubuntu-fan-4.4.patch delete mode 100644 pkgs/os-specific/linux/kernel/ubuntu-fan-4.patch diff --git a/pkgs/os-specific/linux/fanctl/default.nix b/pkgs/os-specific/linux/fanctl/default.nix index 61e100f4c9b..cb188b56c06 100644 --- a/pkgs/os-specific/linux/fanctl/default.nix +++ b/pkgs/os-specific/linux/fanctl/default.nix @@ -1,41 +1,39 @@ -{ stdenv, lib, fetchbzr, makeWrapper, bridge-utils, iproute, dnsmasq, iptables, kmod, utillinux }: +{ stdenv, lib, fetchurl, gnugrep, glibc, gawk, coreutils, bridge-utils, iproute +, dnsmasq, iptables, kmod, utillinux, gnused }: -let stateDir = "/var/lib/fan-networking"; -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { name = "fanctl-${version}"; - version = "0.3.0"; + version = "0.9.0"; - src = fetchbzr { - url = "https://code.launchpad.net/~ubuntu-branches/ubuntu/vivid/ubuntu-fan/vivid-updates"; - rev = 2; - sha256 = "1vcr2rg99g7sx1zynhiggjzc9y9z591i4535hbm21dysy3cisp7i"; + src = fetchurl { + url = "https://launchpad.net/ubuntu/+archive/primary/+files/ubuntu-fan_${version}.tar.xz"; + sha256 = "03dv5zzb8fkl9kkbhznxm48d6j3fjms74fn0s1zip2gz53l1s14n"; }; - buildInputs = [ makeWrapper ]; + # The Ubuntu package creates a number of state/config directories upon + # installation, and so the fanctl script expects those directories to exist + # before being used. Instead, we patch the fanctl script to gracefully handle + # the fact that the directories might not exist yet. + # Also, when dnsmasq is given --conf-file="", it will still attempt to read + # /etc/dnsmasq.conf; if that file does not exist, dnsmasq subsequently fails, + # so we'll use /dev/null, which actually works as intended. + patches = [ ./robustness.patch ]; - # When given --conf-file="", dnsmasq still attempts to read /etc/dnsmasq.conf; - # if that files does not exist, dnsmasq subsequently fails, - # so we'll use /dev/null. - # - # Also, make sure the state directory before starting dnsmasq. - buildPhase = '' + postPatch = '' substituteInPlace fanctl \ - --replace '--conf-file= ' \ - '--conf-file=/dev/null ' \ - --replace '/var/lib/misc' \ - '${stateDir}' - - sed -i '/dnsmasq -u/i \ - mkdir -p ${stateDir}' fanctl + --replace '@PATH@' \ + '${lib.makeSearchPath "bin" [ + gnugrep gawk coreutils bridge-utils iproute dnsmasq + iptables kmod utillinux gnused + glibc # needed for getent + ]}' ''; installPhase = '' mkdir -p $out/bin $out/man/man8 cp fanctl.8 $out/man/man8 cp fanctl $out/bin - wrapProgram $out/bin/fanctl --prefix PATH : \ - ${lib.makeSearchPath "bin" [ bridge-utils iproute dnsmasq iptables kmod utillinux ]}; ''; meta = with lib; { diff --git a/pkgs/os-specific/linux/fanctl/robustness.patch b/pkgs/os-specific/linux/fanctl/robustness.patch new file mode 100644 index 00000000000..7a70a784e3e --- /dev/null +++ b/pkgs/os-specific/linux/fanctl/robustness.patch @@ -0,0 +1,85 @@ +diff --git a/fanctl b/fanctl +index 4338b75..84cf987 100755 +--- a/fanctl ++++ b/fanctl +@@ -5,6 +5,8 @@ + # fanctl down 15 10.1.0.1 + # + ++export PATH="@PATH@" ++ + usage() + { + echo "Usage: $0 [...]" 1>&2 +@@ -23,8 +25,8 @@ run() + "$@" + } + +-state_dir="/run/ubuntu-fan" +-lconfig_dir="/var/lib/ubuntu-fan/config" ++state_dir="/run/fan-networking" ++lconfig_dir="/var/lib/fan-networking/config" + + __ip_split() + { +@@ -931,12 +933,12 @@ dhcp_reconfigure() + --strict-order \ + --bind-interfaces \ + --pid-file="$state_dir/dnsmasq-$C_bridge_state.pid" \ +- --conf-file= \ ++ --conf-file=/dev/null \ + $dhcp_flags \ + --dhcp-no-override \ + --except-interface=lo \ + --interface="$C_bridge" \ +- --dhcp-leasefile=/var/lib/misc/dnsmasq."$C_bridge_state".leases \ ++ --dhcp-leasefile=/var/lib/fan-networking/dnsmasq."$C_bridge_state".leases \ + --dhcp-authoritative \ + || $fail "$C_bridge: failed to start dnsmasq" + +@@ -1559,21 +1561,23 @@ cmd_config() + + case "$cmd" in + list|ls) +- ls -1 "$lconfig_dir" | \ +- while read config +- do +- case "$config" in +- *.conf) ;; +- *) continue ;; +- esac ++ if [ -d $lconfig_dir ]; then ++ ls -1 "$lconfig_dir" | \ ++ while read config ++ do ++ case "$config" in ++ *.conf) ;; ++ *) continue ;; ++ esac + +- config=$( echo "$config" | sed \ +- -e 's/.conf$//' \ +- -e 's/--/ /g' \ +- -e 's@-@/@g' +- ) +- echo "$config" +- done ++ config=$( echo "$config" | sed \ ++ -e 's/.conf$//' \ ++ -e 's/--/ /g' \ ++ -e 's@-@/@g' ++ ) ++ echo "$config" ++ done ++ fi + ;; + show) + cmd_decode_init +@@ -1588,6 +1592,7 @@ cmd_config() + [ -f "$uconfig" ] && cat "$uconfig" + ;; + set) ++ mkdir -p $lconfig_dir || fail "could not create config directory ($lconfig_dir)" + cmd_decode_init + if ! cmd_decode_config "config set" "$@"; then + fail "invalid config" diff --git a/pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch b/pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch new file mode 100644 index 00000000000..ca91b816000 --- /dev/null +++ b/pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch @@ -0,0 +1,65 @@ +Description: POC fan driver support + POC Fan driver support +Author: Jay Vosburgh + +Index: iproute2-4.1.1/include/linux/if_tunnel.h +=================================================================== +--- iproute2-4.1.1.orig/include/linux/if_tunnel.h ++++ iproute2-4.1.1/include/linux/if_tunnel.h +@@ -57,6 +57,9 @@ enum { + IFLA_IPTUN_ENCAP_FLAGS, + IFLA_IPTUN_ENCAP_SPORT, + IFLA_IPTUN_ENCAP_DPORT, ++ ++ IFLA_IPTUN_FAN_UNDERLAY = 32, ++ + __IFLA_IPTUN_MAX, + }; + #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1) +Index: iproute2-4.1.1/ip/link_iptnl.c +=================================================================== +--- iproute2-4.1.1.orig/ip/link_iptnl.c ++++ iproute2-4.1.1/ip/link_iptnl.c +@@ -66,6 +66,7 @@ static int iptunnel_parse_opt(struct lin + __u32 link = 0; + __u32 laddr = 0; + __u32 raddr = 0; ++ __u32 underlay = 0; + __u8 ttl = 0; + __u8 tos = 0; + __u8 pmtudisc = 1; +@@ -174,6 +175,9 @@ get_failed: + raddr = get_addr32(*argv); + else + raddr = 0; ++ } else if (strcmp(*argv, "underlay") == 0) { ++ NEXT_ARG(); ++ underlay = get_addr32(*argv); + } else if (strcmp(*argv, "local") == 0) { + NEXT_ARG(); + if (strcmp(*argv, "any")) +@@ -318,6 +322,9 @@ get_failed: + } + } + ++ if (underlay) ++ addattr32(n, 1024, IFLA_IPTUN_FAN_UNDERLAY, underlay); ++ + return 0; + } + +@@ -349,6 +356,14 @@ static void iptunnel_print_opt(struct li + + fprintf(f, "local %s ", local); + ++ if (tb[IFLA_IPTUN_FAN_UNDERLAY]) { ++ unsigned addr = rta_getattr_u32(tb[IFLA_IPTUN_FAN_UNDERLAY]); ++ ++ if (addr) ++ fprintf(f, "underlay %s ", ++ format_host(AF_INET, 4, &addr, s1, sizeof(s1))); ++ } ++ + if (tb[IFLA_IPTUN_LINK] && rta_getattr_u32(tb[IFLA_IPTUN_LINK])) { + unsigned link = rta_getattr_u32(tb[IFLA_IPTUN_LINK]); + const char *n = if_indextoname(link, s2); diff --git a/pkgs/os-specific/linux/iproute/ubuntu-fan.patch b/pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch similarity index 59% rename from pkgs/os-specific/linux/iproute/ubuntu-fan.patch rename to pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch index e55425c2ce6..a940b341ea0 100644 --- a/pkgs/os-specific/linux/iproute/ubuntu-fan.patch +++ b/pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch @@ -1,27 +1,19 @@ -This provides support for Ubuntu's Fan Networking [1]. - -These patches were pulled from: -https://code.launchpad.net/~ubuntu-branches/ubuntu/vivid/iproute2/vivid-proposed - -See revisions 18 and 19. - -[1] https://wiki.ubuntu.com/FanNetworking - -diff --git a/include/linux/if_tunnel.h b/include/linux/if_tunnel.h -index 102ce7a..7b8f0e5 100644 ---- a/include/linux/if_tunnel.h -+++ b/include/linux/if_tunnel.h -@@ -57,6 +57,9 @@ enum { - IFLA_IPTUN_ENCAP_FLAGS, - IFLA_IPTUN_ENCAP_SPORT, +Description: Fan driver support v3 + Fan driver support v3 +Author: Jay Vosburgh +Index: iproute2-4.1.1/include/linux/if_tunnel.h +=================================================================== +--- iproute2-4.1.1.orig/include/linux/if_tunnel.h ++++ iproute2-4.1.1/include/linux/if_tunnel.h +@@ -59,6 +59,7 @@ enum { IFLA_IPTUN_ENCAP_DPORT, -+ -+ IFLA_IPTUN_FAN_UNDERLAY = 32, + + IFLA_IPTUN_FAN_UNDERLAY = 32, + IFLA_IPTUN_FAN_MAP = 33, + __IFLA_IPTUN_MAX, }; - #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1) -@@ -131,4 +134,20 @@ enum { +@@ -134,4 +135,20 @@ enum { }; #define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1) @@ -42,10 +34,10 @@ index 102ce7a..7b8f0e5 100644 +}; + #endif /* _IF_TUNNEL_H_ */ -diff --git a/ip/link_iptnl.c b/ip/link_iptnl.c -index 9d6bc98..ec3f05d 100644 ---- a/ip/link_iptnl.c -+++ b/ip/link_iptnl.c +Index: iproute2-4.1.1/ip/link_iptnl.c +=================================================================== +--- iproute2-4.1.1.orig/ip/link_iptnl.c ++++ iproute2-4.1.1/ip/link_iptnl.c @@ -49,6 +49,42 @@ static void usage(int sit) print_usage(stderr, sit); exit(-1); @@ -89,21 +81,10 @@ index 9d6bc98..ec3f05d 100644 static int iptunnel_parse_opt(struct link_util *lu, int argc, char **argv, struct nlmsghdr *n) -@@ -66,6 +102,7 @@ static int iptunnel_parse_opt(struct link_util *lu, int argc, char **argv, - __u32 link = 0; - __u32 laddr = 0; - __u32 raddr = 0; -+ __u32 underlay = 0; - __u8 ttl = 0; - __u8 tos = 0; - __u8 pmtudisc = 1; -@@ -174,6 +211,13 @@ get_failed: - raddr = get_addr32(*argv); - else - raddr = 0; -+ } else if (strcmp(*argv, "underlay") == 0) { -+ NEXT_ARG(); -+ underlay = get_addr32(*argv); +@@ -178,6 +214,10 @@ get_failed: + } else if (strcmp(*argv, "underlay") == 0) { + NEXT_ARG(); + underlay = get_addr32(*argv); + } else if (strcmp(*argv, "fan-map") == 0) { + NEXT_ARG(); + if (fan_parse_map(&argc, &argv, n)) @@ -111,13 +92,7 @@ index 9d6bc98..ec3f05d 100644 } else if (strcmp(*argv, "local") == 0) { NEXT_ARG(); if (strcmp(*argv, "any")) -@@ -318,9 +362,32 @@ get_failed: - } - } - -+ if (underlay) -+ addattr32(n, 1024, IFLA_IPTUN_FAN_UNDERLAY, underlay); -+ +@@ -328,6 +368,28 @@ get_failed: return 0; } @@ -127,16 +102,18 @@ index 9d6bc98..ec3f05d 100644 + struct ip_tunnel_fan_map *m; + struct rtattr *i; + int rem; ++ int p; + + fprintf(f, "fan-map "); + + rem = RTA_PAYLOAD(attr); + for (i = RTA_DATA(attr); RTA_OK(i, rem); i = RTA_NEXT(i, rem)) { ++ p = RTA_PAYLOAD(i); + m = RTA_DATA(i); + fprintf(f, "%s/%d:%s/%d ", -+ rt_addr_n2a(AF_INET, sizeof(m->overlay), &m->overlay, b1, INET_ADDRSTRLEN), ++ rt_addr_n2a(AF_INET, p, &m->overlay, b1, INET_ADDRSTRLEN), + m->overlay_prefix, -+ rt_addr_n2a(AF_INET, sizeof(m->overlay), &m->underlay, b2, INET_ADDRSTRLEN), ++ rt_addr_n2a(AF_INET, p, &m->underlay, b2, INET_ADDRSTRLEN), + m->underlay_prefix); + } +} @@ -144,18 +121,10 @@ index 9d6bc98..ec3f05d 100644 static void iptunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) { char s1[1024]; -@@ -349,6 +416,17 @@ static void iptunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[ +@@ -364,6 +426,9 @@ static void iptunnel_print_opt(struct li + format_host(AF_INET, 4, &addr, s1, sizeof(s1))); + } - fprintf(f, "local %s ", local); - -+ if (tb[IFLA_IPTUN_FAN_UNDERLAY]) { -+ unsigned addr = rta_getattr_u32(tb[IFLA_IPTUN_FAN_UNDERLAY]); -+ -+ if (addr) -+ fprintf(f, "underlay %s ", -+ format_host(AF_INET, 4, &addr, s1, sizeof(s1))); -+ } -+ + if (tb[IFLA_IPTUN_FAN_MAP]) + fan_print_map(f, tb[IFLA_IPTUN_FAN_MAP]); + diff --git a/pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch b/pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch new file mode 100644 index 00000000000..2ddc2840bdd --- /dev/null +++ b/pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch @@ -0,0 +1,177 @@ +Description: Fan driver support VXLAN (p4) + Fan driver setup support for vxlan interfaces. + +Index: iproute2-4.3.0/include/linux/if_link.h +=================================================================== +--- iproute2-4.3.0.orig/include/linux/if_link.h ++++ iproute2-4.3.0/include/linux/if_link.h +@@ -392,6 +392,7 @@ enum { + IFLA_VXLAN_GBP, + IFLA_VXLAN_REMCSUM_NOPARTIAL, + IFLA_VXLAN_COLLECT_METADATA, ++ IFLA_VXLAN_FAN_MAP = 33, + __IFLA_VXLAN_MAX + }; + #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) +Index: iproute2-4.3.0/include/linux/if_tunnel.h +=================================================================== +--- iproute2-4.3.0.orig/include/linux/if_tunnel.h ++++ iproute2-4.3.0/include/linux/if_tunnel.h +@@ -145,7 +145,7 @@ enum { + + #define IFLA_FAN_MAX (__IFLA_FAN_MAX - 1) + +-struct ip_tunnel_fan_map { ++struct ifla_fan_map { + __be32 underlay; + __be32 overlay; + __u16 underlay_prefix; +Index: iproute2-4.3.0/ip/iplink_vxlan.c +=================================================================== +--- iproute2-4.3.0.orig/ip/iplink_vxlan.c ++++ iproute2-4.3.0/ip/iplink_vxlan.c +@@ -15,7 +15,10 @@ + #include + #include + #include ++#include + #include ++#include ++#include + + #include "rt_names.h" + #include "utils.h" +@@ -43,6 +46,45 @@ static void explain(void) + print_explain(stderr); + } + ++static int fan_parse_map(int *argcp, char ***argvp, struct nlmsghdr *n) ++{ ++ inet_prefix underlay, overlay; ++ struct ifla_fan_map map; ++ struct rtattr *nest; ++ char **argv = *argvp; ++ int argc = *argcp; ++ ++ nest = addattr_nest(n, 1024, IFLA_VXLAN_FAN_MAP); ++ while (argc > 0) { ++ char *colon = strchr(*argv, ':'); ++ ++ if (!colon) { ++ PREV_ARG(); ++ break; ++ } ++ *colon = '\0'; ++ ++ if (get_prefix(&overlay, *argv, AF_INET)) ++ invarg("invalid fan-map overlay", *argv); ++ if (get_prefix(&underlay, colon + 1, AF_INET)) ++ invarg("invalid fan-map underlay", colon + 1); ++ ++ memcpy(&map.underlay, underlay.data, 4); ++ map.underlay_prefix = underlay.bitlen; ++ memcpy(&map.overlay, overlay.data, 4); ++ map.overlay_prefix = overlay.bitlen; ++ ++ argc--, argv++; ++ ++ addattr_l(n, 1024, IFLA_FAN_MAPPING, &map, sizeof(map)); ++ } ++ addattr_nest_end(n, nest); ++ ++ *argcp = argc; ++ *argvp = argv; ++ return 0; ++} ++ + static int vxlan_parse_opt(struct link_util *lu, int argc, char **argv, + struct nlmsghdr *n) + { +@@ -201,6 +243,10 @@ static int vxlan_parse_opt(struct link_u + udp6zerocsumrx = 0; + } else if (!matches(*argv, "gbp")) { + gbp = 1; ++ } else if (!matches(*argv, "fan-map")) { ++ NEXT_ARG(); ++ if (fan_parse_map(&argc, &argv, n)) ++ invarg("invalid fan-map", *argv); + } else if (matches(*argv, "help") == 0) { + explain(); + return -1; +@@ -279,6 +325,28 @@ static int vxlan_parse_opt(struct link_u + return 0; + } + ++static void fan_print_map(FILE *f, struct rtattr *attr) ++{ ++ char b1[INET_ADDRSTRLEN], b2[INET_ADDRSTRLEN]; ++ struct ifla_fan_map *m; ++ struct rtattr *i; ++ int rem; ++ int p; ++ ++ fprintf(f, "fan-map "); ++ ++ rem = RTA_PAYLOAD(attr); ++ for (i = RTA_DATA(attr); RTA_OK(i, rem); i = RTA_NEXT(i, rem)) { ++ p = RTA_PAYLOAD(i); ++ m = RTA_DATA(i); ++ fprintf(f, "%s/%d:%s/%d ", ++ rt_addr_n2a(AF_INET, p, &m->overlay, b1, INET_ADDRSTRLEN), ++ m->overlay_prefix, ++ rt_addr_n2a(AF_INET, p, &m->underlay, b2, INET_ADDRSTRLEN), ++ m->underlay_prefix); ++ } ++} ++ + static void vxlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) + { + __u32 vni; +@@ -321,6 +389,9 @@ static void vxlan_print_opt(struct link_ + } + } + ++ if (tb[IFLA_VXLAN_FAN_MAP]) ++ fan_print_map(f, tb[IFLA_VXLAN_FAN_MAP]); ++ + if (tb[IFLA_VXLAN_LOCAL]) { + __be32 addr = rta_getattr_u32(tb[IFLA_VXLAN_LOCAL]); + if (addr) +Index: iproute2-4.3.0/ip/link_iptnl.c +=================================================================== +--- iproute2-4.3.0.orig/ip/link_iptnl.c ++++ iproute2-4.3.0/ip/link_iptnl.c +@@ -49,10 +49,11 @@ static void usage(int sit) + print_usage(stderr, sit); + exit(-1); + } ++ + static int fan_parse_map(int *argcp, char ***argvp, struct nlmsghdr *n) + { + inet_prefix underlay, overlay; +- struct ip_tunnel_fan_map map; ++ struct ifla_fan_map map; + struct rtattr *nest; + char **argv = *argvp; + int argc = *argcp; +@@ -61,8 +62,10 @@ static int fan_parse_map(int *argcp, cha + while (argc > 0) { + char *colon = strchr(*argv, ':'); + +- if (!colon) ++ if (!colon) { ++ PREV_ARG(); + break; ++ } + *colon = '\0'; + + if (get_prefix(&overlay, *argv, AF_INET)) +@@ -371,7 +374,7 @@ get_failed: + static void fan_print_map(FILE *f, struct rtattr *attr) + { + char b1[INET_ADDRSTRLEN], b2[INET_ADDRSTRLEN]; +- struct ip_tunnel_fan_map *m; ++ struct ifla_fan_map *m; + struct rtattr *i; + int rem; + int p; diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 891d39d24dd..5f328bd90c8 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -10,7 +10,13 @@ stdenv.mkDerivation rec { sha256 = "159988vv3fd78bzhisfl1dl4dd7km3vjzs2d8899a0vcvn412fzh"; }; - patches = lib.optionals enableFan [ ./ubuntu-fan.patch ]; + patches = lib.optionals enableFan [ + # These patches were pulled from: + # https://launchpad.net/ubuntu/xenial/+source/iproute2 + ./1000-ubuntu-poc-fan-driver.patch + ./1001-ubuntu-poc-fan-driver-v3.patch + ./1002-ubuntu-poc-fan-driver-vxlan.patch + ]; preConfigure = '' patchShebangs ./configure diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index a8fb1598af7..a23ee7823a6 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -71,14 +71,9 @@ rec { patch = ./mips-ext3-n32.patch; }; - ubuntu_fan = + ubuntu_fan_4_4 = { name = "ubuntu-fan"; - patch = ./ubuntu-fan-3.patch; - }; - - ubuntu_fan_4 = - { name = "ubuntu-fan"; - patch = ./ubuntu-fan-4.patch; + patch = ./ubuntu-fan-4.4.patch; }; ubuntu_unprivileged_overlayfs = diff --git a/pkgs/os-specific/linux/kernel/ubuntu-fan-3.patch b/pkgs/os-specific/linux/kernel/ubuntu-fan-3.patch deleted file mode 100644 index c80950d0614..00000000000 --- a/pkgs/os-specific/linux/kernel/ubuntu-fan-3.patch +++ /dev/null @@ -1,616 +0,0 @@ -From f3c956096902669c3529cb01d40deb0c759ed94f Mon Sep 17 00:00:00 2001 -From: Jay Vosburgh -Date: Wed, 1 Apr 2015 16:11:09 -0700 -Subject: [PATCH] UBUNTU: SAUCE: fan: Proof of concept implementation (v2) - -Modification to ipip tunnel driver to accept a new netlink option, -IFLA_IPTUN_FAN_UNDERLAY, which provides a /16 network prefix and enables -TX side destination address remapping for traffic entering the tunnel -(to be encapsulated). - -For an overlay (inner) address Y.A.B.C, the transformation is F.G.A.B, -where "F" and "G" are the first two octets of the underlay network (the -network portion of a /16), "A" and "B" are the low order two octets of the -underlay network host (the host portion of a /16), and "Y" is a configured -first octet of the overlay network. - -E.g., underlay host 10.88.3.4 with an overlay of 99 would host overlay -subnet 99.3.4.0/24. An overlay network datagram from 99.3.4.5 to 99.6.7.8 -would be directed to underlay host 10.88.6.7, which hosts overlay network -99.6.7.0/24. - -Includes net.fan.version sysctl as a sentinel for availability of the -fan functionality. - -NOTE: this requires an updated iproute2 to facilitate configuration of -the fan. - -BugLink: http://bugs.launchpad.net/bugs/1439706 -Signed-off-by: Jay Vosburgh -[apw@canonical.com: move IFLA_IPTUN_FAN_UNDERLAY up to avoid clashing - with future feature additions.] -Signed-off-by: Andy Whitcroft ---- - include/net/ip_tunnels.h | 6 +++ - include/uapi/linux/if_tunnel.h | 4 ++ - net/ipv4/ipip.c | 112 +++++++++++++++++++++++++++++++++++++++-- - 3 files changed, 117 insertions(+), 5 deletions(-) - -diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h -index 25a59eb..d7eada2 100644 ---- a/include/net/ip_tunnels.h -+++ b/include/net/ip_tunnels.h -@@ -51,6 +51,11 @@ struct ip_tunnel_dst { - __be32 saddr; - }; - -+/* Underlay address prefix for ipip fan mode */ -+struct ip_tunnel_fan { -+ u32 underlay; -+}; -+ - struct ip_tunnel { - struct ip_tunnel __rcu *next; - struct hlist_node hash_node; -@@ -82,6 +87,7 @@ struct ip_tunnel { - #endif - struct ip_tunnel_prl_entry __rcu *prl; /* potential router list */ - unsigned int prl_count; /* # of entries in PRL */ -+ struct ip_tunnel_fan fan; - int ip_tnl_net_id; - struct gro_cells gro_cells; - }; -diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h -index bd3cc11..8f7d269 100644 ---- a/include/uapi/linux/if_tunnel.h -+++ b/include/uapi/linux/if_tunnel.h -@@ -57,6 +57,10 @@ enum { - IFLA_IPTUN_ENCAP_FLAGS, - IFLA_IPTUN_ENCAP_SPORT, - IFLA_IPTUN_ENCAP_DPORT, -+ -+ __IFLA_IPTUN_VENDOR_BREAK, /* Ensure new entries do not hit the below. */ -+ IFLA_IPTUN_FAN_UNDERLAY=32, -+ - __IFLA_IPTUN_MAX, - }; - #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1) -diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c -index 40403114..e3c27cd 100644 ---- a/net/ipv4/ipip.c -+++ b/net/ipv4/ipip.c -@@ -209,13 +209,38 @@ drop: - } - - /* -+ * Determine fan tunnel endpoint to send packet to, based on the inner IP -+ * address. For an overlay (inner) address Y.A.B.C, the transformation is -+ * F.G.A.B, where "F" and "G" are the first two octets of the underlay -+ * network (the network portion of a /16), "A" and "B" are the low order -+ * two octets of the underlay network host (the host portion of a /16), -+ * and "Y" is a configured first octet of the overlay network. -+ * -+ * E.g., underlay host 10.88.3.4 with an overlay of 99 would host overlay -+ * subnet 99.3.4.0/24. An overlay network datagram from 99.3.4.5 to -+ * 99.6.7.8, would be directed to underlay host 10.88.6.7, which hosts -+ * overlay network 99.6.7.0/24. -+ */ -+static void ipip_build_fan_iphdr(struct ip_tunnel *tunnel, struct sk_buff *skb, struct iphdr *iph) -+{ -+ u32 daddr; -+ -+ *iph = tunnel->parms.iph; -+ -+ daddr = ntohl(ip_hdr(skb)->daddr); -+ iph->daddr = htonl((tunnel->fan.underlay & 0xffff0000) | -+ ((daddr >> 8) & 0x0000ffff)); -+} -+ -+/* - * This function assumes it is being called from dev_queue_xmit() - * and that skb is filled properly by that function. - */ - static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) - { - struct ip_tunnel *tunnel = netdev_priv(dev); -- const struct iphdr *tiph = &tunnel->parms.iph; -+ const struct iphdr *tiph; -+ struct iphdr fiph; - - if (unlikely(skb->protocol != htons(ETH_P_IP))) - goto tx_error; -@@ -224,6 +249,13 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) - if (IS_ERR(skb)) - goto out; - -+ if (tunnel->fan.underlay) { -+ ipip_build_fan_iphdr(tunnel, skb, &fiph); -+ tiph = &fiph; -+ } else { -+ tiph = &tunnel->parms.iph; -+ } -+ - skb_set_inner_ipproto(skb, IPPROTO_IPIP); - - ip_tunnel_xmit(skb, dev, tiph, tiph->protocol); -@@ -377,21 +409,44 @@ static bool ipip_netlink_encap_parms(struct nlattr *data[], - return ret; - } - -+static int ipip_netlink_fan(struct nlattr *data[], struct ip_tunnel *t, -+ struct ip_tunnel_parm *parms) -+{ -+ u32 net = t->fan.underlay; -+ -+ if (!data[IFLA_IPTUN_FAN_UNDERLAY]) -+ goto err_check; -+ -+ net = ntohl(nla_get_be32(data[IFLA_IPTUN_FAN_UNDERLAY])) & 0xffff0000; -+ -+err_check: -+ if (parms->iph.daddr && net) -+ return -EINVAL; -+ -+ t->fan.underlay = net; -+ -+ return 0; -+} -+ - static int ipip_newlink(struct net *src_net, struct net_device *dev, - struct nlattr *tb[], struct nlattr *data[]) - { - struct ip_tunnel_parm p; - struct ip_tunnel_encap ipencap; -+ struct ip_tunnel *t = netdev_priv(dev); -+ int err; - - if (ipip_netlink_encap_parms(data, &ipencap)) { -- struct ip_tunnel *t = netdev_priv(dev); -- int err = ip_tunnel_encap_setup(t, &ipencap); -+ err = ip_tunnel_encap_setup(t, &ipencap); - - if (err < 0) - return err; - } - - ipip_netlink_parms(data, &p); -+ err = ipip_netlink_fan(data, t, &p); -+ if (err < 0) -+ return err; - return ip_tunnel_newlink(dev, tb, &p); - } - -@@ -400,16 +455,20 @@ static int ipip_changelink(struct net_device *dev, struct nlattr *tb[], - { - struct ip_tunnel_parm p; - struct ip_tunnel_encap ipencap; -+ struct ip_tunnel *t = netdev_priv(dev); -+ int err; - - if (ipip_netlink_encap_parms(data, &ipencap)) { -- struct ip_tunnel *t = netdev_priv(dev); -- int err = ip_tunnel_encap_setup(t, &ipencap); -+ err = ip_tunnel_encap_setup(t, &ipencap); - - if (err < 0) - return err; - } - - ipip_netlink_parms(data, &p); -+ err = ipip_netlink_fan(data, t, &p); -+ if (err < 0) -+ return err; - - if (((dev->flags & IFF_POINTOPOINT) && !p.iph.daddr) || - (!(dev->flags & IFF_POINTOPOINT) && p.iph.daddr)) -@@ -441,6 +500,8 @@ static size_t ipip_get_size(const struct net_device *dev) - nla_total_size(2) + - /* IFLA_IPTUN_ENCAP_DPORT */ - nla_total_size(2) + -+ /* IFLA_IPTUN_FAN_UNDERLAY */ -+ nla_total_size(4) + - 0; - } - -@@ -468,6 +529,11 @@ static int ipip_fill_info(struct sk_buff *skb, const struct net_device *dev) - tunnel->encap.flags)) - goto nla_put_failure; - -+ if (tunnel->fan.underlay) -+ if (nla_put_be32(skb, IFLA_IPTUN_FAN_UNDERLAY, -+ htonl(tunnel->fan.underlay))) -+ goto nla_put_failure; -+ - return 0; - - nla_put_failure: -@@ -485,6 +551,9 @@ static const struct nla_policy ipip_policy[IFLA_IPTUN_MAX + 1] = { - [IFLA_IPTUN_ENCAP_FLAGS] = { .type = NLA_U16 }, - [IFLA_IPTUN_ENCAP_SPORT] = { .type = NLA_U16 }, - [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, -+ -+ [__IFLA_IPTUN_VENDOR_BREAK ... IFLA_IPTUN_MAX] = { .type = NLA_BINARY }, -+ [IFLA_IPTUN_FAN_UNDERLAY] = { .type = NLA_U32 }, - }; - - static struct rtnl_link_ops ipip_link_ops __read_mostly = { -@@ -524,6 +593,23 @@ static struct pernet_operations ipip_net_ops = { - .size = sizeof(struct ip_tunnel_net), - }; - -+#ifdef CONFIG_SYSCTL -+static struct ctl_table_header *ipip_fan_header; -+static unsigned int ipip_fan_version = 1; -+ -+static struct ctl_table ipip_fan_sysctls[] = { -+ { -+ .procname = "version", -+ .data = &ipip_fan_version, -+ .maxlen = sizeof(ipip_fan_version), -+ .mode = 0444, -+ .proc_handler = proc_dointvec, -+ }, -+ {}, -+}; -+ -+#endif /* CONFIG_SYSCTL */ -+ - static int __init ipip_init(void) - { - int err; -@@ -542,9 +628,22 @@ static int __init ipip_init(void) - if (err < 0) - goto rtnl_link_failed; - -+#ifdef CONFIG_SYSCTL -+ ipip_fan_header = register_net_sysctl(&init_net, "net/fan", -+ ipip_fan_sysctls); -+ if (!ipip_fan_header) { -+ err = -ENOMEM; -+ goto sysctl_failed; -+ } -+#endif /* CONFIG_SYSCTL */ -+ - out: - return err; - -+#ifdef CONFIG_SYSCTL -+sysctl_failed: -+ rtnl_link_unregister(&ipip_link_ops); -+#endif /* CONFIG_SYSCTL */ - rtnl_link_failed: - xfrm4_tunnel_deregister(&ipip_handler, AF_INET); - xfrm_tunnel_failed: -@@ -554,6 +653,9 @@ xfrm_tunnel_failed: - - static void __exit ipip_fini(void) - { -+#ifdef CONFIG_SYSCTL -+ unregister_net_sysctl_table(ipip_fan_header); -+#endif /* CONFIG_SYSCTL */ - rtnl_link_unregister(&ipip_link_ops); - if (xfrm4_tunnel_deregister(&ipip_handler, AF_INET)) - pr_info("%s: can't deregister tunnel\n", __func__); --- -2.4.1 - -From 4ea8011656dfdd76e7a2391bdad47c06f85a9d02 Mon Sep 17 00:00:00 2001 -From: Andy Whitcroft -Date: Tue, 21 Jul 2015 16:52:10 +0100 -Subject: [PATCH] UBUNTU: SAUCE: fan: tunnel multiple mapping mode (v3) - -Switch to a single tunnel for all mappings, this removes the limitations -on how many mappings each tunnel can handle, and therefore how many Fan -slices each local address may hold. - -NOTE: This introduces a new kernel netlink interface which needs updated -iproute2 support. - -BugLink: http://bugs.launchpad.net/bugs/1470091 -Signed-off-by: Jay Vosburgh -Signed-off-by: Andy Whitcroft -Acked-by: Tim Gardner -Acked-by: Brad Figg -Signed-off-by: Brad Figg ---- - include/net/ip_tunnels.h | 14 ++++- - include/uapi/linux/if_tunnel.h | 20 ++++++- - net/ipv4/ip_tunnel.c | 7 ++- - net/ipv4/ipip.c | 120 +++++++++++++++++++++++++++++++++-------- - 4 files changed, 133 insertions(+), 28 deletions(-) - -diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h -index d7eada2..2f7bc8c 100644 ---- a/include/net/ip_tunnels.h -+++ b/include/net/ip_tunnels.h -@@ -51,9 +51,18 @@ struct ip_tunnel_dst { - __be32 saddr; - }; - --/* Underlay address prefix for ipip fan mode */ -+/* A fan overlay /8 (250.0.0.0/8, for example) maps to exactly one /16 -+ * underlay (10.88.0.0/16, for example). Multiple local addresses within -+ * the /16 may be used, but a particular overlay may not span -+ * multiple underlay subnets. -+ * -+ * We store one underlay, indexed by the overlay's high order octet. -+ */ -+#define FAN_OVERLAY_CNT 256 -+ - struct ip_tunnel_fan { -- u32 underlay; -+/* u32 __rcu *map;*/ -+ u32 map[FAN_OVERLAY_CNT]; - }; - - struct ip_tunnel { -@@ -104,6 +113,7 @@ struct ip_tunnel { - #define TUNNEL_OAM __cpu_to_be16(0x0200) - #define TUNNEL_CRIT_OPT __cpu_to_be16(0x0400) - #define TUNNEL_OPTIONS_PRESENT __cpu_to_be16(0x0800) -+#define TUNNEL_FAN __cpu_to_be16(0x4000) - - struct tnl_ptk_info { - __be16 flags; -diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h -index 8f7d269..9625934 100644 ---- a/include/uapi/linux/if_tunnel.h -+++ b/include/uapi/linux/if_tunnel.h -@@ -58,8 +58,8 @@ enum { - IFLA_IPTUN_ENCAP_SPORT, - IFLA_IPTUN_ENCAP_DPORT, - -- __IFLA_IPTUN_VENDOR_BREAK, /* Ensure new entries do not hit the below. */ -- IFLA_IPTUN_FAN_UNDERLAY=32, -+ __IFLA_IPTUN_VENDOR_BREAK, /* Ensure new entries do not hit the below. */ -+ IFLA_IPTUN_FAN_MAP = 33, - - __IFLA_IPTUN_MAX, - }; -@@ -135,4 +135,20 @@ enum { - }; - - #define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1) -+ -+enum { -+ IFLA_FAN_UNSPEC, -+ IFLA_FAN_MAPPING, -+ __IFLA_FAN_MAX, -+}; -+ -+#define IFLA_FAN_MAX (__IFLA_FAN_MAX - 1) -+ -+struct ip_tunnel_fan_map { -+ __be32 underlay; -+ __be32 overlay; -+ __u16 underlay_prefix; -+ __u16 overlay_prefix; -+}; -+ - #endif /* _UAPI_IF_TUNNEL_H_ */ -diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c -index d3e4479..60bd10f 100644 ---- a/net/ipv4/ip_tunnel.c -+++ b/net/ipv4/ip_tunnel.c -@@ -1078,6 +1078,11 @@ out: - } - EXPORT_SYMBOL_GPL(ip_tunnel_newlink); - -+static int ip_tunnel_is_fan(struct ip_tunnel *tunnel) -+{ -+ return tunnel->parms.i_flags & TUNNEL_FAN; -+} -+ - int ip_tunnel_changelink(struct net_device *dev, struct nlattr *tb[], - struct ip_tunnel_parm *p) - { -@@ -1087,7 +1092,7 @@ int ip_tunnel_changelink(struct net_device *dev, struct nlattr *tb[], - struct ip_tunnel_net *itn = net_generic(net, tunnel->ip_tnl_net_id); - - if (dev == itn->fb_tunnel_dev) -- return -EINVAL; -+ return ip_tunnel_is_fan(tunnel) ? 0 : -EINVAL; - - t = ip_tunnel_find(itn, p, dev->type); - -diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c -index e3c27cd..d6ebc66 100644 ---- a/net/ipv4/ipip.c -+++ b/net/ipv4/ipip.c -@@ -107,6 +107,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -208,6 +209,11 @@ drop: - return 0; - } - -+static int ipip_tunnel_is_fan(struct ip_tunnel *tunnel) -+{ -+ return tunnel->parms.i_flags & TUNNEL_FAN; -+} -+ - /* - * Determine fan tunnel endpoint to send packet to, based on the inner IP - * address. For an overlay (inner) address Y.A.B.C, the transformation is -@@ -221,15 +227,20 @@ drop: - * 99.6.7.8, would be directed to underlay host 10.88.6.7, which hosts - * overlay network 99.6.7.0/24. - */ --static void ipip_build_fan_iphdr(struct ip_tunnel *tunnel, struct sk_buff *skb, struct iphdr *iph) -+static int ipip_build_fan_iphdr(struct ip_tunnel *tunnel, struct sk_buff *skb, struct iphdr *iph) - { -- u32 daddr; -- -- *iph = tunnel->parms.iph; -+ unsigned int overlay; -+ u32 daddr, underlay; - - daddr = ntohl(ip_hdr(skb)->daddr); -- iph->daddr = htonl((tunnel->fan.underlay & 0xffff0000) | -- ((daddr >> 8) & 0x0000ffff)); -+ overlay = daddr >> 24; -+ underlay = tunnel->fan.map[overlay]; -+ if (!underlay) -+ return -EINVAL; -+ -+ *iph = tunnel->parms.iph; -+ iph->daddr = htonl(underlay | ((daddr >> 8) & 0x0000ffff)); -+ return 0; - } - - /* -@@ -249,8 +260,9 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) - if (IS_ERR(skb)) - goto out; - -- if (tunnel->fan.underlay) { -- ipip_build_fan_iphdr(tunnel, skb, &fiph); -+ if (ipip_tunnel_is_fan(tunnel)) { -+ if (ipip_build_fan_iphdr(tunnel, skb, &fiph)) -+ goto tx_error; - tiph = &fiph; - } else { - tiph = &tunnel->parms.iph; -@@ -409,21 +421,65 @@ static bool ipip_netlink_encap_parms(struct nlattr *data[], - return ret; - } - -+static void ipip_fan_free_map(struct ip_tunnel *t) -+{ -+ memset(&t->fan.map, 0, sizeof(t->fan.map)); -+} -+ -+static int ipip_fan_set_map(struct ip_tunnel *t, struct ip_tunnel_fan_map *map) -+{ -+ u32 overlay, overlay_mask, underlay, underlay_mask; -+ -+ if ((map->underlay_prefix && map->underlay_prefix != 16) || -+ (map->overlay_prefix && map->overlay_prefix != 8)) -+ return -EINVAL; -+ -+ overlay = ntohl(map->overlay); -+ overlay_mask = ntohl(inet_make_mask(map->overlay_prefix)); -+ -+ underlay = ntohl(map->underlay); -+ underlay_mask = ntohl(inet_make_mask(map->underlay_prefix)); -+ -+ if ((overlay & ~overlay_mask) || (underlay & ~underlay_mask)) -+ return -EINVAL; -+ -+ if (!(overlay & overlay_mask) && (underlay & underlay_mask)) -+ return -EINVAL; -+ -+ t->parms.i_flags |= TUNNEL_FAN; -+ -+ /* Special case: overlay 0 and underlay 0 clears all mappings */ -+ if (!overlay && !underlay) { -+ ipip_fan_free_map(t); -+ return 0; -+ } -+ -+ overlay >>= (32 - map->overlay_prefix); -+ t->fan.map[overlay] = underlay; -+ -+ return 0; -+} -+ -+ - static int ipip_netlink_fan(struct nlattr *data[], struct ip_tunnel *t, - struct ip_tunnel_parm *parms) - { -- u32 net = t->fan.underlay; -- -- if (!data[IFLA_IPTUN_FAN_UNDERLAY]) -- goto err_check; -+ struct ip_tunnel_fan_map *map; -+ struct nlattr *attr; -+ int rem, rv; - -- net = ntohl(nla_get_be32(data[IFLA_IPTUN_FAN_UNDERLAY])) & 0xffff0000; -+ if (!data[IFLA_IPTUN_FAN_MAP]) -+ return 0; - --err_check: -- if (parms->iph.daddr && net) -+ if (parms->iph.daddr) - return -EINVAL; - -- t->fan.underlay = net; -+ nla_for_each_nested(attr, data[IFLA_IPTUN_FAN_MAP], rem) { -+ map = nla_data(attr); -+ rv = ipip_fan_set_map(t, map); -+ if (rv) -+ return rv; -+ } - - return 0; - } -@@ -500,8 +556,8 @@ static size_t ipip_get_size(const struct net_device *dev) - nla_total_size(2) + - /* IFLA_IPTUN_ENCAP_DPORT */ - nla_total_size(2) + -- /* IFLA_IPTUN_FAN_UNDERLAY */ -- nla_total_size(4) + -+ /* IFLA_IPTUN_FAN_MAP */ -+ nla_total_size(sizeof(struct ip_tunnel_fan_map)) * 256 + - 0; - } - -@@ -529,10 +585,28 @@ static int ipip_fill_info(struct sk_buff *skb, const struct net_device *dev) - tunnel->encap.flags)) - goto nla_put_failure; - -- if (tunnel->fan.underlay) -- if (nla_put_be32(skb, IFLA_IPTUN_FAN_UNDERLAY, -- htonl(tunnel->fan.underlay))) -+ if (tunnel->parms.i_flags & TUNNEL_FAN) { -+ struct nlattr *fan_nest; -+ int i; -+ -+ fan_nest = nla_nest_start(skb, IFLA_IPTUN_FAN_MAP); -+ if (!fan_nest) - goto nla_put_failure; -+ for (i = 0; i < 256; i++) { -+ if (tunnel->fan.map[i]) { -+ struct ip_tunnel_fan_map map; -+ -+ map.underlay = htonl(tunnel->fan.map[i]); -+ map.underlay_prefix = 16; -+ map.overlay = htonl(i << 24); -+ map.overlay_prefix = 8; -+ if (nla_put(skb, IFLA_FAN_MAPPING, -+ sizeof(map), &map)) -+ goto nla_put_failure; -+ } -+ } -+ nla_nest_end(skb, fan_nest); -+ } - - return 0; - -@@ -553,7 +627,7 @@ static const struct nla_policy ipip_policy[IFLA_IPTUN_MAX + 1] = { - [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, - - [__IFLA_IPTUN_VENDOR_BREAK ... IFLA_IPTUN_MAX] = { .type = NLA_BINARY }, -- [IFLA_IPTUN_FAN_UNDERLAY] = { .type = NLA_U32 }, -+ [IFLA_IPTUN_FAN_MAP] = { .type = NLA_NESTED }, - }; - - static struct rtnl_link_ops ipip_link_ops __read_mostly = { -@@ -595,7 +669,7 @@ static struct pernet_operations ipip_net_ops = { - - #ifdef CONFIG_SYSCTL - static struct ctl_table_header *ipip_fan_header; --static unsigned int ipip_fan_version = 1; -+static unsigned int ipip_fan_version = 3; - - static struct ctl_table ipip_fan_sysctls[] = { - { --- -2.4.1 - diff --git a/pkgs/os-specific/linux/kernel/ubuntu-fan-4.4.patch b/pkgs/os-specific/linux/kernel/ubuntu-fan-4.4.patch new file mode 100644 index 00000000000..39150ad790d --- /dev/null +++ b/pkgs/os-specific/linux/kernel/ubuntu-fan-4.4.patch @@ -0,0 +1,1240 @@ +From e64058be3b97c5bd3e034fc4ece21e306ef6f90b Mon Sep 17 00:00:00 2001 +From: Jay Vosburgh +Date: Wed, 1 Apr 2015 16:11:09 -0700 +Subject: [PATCH] UBUNTU: SAUCE: fan: tunnel multiple mapping mode (v3) + +Switch to a single tunnel for all mappings, this removes the limitations +on how many mappings each tunnel can handle, and therefore how many Fan +slices each local address may hold. + +NOTE: This introduces a new kernel netlink interface which needs updated +iproute2 support. + +BugLink: http://bugs.launchpad.net/bugs/1470091 +Signed-off-by: Jay Vosburgh +Signed-off-by: Andy Whitcroft +Signed-off-by: Tim Gardner + +Conflicts: + include/net/ip_tunnels.h +--- + include/net/ip_tunnels.h | 15 ++++ + include/uapi/linux/if_tunnel.h | 20 +++++ + net/ipv4/ip_tunnel.c | 7 +- + net/ipv4/ipip.c | 186 +++++++++++++++++++++++++++++++++++++++-- + 4 files changed, 222 insertions(+), 6 deletions(-) + +diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h +index 62a750a..47fec59 100644 +--- a/include/net/ip_tunnels.h ++++ b/include/net/ip_tunnels.h +@@ -91,6 +91,19 @@ struct ip_tunnel_dst { + }; + + struct metadata_dst; ++/* A fan overlay /8 (250.0.0.0/8, for example) maps to exactly one /16 ++ * underlay (10.88.0.0/16, for example). Multiple local addresses within ++ * the /16 may be used, but a particular overlay may not span ++ * multiple underlay subnets. ++ * ++ * We store one underlay, indexed by the overlay's high order octet. ++ */ ++#define FAN_OVERLAY_CNT 256 ++ ++struct ip_tunnel_fan { ++/* u32 __rcu *map;*/ ++ u32 map[FAN_OVERLAY_CNT]; ++}; + + struct ip_tunnel { + struct ip_tunnel __rcu *next; +@@ -123,6 +136,7 @@ struct ip_tunnel { + #endif + struct ip_tunnel_prl_entry __rcu *prl; /* potential router list */ + unsigned int prl_count; /* # of entries in PRL */ ++ struct ip_tunnel_fan fan; + int ip_tnl_net_id; + struct gro_cells gro_cells; + bool collect_md; +@@ -143,6 +157,7 @@ struct ip_tunnel { + #define TUNNEL_VXLAN_OPT __cpu_to_be16(0x1000) + + #define TUNNEL_OPTIONS_PRESENT (TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT) ++#define TUNNEL_FAN __cpu_to_be16(0x4000) + + struct tnl_ptk_info { + __be16 flags; +diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h +index af4de90..85a3e4b 100644 +--- a/include/uapi/linux/if_tunnel.h ++++ b/include/uapi/linux/if_tunnel.h +@@ -57,6 +57,10 @@ enum { + IFLA_IPTUN_ENCAP_FLAGS, + IFLA_IPTUN_ENCAP_SPORT, + IFLA_IPTUN_ENCAP_DPORT, ++ ++ __IFLA_IPTUN_VENDOR_BREAK, /* Ensure new entries do not hit the below. */ ++ IFLA_IPTUN_FAN_MAP = 33, ++ + __IFLA_IPTUN_MAX, + }; + #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1) +@@ -132,4 +136,20 @@ enum { + }; + + #define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1) ++ ++enum { ++ IFLA_FAN_UNSPEC, ++ IFLA_FAN_MAPPING, ++ __IFLA_FAN_MAX, ++}; ++ ++#define IFLA_FAN_MAX (__IFLA_FAN_MAX - 1) ++ ++struct ip_tunnel_fan_map { ++ __be32 underlay; ++ __be32 overlay; ++ __u16 underlay_prefix; ++ __u16 overlay_prefix; ++}; ++ + #endif /* _UAPI_IF_TUNNEL_H_ */ +diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c +index cbb51f3..7a6174b 100644 +--- a/net/ipv4/ip_tunnel.c ++++ b/net/ipv4/ip_tunnel.c +@@ -1110,6 +1110,11 @@ out: + } + EXPORT_SYMBOL_GPL(ip_tunnel_newlink); + ++static int ip_tunnel_is_fan(struct ip_tunnel *tunnel) ++{ ++ return tunnel->parms.i_flags & TUNNEL_FAN; ++} ++ + int ip_tunnel_changelink(struct net_device *dev, struct nlattr *tb[], + struct ip_tunnel_parm *p) + { +@@ -1119,7 +1124,7 @@ int ip_tunnel_changelink(struct net_device *dev, struct nlattr *tb[], + struct ip_tunnel_net *itn = net_generic(net, tunnel->ip_tnl_net_id); + + if (dev == itn->fb_tunnel_dev) +- return -EINVAL; ++ return ip_tunnel_is_fan(tunnel) ? 0 : -EINVAL; + + t = ip_tunnel_find(itn, p, dev->type); + +diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c +index a09fb0d..56e8984 100644 +--- a/net/ipv4/ipip.c ++++ b/net/ipv4/ipip.c +@@ -107,6 +107,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -208,6 +209,40 @@ drop: + return 0; + } + ++static int ipip_tunnel_is_fan(struct ip_tunnel *tunnel) ++{ ++ return tunnel->parms.i_flags & TUNNEL_FAN; ++} ++ ++/* ++ * Determine fan tunnel endpoint to send packet to, based on the inner IP ++ * address. For an overlay (inner) address Y.A.B.C, the transformation is ++ * F.G.A.B, where "F" and "G" are the first two octets of the underlay ++ * network (the network portion of a /16), "A" and "B" are the low order ++ * two octets of the underlay network host (the host portion of a /16), ++ * and "Y" is a configured first octet of the overlay network. ++ * ++ * E.g., underlay host 10.88.3.4 with an overlay of 99 would host overlay ++ * subnet 99.3.4.0/24. An overlay network datagram from 99.3.4.5 to ++ * 99.6.7.8, would be directed to underlay host 10.88.6.7, which hosts ++ * overlay network 99.6.7.0/24. ++ */ ++static int ipip_build_fan_iphdr(struct ip_tunnel *tunnel, struct sk_buff *skb, struct iphdr *iph) ++{ ++ unsigned int overlay; ++ u32 daddr, underlay; ++ ++ daddr = ntohl(ip_hdr(skb)->daddr); ++ overlay = daddr >> 24; ++ underlay = tunnel->fan.map[overlay]; ++ if (!underlay) ++ return -EINVAL; ++ ++ *iph = tunnel->parms.iph; ++ iph->daddr = htonl(underlay | ((daddr >> 8) & 0x0000ffff)); ++ return 0; ++} ++ + /* + * This function assumes it is being called from dev_queue_xmit() + * and that skb is filled properly by that function. +@@ -215,7 +250,8 @@ drop: + static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) + { + struct ip_tunnel *tunnel = netdev_priv(dev); +- const struct iphdr *tiph = &tunnel->parms.iph; ++ const struct iphdr *tiph; ++ struct iphdr fiph; + + if (unlikely(skb->protocol != htons(ETH_P_IP))) + goto tx_error; +@@ -224,6 +260,14 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) + if (IS_ERR(skb)) + goto out; + ++ if (ipip_tunnel_is_fan(tunnel)) { ++ if (ipip_build_fan_iphdr(tunnel, skb, &fiph)) ++ goto tx_error; ++ tiph = &fiph; ++ } else { ++ tiph = &tunnel->parms.iph; ++ } ++ + skb_set_inner_ipproto(skb, IPPROTO_IPIP); + + ip_tunnel_xmit(skb, dev, tiph, tiph->protocol); +@@ -375,21 +419,88 @@ static bool ipip_netlink_encap_parms(struct nlattr *data[], + return ret; + } + ++static void ipip_fan_free_map(struct ip_tunnel *t) ++{ ++ memset(&t->fan.map, 0, sizeof(t->fan.map)); ++} ++ ++static int ipip_fan_set_map(struct ip_tunnel *t, struct ip_tunnel_fan_map *map) ++{ ++ u32 overlay, overlay_mask, underlay, underlay_mask; ++ ++ if ((map->underlay_prefix && map->underlay_prefix != 16) || ++ (map->overlay_prefix && map->overlay_prefix != 8)) ++ return -EINVAL; ++ ++ overlay = ntohl(map->overlay); ++ overlay_mask = ntohl(inet_make_mask(map->overlay_prefix)); ++ ++ underlay = ntohl(map->underlay); ++ underlay_mask = ntohl(inet_make_mask(map->underlay_prefix)); ++ ++ if ((overlay & ~overlay_mask) || (underlay & ~underlay_mask)) ++ return -EINVAL; ++ ++ if (!(overlay & overlay_mask) && (underlay & underlay_mask)) ++ return -EINVAL; ++ ++ t->parms.i_flags |= TUNNEL_FAN; ++ ++ /* Special case: overlay 0 and underlay 0 clears all mappings */ ++ if (!overlay && !underlay) { ++ ipip_fan_free_map(t); ++ return 0; ++ } ++ ++ overlay >>= (32 - map->overlay_prefix); ++ t->fan.map[overlay] = underlay; ++ ++ return 0; ++} ++ ++ ++static int ipip_netlink_fan(struct nlattr *data[], struct ip_tunnel *t, ++ struct ip_tunnel_parm *parms) ++{ ++ struct ip_tunnel_fan_map *map; ++ struct nlattr *attr; ++ int rem, rv; ++ ++ if (!data[IFLA_IPTUN_FAN_MAP]) ++ return 0; ++ ++ if (parms->iph.daddr) ++ return -EINVAL; ++ ++ nla_for_each_nested(attr, data[IFLA_IPTUN_FAN_MAP], rem) { ++ map = nla_data(attr); ++ rv = ipip_fan_set_map(t, map); ++ if (rv) ++ return rv; ++ } ++ ++ return 0; ++} ++ + static int ipip_newlink(struct net *src_net, struct net_device *dev, + struct nlattr *tb[], struct nlattr *data[]) + { + struct ip_tunnel_parm p; + struct ip_tunnel_encap ipencap; ++ struct ip_tunnel *t = netdev_priv(dev); ++ int err; + + if (ipip_netlink_encap_parms(data, &ipencap)) { +- struct ip_tunnel *t = netdev_priv(dev); +- int err = ip_tunnel_encap_setup(t, &ipencap); ++ err = ip_tunnel_encap_setup(t, &ipencap); + + if (err < 0) + return err; + } + + ipip_netlink_parms(data, &p); ++ err = ipip_netlink_fan(data, t, &p); ++ if (err < 0) ++ return err; + return ip_tunnel_newlink(dev, tb, &p); + } + +@@ -398,16 +509,20 @@ static int ipip_changelink(struct net_device *dev, struct nlattr *tb[], + { + struct ip_tunnel_parm p; + struct ip_tunnel_encap ipencap; ++ struct ip_tunnel *t = netdev_priv(dev); ++ int err; + + if (ipip_netlink_encap_parms(data, &ipencap)) { +- struct ip_tunnel *t = netdev_priv(dev); +- int err = ip_tunnel_encap_setup(t, &ipencap); ++ err = ip_tunnel_encap_setup(t, &ipencap); + + if (err < 0) + return err; + } + + ipip_netlink_parms(data, &p); ++ err = ipip_netlink_fan(data, t, &p); ++ if (err < 0) ++ return err; + + if (((dev->flags & IFF_POINTOPOINT) && !p.iph.daddr) || + (!(dev->flags & IFF_POINTOPOINT) && p.iph.daddr)) +@@ -439,6 +554,8 @@ static size_t ipip_get_size(const struct net_device *dev) + nla_total_size(2) + + /* IFLA_IPTUN_ENCAP_DPORT */ + nla_total_size(2) + ++ /* IFLA_IPTUN_FAN_MAP */ ++ nla_total_size(sizeof(struct ip_tunnel_fan_map)) * 256 + + 0; + } + +@@ -466,6 +583,29 @@ static int ipip_fill_info(struct sk_buff *skb, const struct net_device *dev) + tunnel->encap.flags)) + goto nla_put_failure; + ++ if (tunnel->parms.i_flags & TUNNEL_FAN) { ++ struct nlattr *fan_nest; ++ int i; ++ ++ fan_nest = nla_nest_start(skb, IFLA_IPTUN_FAN_MAP); ++ if (!fan_nest) ++ goto nla_put_failure; ++ for (i = 0; i < 256; i++) { ++ if (tunnel->fan.map[i]) { ++ struct ip_tunnel_fan_map map; ++ ++ map.underlay = htonl(tunnel->fan.map[i]); ++ map.underlay_prefix = 16; ++ map.overlay = htonl(i << 24); ++ map.overlay_prefix = 8; ++ if (nla_put(skb, IFLA_FAN_MAPPING, ++ sizeof(map), &map)) ++ goto nla_put_failure; ++ } ++ } ++ nla_nest_end(skb, fan_nest); ++ } ++ + return 0; + + nla_put_failure: +@@ -483,6 +623,9 @@ static const struct nla_policy ipip_policy[IFLA_IPTUN_MAX + 1] = { + [IFLA_IPTUN_ENCAP_FLAGS] = { .type = NLA_U16 }, + [IFLA_IPTUN_ENCAP_SPORT] = { .type = NLA_U16 }, + [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, ++ ++ [__IFLA_IPTUN_VENDOR_BREAK ... IFLA_IPTUN_MAX] = { .type = NLA_BINARY }, ++ [IFLA_IPTUN_FAN_MAP] = { .type = NLA_NESTED }, + }; + + static struct rtnl_link_ops ipip_link_ops __read_mostly = { +@@ -523,6 +666,23 @@ static struct pernet_operations ipip_net_ops = { + .size = sizeof(struct ip_tunnel_net), + }; + ++#ifdef CONFIG_SYSCTL ++static struct ctl_table_header *ipip_fan_header; ++static unsigned int ipip_fan_version = 3; ++ ++static struct ctl_table ipip_fan_sysctls[] = { ++ { ++ .procname = "version", ++ .data = &ipip_fan_version, ++ .maxlen = sizeof(ipip_fan_version), ++ .mode = 0444, ++ .proc_handler = proc_dointvec, ++ }, ++ {}, ++}; ++ ++#endif /* CONFIG_SYSCTL */ ++ + static int __init ipip_init(void) + { + int err; +@@ -541,9 +701,22 @@ static int __init ipip_init(void) + if (err < 0) + goto rtnl_link_failed; + ++#ifdef CONFIG_SYSCTL ++ ipip_fan_header = register_net_sysctl(&init_net, "net/fan", ++ ipip_fan_sysctls); ++ if (!ipip_fan_header) { ++ err = -ENOMEM; ++ goto sysctl_failed; ++ } ++#endif /* CONFIG_SYSCTL */ ++ + out: + return err; + ++#ifdef CONFIG_SYSCTL ++sysctl_failed: ++ rtnl_link_unregister(&ipip_link_ops); ++#endif /* CONFIG_SYSCTL */ + rtnl_link_failed: + xfrm4_tunnel_deregister(&ipip_handler, AF_INET); + xfrm_tunnel_failed: +@@ -553,6 +726,9 @@ xfrm_tunnel_failed: + + static void __exit ipip_fini(void) + { ++#ifdef CONFIG_SYSCTL ++ unregister_net_sysctl_table(ipip_fan_header); ++#endif /* CONFIG_SYSCTL */ + rtnl_link_unregister(&ipip_link_ops); + if (xfrm4_tunnel_deregister(&ipip_handler, AF_INET)) + pr_info("%s: can't deregister tunnel\n", __func__); +-- +2.7.4 + +From 14aba409d044e3a314c09c650e1c42de699700b8 Mon Sep 17 00:00:00 2001 +From: Jay Vosburgh +Date: Wed, 11 Nov 2015 13:04:50 +0000 +Subject: [PATCH] UBUNTU: SAUCE: fan: add VXLAN implementation + +Generify the fan mapping support and utilise that to implement fan +mappings over vxlan transport. + +Expose the existance of this functionality (when the module is loaded) +via an additional sysctl marker. + +Signed-off-by: Jay Vosburgh +[apw@canonical.com: added feature marker for fan over vxlan.] +Signed-off-by: Andy Whitcroft +--- + drivers/net/vxlan.c | 245 +++++++++++++++++++++++++++++++++++++++++ + include/net/ip_tunnels.h | 19 +++- + include/net/vxlan.h | 2 + + include/uapi/linux/if_link.h | 1 + + include/uapi/linux/if_tunnel.h | 2 +- + net/ipv4/ip_tunnel.c | 7 +- + net/ipv4/ipip.c | 242 +++++++++++++++++++++++++++++++--------- + 7 files changed, 453 insertions(+), 65 deletions(-) + +diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c +index 405a7b6..a17cfd0 100644 +--- a/drivers/net/vxlan.c ++++ b/drivers/net/vxlan.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -106,6 +107,167 @@ static inline bool vxlan_collect_metadata(struct vxlan_sock *vs) + ip_tunnel_collect_metadata(); + } + ++static struct ip_fan_map *vxlan_fan_find_map(struct vxlan_dev *vxlan, __be32 daddr) ++{ ++ struct ip_fan_map *fan_map; ++ ++ rcu_read_lock(); ++ list_for_each_entry_rcu(fan_map, &vxlan->fan.fan_maps, list) { ++ if (fan_map->overlay == ++ (daddr & inet_make_mask(fan_map->overlay_prefix))) { ++ rcu_read_unlock(); ++ return fan_map; ++ } ++ } ++ rcu_read_unlock(); ++ ++ return NULL; ++} ++ ++static void vxlan_fan_flush_map(struct vxlan_dev *vxlan) ++{ ++ struct ip_fan_map *fan_map; ++ ++ list_for_each_entry_rcu(fan_map, &vxlan->fan.fan_maps, list) { ++ list_del_rcu(&fan_map->list); ++ kfree_rcu(fan_map, rcu); ++ } ++} ++ ++static int vxlan_fan_del_map(struct vxlan_dev *vxlan, __be32 overlay) ++{ ++ struct ip_fan_map *fan_map; ++ ++ fan_map = vxlan_fan_find_map(vxlan, overlay); ++ if (!fan_map) ++ return -ENOENT; ++ ++ list_del_rcu(&fan_map->list); ++ kfree_rcu(fan_map, rcu); ++ ++ return 0; ++} ++ ++static int vxlan_fan_add_map(struct vxlan_dev *vxlan, struct ifla_fan_map *map) ++{ ++ __be32 overlay_mask, underlay_mask; ++ struct ip_fan_map *fan_map; ++ ++ overlay_mask = inet_make_mask(map->overlay_prefix); ++ underlay_mask = inet_make_mask(map->underlay_prefix); ++ ++ netdev_dbg(vxlan->dev, "vfam: map: o %x/%d u %x/%d om %x um %x\n", ++ map->overlay, map->overlay_prefix, ++ map->underlay, map->underlay_prefix, ++ overlay_mask, underlay_mask); ++ ++ if ((map->overlay & ~overlay_mask) || (map->underlay & ~underlay_mask)) ++ return -EINVAL; ++ ++ if (!(map->overlay & overlay_mask) && (map->underlay & underlay_mask)) ++ return -EINVAL; ++ ++ /* Special case: overlay 0 and underlay 0: flush all mappings */ ++ if (!map->overlay && !map->underlay) { ++ vxlan_fan_flush_map(vxlan); ++ return 0; ++ } ++ ++ /* Special case: overlay set and underlay 0: clear map for overlay */ ++ if (!map->underlay) ++ return vxlan_fan_del_map(vxlan, map->overlay); ++ ++ if (vxlan_fan_find_map(vxlan, map->overlay)) ++ return -EEXIST; ++ ++ fan_map = kmalloc(sizeof(*fan_map), GFP_KERNEL); ++ fan_map->underlay = map->underlay; ++ fan_map->overlay = map->overlay; ++ fan_map->underlay_prefix = map->underlay_prefix; ++ fan_map->overlay_mask = ntohl(overlay_mask); ++ fan_map->overlay_prefix = map->overlay_prefix; ++ ++ list_add_tail_rcu(&fan_map->list, &vxlan->fan.fan_maps); ++ ++ return 0; ++} ++ ++static int vxlan_parse_fan_map(struct nlattr *data[], struct vxlan_dev *vxlan) ++{ ++ struct ifla_fan_map *map; ++ struct nlattr *attr; ++ int rem, rv; ++ ++ nla_for_each_nested(attr, data[IFLA_IPTUN_FAN_MAP], rem) { ++ map = nla_data(attr); ++ rv = vxlan_fan_add_map(vxlan, map); ++ if (rv) ++ return rv; ++ } ++ ++ return 0; ++} ++ ++static int vxlan_fan_build_rdst(struct vxlan_dev *vxlan, struct sk_buff *skb, ++ struct vxlan_rdst *fan_rdst) ++{ ++ struct ip_fan_map *f_map; ++ union vxlan_addr *va; ++ u32 daddr, underlay; ++ struct arphdr *arp; ++ void *arp_ptr; ++ struct ethhdr *eth; ++ struct iphdr *iph; ++ ++ eth = eth_hdr(skb); ++ switch (eth->h_proto) { ++ case htons(ETH_P_IP): ++ iph = ip_hdr(skb); ++ if (!iph) ++ return -EINVAL; ++ daddr = iph->daddr; ++ break; ++ case htons(ETH_P_ARP): ++ arp = arp_hdr(skb); ++ if (!arp) ++ return -EINVAL; ++ arp_ptr = arp + 1; ++ netdev_dbg(vxlan->dev, ++ "vfbr: arp sha %pM sip %pI4 tha %pM tip %pI4\n", ++ arp_ptr, arp_ptr + skb->dev->addr_len, ++ arp_ptr + skb->dev->addr_len + 4, ++ arp_ptr + (skb->dev->addr_len * 2) + 4); ++ arp_ptr += (skb->dev->addr_len * 2) + 4; ++ memcpy(&daddr, arp_ptr, 4); ++ break; ++ default: ++ netdev_dbg(vxlan->dev, "vfbr: unknown eth p %x\n", eth->h_proto); ++ return -EINVAL; ++ } ++ ++ f_map = vxlan_fan_find_map(vxlan, daddr); ++ if (!f_map) ++ return -EINVAL; ++ ++ daddr = ntohl(daddr); ++ underlay = ntohl(f_map->underlay); ++ if (!underlay) ++ return -EINVAL; ++ ++ memset(fan_rdst, 0, sizeof(*fan_rdst)); ++ va = &fan_rdst->remote_ip; ++ va->sa.sa_family = AF_INET; ++ fan_rdst->remote_vni = vxlan->default_dst.remote_vni; ++ va->sin.sin_addr.s_addr = htonl(underlay | ++ ((daddr & ~f_map->overlay_mask) >> ++ (32 - f_map->overlay_prefix - ++ (32 - f_map->underlay_prefix)))); ++ netdev_dbg(vxlan->dev, "vfbr: daddr %x ul %x dst %x\n", ++ daddr, underlay, va->sin.sin_addr.s_addr); ++ ++ return 0; ++} ++ + #if IS_ENABLED(CONFIG_IPV6) + static inline + bool vxlan_addr_equal(const union vxlan_addr *a, const union vxlan_addr *b) +@@ -2029,6 +2191,13 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev, + goto rt_tx_error; + } + ++ if (fan_has_map(&vxlan->fan) && rt->rt_flags & RTCF_LOCAL) { ++ netdev_dbg(dev, "discard fan to localhost %pI4\n", ++ &dst->sin.sin_addr.s_addr); ++ ip_rt_put(rt); ++ goto tx_free; ++ } ++ + /* Bypass encapsulation if the destination is local */ + if (rt->rt_flags & RTCF_LOCAL && + !(rt->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST))) { +@@ -2169,6 +2338,20 @@ static netdev_tx_t vxlan_xmit(struct sk_buff *skb, struct net_device *dev) + return NETDEV_TX_OK; + } + ++ if (fan_has_map(&vxlan->fan)) { ++ struct vxlan_rdst fan_rdst; ++ ++ netdev_dbg(vxlan->dev, "vxlan_xmit p %x d %pM\n", ++ eth->h_proto, eth->h_dest); ++ if (vxlan_fan_build_rdst(vxlan, skb, &fan_rdst)) { ++ dev->stats.tx_dropped++; ++ kfree_skb(skb); ++ return NETDEV_TX_OK; ++ } ++ vxlan_xmit_one(skb, dev, &fan_rdst, 0); ++ return NETDEV_TX_OK; ++ } ++ + f = vxlan_find_mac(vxlan, eth->h_dest); + did_rsc = false; + +@@ -2532,6 +2715,8 @@ static void vxlan_setup(struct net_device *dev) + + for (h = 0; h < FDB_HASH_SIZE; ++h) + INIT_HLIST_HEAD(&vxlan->fdb_head[h]); ++ ++ INIT_LIST_HEAD(&vxlan->fan.fan_maps); + } + + static const struct nla_policy vxlan_policy[IFLA_VXLAN_MAX + 1] = { +@@ -2881,6 +3066,7 @@ EXPORT_SYMBOL_GPL(vxlan_dev_create); + static int vxlan_newlink(struct net *src_net, struct net_device *dev, + struct nlattr *tb[], struct nlattr *data[]) + { ++ struct vxlan_dev *vxlan = netdev_priv(dev); + struct vxlan_config conf; + int err; + +@@ -2899,6 +3085,12 @@ static int vxlan_newlink(struct net *src_net, struct net_device *dev, + conf.remote_ip.sa.sa_family = AF_INET6; + } + ++ if (data[IFLA_VXLAN_FAN_MAP]) { ++ err = vxlan_parse_fan_map(data, vxlan); ++ if (err) ++ return err; ++ } ++ + if (data[IFLA_VXLAN_LOCAL]) { + conf.saddr.sin.sin_addr.s_addr = nla_get_in_addr(data[IFLA_VXLAN_LOCAL]); + conf.saddr.sa.sa_family = AF_INET; +@@ -3037,6 +3229,7 @@ static size_t vxlan_get_size(const struct net_device *dev) + nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_UDP_ZERO_CSUM6_RX */ + nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_REMCSUM_TX */ + nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_REMCSUM_RX */ ++ nla_total_size(sizeof(struct ip_fan_map) * 256) + + 0; + } + +@@ -3083,6 +3276,26 @@ static int vxlan_fill_info(struct sk_buff *skb, const struct net_device *dev) + } + } + ++ if (fan_has_map(&vxlan->fan)) { ++ struct nlattr *fan_nest; ++ struct ip_fan_map *fan_map; ++ ++ fan_nest = nla_nest_start(skb, IFLA_VXLAN_FAN_MAP); ++ if (!fan_nest) ++ goto nla_put_failure; ++ list_for_each_entry_rcu(fan_map, &vxlan->fan.fan_maps, list) { ++ struct ifla_fan_map map; ++ ++ map.underlay = fan_map->underlay; ++ map.underlay_prefix = fan_map->underlay_prefix; ++ map.overlay = fan_map->overlay; ++ map.overlay_prefix = fan_map->overlay_prefix; ++ if (nla_put(skb, IFLA_FAN_MAPPING, sizeof(map), &map)) ++ goto nla_put_failure; ++ } ++ nla_nest_end(skb, fan_nest); ++ } ++ + if (nla_put_u8(skb, IFLA_VXLAN_TTL, vxlan->cfg.ttl) || + nla_put_u8(skb, IFLA_VXLAN_TOS, vxlan->cfg.tos) || + nla_put_u8(skb, IFLA_VXLAN_LEARNING, +@@ -3201,6 +3414,22 @@ static __net_init int vxlan_init_net(struct net *net) + return 0; + } + ++#ifdef CONFIG_SYSCTL ++static struct ctl_table_header *vxlan_fan_header; ++static unsigned int vxlan_fan_version = 4; ++ ++static struct ctl_table vxlan_fan_sysctls[] = { ++ { ++ .procname = "vxlan", ++ .data = &vxlan_fan_version, ++ .maxlen = sizeof(vxlan_fan_version), ++ .mode = 0444, ++ .proc_handler = proc_dointvec, ++ }, ++ {}, ++}; ++#endif /* CONFIG_SYSCTL */ ++ + static void __net_exit vxlan_exit_net(struct net *net) + { + struct vxlan_net *vn = net_generic(net, vxlan_net_id); +@@ -3256,7 +3485,20 @@ static int __init vxlan_init_module(void) + if (rc) + goto out3; + ++#ifdef CONFIG_SYSCTL ++ vxlan_fan_header = register_net_sysctl(&init_net, "net/fan", ++ vxlan_fan_sysctls); ++ if (!vxlan_fan_header) { ++ rc = -ENOMEM; ++ goto sysctl_failed; ++ } ++#endif /* CONFIG_SYSCTL */ ++ + return 0; ++#ifdef CONFIG_SYSCTL ++sysctl_failed: ++ rtnl_link_unregister(&vxlan_link_ops); ++#endif /* CONFIG_SYSCTL */ + out3: + unregister_netdevice_notifier(&vxlan_notifier_block); + out2: +@@ -3269,6 +3511,9 @@ late_initcall(vxlan_init_module); + + static void __exit vxlan_cleanup_module(void) + { ++#ifdef CONFIG_SYSCTL ++ unregister_net_sysctl_table(vxlan_fan_header); ++#endif /* CONFIG_SYSCTL */ + rtnl_link_unregister(&vxlan_link_ops); + unregister_netdevice_notifier(&vxlan_notifier_block); + destroy_workqueue(vxlan_wq); +diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h +index 47fec59..28a38e5 100644 +--- a/include/net/ip_tunnels.h ++++ b/include/net/ip_tunnels.h +@@ -100,9 +100,18 @@ struct metadata_dst; + */ + #define FAN_OVERLAY_CNT 256 + ++struct ip_fan_map { ++ __be32 underlay; ++ __be32 overlay; ++ u16 underlay_prefix; ++ u16 overlay_prefix; ++ u32 overlay_mask; ++ struct list_head list; ++ struct rcu_head rcu; ++}; ++ + struct ip_tunnel_fan { +-/* u32 __rcu *map;*/ +- u32 map[FAN_OVERLAY_CNT]; ++ struct list_head fan_maps; + }; + + struct ip_tunnel { +@@ -157,7 +166,11 @@ struct ip_tunnel { + #define TUNNEL_VXLAN_OPT __cpu_to_be16(0x1000) + + #define TUNNEL_OPTIONS_PRESENT (TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT) +-#define TUNNEL_FAN __cpu_to_be16(0x4000) ++ ++static inline int fan_has_map(const struct ip_tunnel_fan *fan) ++{ ++ return !list_empty(&fan->fan_maps); ++} + + struct tnl_ptk_info { + __be16 flags; +diff --git a/include/net/vxlan.h b/include/net/vxlan.h +index e289ada..542f421 100644 +--- a/include/net/vxlan.h ++++ b/include/net/vxlan.h +@@ -161,6 +161,8 @@ struct vxlan_dev { + struct vxlan_rdst default_dst; /* default destination */ + u32 flags; /* VXLAN_F_* in vxlan.h */ + ++ struct ip_tunnel_fan fan; ++ + struct timer_list age_timer; + spinlock_t hash_lock; + unsigned int addrcnt; +diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h +index 5ad5737..6cde3bf 100644 +--- a/include/uapi/linux/if_link.h ++++ b/include/uapi/linux/if_link.h +@@ -443,6 +443,7 @@ enum { + IFLA_VXLAN_GBP, + IFLA_VXLAN_REMCSUM_NOPARTIAL, + IFLA_VXLAN_COLLECT_METADATA, ++ IFLA_VXLAN_FAN_MAP = 33, + __IFLA_VXLAN_MAX + }; + #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) +diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h +index 85a3e4b..d36b150 100644 +--- a/include/uapi/linux/if_tunnel.h ++++ b/include/uapi/linux/if_tunnel.h +@@ -145,7 +145,7 @@ enum { + + #define IFLA_FAN_MAX (__IFLA_FAN_MAX - 1) + +-struct ip_tunnel_fan_map { ++struct ifla_fan_map { + __be32 underlay; + __be32 overlay; + __u16 underlay_prefix; +diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c +index 7a6174b..c821bf1 100644 +--- a/net/ipv4/ip_tunnel.c ++++ b/net/ipv4/ip_tunnel.c +@@ -1110,11 +1110,6 @@ out: + } + EXPORT_SYMBOL_GPL(ip_tunnel_newlink); + +-static int ip_tunnel_is_fan(struct ip_tunnel *tunnel) +-{ +- return tunnel->parms.i_flags & TUNNEL_FAN; +-} +- + int ip_tunnel_changelink(struct net_device *dev, struct nlattr *tb[], + struct ip_tunnel_parm *p) + { +@@ -1124,7 +1119,7 @@ int ip_tunnel_changelink(struct net_device *dev, struct nlattr *tb[], + struct ip_tunnel_net *itn = net_generic(net, tunnel->ip_tnl_net_id); + + if (dev == itn->fb_tunnel_dev) +- return ip_tunnel_is_fan(tunnel) ? 0 : -EINVAL; ++ return fan_has_map(&tunnel->fan) ? 0 : -EINVAL; + + t = ip_tunnel_find(itn, p, dev->type); + +diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c +index 56e8984..3877b0e 100644 +--- a/net/ipv4/ipip.c ++++ b/net/ipv4/ipip.c +@@ -108,6 +108,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -209,37 +210,144 @@ drop: + return 0; + } + +-static int ipip_tunnel_is_fan(struct ip_tunnel *tunnel) ++static struct ip_fan_map *ipip_fan_find_map(struct ip_tunnel *t, __be32 daddr) + { +- return tunnel->parms.i_flags & TUNNEL_FAN; ++ struct ip_fan_map *fan_map; ++ ++ rcu_read_lock(); ++ list_for_each_entry_rcu(fan_map, &t->fan.fan_maps, list) { ++ if (fan_map->overlay == ++ (daddr & inet_make_mask(fan_map->overlay_prefix))) { ++ rcu_read_unlock(); ++ return fan_map; ++ } ++ } ++ rcu_read_unlock(); ++ ++ return NULL; + } + +-/* +- * Determine fan tunnel endpoint to send packet to, based on the inner IP +- * address. For an overlay (inner) address Y.A.B.C, the transformation is +- * F.G.A.B, where "F" and "G" are the first two octets of the underlay +- * network (the network portion of a /16), "A" and "B" are the low order +- * two octets of the underlay network host (the host portion of a /16), +- * and "Y" is a configured first octet of the overlay network. ++/* Determine fan tunnel endpoint to send packet to, based on the inner IP ++ * address. ++ * ++ * Given a /8 overlay and /16 underlay, for an overlay (inner) address ++ * Y.A.B.C, the transformation is F.G.A.B, where "F" and "G" are the first ++ * two octets of the underlay network (the network portion of a /16), "A" ++ * and "B" are the low order two octets of the underlay network host (the ++ * host portion of a /16), and "Y" is a configured first octet of the ++ * overlay network. ++ * ++ * E.g., underlay host 10.88.3.4/16 with an overlay of 99.0.0.0/8 would ++ * host overlay subnet 99.3.4.0/24. An overlay network datagram from ++ * 99.3.4.5 to 99.6.7.8, would be directed to underlay host 10.88.6.7, ++ * which hosts overlay network subnet 99.6.7.0/24. This transformation is ++ * described in detail further below. ++ * ++ * Using netmasks for the overlay and underlay other than /8 and /16, as ++ * shown above, can yield larger (or smaller) overlay subnets, with the ++ * trade-off of allowing fewer (or more) underlay hosts to participate. ++ * ++ * The size of each overlay network subnet is defined by the total of the ++ * network mask of the overlay plus the size of host portion of the ++ * underlay network. In the above example, /8 + /16 = /24. ++ * ++ * E.g., consider underlay host 10.99.238.5/20 and overlay 99.0.0.0/8. In ++ * this case, the network portion of the underlay is 10.99.224.0/20, and ++ * the host portion is 0.0.14.5 (12 bits). To determine the overlay ++ * network subnet, the 12 bits of host portion are left shifted 12 bits ++ * (/20 - /8) and ORed with the overlay subnet prefix. This yields an ++ * overlay subnet of 99.224.80/20, composed of 8 bits overlay, followed by ++ * 12 bits underlay. This yields 12 bits in the overlay network portion, ++ * allowing for 4094 addresses in each overlay network subnet. The ++ * trade-off is that fewer hosts may participate in the underlay network, ++ * as its host address size has shrunk from 16 bits (65534 addresses) in ++ * the first example to 12 bits (4094 addresses) here. ++ * ++ * For fewer hosts per overlay subnet (permitting a larger number of ++ * underlay hosts to participate), the underlay netmask may be made ++ * smaller. ++ * ++ * E.g., underlay host 10.111.1.2/12 (network 10.96.0.0/12, host portion ++ * is 0.15.1.2, 20 bits) with an overlay of 33.0.0.0/8 would left shift ++ * the 20 bits of host by 4 (so that it's highest order bit is adjacent to ++ * the lowest order bit of the /8 overlay). This yields an overlay subnet ++ * of 33.240.16.32/28 (8 bits overlay, 20 bits from the host portion of ++ * the underlay). This provides more addresses for the underlay network ++ * (approximately 2^20), but each host's segment of the overlay provides ++ * only 4 bits of addresses (14 usable). ++ * ++ * It is also possible to adjust the overlay subnet. ++ * ++ * For an overlay of 240.0.0.0/5 and underlay of 10.88.0.0/20, consider ++ * underlay host 10.88.129.2; the 12 bits of host, 0.0.1.2, are left ++ * shifted 15 bits (/20 - /5), yielding an overlay network of ++ * 240.129.0.0/17. An underlay host of 10.88.244.215 would yield an ++ * overlay network of 242.107.128.0/17. ++ * ++ * For an overlay of 100.64.0.0/10 and underlay of 10.224.220.0/24, for ++ * underlay host 10.224.220.10, the underlay host portion (.10) is left ++ * shifted 14 bits, yielding an overlay network subnet of 100.66.128.0/18. ++ * This would permit 254 addresses on the underlay, with each overlay ++ * segment providing approximately 2^14 - 2 addresses (16382). ++ * ++ * For packets being encapsulated, the overlay network destination IP ++ * address is deconstructed into its overlay and underlay-derived ++ * portions. The underlay portion (determined by the overlay mask and ++ * overlay subnet mask) is right shifted according to the size of the ++ * underlay network mask. This value is then ORed with the network ++ * portion of the underlay network to produce the underlay network ++ * destination for the encapsulated datagram. ++ * ++ * For example, using the initial example of underlay 10.88.3.4/16 and ++ * overlay 99.0.0.0/8, with underlay host 10.88.3.4/16 providing overlay ++ * subnet 99.3.4.0/24 with specfic host 99.3.4.5. A datagram from ++ * 99.3.4.5 to 99.6.7.8 would first have the underlay host derived portion ++ * of the address extracted. This is a number of bits equal to underlay ++ * network host portion. In the destination address, the highest order of ++ * these bits is one bit lower than the lowest order bit from the overlay ++ * network mask. ++ * ++ * Using the sample value, 99.6.7.8, the overlay mask is /8, and the ++ * underlay mask is /16 (leaving 16 bits for the host portion). The bits ++ * to be shifted are the middle two octets, 0.6.7.0, as this is 99.6.7.8 ++ * ANDed with the mask 0x00ffff00 (which is 16 bits, the highest order of ++ * which is 1 bit lower than the lowest order overlay address bit). + * +- * E.g., underlay host 10.88.3.4 with an overlay of 99 would host overlay +- * subnet 99.3.4.0/24. An overlay network datagram from 99.3.4.5 to +- * 99.6.7.8, would be directed to underlay host 10.88.6.7, which hosts +- * overlay network 99.6.7.0/24. ++ * These octets, 0.6.7.0, are then right shifted 8 bits, yielding 0.0.6.7. ++ * This value is then ORed with the underlay network portion, ++ * 10.88.0.0/16, providing 10.88.6.7 as the final underlay destination for ++ * the encapuslated datagram. ++ * ++ * Another transform using the final example: overlay 100.64.0.0/10 and ++ * underlay 10.224.220.0/24. Consider overlay address 100.66.128.1 ++ * sending a datagram to 100.66.200.5. In this case, 8 bits (the host ++ * portion size of 10.224.220.0/24) beginning after the 100.64/10 overlay ++ * prefix are masked off, yielding 0.2.192.0. This is right shifted 14 ++ * (32 - 10 - (32 - 24), i.e., the number of bits between the overlay ++ * network portion and the underlay host portion) bits, yielding 0.0.0.11. ++ * This is ORed with the underlay network portion, 10.224.220.0/24, giving ++ * the underlay destination of 10.224.220.11 for overlay destination ++ * 100.66.200.5. + */ + static int ipip_build_fan_iphdr(struct ip_tunnel *tunnel, struct sk_buff *skb, struct iphdr *iph) + { +- unsigned int overlay; ++ struct ip_fan_map *f_map; + u32 daddr, underlay; + ++ f_map = ipip_fan_find_map(tunnel, ip_hdr(skb)->daddr); ++ if (!f_map) ++ return -ENOENT; ++ + daddr = ntohl(ip_hdr(skb)->daddr); +- overlay = daddr >> 24; +- underlay = tunnel->fan.map[overlay]; ++ underlay = ntohl(f_map->underlay); + if (!underlay) + return -EINVAL; + + *iph = tunnel->parms.iph; +- iph->daddr = htonl(underlay | ((daddr >> 8) & 0x0000ffff)); ++ iph->daddr = htonl(underlay | ++ ((daddr & ~f_map->overlay_mask) >> ++ (32 - f_map->overlay_prefix - ++ (32 - f_map->underlay_prefix)))); + return 0; + } + +@@ -260,7 +368,7 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) + if (IS_ERR(skb)) + goto out; + +- if (ipip_tunnel_is_fan(tunnel)) { ++ if (fan_has_map(&tunnel->fan)) { + if (ipip_build_fan_iphdr(tunnel, skb, &fiph)) + goto tx_error; + tiph = &fiph; +@@ -325,6 +433,8 @@ static const struct net_device_ops ipip_netdev_ops = { + + static void ipip_tunnel_setup(struct net_device *dev) + { ++ struct ip_tunnel *t = netdev_priv(dev); ++ + dev->netdev_ops = &ipip_netdev_ops; + + dev->type = ARPHRD_TUNNEL; +@@ -336,6 +446,7 @@ static void ipip_tunnel_setup(struct net_device *dev) + dev->features |= IPIP_FEATURES; + dev->hw_features |= IPIP_FEATURES; + ip_tunnel_setup(dev, ipip_net_id); ++ INIT_LIST_HEAD(&t->fan.fan_maps); + } + + static int ipip_tunnel_init(struct net_device *dev) +@@ -419,41 +530,65 @@ static bool ipip_netlink_encap_parms(struct nlattr *data[], + return ret; + } + +-static void ipip_fan_free_map(struct ip_tunnel *t) ++static void ipip_fan_flush_map(struct ip_tunnel *t) + { +- memset(&t->fan.map, 0, sizeof(t->fan.map)); ++ struct ip_fan_map *fan_map; ++ ++ list_for_each_entry_rcu(fan_map, &t->fan.fan_maps, list) { ++ list_del_rcu(&fan_map->list); ++ kfree_rcu(fan_map, rcu); ++ } + } + +-static int ipip_fan_set_map(struct ip_tunnel *t, struct ip_tunnel_fan_map *map) ++static int ipip_fan_del_map(struct ip_tunnel *t, __be32 overlay) + { +- u32 overlay, overlay_mask, underlay, underlay_mask; ++ struct ip_fan_map *fan_map; + +- if ((map->underlay_prefix && map->underlay_prefix != 16) || +- (map->overlay_prefix && map->overlay_prefix != 8)) +- return -EINVAL; ++ fan_map = ipip_fan_find_map(t, overlay); ++ if (!fan_map) ++ return -ENOENT; ++ ++ list_del_rcu(&fan_map->list); ++ kfree_rcu(fan_map, rcu); + +- overlay = ntohl(map->overlay); +- overlay_mask = ntohl(inet_make_mask(map->overlay_prefix)); ++ return 0; ++} + +- underlay = ntohl(map->underlay); +- underlay_mask = ntohl(inet_make_mask(map->underlay_prefix)); ++static int ipip_fan_add_map(struct ip_tunnel *t, struct ifla_fan_map *map) ++{ ++ __be32 overlay_mask, underlay_mask; ++ struct ip_fan_map *fan_map; + +- if ((overlay & ~overlay_mask) || (underlay & ~underlay_mask)) +- return -EINVAL; ++ overlay_mask = inet_make_mask(map->overlay_prefix); ++ underlay_mask = inet_make_mask(map->underlay_prefix); + +- if (!(overlay & overlay_mask) && (underlay & underlay_mask)) ++ if ((map->overlay & ~overlay_mask) || (map->underlay & ~underlay_mask)) + return -EINVAL; + +- t->parms.i_flags |= TUNNEL_FAN; ++ if (!(map->overlay & overlay_mask) && (map->underlay & underlay_mask)) ++ return -EINVAL; + +- /* Special case: overlay 0 and underlay 0 clears all mappings */ +- if (!overlay && !underlay) { +- ipip_fan_free_map(t); ++ /* Special case: overlay 0 and underlay 0: flush all mappings */ ++ if (!map->overlay && !map->underlay) { ++ ipip_fan_flush_map(t); + return 0; + } ++ ++ /* Special case: overlay set and underlay 0: clear map for overlay */ ++ if (!map->underlay) ++ return ipip_fan_del_map(t, map->overlay); ++ ++ if (ipip_fan_find_map(t, map->overlay)) ++ return -EEXIST; ++ ++ fan_map = kmalloc(sizeof(*fan_map), GFP_KERNEL); ++ fan_map->underlay = map->underlay; ++ fan_map->overlay = map->overlay; ++ fan_map->underlay_prefix = map->underlay_prefix; ++ fan_map->overlay_mask = ntohl(overlay_mask); ++ fan_map->overlay_prefix = map->overlay_prefix; + +- overlay >>= (32 - map->overlay_prefix); +- t->fan.map[overlay] = underlay; ++ list_add_tail_rcu(&fan_map->list, &t->fan.fan_maps); + + return 0; + } +@@ -462,7 +597,7 @@ static int ipip_fan_set_map(struct ip_tunnel *t, struct ip_tunnel_fan_map *map) + static int ipip_netlink_fan(struct nlattr *data[], struct ip_tunnel *t, + struct ip_tunnel_parm *parms) + { +- struct ip_tunnel_fan_map *map; ++ struct ifla_fan_map *map; + struct nlattr *attr; + int rem, rv; + +@@ -474,7 +609,7 @@ static int ipip_netlink_fan(struct nlattr *data[], struct ip_tunnel *t, + + nla_for_each_nested(attr, data[IFLA_IPTUN_FAN_MAP], rem) { + map = nla_data(attr); +- rv = ipip_fan_set_map(t, map); ++ rv = ipip_fan_add_map(t, map); + if (rv) + return rv; + } +@@ -555,7 +690,7 @@ static size_t ipip_get_size(const struct net_device *dev) + /* IFLA_IPTUN_ENCAP_DPORT */ + nla_total_size(2) + + /* IFLA_IPTUN_FAN_MAP */ +- nla_total_size(sizeof(struct ip_tunnel_fan_map)) * 256 + ++ nla_total_size(sizeof(struct ifla_fan_map)) * 256 + + 0; + } + +@@ -583,25 +718,22 @@ static int ipip_fill_info(struct sk_buff *skb, const struct net_device *dev) + tunnel->encap.flags)) + goto nla_put_failure; + +- if (tunnel->parms.i_flags & TUNNEL_FAN) { ++ if (fan_has_map(&tunnel->fan)) { + struct nlattr *fan_nest; +- int i; ++ struct ip_fan_map *fan_map; + + fan_nest = nla_nest_start(skb, IFLA_IPTUN_FAN_MAP); + if (!fan_nest) + goto nla_put_failure; +- for (i = 0; i < 256; i++) { +- if (tunnel->fan.map[i]) { +- struct ip_tunnel_fan_map map; +- +- map.underlay = htonl(tunnel->fan.map[i]); +- map.underlay_prefix = 16; +- map.overlay = htonl(i << 24); +- map.overlay_prefix = 8; +- if (nla_put(skb, IFLA_FAN_MAPPING, +- sizeof(map), &map)) +- goto nla_put_failure; +- } ++ list_for_each_entry_rcu(fan_map, &tunnel->fan.fan_maps, list) { ++ struct ifla_fan_map map; ++ ++ map.underlay = fan_map->underlay; ++ map.underlay_prefix = fan_map->underlay_prefix; ++ map.overlay = fan_map->overlay; ++ map.overlay_prefix = fan_map->overlay_prefix; ++ if (nla_put(skb, IFLA_FAN_MAPPING, sizeof(map), &map)) ++ goto nla_put_failure; + } + nla_nest_end(skb, fan_nest); + } +-- +2.7.4 + diff --git a/pkgs/os-specific/linux/kernel/ubuntu-fan-4.patch b/pkgs/os-specific/linux/kernel/ubuntu-fan-4.patch deleted file mode 100644 index 0050af6c252..00000000000 --- a/pkgs/os-specific/linux/kernel/ubuntu-fan-4.patch +++ /dev/null @@ -1,616 +0,0 @@ -From f3c956096902669c3529cb01d40deb0c759ed94f Mon Sep 17 00:00:00 2001 -From: Jay Vosburgh -Date: Wed, 1 Apr 2015 16:11:09 -0700 -Subject: [PATCH] UBUNTU: SAUCE: fan: Proof of concept implementation (v2) - -Modification to ipip tunnel driver to accept a new netlink option, -IFLA_IPTUN_FAN_UNDERLAY, which provides a /16 network prefix and enables -TX side destination address remapping for traffic entering the tunnel -(to be encapsulated). - -For an overlay (inner) address Y.A.B.C, the transformation is F.G.A.B, -where "F" and "G" are the first two octets of the underlay network (the -network portion of a /16), "A" and "B" are the low order two octets of the -underlay network host (the host portion of a /16), and "Y" is a configured -first octet of the overlay network. - -E.g., underlay host 10.88.3.4 with an overlay of 99 would host overlay -subnet 99.3.4.0/24. An overlay network datagram from 99.3.4.5 to 99.6.7.8 -would be directed to underlay host 10.88.6.7, which hosts overlay network -99.6.7.0/24. - -Includes net.fan.version sysctl as a sentinel for availability of the -fan functionality. - -NOTE: this requires an updated iproute2 to facilitate configuration of -the fan. - -BugLink: http://bugs.launchpad.net/bugs/1439706 -Signed-off-by: Jay Vosburgh -[apw@canonical.com: move IFLA_IPTUN_FAN_UNDERLAY up to avoid clashing - with future feature additions.] -Signed-off-by: Andy Whitcroft ---- - include/net/ip_tunnels.h | 6 +++ - include/uapi/linux/if_tunnel.h | 4 ++ - net/ipv4/ipip.c | 112 +++++++++++++++++++++++++++++++++++++++-- - 3 files changed, 117 insertions(+), 5 deletions(-) - -diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h -index 25a59eb..d7eada2 100644 ---- a/include/net/ip_tunnels.h -+++ b/include/net/ip_tunnels.h -@@ -51,6 +51,11 @@ struct ip_tunnel_dst { - __be32 saddr; - }; - -+/* Underlay address prefix for ipip fan mode */ -+struct ip_tunnel_fan { -+ u32 underlay; -+}; -+ - struct ip_tunnel { - struct ip_tunnel __rcu *next; - struct hlist_node hash_node; -@@ -82,6 +87,7 @@ struct ip_tunnel { - #endif - struct ip_tunnel_prl_entry __rcu *prl; /* potential router list */ - unsigned int prl_count; /* # of entries in PRL */ -+ struct ip_tunnel_fan fan; - int ip_tnl_net_id; - struct gro_cells gro_cells; - }; -diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h -index bd3cc11..8f7d269 100644 ---- a/include/uapi/linux/if_tunnel.h -+++ b/include/uapi/linux/if_tunnel.h -@@ -57,6 +57,10 @@ enum { - IFLA_IPTUN_ENCAP_FLAGS, - IFLA_IPTUN_ENCAP_SPORT, - IFLA_IPTUN_ENCAP_DPORT, -+ -+ __IFLA_IPTUN_VENDOR_BREAK, /* Ensure new entries do not hit the below. */ -+ IFLA_IPTUN_FAN_UNDERLAY=32, -+ - __IFLA_IPTUN_MAX, - }; - #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1) -diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c -index 40403114..e3c27cd 100644 ---- a/net/ipv4/ipip.c -+++ b/net/ipv4/ipip.c -@@ -209,13 +209,38 @@ drop: - } - - /* -+ * Determine fan tunnel endpoint to send packet to, based on the inner IP -+ * address. For an overlay (inner) address Y.A.B.C, the transformation is -+ * F.G.A.B, where "F" and "G" are the first two octets of the underlay -+ * network (the network portion of a /16), "A" and "B" are the low order -+ * two octets of the underlay network host (the host portion of a /16), -+ * and "Y" is a configured first octet of the overlay network. -+ * -+ * E.g., underlay host 10.88.3.4 with an overlay of 99 would host overlay -+ * subnet 99.3.4.0/24. An overlay network datagram from 99.3.4.5 to -+ * 99.6.7.8, would be directed to underlay host 10.88.6.7, which hosts -+ * overlay network 99.6.7.0/24. -+ */ -+static void ipip_build_fan_iphdr(struct ip_tunnel *tunnel, struct sk_buff *skb, struct iphdr *iph) -+{ -+ u32 daddr; -+ -+ *iph = tunnel->parms.iph; -+ -+ daddr = ntohl(ip_hdr(skb)->daddr); -+ iph->daddr = htonl((tunnel->fan.underlay & 0xffff0000) | -+ ((daddr >> 8) & 0x0000ffff)); -+} -+ -+/* - * This function assumes it is being called from dev_queue_xmit() - * and that skb is filled properly by that function. - */ - static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) - { - struct ip_tunnel *tunnel = netdev_priv(dev); -- const struct iphdr *tiph = &tunnel->parms.iph; -+ const struct iphdr *tiph; -+ struct iphdr fiph; - - if (unlikely(skb->protocol != htons(ETH_P_IP))) - goto tx_error; -@@ -224,6 +249,13 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) - if (IS_ERR(skb)) - goto out; - -+ if (tunnel->fan.underlay) { -+ ipip_build_fan_iphdr(tunnel, skb, &fiph); -+ tiph = &fiph; -+ } else { -+ tiph = &tunnel->parms.iph; -+ } -+ - skb_set_inner_ipproto(skb, IPPROTO_IPIP); - - ip_tunnel_xmit(skb, dev, tiph, tiph->protocol); -@@ -377,21 +409,44 @@ static bool ipip_netlink_encap_parms(struct nlattr *data[], - return ret; - } - -+static int ipip_netlink_fan(struct nlattr *data[], struct ip_tunnel *t, -+ struct ip_tunnel_parm *parms) -+{ -+ u32 net = t->fan.underlay; -+ -+ if (!data[IFLA_IPTUN_FAN_UNDERLAY]) -+ goto err_check; -+ -+ net = ntohl(nla_get_be32(data[IFLA_IPTUN_FAN_UNDERLAY])) & 0xffff0000; -+ -+err_check: -+ if (parms->iph.daddr && net) -+ return -EINVAL; -+ -+ t->fan.underlay = net; -+ -+ return 0; -+} -+ - static int ipip_newlink(struct net *src_net, struct net_device *dev, - struct nlattr *tb[], struct nlattr *data[]) - { - struct ip_tunnel_parm p; - struct ip_tunnel_encap ipencap; -+ struct ip_tunnel *t = netdev_priv(dev); -+ int err; - - if (ipip_netlink_encap_parms(data, &ipencap)) { -- struct ip_tunnel *t = netdev_priv(dev); -- int err = ip_tunnel_encap_setup(t, &ipencap); -+ err = ip_tunnel_encap_setup(t, &ipencap); - - if (err < 0) - return err; - } - - ipip_netlink_parms(data, &p); -+ err = ipip_netlink_fan(data, t, &p); -+ if (err < 0) -+ return err; - return ip_tunnel_newlink(dev, tb, &p); - } - -@@ -400,16 +455,20 @@ static int ipip_changelink(struct net_device *dev, struct nlattr *tb[], - { - struct ip_tunnel_parm p; - struct ip_tunnel_encap ipencap; -+ struct ip_tunnel *t = netdev_priv(dev); -+ int err; - - if (ipip_netlink_encap_parms(data, &ipencap)) { -- struct ip_tunnel *t = netdev_priv(dev); -- int err = ip_tunnel_encap_setup(t, &ipencap); -+ err = ip_tunnel_encap_setup(t, &ipencap); - - if (err < 0) - return err; - } - - ipip_netlink_parms(data, &p); -+ err = ipip_netlink_fan(data, t, &p); -+ if (err < 0) -+ return err; - - if (((dev->flags & IFF_POINTOPOINT) && !p.iph.daddr) || - (!(dev->flags & IFF_POINTOPOINT) && p.iph.daddr)) -@@ -441,6 +500,8 @@ static size_t ipip_get_size(const struct net_device *dev) - nla_total_size(2) + - /* IFLA_IPTUN_ENCAP_DPORT */ - nla_total_size(2) + -+ /* IFLA_IPTUN_FAN_UNDERLAY */ -+ nla_total_size(4) + - 0; - } - -@@ -468,6 +529,11 @@ static int ipip_fill_info(struct sk_buff *skb, const struct net_device *dev) - tunnel->encap.flags)) - goto nla_put_failure; - -+ if (tunnel->fan.underlay) -+ if (nla_put_be32(skb, IFLA_IPTUN_FAN_UNDERLAY, -+ htonl(tunnel->fan.underlay))) -+ goto nla_put_failure; -+ - return 0; - - nla_put_failure: -@@ -485,6 +551,9 @@ static const struct nla_policy ipip_policy[IFLA_IPTUN_MAX + 1] = { - [IFLA_IPTUN_ENCAP_FLAGS] = { .type = NLA_U16 }, - [IFLA_IPTUN_ENCAP_SPORT] = { .type = NLA_U16 }, - [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, -+ -+ [__IFLA_IPTUN_VENDOR_BREAK ... IFLA_IPTUN_MAX] = { .type = NLA_BINARY }, -+ [IFLA_IPTUN_FAN_UNDERLAY] = { .type = NLA_U32 }, - }; - - static struct rtnl_link_ops ipip_link_ops __read_mostly = { -@@ -524,6 +593,23 @@ static struct pernet_operations ipip_net_ops = { - .size = sizeof(struct ip_tunnel_net), - }; - -+#ifdef CONFIG_SYSCTL -+static struct ctl_table_header *ipip_fan_header; -+static unsigned int ipip_fan_version = 1; -+ -+static struct ctl_table ipip_fan_sysctls[] = { -+ { -+ .procname = "version", -+ .data = &ipip_fan_version, -+ .maxlen = sizeof(ipip_fan_version), -+ .mode = 0444, -+ .proc_handler = proc_dointvec, -+ }, -+ {}, -+}; -+ -+#endif /* CONFIG_SYSCTL */ -+ - static int __init ipip_init(void) - { - int err; -@@ -542,9 +628,22 @@ static int __init ipip_init(void) - if (err < 0) - goto rtnl_link_failed; - -+#ifdef CONFIG_SYSCTL -+ ipip_fan_header = register_net_sysctl(&init_net, "net/fan", -+ ipip_fan_sysctls); -+ if (!ipip_fan_header) { -+ err = -ENOMEM; -+ goto sysctl_failed; -+ } -+#endif /* CONFIG_SYSCTL */ -+ - out: - return err; - -+#ifdef CONFIG_SYSCTL -+sysctl_failed: -+ rtnl_link_unregister(&ipip_link_ops); -+#endif /* CONFIG_SYSCTL */ - rtnl_link_failed: - xfrm4_tunnel_deregister(&ipip_handler, AF_INET); - xfrm_tunnel_failed: -@@ -554,6 +653,9 @@ xfrm_tunnel_failed: - - static void __exit ipip_fini(void) - { -+#ifdef CONFIG_SYSCTL -+ unregister_net_sysctl_table(ipip_fan_header); -+#endif /* CONFIG_SYSCTL */ - rtnl_link_unregister(&ipip_link_ops); - if (xfrm4_tunnel_deregister(&ipip_handler, AF_INET)) - pr_info("%s: can't deregister tunnel\n", __func__); --- -2.4.1 - -From 4ea8011656dfdd76e7a2391bdad47c06f85a9d02 Mon Sep 17 00:00:00 2001 -From: Andy Whitcroft -Date: Tue, 21 Jul 2015 16:52:10 +0100 -Subject: [PATCH] UBUNTU: SAUCE: fan: tunnel multiple mapping mode (v3) - -Switch to a single tunnel for all mappings, this removes the limitations -on how many mappings each tunnel can handle, and therefore how many Fan -slices each local address may hold. - -NOTE: This introduces a new kernel netlink interface which needs updated -iproute2 support. - -BugLink: http://bugs.launchpad.net/bugs/1470091 -Signed-off-by: Jay Vosburgh -Signed-off-by: Andy Whitcroft -Acked-by: Tim Gardner -Acked-by: Brad Figg -Signed-off-by: Brad Figg ---- - include/net/ip_tunnels.h | 14 ++++- - include/uapi/linux/if_tunnel.h | 20 ++++++- - net/ipv4/ip_tunnel.c | 7 ++- - net/ipv4/ipip.c | 120 +++++++++++++++++++++++++++++++++-------- - 4 files changed, 133 insertions(+), 28 deletions(-) - -diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h -index d7eada2..2f7bc8c 100644 ---- a/include/net/ip_tunnels.h -+++ b/include/net/ip_tunnels.h -@@ -51,9 +51,18 @@ struct ip_tunnel_dst { - __be32 saddr; - }; - --/* Underlay address prefix for ipip fan mode */ -+/* A fan overlay /8 (250.0.0.0/8, for example) maps to exactly one /16 -+ * underlay (10.88.0.0/16, for example). Multiple local addresses within -+ * the /16 may be used, but a particular overlay may not span -+ * multiple underlay subnets. -+ * -+ * We store one underlay, indexed by the overlay's high order octet. -+ */ -+#define FAN_OVERLAY_CNT 256 -+ - struct ip_tunnel_fan { -- u32 underlay; -+/* u32 __rcu *map;*/ -+ u32 map[FAN_OVERLAY_CNT]; - }; - - struct ip_tunnel { -@@ -104,6 +113,7 @@ struct ip_tunnel { - #define TUNNEL_OAM __cpu_to_be16(0x0200) - #define TUNNEL_CRIT_OPT __cpu_to_be16(0x0400) - #define TUNNEL_GENEVE_OPT __cpu_to_be16(0x0800) - #define TUNNEL_VXLAN_OPT __cpu_to_be16(0x1000) -+#define TUNNEL_FAN __cpu_to_be16(0x4000) - - #define TUNNEL_OPTIONS_PRESENT (TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT) -diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h -index 8f7d269..9625934 100644 ---- a/include/uapi/linux/if_tunnel.h -+++ b/include/uapi/linux/if_tunnel.h -@@ -58,8 +58,8 @@ enum { - IFLA_IPTUN_ENCAP_SPORT, - IFLA_IPTUN_ENCAP_DPORT, - -- __IFLA_IPTUN_VENDOR_BREAK, /* Ensure new entries do not hit the below. */ -- IFLA_IPTUN_FAN_UNDERLAY=32, -+ __IFLA_IPTUN_VENDOR_BREAK, /* Ensure new entries do not hit the below. */ -+ IFLA_IPTUN_FAN_MAP = 33, - - __IFLA_IPTUN_MAX, - }; -@@ -135,4 +135,20 @@ enum { - }; - - #define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1) -+ -+enum { -+ IFLA_FAN_UNSPEC, -+ IFLA_FAN_MAPPING, -+ __IFLA_FAN_MAX, -+}; -+ -+#define IFLA_FAN_MAX (__IFLA_FAN_MAX - 1) -+ -+struct ip_tunnel_fan_map { -+ __be32 underlay; -+ __be32 overlay; -+ __u16 underlay_prefix; -+ __u16 overlay_prefix; -+}; -+ - #endif /* _UAPI_IF_TUNNEL_H_ */ -diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c -index d3e4479..60bd10f 100644 ---- a/net/ipv4/ip_tunnel.c -+++ b/net/ipv4/ip_tunnel.c -@@ -1078,6 +1078,11 @@ out: - } - EXPORT_SYMBOL_GPL(ip_tunnel_newlink); - -+static int ip_tunnel_is_fan(struct ip_tunnel *tunnel) -+{ -+ return tunnel->parms.i_flags & TUNNEL_FAN; -+} -+ - int ip_tunnel_changelink(struct net_device *dev, struct nlattr *tb[], - struct ip_tunnel_parm *p) - { -@@ -1087,7 +1092,7 @@ int ip_tunnel_changelink(struct net_device *dev, struct nlattr *tb[], - struct ip_tunnel_net *itn = net_generic(net, tunnel->ip_tnl_net_id); - - if (dev == itn->fb_tunnel_dev) -- return -EINVAL; -+ return ip_tunnel_is_fan(tunnel) ? 0 : -EINVAL; - - t = ip_tunnel_find(itn, p, dev->type); - -diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c -index e3c27cd..d6ebc66 100644 ---- a/net/ipv4/ipip.c -+++ b/net/ipv4/ipip.c -@@ -107,6 +107,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -208,6 +209,11 @@ drop: - return 0; - } - -+static int ipip_tunnel_is_fan(struct ip_tunnel *tunnel) -+{ -+ return tunnel->parms.i_flags & TUNNEL_FAN; -+} -+ - /* - * Determine fan tunnel endpoint to send packet to, based on the inner IP - * address. For an overlay (inner) address Y.A.B.C, the transformation is -@@ -221,15 +227,20 @@ drop: - * 99.6.7.8, would be directed to underlay host 10.88.6.7, which hosts - * overlay network 99.6.7.0/24. - */ --static void ipip_build_fan_iphdr(struct ip_tunnel *tunnel, struct sk_buff *skb, struct iphdr *iph) -+static int ipip_build_fan_iphdr(struct ip_tunnel *tunnel, struct sk_buff *skb, struct iphdr *iph) - { -- u32 daddr; -- -- *iph = tunnel->parms.iph; -+ unsigned int overlay; -+ u32 daddr, underlay; - - daddr = ntohl(ip_hdr(skb)->daddr); -- iph->daddr = htonl((tunnel->fan.underlay & 0xffff0000) | -- ((daddr >> 8) & 0x0000ffff)); -+ overlay = daddr >> 24; -+ underlay = tunnel->fan.map[overlay]; -+ if (!underlay) -+ return -EINVAL; -+ -+ *iph = tunnel->parms.iph; -+ iph->daddr = htonl(underlay | ((daddr >> 8) & 0x0000ffff)); -+ return 0; - } - - /* -@@ -249,8 +260,9 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) - if (IS_ERR(skb)) - goto out; - -- if (tunnel->fan.underlay) { -- ipip_build_fan_iphdr(tunnel, skb, &fiph); -+ if (ipip_tunnel_is_fan(tunnel)) { -+ if (ipip_build_fan_iphdr(tunnel, skb, &fiph)) -+ goto tx_error; - tiph = &fiph; - } else { - tiph = &tunnel->parms.iph; -@@ -409,21 +421,65 @@ static bool ipip_netlink_encap_parms(struct nlattr *data[], - return ret; - } - -+static void ipip_fan_free_map(struct ip_tunnel *t) -+{ -+ memset(&t->fan.map, 0, sizeof(t->fan.map)); -+} -+ -+static int ipip_fan_set_map(struct ip_tunnel *t, struct ip_tunnel_fan_map *map) -+{ -+ u32 overlay, overlay_mask, underlay, underlay_mask; -+ -+ if ((map->underlay_prefix && map->underlay_prefix != 16) || -+ (map->overlay_prefix && map->overlay_prefix != 8)) -+ return -EINVAL; -+ -+ overlay = ntohl(map->overlay); -+ overlay_mask = ntohl(inet_make_mask(map->overlay_prefix)); -+ -+ underlay = ntohl(map->underlay); -+ underlay_mask = ntohl(inet_make_mask(map->underlay_prefix)); -+ -+ if ((overlay & ~overlay_mask) || (underlay & ~underlay_mask)) -+ return -EINVAL; -+ -+ if (!(overlay & overlay_mask) && (underlay & underlay_mask)) -+ return -EINVAL; -+ -+ t->parms.i_flags |= TUNNEL_FAN; -+ -+ /* Special case: overlay 0 and underlay 0 clears all mappings */ -+ if (!overlay && !underlay) { -+ ipip_fan_free_map(t); -+ return 0; -+ } -+ -+ overlay >>= (32 - map->overlay_prefix); -+ t->fan.map[overlay] = underlay; -+ -+ return 0; -+} -+ -+ - static int ipip_netlink_fan(struct nlattr *data[], struct ip_tunnel *t, - struct ip_tunnel_parm *parms) - { -- u32 net = t->fan.underlay; -- -- if (!data[IFLA_IPTUN_FAN_UNDERLAY]) -- goto err_check; -+ struct ip_tunnel_fan_map *map; -+ struct nlattr *attr; -+ int rem, rv; - -- net = ntohl(nla_get_be32(data[IFLA_IPTUN_FAN_UNDERLAY])) & 0xffff0000; -+ if (!data[IFLA_IPTUN_FAN_MAP]) -+ return 0; - --err_check: -- if (parms->iph.daddr && net) -+ if (parms->iph.daddr) - return -EINVAL; - -- t->fan.underlay = net; -+ nla_for_each_nested(attr, data[IFLA_IPTUN_FAN_MAP], rem) { -+ map = nla_data(attr); -+ rv = ipip_fan_set_map(t, map); -+ if (rv) -+ return rv; -+ } - - return 0; - } -@@ -500,8 +556,8 @@ static size_t ipip_get_size(const struct net_device *dev) - nla_total_size(2) + - /* IFLA_IPTUN_ENCAP_DPORT */ - nla_total_size(2) + -- /* IFLA_IPTUN_FAN_UNDERLAY */ -- nla_total_size(4) + -+ /* IFLA_IPTUN_FAN_MAP */ -+ nla_total_size(sizeof(struct ip_tunnel_fan_map)) * 256 + - 0; - } - -@@ -529,10 +585,28 @@ static int ipip_fill_info(struct sk_buff *skb, const struct net_device *dev) - tunnel->encap.flags)) - goto nla_put_failure; - -- if (tunnel->fan.underlay) -- if (nla_put_be32(skb, IFLA_IPTUN_FAN_UNDERLAY, -- htonl(tunnel->fan.underlay))) -+ if (tunnel->parms.i_flags & TUNNEL_FAN) { -+ struct nlattr *fan_nest; -+ int i; -+ -+ fan_nest = nla_nest_start(skb, IFLA_IPTUN_FAN_MAP); -+ if (!fan_nest) - goto nla_put_failure; -+ for (i = 0; i < 256; i++) { -+ if (tunnel->fan.map[i]) { -+ struct ip_tunnel_fan_map map; -+ -+ map.underlay = htonl(tunnel->fan.map[i]); -+ map.underlay_prefix = 16; -+ map.overlay = htonl(i << 24); -+ map.overlay_prefix = 8; -+ if (nla_put(skb, IFLA_FAN_MAPPING, -+ sizeof(map), &map)) -+ goto nla_put_failure; -+ } -+ } -+ nla_nest_end(skb, fan_nest); -+ } - - return 0; - -@@ -553,7 +627,7 @@ static const struct nla_policy ipip_policy[IFLA_IPTUN_MAX + 1] = { - [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, - - [__IFLA_IPTUN_VENDOR_BREAK ... IFLA_IPTUN_MAX] = { .type = NLA_BINARY }, -- [IFLA_IPTUN_FAN_UNDERLAY] = { .type = NLA_U32 }, -+ [IFLA_IPTUN_FAN_MAP] = { .type = NLA_NESTED }, - }; - - static struct rtnl_link_ops ipip_link_ops __read_mostly = { -@@ -595,7 +669,7 @@ static struct pernet_operations ipip_net_ops = { - - #ifdef CONFIG_SYSCTL - static struct ctl_table_header *ipip_fan_header; --static unsigned int ipip_fan_version = 1; -+static unsigned int ipip_fan_version = 3; - - static struct ctl_table ipip_fan_sysctls[] = { - { --- -2.4.1 - From f493fd06b51cb89beb200dfc08f5fb1264da5b9c Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sun, 10 Apr 2016 19:59:22 -0300 Subject: [PATCH 032/182] rxvt: 2.6.4 -> 2.7.10 --- pkgs/applications/misc/rxvt/default.nix | 38 +++++++++++++++++++------ 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/misc/rxvt/default.nix b/pkgs/applications/misc/rxvt/default.nix index c3b5fc861a8..e8914b75b8a 100644 --- a/pkgs/applications/misc/rxvt/default.nix +++ b/pkgs/applications/misc/rxvt/default.nix @@ -1,18 +1,38 @@ -{ stdenv, fetchurl, libX11, libXt }: +{ stdenv, fetchurl +, pkgconfig, libtool +, libX11, libXt, libXpm }: -stdenv.mkDerivation { - name = "rxvt-2.6.4"; +stdenv.mkDerivation rec { + name = "rxvt-${version}"; + version = "2.7.10"; src = fetchurl { - url = mirror://sourceforge/rxvt/rxvt-2.6.4.tar.gz; - sha256 = "0hi29whjv8v11nkjbq1i6ms411v6csykghmlpkmayfjn9nxr02xg"; + url = "mirror://sourceforge/rxvt/${name}.tar.gz"; + sha256 = "0jfl71gz3k7zh3kxdb8lxi06kajjnx7bq1rxjgk680l209jxask1"; }; - buildInputs = [ libX11 libXt ]; + buildInputs = [ pkgconfig libtool libX11 libXt libXpm ]; - meta = { + configurePhase = '' + LIBTOOL=${libtool}/bin/libtool ./configure --prefix=$out --enable-everything --enable-smart-resize --enable-256-color + ''; + + meta = with stdenv.lib; { + homepage = http://rxvt.sourceforge.net/; description = "Colour vt102 terminal emulator with less features and lower memory consumption"; - homepage = http://www.rxvt.org/; - license = "GPL"; + longDescription = '' + rxvt (acronym for our extended virtual terminal) is a terminal + emulator for the X Window System, originally written by Rob Nation + as an extended version of the older xvt terminal by John Bovey of + University of Kent. Mark Olesen extensively modified it later and + took over maintenance for several years. + + rxvt is intended to be a slimmed-down alternate for xterm, + omitting some of its little-used features, like Tektronix 4014 + emulation and toolkit-style configurability. + ''; + maintainers = with maintainers; [ AndersonTorres ]; + license = licenses.gpl2; + platforms = platforms.linux; }; } From 4e39ce7b796ee344bc2e1f350b0f96554943a93e Mon Sep 17 00:00:00 2001 From: Ricardo Ardissone Date: Sat, 9 Apr 2016 23:04:55 -0300 Subject: [PATCH 033/182] liberal-crime-squad: init at 2016-03-03 --- pkgs/games/liberal-crime-squad/default.nix | 28 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/games/liberal-crime-squad/default.nix diff --git a/pkgs/games/liberal-crime-squad/default.nix b/pkgs/games/liberal-crime-squad/default.nix new file mode 100644 index 00000000000..434f72d62f0 --- /dev/null +++ b/pkgs/games/liberal-crime-squad/default.nix @@ -0,0 +1,28 @@ +{ fetchFromGitHub, stdenv, ncurses, autoconf, automake , SDL2, SDL2_mixer }: + +stdenv.mkDerivation rec { + version = "2016-03-03"; + name = "liberal-crime-squad-${version}"; + src = fetchFromGitHub { + owner = "Kamal-Sadek"; + repo = "Liberal-Crime-Squad"; + rev = "39c5f167e902e33cb37b152215d67f71b9ae8269"; + sha256 = "18s2w2570fd79y9rb7ikxls1qw29l1lbwk9n2dxxqjslbzrbvv31"; + }; + + preConfigure = '' + ./bootstrap + ''; + + buildInputs = [ ncurses autoconf automake SDL2 SDL2_mixer ]; + + meta = with stdenv.lib; { + description = "A humorous politically themed ncurses game"; + longDescription = '' + Welcome to Liberal Crime Squad! The Conservatives have taken the Executive, Legislative, and Judicial branches of government. Over time, the Liberal laws of this nation will erode and turn the country into a BACKWOODS YET CORPORATE NIGHTMARE. To prevent this from happening, the Liberal Crime Squad was established. The mood of the country is shifting, and we need to turn things around. Go out on the streets and indoctrinate Conservative automatons. That is, let them see their True Liberal Nature. Then arm them and send them forth to Stop Evil. + ''; + homepage = https://github.com/Kamal-Sadek/Liberal-Crime-Squad; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8d844f04ccb..44df3b76d7a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14758,6 +14758,8 @@ in lgogdownloader = callPackage ../games/lgogdownloader { }; + liberal-crime-squad = callPackage ../games/liberal-crime-squad { }; + lincity = callPackage ../games/lincity {}; lincity_ng = callPackage ../games/lincity/ng.nix {}; From ebb911cc0b31dd39dfaf61f206967e47e92547cb Mon Sep 17 00:00:00 2001 From: Brian McKenna Date: Thu, 10 Mar 2016 18:29:28 +1100 Subject: [PATCH 034/182] dockerTools: remove tarballs functionality I think the intention of this functionality was to provide a simple alternative to the "runAsRoot" and "contents" attributes. The implementation caused very slow builds of Docker images. Almost all of the build time was spent in IO for tar, due to tarballs being created, immediately extracted, then recreated. I had 30 minute builds on some of my images which are now down to less than 2 minutes. A couple of other users on #nix IRC have observed similar improvements. The implementation also mutated the produced Docker layers without changing their hashes. Using non-empty tarballs would produce images which got cached incorrectly in Docker. I have a commit which just fixes the performance problem but I opted to completely remove the tarball feature after I found out that it didn't correctly implement the Docker Image Specification due to the broken hashing. --- pkgs/build-support/docker/default.nix | 70 ++++++--------------------- 1 file changed, 15 insertions(+), 55 deletions(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 8e4a51071e3..4c4999a42b4 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -45,27 +45,6 @@ rec { done ''; - mkTarball = { name ? "docker-tar", drv, onlyDeps ? false }: - runCommand "${name}.tar.gz" rec { - inherit drv onlyDeps; - - drvClosure = writeReferencesToFile drv; - - } '' - while read dep; do - echo Copying $dep - dir="$(dirname "$dep")" - mkdir -p "rootfs/$dir" - cp -drf --preserve=mode $dep "rootfs/$dir/" - done < "$drvClosure" - - if [ -z "$onlyDeps" ]; then - cp -drf --preserve=mode $drv/* rootfs/ - fi - - tar -C rootfs/ -cpzf $out . - ''; - shellScript = text: writeScript "script.sh" '' #!${stdenv.shell} @@ -99,16 +78,6 @@ EOF fi ''; - # Append to tar instead of unpacking - mergeTarballs = tarballs: - runCommand "merge-tars" { inherit tarballs; } '' - mkdir tmp - for tb in $tarballs; do - tar -C tmp -xkpf $tb - done - tar -C tmp -cpzf $out . - ''; - runWithOverlay = { name , fromImage ? null, fromImageName ? null, fromImageTag ? null , diskSize ? 1024, preMount ? "", postMount ? "", postUmount ? "" }: vmTools.runInLinuxVM ( @@ -182,7 +151,7 @@ EOF postMount = '' echo Packing raw image - tar -C mnt -czf $out . + tar -C mnt -cf $out . ''; }; @@ -262,8 +231,8 @@ EOF # 6. repack the image buildImage = args@{ name, tag ? "latest" , fromImage ? null, fromImageName ? null, fromImageTag ? null - , contents ? null, tarballs ? [], config ? null - , runAsRoot ? null, diskSize ? 1024, extraCommands ? "" }: + , contents ? null, config ? null, runAsRoot ? null + , diskSize ? 1024, extraCommands ? "" }: let @@ -275,14 +244,10 @@ EOF os = "linux"; config = config; }); - + layer = (if runAsRoot == null then mkPureLayer { inherit baseJson contents extraCommands; } else mkRootLayer { inherit baseJson fromImage fromImageName fromImageTag contents runAsRoot diskSize extraCommands; }); - depsTarball = mkTarball { name = "${baseName}-deps"; - drv = layer; - onlyDeps = true; }; - result = runCommand "${baseName}.tar.gz" { buildInputs = [ jshon ]; @@ -290,7 +255,7 @@ EOF imageTag = tag; inherit fromImage baseJson; - mergedTarball = if tarballs == [] then depsTarball else mergeTarballs ([ depsTarball ] ++ tarballs); + layerClosure = writeReferencesToFile layer; passthru = { buildArgs = args; @@ -320,22 +285,17 @@ EOF mkdir temp cp ${layer}/* temp/ chmod ug+w temp/* - - echo Adding dependencies + + touch layerFiles + for dep in $(cat $layerClosure); do + find $dep >> layerFiles + done + + echo Adding layer tar -tf temp/layer.tar >> baseFiles - tar -tf "$mergedTarball" | grep -v ${layer} > layerFiles - if [ "$(wc -l layerFiles|cut -d ' ' -f 1)" -gt 3 ]; then - sed -i -e 's|^[\./]\+||' baseFiles layerFiles - comm <(sort -n baseFiles|uniq) <(sort -n layerFiles|uniq) -1 -3 > newFiles - mkdir deps - pushd deps - tar -xpf "$mergedTarball" --no-recursion --files-from ../newFiles 2>/dev/null || true - tar -rf ../temp/layer.tar --no-recursion --files-from ../newFiles 2>/dev/null || true - popd - else - echo No new deps, no diffing needed - fi - + comm <(sort -n baseFiles|uniq) <(sort -n layerFiles|uniq|grep -v ${layer}) -1 -3 > newFiles + tar -rpf temp/layer.tar --no-recursion --files-from newFiles 2>/dev/null || true + echo Adding meta if [ -n "$parentID" ]; then From d150fe89154e176dcf8b71ad64a771213aee0c1e Mon Sep 17 00:00:00 2001 From: Brian McKenna Date: Mon, 11 Apr 2016 16:31:15 +1000 Subject: [PATCH 035/182] dockerTools: use pigz for final image tar Saves a few seconds on large images. --- pkgs/build-support/docker/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 4c4999a42b4..1f14bda203d 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, callPackage, runCommand, writeReferencesToFile, writeText, vmTools, writeScript -, docker, shadow, utillinux, coreutils, jshon, e2fsprogs, goPackages }: +, docker, shadow, utillinux, coreutils, jshon, e2fsprogs, goPackages, pigz }: # WARNING: this API is unstable and may be subject to backwards-incompatible changes in the future. @@ -249,7 +249,7 @@ EOF then mkPureLayer { inherit baseJson contents extraCommands; } else mkRootLayer { inherit baseJson fromImage fromImageName fromImageTag contents runAsRoot diskSize extraCommands; }); result = runCommand "${baseName}.tar.gz" { - buildInputs = [ jshon ]; + buildInputs = [ jshon pigz ]; imageName = name; imageTag = tag; @@ -317,7 +317,7 @@ EOF chmod -R a-w image echo Cooking the image - tar -C image -czf $out . + tar -C image -c . | pigz > $out ''; in From a4ce0e233b086845324f6b4d38ce3a408612a8d7 Mon Sep 17 00:00:00 2001 From: Dan Connolly Date: Sat, 27 Feb 2016 18:08:56 -0600 Subject: [PATCH 036/182] tortoisehg: 3.6 -> 3.7.1, fixes package fixes #13507 On June 8 (e8655ee) tortoisehg changed the way it computes the `/usr/share` directory in a way that invalidated the assumptions behind the use of substituteInPlace in postUnpack. --- .../version-management/tortoisehg/default.nix | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix index ec20122d0ce..60e71351208 100644 --- a/pkgs/applications/version-management/tortoisehg/default.nix +++ b/pkgs/applications/version-management/tortoisehg/default.nix @@ -1,25 +1,24 @@ -{ pkgs, lib, mercurial, pyPackages ? pkgs.python27Packages }: +{lib, fetchurl, mercurial, pythonPackages}: -pkgs.buildPythonApplication rec { +pythonPackages.buildPythonApplication rec { name = "tortoisehg-${version}"; - version = "3.6"; + version = "3.7.1"; namePrefix = ""; - src = pkgs.fetchurl { + src = fetchurl { url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz"; - sha256 = "ec43d13f029bb23a12129d2a2c3b3b4daf3d8121cbb5c9c23e4872f7b0b75ad8"; + sha256 = "1ycf8knwk1rs99s5caq611sk4c4nzwyzq8g35hw5kwj15b6dl4k6"; }; - pythonPath = [ pkgs.pyqt4 mercurial ] - ++ (with pyPackages; [qscintilla iniparse]); + pythonPath = with pythonPackages; [ pyqt4 mercurial qscintilla iniparse ]; - propagatedBuildInputs = with pyPackages; [ qscintilla iniparse ]; + propagatedBuildInputs = with pythonPackages; [ qscintilla iniparse ]; doCheck = false; postUnpack = '' substituteInPlace $sourceRoot/setup.py \ - --replace "/usr/share/" "$out/share/" + --replace "sharedir = os.path.join(installcmd.install_data[rootlen:], 'share')" "sharedir = '$out/share/'" ''; postInstall = '' From 48972763c86066ce2f62e65326b2329d493caf92 Mon Sep 17 00:00:00 2001 From: "Nicolas B. Pierron" Date: Mon, 11 Apr 2016 11:17:42 +0200 Subject: [PATCH 037/182] Remove pkgs aliases (#14398) * Security: Remove pkgs aliases of amdappssdk. * Security: Remove pkgs aliases of amule. * Security: Remove pkgs aliases of androidnenv. * Security: Remove pkgs aliases of apacheAnt. * Security: Remove pkgs aliases of apacheHttp. * Security: Remove pkgs aliases of apparmor. * Security: Remove pkgs aliases of ardour. * Security: Remove pkgs aliases of arduino. * Security: Remove pkgs aliases of aria. * Security: Remove pkgs aliases of asciidoc. * Security: Remove pkgs aliases of aterm. * Security: Remove pkgs aliases of atlas. * Security: Remove pkgs aliases of automake. * Security: Remove pkgs aliases of awesome. * Security: Remove pkgs aliases of backintime. * Security: Remove pkgs aliases of binutils. * Security: Remove pkgs aliases of bison. * Security: Remove pkgs aliases of bitcoin. * Security: Remove pkgs aliases of bittorrentSync. * Security: Remove pkgs aliases of bleuz. * Security: Remove pkgs aliases of boolector. * Security: Remove pkgs aliases of boost. * Security: Remove pkgs aliases of cabal, ghc and stack. * Security: Remove pkgs aliases of cabal2nix. * Security: Remove pkgs aliases of cassandra. * Security: Remove pkgs aliases of cdparanioa. * Security: Remove pkgs aliases of ceph-dev. * Security: Remove pkgs aliases of chromium. * Security: Remove pkgs aliases of clangSelf. * Security: Remove pkgs aliases of clementine. * Security: Remove pkgs aliases of clucene_core. * Security: Remove pkgs aliases of cmake. * Security: Remove pkgs aliases of conkeror. * Security: Remove pkgs aliases of construo. * Security: Remove pkgs aliases of crafty. * Security: Remove pkgs aliases of crawl. * Security: Remove pkgs aliases of cryptol. * Security: Remove pkgs aliases of cudatoolkit. * Security: Remove pkgs aliases of curl. * Security: Remove pkgs aliases of darcs. * Security: Remove pkgs aliases of db. * Security: Remove pkgs aliases of dblatex. * Security: Remove pkgs aliases of dbus. * Security: Remove pkgs aliases of devicemapper. * Security: Remove pkgs aliases of dfilemanager. * Security: Remove pkgs aliases of djview. * Security: Remove pkgs aliases of dmtx. * Remove useless callPackage above dmtx-utils. * Security: Remove pkgs aliases of docbook. * Security: Remove pkgs aliases of doxygen. * Security: Remove pkgs aliases of drive. * Security: Remove pkgs aliases of dwarf-fortress. * Remove useless override function call on dwarf-fortress. * Use inherit to copy attributes of dwarf-fortress-packages. * Security: Remove pkgs aliases of eject. * Security: Remove pkgs aliases of emacs. * Security: Remove pkgs aliases of erlang. * Security: Remove pkgs aliases of fam. * Security: Remove pkgs aliases of faust. * Security: Remove pkgs aliases of ffmpeg. * Security: Remove pkgs aliases of fftw. * Security: Remove pkgs aliases of firefox. * Security: Remove pkgs aliases of flashplayer-standalone. * Security: Remove pkgs aliases of fuseki. * Replace callPackage by callPackages for apparmor's derivations. * Security: Remove pkgs aliases of gcc-arm-embedded. * Security: Remove pkgs aliases of gdbGuile. * Security: Remove pkgs aliases of gecode. * Remove useless makeOverridable from geoipWithDatabase. * Remove useless makeOverridable from geoipWithDatabase. * Security: Remove pkgs aliases of ghostscriptX. * Security: Remove pkgs aliases of giflib. * Security: Remove pkgs aliases of gimp. * Security: Remove pkgs aliases of gitAndTools. * Security: Remove pkgs aliases of glfw. * Security: Remove pkgs aliases of glib. * Security: Remove pkgs aliases of gmp. * Security: Remove pkgs aliases of gnome. * Security: Remove pkgs aliases of gnumake. * Security: Remove pkgs aliases of gnupg. * Security: Remove pkgs aliases of gnuplot. * Security: Remove pkgs aliases of gnutls. * Security: Remove pkgs aliases of go. * Security: Remove pkgs aliases of google-chrome. * Security: Remove pkgs aliases of gpm. * Security: Remove pkgs aliases of qt5. * Security: Remove pkgs aliases of grub2. * Security: Remove pkgs aliases of gtk. * Security: Remove pkgs aliases of gtk-sharp. * Security: Remove pkgs aliases of guile. * Security: Remove pkgs aliases of hdf5. * Security: Remove pkgs aliases of heyefi. * Security: Remove pkgs aliases of hiphopvm. * Security: Remove pkgs aliases of hplip. * Security: Remove pkgs aliases of icedtea_web. * Security: Remove pkgs aliases of imagemagick. * Security: Remove pkgs aliases of iperf. * Security: Remove pkgs aliases of ipfs. * Security: Remove pkgs aliases of isl. * Security: Remove pkgs aliases of jackmix. * Security: Remove pkgs aliases of jdk & jre. * Security: Remove pkgs aliases of kde4. * Security: Remove pkgs aliases of kodi. * Security: Remove pkgs aliases of lcms. * Security: Remove pkgs aliases of ledger. * Security: Remove pkgs aliases of libaudit. * Security: Remove pkgs aliases of libav. * Security: Remove pkgs aliases of libcanberra. * Security: Remove pkgs aliases of libceph. * Security: Remove pkgs aliases of libdbiDrivers. * Security: Remove pkgs aliases of libdevil. * Security: Remove pkgs aliases of liberation_ttf. * Security: Remove pkgs aliases of libffado. * Security: Remove pkgs aliases of libheimdal. * Security: Remove pkgs aliases of libjack2. * Security: Remove pkgs aliases of libjpeg. * Security: Remove pkgs aliases of libkrb5. * Security: Remove pkgs aliases of liblapack. * Security: Remove pkgs aliases of liblrdf. * Security: Remove pkgs aliases of libmusicbrainz. * Security: Remove pkgs aliases of libnghttp2. * Security: Remove pkgs aliases of libpng. * Security: Remove pkgs aliases of librecad. * Security: Remove pkgs aliases of libressl. * Security: Remove pkgs aliases of libsysfs. * Security: Remove pkgs aliases of libtool. * Security: Remove pkgs aliases of libuv. * Security: Remove pkgs aliases of libv4l. * Security: Remove pkgs aliases of libwnck. * Security: Remove pkgs aliases of libxfs. * Security: Remove pkgs aliases of libxml2. * Security: Remove pkgs aliases of lightdm. * Security: Remove pkgs aliases of linuxHeaders. * Security: Remove pkgs aliases of linux and linuxPackages. * Security: Remove pkgs aliases of llvmPackages. * Security: Remove pkgs aliases of llvm. * Security: Remove pkgs aliases of love. * Security: Remove pkgs aliases of lua. * Security: Remove pkgs aliases of luaPackages. --- pkgs/top-level/all-packages.nix | 574 ++++++++++++++++---------------- 1 file changed, 283 insertions(+), 291 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b873a4ba7eb..d27f0f15134 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -411,7 +411,7 @@ in arcanist = callPackage ../development/tools/misc/arcanist {}; - arduino = arduino-core.override { withGui = true; }; + arduino = self.arduino-core.override { withGui = true; }; arduino-core = callPackage ../development/arduino/arduino-core { jdk = jdk; @@ -458,12 +458,12 @@ in amule = callPackage ../tools/networking/p2p/amule { }; - amuleDaemon = appendToName "daemon" (amule.override { + amuleDaemon = appendToName "daemon" (self.amule.override { monolithic = false; daemon = true; }); - amuleGui = appendToName "gui" (amule.override { + amuleGui = appendToName "gui" (self.amule.override { monolithic = false; client = true; }); @@ -496,16 +496,16 @@ in pkgs_i686 = pkgsi686Linux; }; - inherit (androidenv) androidsdk_4_4 androidndk; + inherit (self.androidenv) androidsdk_4_4 androidndk; - androidsdk = androidenv.androidsdk_6_0; + androidsdk = self.androidenv.androidsdk_6_0; arc-gtk-theme = callPackage ../misc/themes/arc { }; aria2 = callPackage ../tools/networking/aria2 { inherit (darwin.apple_sdk.frameworks) Security; }; - aria = aria2; + aria = self.aria2; at = callPackage ../tools/system/at { }; @@ -637,7 +637,7 @@ in btfs = callPackage ../os-specific/linux/btfs { }; - cabal2nix = haskellPackages.cabal2nix; + cabal2nix = self.haskellPackages.cabal2nix; caddy = goPackages.caddy.bin // { outputs = [ "bin" ]; }; @@ -703,7 +703,7 @@ in deis = goPackages.deis.bin // { outputs = [ "bin" ]; }; - dfilemanager = kde5.dfilemanager; + dfilemanager = self.kde5.dfilemanager; diagrams-builder = callPackage ../tools/graphics/diagrams-builder { inherit (haskellPackages) ghcWithPackages diagrams-builder; @@ -856,12 +856,12 @@ in enableStandardFeatures = false; }; - asciidoc-full = appendToName "full" (asciidoc.override { + asciidoc-full = appendToName "full" (self.asciidoc.override { inherit (pythonPackages) pygments; enableStandardFeatures = true; }); - asciidoc-full-with-plugins = appendToName "full-with-plugins" (asciidoc.override { + asciidoc-full-with-plugins = appendToName "full-with-plugins" (self.asciidoc.override { inherit (pythonPackages) pygments; enableStandardFeatures = true; enableExtraPlugins = true; @@ -962,9 +962,9 @@ in cdrkit = callPackage ../tools/cd-dvd/cdrkit { }; - libceph = ceph.lib; + libceph = self.ceph.lib; ceph = callPackage ../tools/filesystems/ceph { boost = boost159; }; - ceph-dev = ceph; + ceph-dev = self.ceph; #ceph-dev = lowPrio (callPackage ../tools/filesystems/ceph/dev.nix { }); cfdg = callPackage ../tools/graphics/cfdg { }; @@ -994,7 +994,7 @@ in gst_plugins = [ gst_plugins_base gst_plugins_good gst_plugins_ugly gst_ffmpeg ]; }; - clementineFree = clementine.free; + clementineFree = self.clementine.free; ciopfs = callPackage ../tools/filesystems/ciopfs { }; @@ -1150,9 +1150,9 @@ in cudatoolkit7 cudatoolkit75; - cudatoolkit = cudatoolkit7; + cudatoolkit = self.cudatoolkit7; - curlFull = curl.override { + curlFull = self.curl.override { idnSupport = true; ldapSupport = true; gssSupport = true; @@ -1302,7 +1302,7 @@ in doomseeker = callPackage ../applications/misc/doomseeker { }; - drive = go14Packages.drive.bin // { outputs = [ "bin" ]; }; + drive = self.go14Packages.drive.bin // { outputs = [ "bin" ]; }; driftnet = callPackage ../tools/networking/driftnet {}; @@ -1681,17 +1681,17 @@ in gnupg1orig = callPackage ../tools/security/gnupg/1.nix { }; gnupg1compat = callPackage ../tools/security/gnupg/1compat.nix { }; - gnupg1 = gnupg1compat; # use config.packageOverrides if you prefer original gnupg1 + gnupg1 = self.gnupg1compat; # use config.packageOverrides if you prefer original gnupg1 gnupg20 = callPackage ../tools/security/gnupg/20.nix { }; gnupg21 = callPackage ../tools/security/gnupg/21.nix { }; - gnupg = gnupg21; + gnupg = self.gnupg21; gnuplot = callPackage ../tools/graphics/gnuplot { qt = qt4; }; - gnuplot_qt = gnuplot.override { withQt = true; }; + gnuplot_qt = self.gnuplot.override { withQt = true; }; # must have AquaTerm installed separately - gnuplot_aquaterm = gnuplot.override { aquaterm = true; }; + gnuplot_aquaterm = self.gnuplot.override { aquaterm = true; }; gnused = callPackage ../tools/text/gnused { }; @@ -1775,15 +1775,15 @@ in trustedGrub-for-HP = callPackage_i686 ../tools/misc/grub/trusted.nix { for_HP_laptop = true; }; - grub2 = grub2_full; + grub2 = self.grub2_full; grub2_full = callPackage ../tools/misc/grub/2.0x.nix { }; - grub2_efi = grub2_full.override { + grub2_efi = self.grub2_full.override { efiSupport = true; }; - grub2_light = grub2_full.override { + grub2_light = self.grub2_full.override { zfsSupport = false; }; @@ -1876,16 +1876,16 @@ in mpi = null; }; - hdf5-mpi = appendToName "mpi" (hdf5.override { + hdf5-mpi = appendToName "mpi" (self.hdf5.override { szip = null; mpi = pkgs.openmpi; }); - hdf5-cpp = appendToName "cpp" (hdf5.override { + hdf5-cpp = appendToName "cpp" (self.hdf5.override { cpp = true; }); - hdf5-fortran = appendToName "fortran" (hdf5.override { + hdf5-fortran = appendToName "fortran" (self.hdf5.override { inherit gfortran; }); @@ -1997,9 +1997,9 @@ in iperf2 = callPackage ../tools/networking/iperf/2.nix { }; iperf3 = callPackage ../tools/networking/iperf/3.nix { }; - iperf = iperf3; + iperf = self.iperf3; - ipfs = goPackages.ipfs.bin // { outputs = [ "bin" ]; }; + ipfs = self.goPackages.ipfs.bin // { outputs = [ "bin" ]; }; ipmitool = callPackage ../tools/system/ipmitool { static = false; @@ -2017,7 +2017,7 @@ in ised = callPackage ../tools/misc/ised {}; - isl = isl_0_15; + isl = self.isl_0_15; isl_0_11 = callPackage ../development/libraries/isl/0.11.1.nix { }; isl_0_12 = callPackage ../development/libraries/isl/0.12.2.nix { }; isl_0_14 = callPackage ../development/libraries/isl/0.14.1.nix { }; @@ -2932,7 +2932,7 @@ in pystringtemplate = callPackage ../development/python-modules/stringtemplate { }; - pythonDBus = dbus_python; + pythonDBus = self.dbus_python; pythonIRClib = pythonPackages.pythonIRClib; @@ -3809,7 +3809,7 @@ in xflux = callPackage ../tools/misc/xflux { }; xfsprogs = callPackage ../tools/filesystems/xfsprogs { }; - libxfs = xfsprogs.lib; + libxfs = self.xfsprogs.lib; xml2 = callPackage ../tools/text/xml/xml2 { }; @@ -3993,7 +3993,7 @@ in clangUnwrapped = llvm: pkg: callPackage pkg { inherit llvm; }; - clangSelf = clangWrapSelf llvmPackagesSelf.clang; + clangSelf = self.clangWrapSelf llvmPackagesSelf.clang; clangWrapSelf = build: callPackage ../build-support/cc-wrapper { cc = build; @@ -4025,7 +4025,7 @@ in ocamlPackages = ocamlPackages_4_02; }); - cryptol = haskellPackages.cryptol; + cryptol = self.haskellPackages.cryptol; cython = pythonPackages.cython; cython3 = python3Packages.cython; @@ -4289,7 +4289,7 @@ in releaseType = "update"; sha256 = "c5e0025b065750bbd76b5357b4fc8606d88afbac9ff55b8a82927b4b96178154"; }; - gcc-arm-embedded = gcc-arm-embedded-4_9; + gcc-arm-embedded = self.gcc-arm-embedded-4_9; gforth = callPackage ../development/compilers/gforth {}; @@ -4302,7 +4302,7 @@ in haskellPackages = haskell.packages.ghc7103.override { overrides = config.haskellPackageOverrides or (self: super: {}); }; - inherit (haskellPackages) ghc cabal-install stack; + inherit (self.haskellPackages) ghc cabal-install stack; haxe = callPackage ../development/compilers/haxe { inherit (ocamlPackages) camlp4; @@ -4310,7 +4310,7 @@ in hxcpp = callPackage ../development/compilers/haxe/hxcpp.nix { }; hhvm = callPackage ../development/compilers/hhvm { }; - hiphopvm = hhvm; /* Compatibility alias */ + hiphopvm = self.hhvm; /* Compatibility alias */ hop = callPackage ../development/compilers/hop { }; @@ -4336,7 +4336,7 @@ in inherit (darwin.apple_sdk.frameworks) Security Foundation; }; - go = go_1_5; + go = self.go_1_5; go-repo-root = goPackages.go-repo-root.bin // { outputs = [ "bin" ]; }; @@ -4356,7 +4356,7 @@ in xulrunner = firefox-unwrapped; }; - icedtea_web = icedtea8_web; + icedtea_web = self.icedtea8_web; idrisPackages = callPackage ../development/idris-modules { inherit (haskellPackages) idris; @@ -4386,44 +4386,44 @@ in bootjdk = callPackage ../development/compilers/openjdk/bootstrap.nix { version = "8"; }; }; - openjdk = if stdenv.isDarwin then openjdk7 else openjdk8; + openjdk = if stdenv.isDarwin then self.openjdk7 else self.openjdk8; - jdk7 = openjdk7 // { outputs = [ "out" ]; }; - jre7 = lib.setName "openjre-${lib.getVersion pkgs.openjdk7.jre}" (openjdk7.jre // { outputs = [ "jre" ]; }); + jdk7 = self.openjdk7 // { outputs = [ "out" ]; }; + jre7 = lib.setName "openjre-${lib.getVersion pkgs.openjdk7.jre}" (self.openjdk7.jre // { outputs = [ "jre" ]; }); - jdk8 = openjdk8 // { outputs = [ "out" ]; }; - jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" (openjdk8.jre // { outputs = [ "jre" ]; }); + jdk8 = self.openjdk8 // { outputs = [ "out" ]; }; + jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" (self.openjdk8.jre // { outputs = [ "jre" ]; }); - jdk = if stdenv.isDarwin then jdk7 else jdk8; - jre = if stdenv.isDarwin then jre7 else jre8; + jdk = if stdenv.isDarwin then self.jdk7 else self.jdk8; + jre = if stdenv.isDarwin then self.jre7 else self.jre8; - oraclejdk = pkgs.jdkdistro true false; + oraclejdk = self.jdkdistro true false; - oraclejdk7 = pkgs.oraclejdk7distro true false; + oraclejdk7 = self.oraclejdk7distro true false; - oraclejdk7psu = pkgs.oraclejdk7psu_distro true false; + oraclejdk7psu = self.oraclejdk7psu_distro true false; - oraclejdk8 = pkgs.oraclejdk8distro true false; + oraclejdk8 = self.oraclejdk8distro true false; - oraclejdk8psu = pkgs.oraclejdk8psu_distro true false; + oraclejdk8psu = self.oraclejdk8psu_distro true false; - oraclejre = lowPrio (pkgs.jdkdistro false false); + oraclejre = lowPrio (self.jdkdistro false false); - oraclejre7 = lowPrio (pkgs.oraclejdk7distro false false); + oraclejre7 = lowPrio (self.oraclejdk7distro false false); - oraclejre7psu = lowPrio (pkgs.oraclejdk7psu_distro false false); + oraclejre7psu = lowPrio (self.oraclejdk7psu_distro false false); - oraclejre8 = lowPrio (pkgs.oraclejdk8distro false false); + oraclejre8 = lowPrio (self.oraclejdk8distro false false); - oraclejre8psu = lowPrio (pkgs.oraclejdk8psu_distro false false); + oraclejre8psu = lowPrio (self.oraclejdk8psu_distro false false); - jrePlugin = jre8Plugin; + jrePlugin = self.jre8Plugin; - jre6Plugin = lowPrio (pkgs.jdkdistro false true); + jre6Plugin = lowPrio (self.jdkdistro false true); - jre7Plugin = lowPrio (pkgs.oraclejdk7distro false true); + jre7Plugin = lowPrio (self.oraclejdk7distro false true); - jre8Plugin = lowPrio (pkgs.oraclejdk8distro false true); + jre8Plugin = lowPrio (self.oraclejdk8distro false true); supportsJDK = system == "i686-linux" || @@ -4478,17 +4478,17 @@ in liquibase = callPackage ../development/tools/database/liquibase { }; - llvm = llvmPackages.llvm; + llvm = self.llvmPackages.llvm; - llvm_38 = llvmPackages_38.llvm; - llvm_37 = llvmPackages_37.llvm; - llvm_36 = llvmPackages_36.llvm; - llvm_35 = llvmPackages_35.llvm; - llvm_34 = llvmPackages_34.llvm; + llvm_38 = self.llvmPackages_38.llvm; + llvm_37 = self.llvmPackages_37.llvm; + llvm_36 = self.llvmPackages_36.llvm; + llvm_35 = self.llvmPackages_35.llvm; + llvm_34 = self.llvmPackages_34.llvm; - llvmPackages = recurseIntoAttrs llvmPackages_37; + llvmPackages = recurseIntoAttrs self.llvmPackages_37; - llvmPackagesSelf = llvmPackages_34.override { + llvmPackagesSelf = self.llvmPackages_34.override { stdenv = libcxxStdenv; }; @@ -5273,10 +5273,10 @@ in inherit (darwin.apple_sdk.frameworks) Carbon Cocoa; javacSupport = true; odbcSupport = true; }; - erlang = erlangR18; - erlang_odbc = erlangR18_odbc; - erlang_javac = erlangR18_javac; - erlang_odbc_javac = erlangR18_odbc_javac; + erlang = self.erlangR18; + erlang_odbc = self.erlangR18_odbc; + erlang_javac = self.erlangR18_javac; + erlang_odbc_javac = self.erlangR18_odbc_javac; rebar = callPackage ../development/tools/build-managers/rebar { }; rebar3-open = callPackage ../development/tools/build-managers/rebar3 { hermeticRebar3 = false; }; @@ -5296,7 +5296,7 @@ in guile_2_0 = callPackage ../development/interpreters/guile { }; - guile = guile_2_0; + guile = self.guile_2_0; hadoop = callPackage ../applications/networking/cluster/hadoop { }; @@ -5324,7 +5324,7 @@ in love_0_8 = callPackage ../development/interpreters/love/0.8.nix { lua=lua5_1; }; love_0_9 = callPackage ../development/interpreters/love/0.9.nix { }; love_0_10 = callPackage ../development/interpreters/love/0.10.nix { }; - love = love_0_10; + love = self.love_0_10; ### LUA MODULES @@ -5339,22 +5339,22 @@ in lua5_3_compat = callPackage ../development/interpreters/lua-5/5.3.nix { compat = true; }; - lua5 = lua5_2_compat; - lua = lua5; + lua5 = self.lua5_2_compat; + lua = self.lua5; lua51Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_1; }); lua52Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_2; }); - luaPackages = lua52Packages; + luaPackages = self.lua52Packages; - lua5_1_sockets = lua51Packages.luasocket; + lua5_1_sockets = self.lua51Packages.luasocket; lua5_expat = callPackage ../development/interpreters/lua-5/expat.nix {}; lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix { }; luajit = callPackage ../development/interpreters/luajit {}; - luarocks = luaPackages.luarocks; + luarocks = self.luaPackages.luarocks; toluapp = callPackage ../development/tools/toluapp { lua = lua5_1; # doesn't work with any other :( @@ -5590,7 +5590,7 @@ in version = "2.8"; }; - amdappsdk = amdappsdk28; + amdappsdk = self.amdappsdk28; amdappsdkFull = callPackage ../development/misc/amdapp-sdk { version = "2.8"; @@ -5657,7 +5657,7 @@ in antlr3 = callPackage ../development/tools/parsing/antlr { }; - ant = apacheAnt; + ant = self.apacheAnt; apacheAnt = callPackage ../development/tools/build-managers/apache-ant { }; @@ -5680,7 +5680,7 @@ in autocutsel = callPackage ../tools/X11/autocutsel{ }; - automake = automake115x; + automake = self.automake115x; automake110x = callPackage ../development/tools/misc/automake/automake-1.10.x.nix { }; @@ -5710,7 +5710,7 @@ in bin_replace_string = callPackage ../development/tools/misc/bin_replace_string { }; - binutils = if stdenv.isDarwin then darwin.binutils else binutils-raw; + binutils = if stdenv.isDarwin then self.darwin.binutils else self.binutils-raw; binutils-raw = callPackage ../development/tools/misc/binutils { inherit noSysDirs; }; @@ -5728,7 +5728,7 @@ in bison2 = callPackage ../development/tools/parsing/bison/2.x.nix { }; bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { }; - bison = bison3; + bison = self.bison3; bossa = callPackage ../development/tools/misc/bossa { wxGTK = wxGTK30; @@ -5835,9 +5835,9 @@ in inherit (darwin) ps; }; - cmakeCurses = cmake.override { useNcurses = true; }; + cmakeCurses = self.cmake.override { useNcurses = true; }; - cmakeWithGui = cmakeCurses.override { useQt4 = true; }; + cmakeWithGui = self.cmakeCurses.override { useQt4 = true; }; coccinelle = callPackage ../development/tools/misc/coccinelle { }; @@ -5915,7 +5915,7 @@ in inherit (darwin.apple_sdk.frameworks) CoreServices; }; - doxygen_gui = lowPrio (doxygen.override { inherit qt4; }); + doxygen_gui = lowPrio (self.doxygen.override { inherit qt4; }); drush = callPackage ../development/tools/misc/drush { }; @@ -5974,10 +5974,10 @@ in 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 { }; - gnumake3 = gnumake382; + gnumake3 = self.gnumake382; gnumake40 = callPackage ../development/tools/build-managers/gnumake/4.0 { }; gnumake41 = callPackage ../development/tools/build-managers/gnumake/4.1 { }; - gnumake = gnumake41; + gnumake = self.gnumake41; gob2 = callPackage ../development/tools/misc/gob2 { }; @@ -6050,7 +6050,7 @@ in lemon = callPackage ../development/tools/parsing/lemon { }; - libtool = libtool_2; + libtool = self.libtool_2; libtool_1_5 = callPackage ../development/tools/misc/libtool { }; @@ -6293,7 +6293,7 @@ in inherit (gnu) mig; }; - gdbGuile = lowPrio (gdb.override { inherit guile; }); + gdbGuile = lowPrio (self.gdb.override { inherit guile; }); gdbCross = lowPrio (callPackage ../development/tools/misc/gdb { target = crossSystem; @@ -6384,7 +6384,7 @@ in aspellDicts = recurseIntoAttrs (callPackages ../development/libraries/aspell/dictionaries.nix {}); - aterm = aterm25; + aterm = self.aterm25; aterm25 = callPackage ../development/libraries/aterm/2.5.nix { }; @@ -6421,7 +6421,7 @@ in boost155 = callPackage ../development/libraries/boost/1.55.nix { }; boost159 = callPackage ../development/libraries/boost/1.59.nix { }; boost160 = callPackage ../development/libraries/boost/1.60.nix { }; - boost = boost160; + boost = self.boost160; boost_process = callPackage ../development/libraries/boost-process { }; @@ -6499,7 +6499,7 @@ in clucene_core_1 = callPackage ../development/libraries/clucene-core { }; - clucene_core = clucene_core_1; + clucene_core = self.clucene_core_1; clutter = callPackage ../development/libraries/clutter { }; @@ -6565,22 +6565,22 @@ in # Make bdb5 the default as it is the last release under the custom # bsd-like license - db = db5; - db4 = db48; + db = self.db5; + db4 = self.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; + db5 = self.db53; db53 = callPackage ../development/libraries/db/db-5.3.nix { }; - db6 = db60; + db6 = self.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 = pythonPackages.dbus; + dbus_python = self.pythonPackages.dbus; dbus-sharp-1_0 = callPackage ../development/libraries/dbus-sharp/dbus-sharp-1.0.nix { }; dbus-sharp-2_0 = callPackage ../development/libraries/dbus-sharp { }; @@ -6589,9 +6589,9 @@ in dbus-sharp-glib-2_0 = callPackage ../development/libraries/dbus-sharp-glib { }; # Should we deprecate these? Currently there are many references. - dbus_tools = pkgs.dbus.tools; - dbus_libs = pkgs.dbus.libs; - dbus_daemon = pkgs.dbus.daemon; + dbus_tools = self.dbus.tools; + dbus_libs = self.dbus.libs; + dbus_daemon = self.dbus.daemon; dee = callPackage ../development/libraries/dee { }; @@ -6668,10 +6668,10 @@ in inherit (darwin.apple_sdk.frameworks) Cocoa; }; # Aliases - ffmpeg_0 = ffmpeg_0_10; - ffmpeg_1 = ffmpeg_1_2; - ffmpeg_2 = ffmpeg_2_8; - ffmpeg = ffmpeg_2; + ffmpeg_0 = self.ffmpeg_0_10; + ffmpeg_1 = self.ffmpeg_1_2; + ffmpeg_2 = self.ffmpeg_2_8; + ffmpeg = self.ffmpeg_2; ffmpeg-full = callPackage ../development/libraries/ffmpeg-full { # The following need to be fixed on Darwin @@ -6694,9 +6694,9 @@ in ffms = callPackage ../development/libraries/ffms { }; fftw = callPackage ../development/libraries/fftw { }; - fftwSinglePrec = fftw.override { precision = "single"; }; - fftwFloat = fftwSinglePrec; # the configure option is just an alias - fftwLongDouble = fftw.override { precision = "long-double"; }; + fftwSinglePrec = self.fftw.override { precision = "single"; }; + fftwFloat = self.fftwSinglePrec; # the configure option is just an alias + fftwLongDouble = self.fftw.override { precision = "long-double"; }; filter-audio = callPackage ../development/libraries/filter-audio {}; @@ -6750,7 +6750,7 @@ in funambol = callPackage ../development/libraries/funambol { }; - fam = gamin; + fam = self.gamin; gamin = callPackage ../development/libraries/gamin { }; @@ -6766,7 +6766,7 @@ in gecode_3 = callPackage ../development/libraries/gecode/3.nix { }; gecode_4 = callPackage ../development/libraries/gecode { }; - gecode = gecode_4; + gecode = self.gecode_4; gegl = callPackage ../development/libraries/gegl { }; @@ -6776,7 +6776,7 @@ in geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {}; - geoipWithDatabase = makeOverridable (callPackage ../development/libraries/geoip) { + geoipWithDatabase = self.geoip.override { drvName = "geoip-tools"; geoipDatabase = geolite-legacy; }; @@ -6816,7 +6816,7 @@ in glew = callPackage ../development/libraries/glew { }; glew110 = callPackage ../development/libraries/glew/1.10.nix { }; - glfw = glfw3; + glfw = self.glfw3; glfw2 = callPackage ../development/libraries/glfw/2.x.nix { }; glfw3 = callPackage ../development/libraries/glfw/3.x.nix { }; @@ -6876,7 +6876,7 @@ in gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { }; # required by older GHC versions gmp5 = callPackage ../development/libraries/gmp/5.1.x.nix { }; gmp6 = callPackage ../development/libraries/gmp/6.x.nix { }; - gmp = gmp5; + gmp = self.gmp5; gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; }); #GMP ex-satellite, so better keep it near gmp @@ -6952,7 +6952,7 @@ in gnu-efi = callPackage ../development/libraries/gnu-efi { }; - gnutls = gnutls34; + gnutls = self.gnutls34; gnutls33 = callPackage ../development/libraries/gnutls/3.3.nix { guileBindings = config.gnutls.guile or false; @@ -6994,7 +6994,7 @@ in }; glib = callPackage ../development/libraries/glib { }; - glib-tested = glib.override { # checked version separate to break cycles + glib-tested = self.glib.override { # checked version separate to break cycles doCheck = true; libffi = libffi.override { doCheck = true; }; }; @@ -7034,7 +7034,7 @@ in gtk3 = callPackage ../development/libraries/gtk+/3.x.nix { }; - gtk = pkgs.gtk2; + gtk = self.gtk2; gtkmm = callPackage ../development/libraries/gtkmm/2.x.nix { }; gtkmm3 = callPackage ../development/libraries/gtkmm/3.x.nix { }; @@ -7055,7 +7055,7 @@ in libgnomeprintui GConf gnomepanel; }; - gtk-sharp = gtk-sharp-2_0; + gtk-sharp = self.gtk-sharp-2_0; gtk-sharp-beans = callPackage ../development/libraries/gtk-sharp-beans { }; @@ -7075,10 +7075,10 @@ in # TODO : Let admin choose. # We are using mit-krb5 because it is better maintained - kerberos = libkrb5; + kerberos = self.libkrb5; heimdalFull = callPackage ../development/libraries/kerberos/heimdal.nix { }; - libheimdal = heimdalFull.override { type = "lib"; }; + libheimdal = self.heimdalFull.override { type = "lib"; }; harfbuzz = callPackage ../development/libraries/harfbuzz { }; harfbuzz-icu = callPackage ../development/libraries/harfbuzz { @@ -7090,7 +7090,7 @@ in herqq = callPackage ../development/libraries/herqq { }; - heyefi = haskellPackages.heyefi; + heyefi = self.haskellPackages.heyefi; hidapi = callPackage ../development/libraries/hidapi { libusb = libusb1; @@ -7221,11 +7221,11 @@ in krb5Full = callPackage ../development/libraries/kerberos/krb5.nix { inherit (darwin) bootstrap_cmds; }; - libkrb5 = krb5Full.override { type = "lib"; }; + libkrb5 = self.krb5Full.override { type = "lib"; }; LASzip = callPackage ../development/libraries/LASzip { }; - lcms = lcms1; + lcms = self.lcms1; lcms1 = callPackage ../development/libraries/lcms { }; @@ -7287,9 +7287,8 @@ in libaudclient = callPackage ../development/libraries/libaudclient { }; - libav = libav_11; # branch 11 is API-compatible with branch 10 - libav_all = callPackage ../development/libraries/libav { }; - inherit (libav_all) libav_0_8 libav_11; + libav = self.libav_11; # branch 11 is API-compatible with branch 10 + inherit (callPackages ../development/libraries/libav { }) libav_0_8 libav_11; libavc1394 = callPackage ../development/libraries/libavc1394 { }; @@ -7308,10 +7307,10 @@ in libcaca = callPackage ../development/libraries/libcaca { }; libcanberra = callPackage ../development/libraries/libcanberra { }; - libcanberra_gtk3 = libcanberra.override { gtk = gtk3; }; + libcanberra_gtk3 = self.libcanberra.override { gtk = gtk3; }; libcanberra_kde = if (config.kde_runtime.libcanberraWithoutGTK or true) - then libcanberra.override { gtk = null; } - else libcanberra; + then self.libcanberra.override { gtk = null; } + else self.libcanberra; libcec = callPackage ../development/libraries/libcec { }; libcec_platform = callPackage ../development/libraries/libcec/platform.nix { }; @@ -7386,7 +7385,7 @@ in sqlite = null; }; - libdbiDrivers = libdbiDriversBase.override { + libdbiDrivers = self.libdbiDriversBase.override { inherit sqlite libmysql; }; @@ -7404,7 +7403,7 @@ in inherit (darwin.apple_sdk.frameworks) OpenGL; }; - libdevil-nox = libdevil.override { + libdevil-nox = self.libdevil.override { libX11 = null; mesa = null; }; @@ -7501,7 +7500,7 @@ in liblo = callPackage ../development/libraries/liblo { }; - liblrdf = librdf; + liblrdf = self.librdf; liblscp = callPackage ../development/libraries/liblscp { }; @@ -7702,7 +7701,7 @@ in 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 + libjpeg = if stdenv.isLinux then self.libjpeg_turbo else self.libjpeg_original; # some problems, both on FreeBSD and Darwin libjpeg62 = callPackage ../development/libraries/libjpeg/62.nix { libtool = libtool_1_5; @@ -7768,7 +7767,7 @@ in libmusicbrainz5 = callPackage ../development/libraries/libmusicbrainz/5.x.nix { }; - libmusicbrainz = libmusicbrainz3; + libmusicbrainz = self.libmusicbrainz3; libmwaw = callPackage ../development/libraries/libmwaw { }; @@ -7835,7 +7834,7 @@ in libpgf = callPackage ../development/libraries/libpgf { }; libpng = callPackage ../development/libraries/libpng { }; - libpng_apng = libpng.override { apngSupport = true; }; + libpng_apng = self.libpng.override { apngSupport = true; }; libpng12 = callPackage ../development/libraries/libpng/12.nix { }; libpaper = callPackage ../development/libraries/libpaper { }; @@ -7956,7 +7955,7 @@ in libupnp = callPackage ../development/libraries/pupnp { }; - giflib = giflib_5_1; + giflib = self.giflib_5_1; giflib_4_1 = callPackage ../development/libraries/giflib/4.1.nix { }; giflib_5_0 = callPackage ../development/libraries/giflib/5.0.nix { }; giflib_5_1 = callPackage ../development/libraries/giflib/5.1.nix { }; @@ -7989,9 +7988,9 @@ in inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices; }); - libuv = libuvVersions.v1_7_5; + libuv = self.libuvVersions.v1_7_5; - libv4l = lowPrio (v4l_utils.override { + libv4l = lowPrio (self.v4l_utils.override { alsaLib = null; libX11 = null; qt4 = null; @@ -8027,7 +8026,7 @@ in libwmf = callPackage ../development/libraries/libwmf { }; - libwnck = libwnck2; + libwnck = self.libwnck2; libwnck2 = callPackage ../development/libraries/libwnck { }; libwnck3 = callPackage ../development/libraries/libwnck/3.x.nix { }; @@ -8055,7 +8054,7 @@ in pythonSupport = false; }; - libxml2Python = lowPrio (libxml2.override { + libxml2Python = lowPrio (self.libxml2.override { pythonSupport = true; }); @@ -8245,7 +8244,7 @@ in newt = callPackage ../development/libraries/newt { }; nghttp2 = callPackage ../development/libraries/nghttp2 { }; - libnghttp2 = nghttp2.override { + libnghttp2 = self.nghttp2.override { prefix = "lib"; fetchurl = fetchurlBoot; }; @@ -8343,7 +8342,7 @@ in openslp = callPackage ../development/libraries/openslp {}; # 2.3 breaks some backward-compability - libressl = libressl_2_2; + libressl = self.libressl_2_2; libressl_2_2 = callPackage ../development/libraries/libressl/2.2.nix { fetchurl = fetchurlBoot; }; @@ -8499,7 +8498,7 @@ in libpng = libpng12; }; - qt4 = pkgs.kde4.qt4; + qt4 = self.kde4.qt4; qt48 = callPackage ../development/libraries/qt-4.x/4.8 { # GNOME dependencies are not used unless gtkStyle == true @@ -8526,7 +8525,7 @@ in let imported = import ../development/libraries/qt-5/5.5 { inherit pkgs; }; in recurseIntoAttrs (imported.override (super: qt5LibsFun)); - qt5 = qt54; + qt5 = self.qt54; qt5LibsFun = self: with self; { @@ -9485,7 +9484,7 @@ in rdf4store = callPackage ../servers/http/4store { }; - apacheHttpd = pkgs.apacheHttpd_2_4; + apacheHttpd = self.apacheHttpd_2_4; apacheHttpd_2_2 = callPackage ../servers/http/apache-httpd/2.2.nix { sslSupport = true; @@ -9525,7 +9524,7 @@ in cassandra_1_2 = callPackage ../servers/nosql/cassandra/1.2.nix { }; cassandra_2_0 = callPackage ../servers/nosql/cassandra/2.0.nix { }; cassandra_2_1 = callPackage ../servers/nosql/cassandra/2.1.nix { }; - cassandra = cassandra_2_1; + cassandra = self.cassandra_2_1; apache-jena = callPackage ../servers/nosql/apache-jena/binary.nix { java = jdk; @@ -9535,7 +9534,7 @@ in java = jdk; }; - fuseki = apache-jena-fuseki; + fuseki = self.apache-jena-fuseki; apcupsd = callPackage ../servers/apcupsd { }; @@ -10085,17 +10084,13 @@ in microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { }; - apparmor = callPackage ../os-specific/linux/apparmor { swig = swig2; }; - libapparmor = apparmor.libapparmor; - apparmor-pam = apparmor.apparmor-pam; - apparmor-parser = apparmor.apparmor-parser; - apparmor-profiles = apparmor.apparmor-profiles; - apparmor-utils = apparmor.apparmor-utils; + inherit (callPackages ../os-specific/linux/apparmor { swig = swig2; }) + libapparmor apparmor-pam apparmor-parser apparmor-profiles apparmor-utils; atop = callPackage ../os-specific/linux/atop { }; audit = callPackage ../os-specific/linux/audit { }; - libaudit = audit; + libaudit = self.audit; b43Firmware_5_1_138 = callPackage ../os-specific/linux/firmware/b43-firmware/5.1.138.nix { }; @@ -10114,7 +10109,7 @@ in # Needed for LibreOffice bluez5_28 = lowPrio (callPackage ../os-specific/linux/bluez/bluez5_28.nix { }); - bluez = bluez5; + bluez = self.bluez5; inherit (pythonPackages) bedup; @@ -10198,7 +10193,7 @@ in inherit (darwin) libobjc; }; - devicemapper = lvm2; + devicemapper = self.lvm2; disk_indicator = callPackage ../os-specific/linux/disk-indicator { }; @@ -10251,7 +10246,7 @@ in ebtables = callPackage ../os-specific/linux/ebtables { }; - eject = utillinux; + eject = self.utillinux; facetimehd-firmware = callPackage ../os-specific/linux/firmware/facetimehd-firmware { }; @@ -10262,7 +10257,7 @@ in fatrace = callPackage ../os-specific/linux/fatrace { }; ffadoFull = callPackage ../os-specific/linux/ffado { }; - libffado = ffadoFull.override { prefix = "lib"; }; + libffado = self.ffadoFull.override { prefix = "lib"; }; fbterm = callPackage ../os-specific/linux/fbterm { }; @@ -10286,7 +10281,7 @@ in ncurses = null; # Keep curses disabled for lack of value }; - gpm-ncurses = gpm.override { inherit ncurses; }; + gpm-ncurses = self.gpm.override { inherit ncurses; }; gradm = callPackage ../os-specific/linux/gradm { flex = flex_2_5_35; @@ -10366,7 +10361,7 @@ in # -- Linux kernel expressions ------------------------------------------------ - linuxHeaders = linuxHeaders_3_18; + linuxHeaders = self.linuxHeaders_3_18; linuxHeaders24Cross = forceNativeDrv (callPackage ../os-specific/linux/kernel-headers/2.4.nix { cross = assert crossSystem != null; crossSystem; @@ -10379,12 +10374,12 @@ in linuxHeaders_3_18 = callPackage ../os-specific/linux/kernel-headers/3.18.nix { }; # We can choose: - linuxHeadersCrossChooser = ver : if ver == "2.4" then linuxHeaders24Cross - else if ver == "2.6" then linuxHeaders26Cross + linuxHeadersCrossChooser = ver : if ver == "2.4" then self.linuxHeaders24Cross + else if ver == "2.6" then self.linuxHeaders26Cross else throw "Unknown linux kernel version"; linuxHeadersCross = assert crossSystem != null; - linuxHeadersCrossChooser crossSystem.platform.kernelMajor; + self.linuxHeadersCrossChooser crossSystem.platform.kernelMajor; kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { }; @@ -10497,7 +10492,7 @@ in ]; }; - linux_chromiumos_latest = linux_chromiumos_3_18; + linux_chromiumos_latest = self.linux_chromiumos_3_18; /* grsec configuration @@ -10548,36 +10543,36 @@ in grsecOptions = { kernelPatch = patch; } // opts; }); - grKernel = patch: opts: (mkGrsecurity patch opts).grsecKernel; - grPackage = patch: opts: recurseIntoAttrs (mkGrsecurity patch opts).grsecPackage; + grKernel = patch: opts: (self.mkGrsecurity patch opts).grsecKernel; + grPackage = patch: opts: recurseIntoAttrs (self.mkGrsecurity patch opts).grsecPackage; # grsecurity kernels (see also linuxPackages_grsec_*) - linux_grsec_desktop_3_14 = grKernel kernelPatches.grsecurity_3_14 grFlavors.desktop; - linux_grsec_server_3_14 = grKernel kernelPatches.grsecurity_3_14 grFlavors.server; - linux_grsec_server_xen_3_14 = grKernel kernelPatches.grsecurity_3_14 grFlavors.server_xen; + linux_grsec_desktop_3_14 = self.grKernel kernelPatches.grsecurity_3_14 self.grFlavors.desktop; + linux_grsec_server_3_14 = self.grKernel kernelPatches.grsecurity_3_14 self.grFlavors.server; + linux_grsec_server_xen_3_14 = self.grKernel kernelPatches.grsecurity_3_14 self.grFlavors.server_xen; - linux_grsec_desktop_4_1 = grKernel kernelPatches.grsecurity_4_1 grFlavors.desktop; - linux_grsec_server_4_1 = grKernel kernelPatches.grsecurity_4_1 grFlavors.server; - linux_grsec_server_xen_4_1 = grKernel kernelPatches.grsecurity_4_1 grFlavors.server_xen; + linux_grsec_desktop_4_1 = self.grKernel kernelPatches.grsecurity_4_1 self.grFlavors.desktop; + linux_grsec_server_4_1 = self.grKernel kernelPatches.grsecurity_4_1 self.grFlavors.server; + linux_grsec_server_xen_4_1 = self.grKernel kernelPatches.grsecurity_4_1 self.grFlavors.server_xen; - linux_grsec_desktop_4_4 = grKernel kernelPatches.grsecurity_4_4 grFlavors.desktop; - linux_grsec_server_4_4 = grKernel kernelPatches.grsecurity_4_4 grFlavors.server; - linux_grsec_server_xen_4_4 = grKernel kernelPatches.grsecurity_4_4 grFlavors.server_xen; + linux_grsec_desktop_4_4 = self.grKernel kernelPatches.grsecurity_4_4 self.grFlavors.desktop; + linux_grsec_server_4_4 = self.grKernel kernelPatches.grsecurity_4_4 self.grFlavors.server; + linux_grsec_server_xen_4_4 = self.grKernel kernelPatches.grsecurity_4_4 self.grFlavors.server_xen; - linux_grsec_desktop_latest = grKernel kernelPatches.grsecurity_latest grFlavors.desktop; - linux_grsec_server_latest = grKernel kernelPatches.grsecurity_latest grFlavors.server; - linux_grsec_server_xen_latest = grKernel kernelPatches.grsecurity_latest grFlavors.server_xen; + linux_grsec_desktop_latest = self.grKernel kernelPatches.grsecurity_latest self.grFlavors.desktop; + linux_grsec_server_latest = self.grKernel kernelPatches.grsecurity_latest self.grFlavors.server; + linux_grsec_server_xen_latest = self.grKernel kernelPatches.grsecurity_latest self.grFlavors.server_xen; # grsecurity: old names - linux_grsec_testing_desktop = linux_grsec_desktop_latest; - linux_grsec_testing_server = linux_grsec_server_latest; - linux_grsec_testing_server_xen = linux_grsec_server_xen_latest; + linux_grsec_testing_desktop = self.linux_grsec_desktop_latest; + linux_grsec_testing_server = self.linux_grsec_server_latest; + linux_grsec_testing_server_xen = self.linux_grsec_server_xen_latest; - linux_grsec_stable_desktop = linux_grsec_desktop_3_14; - linux_grsec_stable_server = linux_grsec_server_3_14; - linux_grsec_stable_server_xen = linux_grsec_server_xen_3_14; + linux_grsec_stable_desktop = self.linux_grsec_desktop_3_14; + linux_grsec_stable_server = self.linux_grsec_server_3_14; + linux_grsec_stable_server_xen = self.linux_grsec_server_xen_3_14; /* Linux kernel modules are inherently tied to a specific kernel. So rather than provide specific instances of those packages for a @@ -10697,67 +10692,67 @@ in }; # The current default kernel / kernel modules. - linuxPackages = linuxPackages_4_4; - linux = linuxPackages.kernel; + linuxPackages = self.linuxPackages_4_4; + linux = self.linuxPackages.kernel; # Update this when adding the newest kernel major version! - linuxPackages_latest = pkgs.linuxPackages_4_5; - linux_latest = linuxPackages_latest.kernel; + linuxPackages_latest = self.linuxPackages_4_5; + linux_latest = self.linuxPackages_latest.kernel; # Build the kernel modules for the some of the kernels. - linuxPackages_mptcp = linuxPackagesFor pkgs.linux_mptcp linuxPackages_mptcp; - linuxPackages_rpi = linuxPackagesFor pkgs.linux_rpi linuxPackages_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_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_18 linuxPackages_3_18); - linuxPackages_4_1 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_1 linuxPackages_4_1); - linuxPackages_4_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_3 linuxPackages_4_3); - linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4 linuxPackages_4_4); - linuxPackages_4_5 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_5 linuxPackages_4_5); - linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing); + linuxPackages_mptcp = self.linuxPackagesFor self.linux_mptcp linuxPackages_mptcp; + linuxPackages_rpi = self.linuxPackagesFor self.linux_rpi linuxPackages_rpi; + linuxPackages_3_10 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_10 linuxPackages_3_10); + linuxPackages_3_10_tuxonice = self.linuxPackagesFor self.linux_3_10_tuxonice linuxPackages_3_10_tuxonice; + linuxPackages_3_12 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_12 linuxPackages_3_12); + linuxPackages_3_14 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_14 linuxPackages_3_14); + linuxPackages_3_18 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_18 linuxPackages_3_18); + linuxPackages_4_1 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_1 linuxPackages_4_1); + linuxPackages_4_3 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_3 linuxPackages_4_3); + linuxPackages_4_4 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_4 linuxPackages_4_4); + linuxPackages_4_5 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_5 linuxPackages_4_5); + linuxPackages_testing = recurseIntoAttrs (self.linuxPackagesFor self.linux_testing linuxPackages_testing); linuxPackages_custom = {version, src, configfile}: - let linuxPackages_self = (linuxPackagesFor (pkgs.linuxManualConfig {inherit version src configfile; - allowImportFromDerivation=true;}) + let linuxPackages_self = (self.linuxPackagesFor (self.linuxManualConfig {inherit version src configfile; + allowImportFromDerivation=true;}) linuxPackages_self); in recurseIntoAttrs linuxPackages_self; # Build a kernel for Xen dom0 - linuxPackages_latest_xen_dom0 = recurseIntoAttrs (linuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; }) linuxPackages_latest); + linuxPackages_latest_xen_dom0 = recurseIntoAttrs (self.linuxPackagesFor (self.linux_latest.override { features.xen_dom0=true; }) linuxPackages_latest); # grsecurity packages - linuxPackages_grsec_desktop_3_14 = grPackage kernelPatches.grsecurity_3_14 grFlavors.desktop; - linuxPackages_grsec_server_3_14 = grPackage kernelPatches.grsecurity_3_14 grFlavors.server; - linuxPackages_grsec_server_xen_3_14 = grPackage kernelPatches.grsecurity_3_14 grFlavors.server_xen; + linuxPackages_grsec_desktop_3_14 = self.grPackage kernelPatches.grsecurity_3_14 self.grFlavors.desktop; + linuxPackages_grsec_server_3_14 = self.grPackage kernelPatches.grsecurity_3_14 self.grFlavors.server; + linuxPackages_grsec_server_xen_3_14 = self.grPackage kernelPatches.grsecurity_3_14 self.grFlavors.server_xen; - linuxPackages_grsec_desktop_4_1 = grPackage kernelPatches.grsecurity_4_1 grFlavors.desktop; - linuxPackages_grsec_server_4_1 = grPackage kernelPatches.grsecurity_4_1 grFlavors.server; - linuxPackages_grsec_server_xen_4_1 = grPackage kernelPatches.grsecurity_4_1 grFlavors.server_xen; + linuxPackages_grsec_desktop_4_1 = self.grPackage kernelPatches.grsecurity_4_1 self.grFlavors.desktop; + linuxPackages_grsec_server_4_1 = self.grPackage kernelPatches.grsecurity_4_1 self.grFlavors.server; + linuxPackages_grsec_server_xen_4_1 = self.grPackage kernelPatches.grsecurity_4_1 self.grFlavors.server_xen; - linuxPackages_grsec_desktop_4_4 = grPackage kernelPatches.grsecurity_4_4 grFlavors.desktop; - linuxPackages_grsec_server_4_4 = grPackage kernelPatches.grsecurity_4_4 grFlavors.server; - linuxPackages_grsec_server_xen_4_4 = grPackage kernelPatches.grsecurity_4_4 grFlavors.server_xen; + linuxPackages_grsec_desktop_4_4 = self.grPackage kernelPatches.grsecurity_4_4 self.grFlavors.desktop; + linuxPackages_grsec_server_4_4 = self.grPackage kernelPatches.grsecurity_4_4 self.grFlavors.server; + linuxPackages_grsec_server_xen_4_4 = self.grPackage kernelPatches.grsecurity_4_4 self.grFlavors.server_xen; - linuxPackages_grsec_desktop_latest = grPackage kernelPatches.grsecurity_latest grFlavors.desktop; - linuxPackages_grsec_server_latest = grPackage kernelPatches.grsecurity_latest grFlavors.server; - linuxPackages_grsec_server_xen_latest = grPackage kernelPatches.grsecurity_latest grFlavors.server_xen; + linuxPackages_grsec_desktop_latest = self.grPackage kernelPatches.grsecurity_latest self.grFlavors.desktop; + linuxPackages_grsec_server_latest = self.grPackage kernelPatches.grsecurity_latest self.grFlavors.server; + linuxPackages_grsec_server_xen_latest = self.grPackage kernelPatches.grsecurity_latest self.grFlavors.server_xen; # grsecurity: old names - linuxPackages_grsec_testing_desktop = linuxPackages_grsec_desktop_latest; - linuxPackages_grsec_testing_server = linuxPackages_grsec_server_latest; - linuxPackages_grsec_testing_server_xen = linuxPackages_grsec_server_xen_latest; + linuxPackages_grsec_testing_desktop = self.linuxPackages_grsec_desktop_latest; + linuxPackages_grsec_testing_server = self.linuxPackages_grsec_server_latest; + linuxPackages_grsec_testing_server_xen = self.linuxPackages_grsec_server_xen_latest; - linuxPackages_grsec_stable_desktop = linuxPackages_grsec_desktop_3_14; - linuxPackages_grsec_stable_server = linuxPackages_grsec_server_3_14; - linuxPackages_grsec_stable_server_xen = linuxPackages_grsec_server_xen_3_14; + linuxPackages_grsec_stable_desktop = self.linuxPackages_grsec_desktop_3_14; + linuxPackages_grsec_stable_server = self.linuxPackages_grsec_server_3_14; + linuxPackages_grsec_stable_server_xen = self.linuxPackages_grsec_server_xen_3_14; # ChromiumOS kernels - linuxPackages_chromiumos_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_chromiumos_3_14 linuxPackages_chromiumos_3_14); - linuxPackages_chromiumos_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_chromiumos_3_18 linuxPackages_chromiumos_3_18); - linuxPackages_chromiumos_latest = recurseIntoAttrs (linuxPackagesFor pkgs.linux_chromiumos_latest linuxPackages_chromiumos_latest); + linuxPackages_chromiumos_3_14 = recurseIntoAttrs (self.linuxPackagesFor self.linux_chromiumos_3_14 linuxPackages_chromiumos_3_14); + linuxPackages_chromiumos_3_18 = recurseIntoAttrs (self.linuxPackagesFor self.linux_chromiumos_3_18 linuxPackages_chromiumos_3_18); + linuxPackages_chromiumos_latest = recurseIntoAttrs (self.linuxPackagesFor self.linux_chromiumos_latest linuxPackages_chromiumos_latest); # A function to build a manually-configured kernel linuxManualConfig = pkgs.buildLinux; @@ -10999,8 +10994,8 @@ in }; # Provided with sysfsutils. - libsysfs = sysfsutils; - systool = sysfsutils; + libsysfs = self.sysfsutils; + systool = self.sysfsutils; sysklogd = callPackage ../os-specific/linux/sysklogd { }; @@ -11256,9 +11251,9 @@ in docbook_xsl docbook_xsl_ns; - docbook_xml_xslt = docbook_xsl; + docbook_xml_xslt = self.docbook_xsl; - docbook5_xsl = docbook_xsl_ns; + docbook5_xsl = self.docbook_xsl_ns; dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { }; @@ -11320,7 +11315,7 @@ in liberation_ttf_from_source = callPackage ../data/fonts/redhat-liberation-fonts { }; liberation_ttf_binary = callPackage ../data/fonts/redhat-liberation-fonts/binary.nix { }; - liberation_ttf = liberation_ttf_binary; + liberation_ttf = self.liberation_ttf_binary; libertine = callPackage ../data/fonts/libertine { }; @@ -11559,7 +11554,7 @@ in antiword = callPackage ../applications/office/antiword {}; - ardour = ardour4; + ardour = self.ardour4; ardour3 = callPackage ../applications/audio/ardour/ardour3.nix { inherit (gnome) libgnomecanvas libgnomecanvasmm; @@ -11598,8 +11593,8 @@ in altcoins = recurseIntoAttrs ( callPackage ../applications/altcoins { callPackage = newScope { boost = boost155; }; } ); - bitcoin = altcoins.bitcoin; - bitcoin-xt = altcoins.bitcoin-xt; + bitcoin = self.altcoins.bitcoin; + bitcoin-xt = self.altcoins.bitcoin-xt; aumix = callPackage ../applications/audio/aumix { gtkGUI = false; @@ -11631,7 +11626,7 @@ in cairo = cairo.override { xcbSupport = true; }; luaPackages = luaPackages.override { inherit lua; }; }; - awesome = awesome-3-5; + awesome = self.awesome-3-5; awesomebump = qt5.callPackage ../applications/graphics/awesomebump { }; @@ -11641,7 +11636,7 @@ in backintime-qt4 = callPackage ../applications/networking/sync/backintime/qt4.nix { }; - backintime = backintime-qt4; + backintime = self.backintime-qt4; bandwidth = callPackage ../tools/misc/bandwidth { }; @@ -11747,7 +11742,7 @@ in cddiscid = callPackage ../applications/audio/cd-discid { }; - cdparanoia = cdparanoiaIII; + cdparanoia = self.cdparanoiaIII; cdparanoiaIII = callPackage ../applications/audio/cdparanoia { inherit (darwin) IOKit; @@ -11782,9 +11777,9 @@ in chronos = callPackage ../applications/networking/cluster/chronos { }; - chromiumBeta = lowPrio (chromium.override { channel = "beta"; }); + chromiumBeta = lowPrio (self.chromium.override { channel = "beta"; }); - chromiumDev = lowPrio (chromium.override { channel = "dev"; }); + chromiumDev = lowPrio (self.chromium.override { channel = "dev"; }); chuck = callPackage ../applications/audio/chuck { }; @@ -11842,7 +11837,7 @@ in comical = callPackage ../applications/graphics/comical { }; conkeror-unwrapped = callPackage ../applications/networking/browsers/conkeror { }; - conkeror = wrapFirefox conkeror-unwrapped { }; + conkeror = self.wrapFirefox conkeror-unwrapped { }; csdp = callPackage ../applications/science/math/csdp { liblapack = liblapackWithoutAtlas; @@ -11873,7 +11868,7 @@ in d4x = callPackage ../applications/misc/d4x { }; - darcs = haskell.lib.overrideCabal haskellPackages.darcs (drv: { + darcs = haskell.lib.overrideCabal self.haskellPackages.darcs (drv: { configureFlags = (stdenv.lib.remove "-flibrary" drv.configureFlags or []) ++ ["-f-library"]; enableSharedExecutables = false; enableSharedLibraries = false; @@ -11922,7 +11917,7 @@ in djvu2pdf = callPackage ../tools/typesetting/djvu2pdf { }; djview = callPackage ../applications/graphics/djview { }; - djview4 = pkgs.djview; + djview4 = self.djview; dmenu = callPackage ../applications/misc/dmenu { }; @@ -11930,10 +11925,9 @@ in dmenu2 = callPackage ../applications/misc/dmenu2 { }; - dmtx = dmtx-utils; + dmtx = self.dmtx-utils; - dmtx-utils = callPackage (callPackage ../tools/graphics/dmtx-utils) { - }; + dmtx-utils = callPackage ../tools/graphics/dmtx-utils { }; docker = callPackage ../applications/virtualization/docker { btrfs-progs = btrfs-progs_4_4_1; @@ -11985,10 +11979,10 @@ in elvis = callPackage ../applications/editors/elvis { }; - emacs = emacs24; - emacsPackages = emacs24Packages; - emacsPackagesNg = emacs24PackagesNg; - emacsMelpa = emacs24PackagesNg; # for backward compatibility + emacs = self.emacs24; + emacsPackages = self.emacs24Packages; + emacsPackagesNg = self.emacs24PackagesNg; + emacsMelpa = self.emacs24PackagesNg; # for backward compatibility emacs24 = callPackage ../applications/editors/emacs-24 { # use override to enable additional features @@ -12002,7 +11996,7 @@ in inherit (darwin.apple_sdk.frameworks) AppKit CoreWLAN GSS Kerberos ImageIO; }; - emacs24-nox = lowPrio (appendToName "nox" (emacs24.override { + emacs24-nox = lowPrio (appendToName "nox" (self.emacs24.override { withX = false; withGTK2 = false; withGTK3 = false; @@ -12371,15 +12365,15 @@ in enableGTK3 = false; }) firefox-unwrapped firefox-esr-unwrapped; - firefox = wrapFirefox firefox-unwrapped { }; - firefox-esr = wrapFirefox firefox-esr-unwrapped { }; + firefox = self.wrapFirefox firefox-unwrapped { }; + firefox-esr = self.wrapFirefox firefox-esr-unwrapped { }; firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin { gconf = pkgs.gnome.GConf; inherit (pkgs.gnome) libgnome libgnomeui; }; - firefox-bin = wrapFirefox firefox-bin-unwrapped { + firefox-bin = self.wrapFirefox firefox-bin-unwrapped { browserName = "firefox"; name = "firefox-bin-" + (builtins.parseDrvName firefox-bin-unwrapped.name).version; @@ -12396,9 +12390,9 @@ in debug = config.flashplayer.debug or false; }; - flashplayer-standalone = pkgsi686Linux.flashplayer.sa; + flashplayer-standalone = self.pkgsi686Linux.flashplayer.sa; - flashplayer-standalone-debugger = (pkgsi686Linux.flashplayer.override { debug = true; }).sa; + flashplayer-standalone-debugger = (self.pkgsi686Linux.flashplayer.override { debug = true; }).sa; fluxbox = callPackage ../applications/window-managers/fluxbox { }; @@ -12448,7 +12442,7 @@ in wrapPython = pythonPackages.wrapPython; }; - gimp = gimp_2_8; + gimp = self.gimp_2_8; gimp-with-plugins = callPackage ../applications/graphics/gimp/wrapper.nix { gimp = gimp_2_8; @@ -12459,7 +12453,7 @@ in gitAndTools = recurseIntoAttrs (callPackage ../applications/version-management/git-and-tools {}); - inherit (gitAndTools) git gitFull gitSVN git-cola svn2git git-radar transcrypt git-crypt; + inherit (self.gitAndTools) git gitFull gitSVN git-cola svn2git git-radar transcrypt git-crypt; gitMinimal = git.override { withManual = false; @@ -12597,9 +12591,9 @@ in google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome.GConf; }; - google-chrome-beta = google-chrome.override { channel = "beta"; }; + google-chrome-beta = self.google-chrome.override { channel = "beta"; }; - google-chrome-dev = google-chrome.override { channel = "dev"; }; + google-chrome-dev = self.google-chrome.override { channel = "dev"; }; googleearth = callPackage_i686 ../applications/misc/googleearth { }; @@ -12727,7 +12721,7 @@ in inherit (perlPackages.override { pkgs = pkgs // { imagemagick = imagemagickBig;}; }) PerlMagick; }; - imagemagick_light = imagemagick.override { + imagemagick_light = self.imagemagick.override { bzip2 = null; zlib = null; libX11 = null; @@ -12745,7 +12739,7 @@ in libxml2 = null; }; - imagemagick = imagemagickBig.override { + imagemagick = self.imagemagickBig.override { ghostscript = null; }; @@ -12801,7 +12795,7 @@ in jackmeter = callPackage ../applications/audio/jackmeter { }; jackmix = callPackage ../applications/audio/jackmix { }; - jackmix_jack1 = jackmix.override { jack = jack1; }; + jackmix_jack1 = self.jackmix.override { jack = jack1; }; jalv = callPackage ../applications/audio/jalv { }; @@ -12912,7 +12906,7 @@ in libowfat = callPackage ../development/libraries/libowfat { }; librecad = callPackage ../applications/misc/librecad { }; - librecad2 = librecad; # backwards compatibility alias, added 2015-10 + librecad2 = self.librecad; # backwards compatibility alias, added 2015-10 libreoffice = callPackage ../applications/office/libreoffice { inherit (perlPackages) ArchiveZip CompressZlib; @@ -12945,7 +12939,7 @@ in ledger3 = callPackage ../applications/office/ledger { boost = boost155; }; - ledger = ledger3; + ledger = self.ledger3; lighttable = callPackage ../applications/editors/lighttable {}; @@ -13750,7 +13744,7 @@ in sxiv = callPackage ../applications/graphics/sxiv { }; - bittorrentSync = bittorrentSync14; + bittorrentSync = self.bittorrentSync14; bittorrentSync14 = callPackage ../applications/networking/bittorrentsync/1.4.x.nix { }; bittorrentSync20 = callPackage ../applications/networking/bittorrentsync/2.0.x.nix { }; @@ -13765,7 +13759,7 @@ in withQt5 = false; }; - lightdm_qt = lightdm.override { withQt5 = true; }; + lightdm_qt = self.lightdm.override { withQt5 = true; }; lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm-gtk-greeter { }; @@ -14332,23 +14326,23 @@ in }; kodiPlain = callPackage ../applications/video/kodi { }; - xbmcPlain = kodiPlain; + xbmcPlain = self.kodiPlain; kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix { kodi = kodiPlain; }); - xbmcPlugins = kodiPlugins; + xbmcPlugins = self.kodiPlugins; - kodi = wrapKodi { + kodi = self.wrapKodi { kodi = kodiPlain; }; - xbmc = kodi; + xbmc = self.kodi; kodi-retroarch-advanced-launchers = callPackage ../misc/emulators/retroarch/kodi-advanced-launchers.nix { cores = retroArchCores; }; - xbmc-retroarch-advanced-launchers = kodi-retroarch-advanced-launchers; + xbmc-retroarch-advanced-launchers = self.kodi-retroarch-advanced-launchers; xca = callPackage ../applications/misc/xca { }; @@ -14640,16 +14634,16 @@ in freeglut = null; }); - construo = construoBase.override { + construo = self.construoBase.override { inherit mesa freeglut; }; crack_attack = callPackage ../games/crack-attack { }; crafty = callPackage ../games/crafty { }; - craftyFull = appendToName "full" (crafty.override { fullVariant = true; }); + craftyFull = appendToName "full" (self.crafty.override { fullVariant = true; }); - crawlTiles = crawl.override { + crawlTiles = self.crawl.override { tileMode = true; }; @@ -14666,10 +14660,8 @@ in duckmarines = callPackage ../games/duckmarines { love = love_0_9; }; dwarf-fortress-packages = recurseIntoAttrs (callPackage ../games/dwarf-fortress { }); - - dwarf-fortress = dwarf-fortress-packages.dwarf-fortress.override { }; - - dwarf-therapist = dwarf-fortress-packages.dwarf-therapist; + inherit (self.dwarf-fortress-packages) + dwarf-fortress dwarf-therapist; d1x_rebirth = callPackage ../games/d1x-rebirth { }; @@ -15128,15 +15120,15 @@ in gnome3_18 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.18 { }); - gnome3 = gnome3_18; + gnome3 = self.gnome3_18; - gnome = recurseIntoAttrs gnome2; + gnome = recurseIntoAttrs self.gnome2; hsetroot = callPackage ../tools/X11/hsetroot { }; kakasi = callPackage ../tools/text/kakasi { }; - kde4 = recurseIntoAttrs pkgs.kde414; + kde4 = recurseIntoAttrs self.kde414; kde414 = kdePackagesFor @@ -15530,7 +15522,7 @@ in withLapack = false; }; - atlasWithLapack = atlas.override { withLapack = true; }; + atlasWithLapack = self.atlas.override { withLapack = true; }; blas = callPackage ../development/libraries/science/math/blas { }; @@ -15542,11 +15534,11 @@ in # with atlas. Atlas, when built with liblapack as a dependency, uses 3.5.0 # without atlas. Etc. liblapackWithAtlas = callPackage ../development/libraries/science/math/liblapack {}; - liblapackWithoutAtlas = liblapackWithAtlas.override { atlas = null; }; + liblapackWithoutAtlas = self.liblapackWithAtlas.override { atlas = null; }; liblapack_3_5_0WithAtlas = callPackage ../development/libraries/science/math/liblapack/3.5.0.nix {}; - liblapack_3_5_0WithoutAtlas = liblapack_3_5_0WithAtlas.override { atlas = null; }; - liblapack = liblapackWithAtlas; - liblapack_3_5_0 = liblapack_3_5_0WithAtlas; + liblapack_3_5_0WithoutAtlas = self.liblapack_3_5_0WithAtlas.override { atlas = null; }; + liblapack = self.liblapackWithAtlas; + liblapack_3_5_0 = self.liblapack_3_5_0WithAtlas; liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { }; @@ -15816,7 +15808,7 @@ in z3 = callPackage ../applications/science/logic/z3 {}; z3_opt = callPackage ../applications/science/logic/z3_opt {}; - boolector = boolector15; + boolector = self.boolector15; boolector15 = callPackage ../applications/science/logic/boolector {}; boolector16 = lowPrio (callPackage ../applications/science/logic/boolector { useV16 = true; @@ -16013,7 +16005,7 @@ in enableAllFeatures = false; }; - dblatexFull = appendToName "full" (dblatex.override { + dblatexFull = appendToName "full" (self.dblatex.override { enableAllFeatures = true; }); @@ -16029,7 +16021,7 @@ in fakenes = callPackage ../misc/emulators/fakenes { }; - faust = faust2; + faust = self.faust2; faust1 = callPackage ../applications/audio/faust/faust1.nix { }; @@ -16074,7 +16066,7 @@ in cupsSupport = config.ghostscript.cups or (!stdenv.isDarwin); }; - ghostscriptX = appendToName "with-X" (ghostscript.override { + ghostscriptX = appendToName "with-X" (self.ghostscript.override { x11Support = true; }); @@ -16090,11 +16082,11 @@ in hplip = callPackage ../misc/drivers/hplip { }; - hplipWithPlugin = hplip.override { withPlugin = true; }; + hplipWithPlugin = self.hplip.override { withPlugin = true; }; hplip_3_15_9 = callPackage ../misc/drivers/hplip/3.15.9.nix { }; - hplipWithPlugin_3_15_9 = hplip_3_15_9.override { withPlugin = true; }; + hplipWithPlugin_3_15_9 = self.hplip_3_15_9.override { withPlugin = true; }; # using the new configuration style proposal which is unstable jack1 = callPackage ../misc/jackaudio/jack1.nix { }; @@ -16102,7 +16094,7 @@ in jack2Full = callPackage ../misc/jackaudio { libopus = libopus.override { withCustomModes = true; }; }; - libjack2 = jack2Full.override { prefix = "lib"; }; + libjack2 = self.jack2Full.override { prefix = "lib"; }; libjack2-git = callPackage ../misc/jackaudio/git.nix { }; keynav = callPackage ../tools/X11/keynav { }; @@ -16387,7 +16379,7 @@ in }; vimprobable2 = wrapFirefox vimprobable2-unwrapped { }; - inherit (kde4) rekonq; + inherit (self.kde4) rekonq; vimb-unwrapped = callPackage ../applications/networking/browsers/vimb { webkit = webkitgtk2; From 631261091149fb213e6d328209b378816191ab2b Mon Sep 17 00:00:00 2001 From: Ricardo Ardissone Date: Mon, 11 Apr 2016 08:38:54 -0300 Subject: [PATCH 038/182] mygui: add withOgre argument --- pkgs/development/libraries/mygui/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix index 2fa62ced2d5..0a076239b6b 100644 --- a/pkgs/development/libraries/mygui/default.nix +++ b/pkgs/development/libraries/mygui/default.nix @@ -1,9 +1,10 @@ -{stdenv, fetchFromGitHub, libX11, unzip, ogre, cmake, ois, freetype, libuuid, boost, pkgconfig}: +{ stdenv, fetchFromGitHub, libX11, unzip, cmake, ois, freetype, libuuid, + boost, pkgconfig, lib, withOgre ? true, ogre ? null } : stdenv.mkDerivation rec { name = "mygui-${version}"; version = "3.2.2"; - + src = fetchFromGitHub { owner = "MyGUI"; repo = "mygui"; @@ -13,7 +14,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - buildInputs = [ libX11 unzip ogre cmake ois freetype libuuid boost pkgconfig ]; + + buildInputs = [ libX11 unzip cmake ois freetype libuuid boost pkgconfig ] + ++ lib.optional withOgre [ ogre ]; + + cmakeFlags = lib.optional (! withOgre) ["-DMYGUI_RENDERSYSTEM=1" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_PLUGINS=OFF"]; meta = { homepage = http://mygui.info/; From a65c6f493250350d101ca953d0a8b6fb62735a3f Mon Sep 17 00:00:00 2001 From: Nicolas Petton Date: Mon, 11 Apr 2016 14:35:55 +0200 Subject: [PATCH 039/182] skype: Use a larger icon for the .desktop file (#14591) --- .../networking/instant-messengers/skype/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix index 98672a29d0b..2f2dba18e49 100644 --- a/pkgs/applications/networking/instant-messengers/skype/default.nix +++ b/pkgs/applications/networking/instant-messengers/skype/default.nix @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { # Fixup desktop file substituteInPlace skype.desktop --replace \ - "Icon=skype.png" "Icon=$out/libexec/skype/icons/SkypeBlue_48x48.png" + "Icon=skype.png" "Icon=$out/libexec/skype/icons/SkypeBlue_128x128.png" substituteInPlace skype.desktop --replace \ "Terminal=0" "Terminal=false" mkdir -p $out/share/applications From 5e5ef22d7367b3aa453504e8819985ec2ccda8fe Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 Apr 2016 08:44:34 -0400 Subject: [PATCH 040/182] linux_testing: 4.6-rc2 -> 4.6-rc3 (#14592) --- pkgs/os-specific/linux/kernel/linux-testing.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index e3edaa43b8c..ea9eb4d551b 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.6-rc2"; - modDirVersion = "4.6.0-rc2"; + version = "4.6-rc3"; + modDirVersion = "4.6.0-rc3"; extraMeta.branch = "4.6"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz"; - sha256 = "0zihk9s1rkgmn0ghiz9xkg0w88w524af5mmad45rbxhm5751nxcr"; + sha256 = "1vhvhbldk5pvwxhdndyzvyqy5mscpnlz09sfyh2c9rk6wc1hc8xv"; }; features.iwlwifi = true; From e8b3532d26c15f308c4b597128da8b3b9554e932 Mon Sep 17 00:00:00 2001 From: obadz Date: Mon, 11 Apr 2016 13:55:57 +0100 Subject: [PATCH 041/182] xqilla: init at 2.3.3 --- pkgs/development/tools/xqilla/default.nix | 20 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/development/tools/xqilla/default.nix diff --git a/pkgs/development/tools/xqilla/default.nix b/pkgs/development/tools/xqilla/default.nix new file mode 100644 index 00000000000..77bf313e83d --- /dev/null +++ b/pkgs/development/tools/xqilla/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, xercesc }: + +stdenv.mkDerivation rec { + name = "xqilla-${version}"; + version = "2.3.3"; + + src = fetchurl { + url = "mirror://sourceforge/xqilla/XQilla-${version}.tar.gz"; + sha256 = "1mjgcyar3qyizpnb0h9lxaj6p9yq4vj09qd8qan1bwv6z6sbjxlg"; + }; + + configureFlags = [ "--with-xerces=${xercesc}" ]; + + meta = with stdenv.lib; { + description = "XQilla is an XQuery and XPath 2 library and command line utility written in C++, implemented on top of the Xerces-C library."; + license = licenses.asl20 ; + maintainers = with maintainers; [ obadz ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d27f0f15134..6b4e1795268 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10019,6 +10019,8 @@ in zookeeper_mt = callPackage ../development/libraries/zookeeper_mt { }; + xqilla = callPackage ../development/tools/xqilla { }; + xquartz = callPackage ../servers/x11/xquartz { }; quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; From 26dc7e503da14c3142541a3a741303e745d4ab33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Galliat?= Date: Mon, 11 Apr 2016 09:35:28 -0400 Subject: [PATCH 042/182] Shout: fix infinite loop in service configuration Fixes #14594. --- nixos/modules/services/networking/shout.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/networking/shout.nix b/nixos/modules/services/networking/shout.nix index 761ecbcd173..3664c285773 100644 --- a/nixos/modules/services/networking/shout.nix +++ b/nixos/modules/services/networking/shout.nix @@ -11,7 +11,7 @@ let mv config.js $out ''; - configFile = if (cfg.configFile != null) then cfg.configFile else '' + finalConfigFile = if (cfg.configFile != null) then cfg.configFile else '' var _ = require('${pkgs.shout}/lib/node_modules/shout/node_modules/lodash') module.exports = _.merge( @@ -48,7 +48,7 @@ in { configFile = mkOption { type = types.nullOr types.lines; - default = configFile; + default = null; description = '' Contents of Shout's config.js file. @@ -95,7 +95,7 @@ in { wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; after = [ "network-online.target" ]; - preStart = "ln -sf ${pkgs.writeText "config.js" configFile} ${shoutHome}/config.js"; + preStart = "ln -sf ${pkgs.writeText "config.js" finalConfigFile} ${shoutHome}/config.js"; script = concatStringsSep " " [ "${pkgs.shout}/bin/shout" (if cfg.private then "--private" else "--public") From 613cef624082f302366200fe0c60aa2c264a2083 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 11 Apr 2016 16:21:12 +0200 Subject: [PATCH 043/182] gup: 0.5.4 -> 0.5.5; use fetchFromGitHub --- .../tools/build-managers/gup/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/build-managers/gup/default.nix b/pkgs/development/tools/build-managers/gup/default.nix index a907e6ace9e..926acd4535e 100644 --- a/pkgs/development/tools/build-managers/gup/default.nix +++ b/pkgs/development/tools/build-managers/gup/default.nix @@ -1,10 +1,11 @@ -{ stdenv, fetchgit, lib, python, which }: +{ stdenv, fetchFromGitHub, lib, python, which }: let - version = "0.5.4"; - src = fetchgit { - url = "https://github.com/gfxmonk/gup.git"; - rev = "b3980e529c860167b48e31634d2b479fc4d10274"; - sha256 = "bb02ba0a7f1680ed5b9a8e8c9cc42aa07016329840f397d914b94744f9ed7c85"; + version = "0.5.5"; + src = fetchFromGitHub { + sha256 = "12yv0j333z6jkaaal8my3jx3k4ml9hq8ldis5zfvr8179d4xah7q"; + rev = "version-${version}"; + repo = "gup"; + owner = "gfxmonk"; }; in import ./build.nix From 7f2163fc97d422bf19f71f09f4c813e49b1fcc8e Mon Sep 17 00:00:00 2001 From: obadz Date: Sat, 9 Apr 2016 03:25:04 +0100 Subject: [PATCH 044/182] haskellPackages.haste-compiler: fix so that it now builds and runs Required adding: haskellPackages.haste-Cabal, and haskellPackages.haste-cabal-install --- doc/haskell-users-guide.md | 24 ++++++++++ .../haskell-modules/configuration-common.nix | 5 +- .../tools/haskell/haste/haste-Cabal.nix | 35 ++++++++++++++ .../haskell/haste/haste-cabal-install.nix | 46 +++++++++++++++++++ .../tools/haskell/haste/haste-compiler.nix | 32 +++++++++++++ 5 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/tools/haskell/haste/haste-Cabal.nix create mode 100644 pkgs/development/tools/haskell/haste/haste-cabal-install.nix create mode 100644 pkgs/development/tools/haskell/haste/haste-compiler.nix diff --git a/doc/haskell-users-guide.md b/doc/haskell-users-guide.md index ce61295e567..b981466bf2e 100644 --- a/doc/haskell-users-guide.md +++ b/doc/haskell-users-guide.md @@ -647,6 +647,30 @@ command, i.e. by running: rm /nix/var/nix/manifests/* rm /nix/var/nix/channel-cache/* +### How to use the Haste Haskell-to-Javascript transpiler + +Open a shell with `haste-compiler` and `haste-cabal-install` (you don't actually need +`node`, but it can be useful to test stuff): + + $ nix-shell -p "haskellPackages.ghcWithPackages (self: with self; [haste-cabal-install haste-compiler])" -p nodejs + +You may not need the following step but if `haste-boot` fails to compile all the +packages it needs, this might do the trick + + $ haste-cabal update + +`haste-boot` builds a set of core libraries so that they can be used from Javascript +transpiled programs: + + $ haste-boot + +Transpile and run a "Hello world" program: + + $ echo 'module Main where main = putStrLn "Hello world"' > hello-world.hs + $ hastec --onexec hello-world.hs + $ node hello-world.js + Hello world + ### Builds on Darwin fail with `math.h` not found Users of GHC on Darwin have occasionally reported that builds fail, because the diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 1833ce3ffce..6dbbd40a630 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -154,7 +154,6 @@ self: super: { gl = dontHaddock super.gl; groupoids = dontHaddock super.groupoids; hamlet = dontHaddock super.hamlet; - haste-compiler = dontHaddock super.haste-compiler; HaXml = dontHaddock super.HaXml; HDBC-odbc = dontHaddock super.HDBC-odbc; hoodle-core = dontHaddock super.hoodle-core; @@ -964,4 +963,8 @@ self: super: { # https://github.com/danidiaz/pipes-transduce/issues/2 pipes-transduce = super.pipes-transduce.override { foldl = self.foldl_1_1_6; }; + # Haste stuff + haste-Cabal = self.callPackage ../tools/haskell/haste/haste-Cabal.nix {}; + haste-cabal-install = self.callPackage ../tools/haskell/haste/haste-cabal-install.nix { Cabal = self.haste-Cabal; HTTP = self.HTTP_4000_2_23; }; + haste-compiler = self.callPackage ../tools/haskell/haste/haste-compiler.nix { inherit overrideCabal; super-haste-compiler = super.haste-compiler; }; } diff --git a/pkgs/development/tools/haskell/haste/haste-Cabal.nix b/pkgs/development/tools/haskell/haste/haste-Cabal.nix new file mode 100644 index 00000000000..45a60172e39 --- /dev/null +++ b/pkgs/development/tools/haskell/haste/haste-Cabal.nix @@ -0,0 +1,35 @@ +# Haste requires its own patched up version of Cabal that's not on hackage +{ mkDerivation, array, base, binary, bytestring, containers +, deepseq, directory, extensible-exceptions, filepath, old-time +, pretty, process, QuickCheck, regex-posix, stdenv, tasty +, tasty-hunit, tasty-quickcheck, time, unix +, fetchFromGitHub +}: + +mkDerivation { + pname = "Cabal"; + version = "1.23.0.0"; + src = fetchFromGitHub { + owner = "valderman"; + repo = "cabal"; + rev = "a1962987ba32d5e20090830f50c6afdc78dae005"; + sha256 = "1gjmscfsikcvgkv6zricpfxvj23wxahndm784lg9cpxrc3pn5hvh"; + }; + libraryHaskellDepends = [ + array base binary bytestring containers deepseq directory filepath + pretty process time unix + ]; + testHaskellDepends = [ + base bytestring containers directory extensible-exceptions filepath + old-time pretty process QuickCheck regex-posix tasty tasty-hunit + tasty-quickcheck unix + ]; + prePatch = '' + rm -rf cabal-install + cd Cabal + ''; + doCheck = false; + homepage = "http://www.haskell.org/cabal/"; + description = "A framework for packaging Haskell software"; + license = stdenv.lib.licenses.bsd3; +} diff --git a/pkgs/development/tools/haskell/haste/haste-cabal-install.nix b/pkgs/development/tools/haskell/haste/haste-cabal-install.nix new file mode 100644 index 00000000000..dd140409173 --- /dev/null +++ b/pkgs/development/tools/haskell/haste/haste-cabal-install.nix @@ -0,0 +1,46 @@ +# Haste requires its own patched up version of cabal-install that's not on hackage +{ mkDerivation, array, base, bytestring, Cabal, containers +, directory, extensible-exceptions, filepath, HTTP, mtl, network +, network-uri, pretty, process, QuickCheck, random, regex-posix +, stdenv, stm, tagged, tasty, tasty-hunit, tasty-quickcheck, time +, unix, zlib +, fetchFromGitHub +}: + +mkDerivation { + pname = "cabal-install"; + version = "1.23.0.0"; + src = fetchFromGitHub { + owner = "valderman"; + repo = "cabal"; + rev = "a1962987ba32d5e20090830f50c6afdc78dae005"; + sha256 = "1gjmscfsikcvgkv6zricpfxvj23wxahndm784lg9cpxrc3pn5hvh"; + }; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + array base bytestring Cabal containers directory filepath HTTP mtl + network network-uri pretty process random stm time unix zlib + ]; + testHaskellDepends = [ + array base bytestring Cabal containers directory + extensible-exceptions filepath HTTP mtl network network-uri pretty + process QuickCheck random regex-posix stm tagged tasty tasty-hunit + tasty-quickcheck time unix zlib + ]; + prePatch = '' + rm -rf Cabal + cd cabal-install + ''; + postInstall = '' + mkdir $out/etc + mv bash-completion $out/etc/bash_completion.d + + # Manually added by Nix maintainer + mv -v $out/etc/bash_completion.d/cabal $out/etc/bash_completion.d/haste-cabal + ''; + doCheck = false; + homepage = "http://www.haskell.org/cabal/"; + description = "The command-line interface for Cabal and Hackage"; + license = stdenv.lib.licenses.bsd3; +} diff --git a/pkgs/development/tools/haskell/haste/haste-compiler.nix b/pkgs/development/tools/haskell/haste/haste-compiler.nix new file mode 100644 index 00000000000..54a247af628 --- /dev/null +++ b/pkgs/development/tools/haskell/haste/haste-compiler.nix @@ -0,0 +1,32 @@ +{ overrideCabal +, super-haste-compiler +}: + +overrideCabal super-haste-compiler (drv: { + configureFlags = [ "-f-portable" ]; + prePatch = '' + # Get ghc libdir by invoking ghc and point to haste-cabal binary + substituteInPlace src/Haste/Environment.hs \ + --replace \ + 'hasteGhcLibDir = hasteSysDir' \ + 'hasteGhcLibDir = head $ lines $ either (error . show) id $ unsafePerformIO $ shell $ run "ghc" ["--print-libdir"] ""' \ + --replace \ + 'hasteCabalBinary = hasteBinDir "haste-cabal" ++ binaryExt' \ + 'hasteCabalBinary = "haste-cabal" ++ binaryExt' + + # Don't try to download/install haste-cabal in haste-boot: + patch src/haste-boot.hs << EOF + @@ -178,10 +178,6 @@ + pkgSysLibDir, jsmodSysDir, pkgSysDir] + + mkdir True (hasteCabalRootDir portableHaste) + - case getHasteCabal cfg of + - Download -> installHasteCabal portableHaste tmpdir + - Prebuilt fp -> copyHasteCabal portableHaste fp + - Source mdir -> buildHasteCabal portableHaste (maybe "../cabal" id mdir) + + -- Spawn off closure download in the background. + dir <- pwd -- use absolute path for closure to avoid dir changing race + EOF + ''; +}) From 57ef1712e368d82155a3b5514df670655b91290b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 11 Apr 2016 16:35:18 +0200 Subject: [PATCH 045/182] =?UTF-8?q?Substite=20new=20GitHub=20username=20?= =?UTF-8?q?=E2=80=98timbertson=E2=80=99=20for=20=E2=80=98gfxmonk=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/maintainers.nix | 2 +- pkgs/development/tools/build-managers/gup/build.nix | 2 +- pkgs/development/tools/build-managers/gup/default.nix | 6 +++--- pkgs/top-level/python-packages.nix | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 9937912ec3e..5c0e3d2cae4 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -139,7 +139,6 @@ garrison = "Jim Garrison "; gavin = "Gavin Rogers "; gebner = "Gabriel Ebner "; - gfxmonk = "Tim Cuthbertson "; giogadi = "Luis G. Torres "; gleber = "Gleb Peregud "; globin = "Robin Gloster "; @@ -345,6 +344,7 @@ the-kenny = "Moritz Ulrich "; theuni = "Christian Theune "; thoughtpolice = "Austin Seipp "; + timbertson = "Tim Cuthbertson "; titanous = "Jonathan Rudenberg "; tohl = "Tomas Hlavaty "; tokudan = "Daniel Frank "; diff --git a/pkgs/development/tools/build-managers/gup/build.nix b/pkgs/development/tools/build-managers/gup/build.nix index 7f5caf7e648..a9af037bb81 100644 --- a/pkgs/development/tools/build-managers/gup/build.nix +++ b/pkgs/development/tools/build-managers/gup/build.nix @@ -1,5 +1,5 @@ # NOTE: this file is copied from the upstream repository for this package. -# Please submit any changes you make here to https://github.com/gfxmonk/gup/ +# Please submit any changes you make here to https://github.com/timbertson/gup/ { stdenv, lib, python, which, pychecker ? null }: { src, version, meta ? {} }: diff --git a/pkgs/development/tools/build-managers/gup/default.nix b/pkgs/development/tools/build-managers/gup/default.nix index 926acd4535e..8e85c63cb6e 100644 --- a/pkgs/development/tools/build-managers/gup/default.nix +++ b/pkgs/development/tools/build-managers/gup/default.nix @@ -5,17 +5,17 @@ let sha256 = "12yv0j333z6jkaaal8my3jx3k4ml9hq8ldis5zfvr8179d4xah7q"; rev = "version-${version}"; repo = "gup"; - owner = "gfxmonk"; + owner = "timbertson"; }; in import ./build.nix { inherit stdenv lib python which; } { inherit src version; meta = { + inherit (src.meta) homepage; description = "A better make, inspired by djb's redo"; - homepage = https://github.com/gfxmonk/gup; license = stdenv.lib.licenses.lgpl2Plus; - maintainers = [ stdenv.lib.maintainers.gfxmonk ]; + maintainers = [ stdenv.lib.maintainers.timbertson ]; platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c14372ea99b..93660059071 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15585,7 +15585,7 @@ in modules // { meta = { description = "Bringing the power of python to stream editing"; homepage = https://github.com/timbertson/piep; - maintainers = with maintainers; [ gfxmonk ]; + maintainers = with maintainers; [ timbertson ]; license = licenses.gpl3; }; }; From 0dfcc687be30b75ef090925d484af7c056e4c79e Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 Apr 2016 11:12:50 -0400 Subject: [PATCH 046/182] slack: 2.0.1 -> 2.0.3 --- .../networking/instant-messengers/slack/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index c6e550b5e8f..a93e30c313a 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -4,7 +4,7 @@ let - version = "2.0.1"; + version = "2.0.3"; rpath = stdenv.lib.makeSearchPath "lib" [ alsaLib @@ -41,7 +41,7 @@ let if stdenv.system == "x86_64-linux" then fetchurl { url = "https://slack-ssb-updates.global.ssl.fastly.net/linux_releases/slack-desktop-${version}-amd64.deb"; - sha256 = "12d84e61ba366cc5bac105b3f9930f2dfdd64c1e5fabbb08a6877e1c98bfb9c7"; + sha256 = "0pp8n1w9kmh3pph5kc6akdswl3z2lqwryjg9d267wgj62mslr3cg"; } else throw "Slack is not supported on ${stdenv.system}"; From b3d3a1c7eac48b67be8f774df418f615c5c515d4 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 11 Apr 2016 18:28:05 +0300 Subject: [PATCH 047/182] openscenegraph: enable parallel building --- pkgs/development/libraries/openscenegraph/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix index 578d0219c02..2e2897b37a4 100644 --- a/pkgs/development/libraries/openscenegraph/default.nix +++ b/pkgs/development/libraries/openscenegraph/default.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { pkgconfig kbproto SDL qt4 poppler librsvg gtk ]; + enableParallelBuilding = true; + cmakeFlags = [ "-DMATH_LIBRARY=" "-DCMAKE_C_FLAGS=-D__STDC_CONSTANT_MACROS=1" From c3860bf00813b83f5879b675924bc3bd8c4bf0d2 Mon Sep 17 00:00:00 2001 From: obadz Date: Mon, 11 Apr 2016 16:59:03 +0100 Subject: [PATCH 048/182] haskellPackages.haste-compiler: fix build issue in #14581 --- pkgs/development/tools/haskell/haste/haste-compiler.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/haskell/haste/haste-compiler.nix b/pkgs/development/tools/haskell/haste/haste-compiler.nix index 54a247af628..f9aa5abae57 100644 --- a/pkgs/development/tools/haskell/haste/haste-compiler.nix +++ b/pkgs/development/tools/haskell/haste/haste-compiler.nix @@ -1,4 +1,5 @@ -{ overrideCabal +{ mkDerivation +, overrideCabal , super-haste-compiler }: From 43bf20def9255efb99ebcbd91ac2b5b483255dab Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 11 Apr 2016 14:47:16 -0500 Subject: [PATCH 049/182] imagemagick: 8.9.2-0 -> 8.9.3-8 --- pkgs/applications/graphics/ImageMagick/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index e75e86a4d53..ef3b7b05b18 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -13,7 +13,7 @@ in stdenv.mkDerivation rec { name = "imagemagick-${version}"; - version = "6.9.2-0"; + version = "6.9.3-8"; src = fetchurl { urls = [ @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { # the original source above removes tarballs quickly "http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz" ]; - sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7"; + sha256 = "129s4cwp6cbhgsr3xr8186q5j02zpbk6kqfk4j7ayb563zsrdb4h"; }; outputs = [ "out" "doc" ]; From f51f993be2b60fd6cb85046fc9892eb41d03d429 Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Mon, 11 Apr 2016 21:51:09 +0200 Subject: [PATCH 050/182] sysdig: 0.8.0 -> 0.9.0 --- 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 c9a594e684c..8296ec62c5b 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.8.0"; + version = "0.9.0"; name="${baseName}-${version}"; url="https://github.com/draios/sysdig/archive/${version}.tar.gz"; - sha256 = "1939k3clwxg09m1bn0szqiy2nxg66srl72n7476jc58hgaraq3dr"; + sha256 = "198x1zmlydvi4i1sfvs8xjh9z5pb47l6xs4phrnkwwak46rhka3j"; }; buildInputs = [ cmake zlib luajit ncurses perl jsoncpp libb64 openssl curl From d6c50706bea885d9a82f989dec59f7e921d45bec Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 11 Apr 2016 19:31:44 +0200 Subject: [PATCH 051/182] zpaq: 709 -> 710 Adds multi-part archives, -index. Some UI changes. --- pkgs/tools/archivers/zpaq/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix index 8a0a3ef4cca..9eac9f071cb 100644 --- a/pkgs/tools/archivers/zpaq/default.nix +++ b/pkgs/tools/archivers/zpaq/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="zpaq"; - version="709"; + version="710"; name="${baseName}-${version}"; - hash="105lwd9cckmmhg5v9ddf873wzbkdsl7wfqyd30kn0q78sg3c0avh"; - url="http://mattmahoney.net/dc/zpaq709.zip"; - sha256="105lwd9cckmmhg5v9ddf873wzbkdsl7wfqyd30kn0q78sg3c0avh"; + hash="089h09rlcyag1j1i38jjzwzm69p6p4wnh6n2rsbl3p5mcvdfnwhk"; + url="http://mattmahoney.net/dc/zpaq710.zip"; + sha256="089h09rlcyag1j1i38jjzwzm69p6p4wnh6n2rsbl3p5mcvdfnwhk"; }; in stdenv.mkDerivation { From 06dceaa5b210070c726688a9afd2ad2f0ecee3ca Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 11 Apr 2016 19:40:03 +0200 Subject: [PATCH 052/182] geoclue2: 2.4.2 -> 2.4.3 --- pkgs/development/libraries/geoclue/2.0.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/geoclue/2.0.nix b/pkgs/development/libraries/geoclue/2.0.nix index 83becae05a4..0c22cc9ff9f 100644 --- a/pkgs/development/libraries/geoclue/2.0.nix +++ b/pkgs/development/libraries/geoclue/2.0.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "geoclue-2.4.2"; + name = "geoclue-2.4.3"; src = fetchurl { url = "http://www.freedesktop.org/software/geoclue/releases/2.4/${name}.tar.xz"; - sha256 = "0g4krigdaf5ipkp4mi16rca62crr8pdk3wkhm0fxbcqnil75fyy4"; + sha256 = "0pk07k65dlw37nz8z5spksivsv5nh96xmbi336rf2yfxf2ldpadd"; }; buildInputs = From ad794fed9c2cfebc360d0b02a1f2b958380cf370 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 11 Apr 2016 19:41:57 +0200 Subject: [PATCH 053/182] {lib,pcman}fm: 1.2.3 -> 1.2.4 --- pkgs/applications/misc/pcmanfm/default.nix | 8 ++++---- pkgs/development/libraries/libfm/default.nix | 12 ++++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix index b245a6aace7..bf1bed08ed4 100644 --- a/pkgs/applications/misc/pcmanfm/default.nix +++ b/pkgs/applications/misc/pcmanfm/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, glib, gtk, intltool, libfm, libX11, pango, pkgconfig }: -stdenv.mkDerivation { - name = "pcmanfm-1.2.3"; +stdenv.mkDerivation rec { + name = "pcmanfm-1.2.4"; src = fetchurl { - url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.3.tar.xz"; - sha256 = "1033rw5jd7nlzbcdpx3bik7347kyh1sg1gkla424gq9vqqpxia6g"; + url = "mirror://sourceforge/pcmanfm/${name}.tar.xz"; + sha256 = "04z3vd9si24yi4c8calqncdpb9b6mbj4cs4f3fs86i6j05gvpk9q"; }; buildInputs = [ glib gtk intltool libfm libX11 pango pkgconfig ]; diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix index efa9b90e869..db17b46b0d3 100644 --- a/pkgs/development/libraries/libfm/default.nix +++ b/pkgs/development/libraries/libfm/default.nix @@ -3,11 +3,15 @@ let inherit (stdenv.lib) optional; in -stdenv.mkDerivation { - name = if extraOnly then "libfm-extra-1.2.3" else "libfm-1.2.3"; +stdenv.mkDerivation rec { + name = if extraOnly + then "libfm-extra-${version}" + else "libfm-${version}"; + version = "1.2.4"; + src = fetchurl { - url = "mirror://sourceforge/pcmanfm/libfm-1.2.3.tar.xz"; - sha256 = "1ygvw52262r3jp1f45m9cdpx5xgvd4rkyfszslfqvg2c99ig34n6"; + url = "mirror://sourceforge/pcmanfm/libfm-${version}.tar.xz"; + sha256 = "0bsh4p7h2glhxf1cc1lvbxyb4qy0y1zsnl9izf7vrldkikrgc13q"; }; buildInputs = [ glib gtk intltool pango pkgconfig vala ] From cee752b8e20ae7f4c146f38f8f98e12bf91b4e29 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sun, 10 Apr 2016 18:20:03 +0200 Subject: [PATCH 054/182] torbrowser: remove unnecessary stdenv override Now that gcc = gcc5 --- pkgs/top-level/all-packages.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6b4e1795268..7c847f23e61 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3413,9 +3413,7 @@ in torbutton = callPackage ../tools/security/torbutton { }; - torbrowser = callPackage ../tools/security/tor/torbrowser.nix { - stdenv = overrideCC stdenv gcc5; - }; + torbrowser = callPackage ../tools/security/tor/torbrowser.nix { }; touchegg = callPackage ../tools/inputmethods/touchegg { }; From 27035365ec98f839fa92c1807c36be967446e1a1 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Tue, 12 Apr 2016 01:23:32 +0200 Subject: [PATCH 055/182] build-support/grsecurity: simplify the grsecurityOverrider Adding inputs required by gcc plugins to the ambient environment is sufficient. --- pkgs/build-support/grsecurity/default.nix | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix index 18719e6e22b..6c2e98b9cc1 100644 --- a/pkgs/build-support/grsecurity/default.nix +++ b/pkgs/build-support/grsecurity/default.nix @@ -114,16 +114,10 @@ let "-${grkern.grversion}-${grkern.revision}"; grsecurityOverrider = args: grkern: { - # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins) - # include libgmp headers, so we need these extra tweaks - # As of gcc5 we also need libmpc - buildInputs = args.buildInputs ++ [ pkgs.gmp pkgs.libmpc pkgs.mpfr ]; - preConfigure = '' - extraIncludes="-I${pkgs.gmp}/include -I${pkgs.libmpc}/include -I${pkgs.mpfr}/include" - ${args.preConfigure or ""} - sed -i "s|-I|$extraIncludes -I|" scripts/gcc-plugin.sh - sed -i "s|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += $extraIncludes|" tools/gcc/Makefile - sed -i "s|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += $extraIncludes|" tools/gcc/Makefile + # additional build inputs for gcc plugins, required by some PaX/grsec features + nativeBuildInputs = args.nativeBuildInputs ++ (with pkgs; [ gmp libmpc mpfr ]); + + preConfigure = args.preConfigure or "" + '' rm localversion-grsec echo ${localver grkern} > localversion-grsec ''; From f019db633f35d3cf92ef3f763d48a6c99c95e8a5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 12 Apr 2016 00:36:08 +0200 Subject: [PATCH 056/182] borgbackup: 1.0.0 -> 1.0.1 Changes: https://github.com/borgbackup/borg/blob/1.0.1/docs/changes.rst --- pkgs/tools/backup/borg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix index b46ea186dee..79c08ec325a 100644 --- a/pkgs/tools/backup/borg/default.nix +++ b/pkgs/tools/backup/borg/default.nix @@ -2,12 +2,12 @@ python3Packages.buildPythonApplication rec { name = "borgbackup-${version}"; - version = "1.0.0"; + version = "1.0.1"; namePrefix = ""; src = fetchurl { url = "https://pypi.python.org/packages/source/b/borgbackup/borgbackup-${version}.tar.gz"; - sha256 = "0wa6cvqs3rni5nwrgagigchcly8a53rxk56z0zn8iaii2cqrw2sh"; + sha256 = "1fhzsj66fnyz8059k0zx8ldhyjqj73980qrz48aqwz1097kc58jq"; }; nativeBuildInputs = with python3Packages; [ From c74e2b51e85c684b8e116b4289fc3eba75b8f2cf Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 11 Apr 2016 16:52:48 +0300 Subject: [PATCH 057/182] mygui: disable some components, support OpenGL renderer --- pkgs/development/libraries/mygui/default.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix index 0a076239b6b..ae6483f3ac1 100644 --- a/pkgs/development/libraries/mygui/default.nix +++ b/pkgs/development/libraries/mygui/default.nix @@ -1,7 +1,9 @@ { stdenv, fetchFromGitHub, libX11, unzip, cmake, ois, freetype, libuuid, - boost, pkgconfig, lib, withOgre ? true, ogre ? null } : + boost, pkgconfig, withOgre ? true, ogre ? null, mesa ? null } : -stdenv.mkDerivation rec { +let + renderSystem = if withOgre then "3" else "4"; +in stdenv.mkDerivation rec { name = "mygui-${version}"; version = "3.2.2"; @@ -14,15 +16,15 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + buildInputs = [ libX11 unzip cmake ois freetype libuuid boost pkgconfig (if withOgre then ogre else mesa) ]; - buildInputs = [ libX11 unzip cmake ois freetype libuuid boost pkgconfig ] - ++ lib.optional withOgre [ ogre ]; + # Tools are disabled due to compilation failures. + cmakeFlags = [ "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_RENDERSYSTEM=${renderSystem}" ]; - cmakeFlags = lib.optional (! withOgre) ["-DMYGUI_RENDERSYSTEM=1" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_PLUGINS=OFF"]; - - meta = { + meta = with stdenv.lib; { homepage = http://mygui.info/; description = "Library for creating GUIs for games and 3D applications"; - license = stdenv.lib.licenses.lgpl3Plus; + license = licenses.lgpl3Plus; + platforms = platforms.linux; }; } From 6a5387e68cc068b35404d153913cdca4bd17ac3c Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 11 Apr 2016 18:18:12 +0300 Subject: [PATCH 058/182] mygui: disable ogre by default --- pkgs/development/libraries/mygui/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix index ae6483f3ac1..6e4b3e6a862 100644 --- a/pkgs/development/libraries/mygui/default.nix +++ b/pkgs/development/libraries/mygui/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, libX11, unzip, cmake, ois, freetype, libuuid, - boost, pkgconfig, withOgre ? true, ogre ? null, mesa ? null } : + boost, pkgconfig, withOgre ? false, ogre ? null, mesa ? null } : let renderSystem = if withOgre then "3" else "4"; From 1365492424828c02b8e0626eb3ee9ef4335bc6e5 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 11 Apr 2016 18:18:24 +0300 Subject: [PATCH 059/182] stuntrally: 2.5 -> 2.6, mark as broken --- pkgs/games/stuntrally/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix index 2c41a11ab57..436ac958f34 100644 --- a/pkgs/games/stuntrally/default.nix +++ b/pkgs/games/stuntrally/default.nix @@ -3,18 +3,18 @@ stdenv.mkDerivation rec { name = "stunt-rally-${version}"; - version = "2.5"; + version = "2.6"; src = fetchgit { url = git://github.com/stuntrally/stuntrally.git; rev = "refs/tags/${version}"; - sha256 = "1lsh7z7sjfwpdybg6vbwqx1zxsgbfp2n60n7xl33v225p32qh1qf"; + sha256 = "0rrfmldl6m7igni1n4rv2i0s2q5j1ik8dh05ydkaqrpcky96bdr8"; }; tracks = fetchgit { url = git://github.com/stuntrally/tracks.git; rev = "refs/tags/${version}"; - sha256 = "1614j6q1d2f69l58kkqndndvf6svcghhw8pzc2s1plf6k87h67mg"; + sha256 = "186qqyr1nrabfzsgy7b4sjgm38mgd875f4c7qwkm8k2bl7zjkrm2"; }; preConfigure = '' @@ -34,5 +34,7 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = with maintainers; [ pSub ]; platforms = platforms.linux; + # Build failure + broken = true; }; } From 36a8c35461f3ff71d094e8d1185be9eb859f637d Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 11 Apr 2016 16:28:03 +0300 Subject: [PATCH 060/182] ogrepaged: mark as broken --- pkgs/development/libraries/ogrepaged/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/ogrepaged/default.nix b/pkgs/development/libraries/ogrepaged/default.nix index 27193e04545..3539a6302b1 100644 --- a/pkgs/development/libraries/ogrepaged/default.nix +++ b/pkgs/development/libraries/ogrepaged/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { buildInputs = [ ois ogre libX11 boost ]; nativeBuildInputs = [ cmake pkgconfig ]; - cmakeFlags = "-DPAGEDGEOMETRY_BUILD_SAMPLES=OFF"; + cmakeFlags = [ "-DPAGEDGEOMETRY_BUILD_SAMPLES=OFF" ]; enableParallelBuilding = true; @@ -19,5 +19,7 @@ stdenv.mkDerivation rec { description = "Paged Geometry for Ogre3D"; homepage = http://code.google.com/p/ogre-paged/; license = stdenv.lib.licenses.mit; + # Build failures + broken = true; }; } From c6cb8ebe0174f69256c2661793fa384ae1dfe9ba Mon Sep 17 00:00:00 2001 From: Ricardo Ardissone Date: Mon, 11 Apr 2016 09:39:09 -0300 Subject: [PATCH 061/182] openmw: 0.36.1 -> 0.38.0 --- pkgs/games/openmw/default.nix | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix index 29e13aa810a..277a8671f91 100644 --- a/pkgs/games/openmw/default.nix +++ b/pkgs/games/openmw/default.nix @@ -1,34 +1,23 @@ -{ stdenv, fetchFromGitHub, qt4, ogre, mygui, bullet, ffmpeg, boost, cmake, SDL2, unshield, openal, pkgconfig }: +{ stdenv, fetchFromGitHub, qt4, openscenegraph, mygui, bullet, ffmpeg, boost, cmake, SDL2, unshield, openal, pkgconfig }: stdenv.mkDerivation rec { - version = "0.36.1"; + version = "0.38.0"; name = "openmw-${version}"; - mygui_ = mygui.overrideDerivation (oldAttrs: { - name = "mygui-3.2.1"; - version = "3.2.1"; - - src = fetchFromGitHub { - owner = "MyGUI"; - repo = "mygui"; - rev = "MyGUI3.2.1"; - sha256 = "1ic4xwyh2akfpqirrbyvicc56yy2r268rzgcgx16yqb4nrldy2p0"; - }; - }); - src = fetchFromGitHub { owner = "OpenMW"; repo = "openmw"; rev = name; - sha256 = "0yfiilad6izmingc0nhvkvn6dpybps04xwj4k1h13ymip6awm80x"; + sha256 = "1ssz1pa59a34v5vxiccqyvij5s38kl662p7xbc59y90y668f78y6"; }; - buildInputs = [ cmake boost ffmpeg qt4 bullet mygui_ ogre SDL2 unshield openal pkgconfig ]; + enableParallelBuilding = true; + + buildInputs = [ cmake boost ffmpeg qt4 bullet mygui openscenegraph SDL2 unshield openal pkgconfig ]; meta = { description = "An unofficial open source engine reimplementation of the game Morrowind"; homepage = "http://openmw.org"; license = stdenv.lib.licenses.gpl3; }; - } From d2dba02a87326c312884ac2095d7621932ff3e9f Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 12 Apr 2016 03:57:42 +0300 Subject: [PATCH 062/182] openmw: add meta.platforms --- pkgs/games/openmw/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix index 277a8671f91..3c396472eed 100644 --- a/pkgs/games/openmw/default.nix +++ b/pkgs/games/openmw/default.nix @@ -15,9 +15,10 @@ stdenv.mkDerivation rec { buildInputs = [ cmake boost ffmpeg qt4 bullet mygui openscenegraph SDL2 unshield openal pkgconfig ]; - meta = { + meta = with stdenv.lib; { description = "An unofficial open source engine reimplementation of the game Morrowind"; homepage = "http://openmw.org"; - license = stdenv.lib.licenses.gpl3; + license = licenses.gpl3; + platforms = platforms.linux; }; } From 59bed14119a2842947e948efbd696c51616cb687 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 10 Apr 2016 04:30:16 +0300 Subject: [PATCH 063/182] imgurbash2: init at 1.0; also drop imgurbash --- pkgs/tools/graphics/imgurbash/default.nix | 27 ------------------- pkgs/tools/graphics/imgurbash2/default.nix | 31 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 32 insertions(+), 28 deletions(-) delete mode 100644 pkgs/tools/graphics/imgurbash/default.nix create mode 100644 pkgs/tools/graphics/imgurbash2/default.nix diff --git a/pkgs/tools/graphics/imgurbash/default.nix b/pkgs/tools/graphics/imgurbash/default.nix deleted file mode 100644 index 66f85af8793..00000000000 --- a/pkgs/tools/graphics/imgurbash/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv, fetchurl, bash, curl, xsel }: - -stdenv.mkDerivation { - name = "imgurbash-4"; - - src = fetchurl { - url = "https://imgur.com/tools/imgurbash.sh"; - sha256 = "16m7dn5vqzx1q4pzssnwiwajfzrbhrz0niyhf5abxi1lwr3h0ca1"; - }; - - buildCommand = '' - mkdir -p $out/bin - cat <$out/bin/imgurbash - #!${bash}/bin/bash - PATH=${stdenv.lib.makeSearchPath "bin" [curl xsel]}:\$PATH - EOF - cat $src >>$out/bin/imgurbash - chmod +x $out/bin/imgurbash - ''; - - meta = with stdenv.lib; { - description = "A simple bash script to upload an image to imgur from the commandline"; - license = licenses.publicDomain; - platforms = platforms.linux; - maintainers = with maintainers; [ abbradar ]; - }; -} diff --git a/pkgs/tools/graphics/imgurbash2/default.nix b/pkgs/tools/graphics/imgurbash2/default.nix new file mode 100644 index 00000000000..5e7b4dcb387 --- /dev/null +++ b/pkgs/tools/graphics/imgurbash2/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, bash, curl, xsel }: + +stdenv.mkDerivation rec { + name = "imgurbash2-${version}"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "ram-on"; + repo = "imgurbash2"; + rev = version; + sha256 = "0w8xfdvv6h0cqln9a2b1rskpyv4v5qsywqzg10smg05xlrh9f5nx"; + }; + + installPhase = '' + mkdir -p $out/bin + cat <$out/bin/imgurbash2 + #!${bash}/bin/bash + PATH=${stdenv.lib.makeSearchPath "bin" [curl xsel]}:\$PATH + EOF + cat imgurbash2 >> $out/bin/imgurbash2 + chmod +x $out/bin/imgurbash2 + ''; + + meta = with stdenv.lib; { + description = "A shell script that uploads images to imgur"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + homepage = https://github.com/ram-on/imgurbash2; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7c847f23e61..114cccd501f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1977,7 +1977,7 @@ in imgur-screenshot = callPackage ../tools/graphics/imgur-screenshot { }; - imgurbash = callPackage ../tools/graphics/imgurbash { }; + imgurbash2 = callPackage ../tools/graphics/imgurbash2 { }; inadyn = callPackage ../tools/networking/inadyn { }; From 2a70630c8c67892b227c5ee1c2f6e68d083f161e Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 02:10:09 +0200 Subject: [PATCH 064/182] libressl: 2.3 is the current stable branch http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.3.3-relnotes.txt --- pkgs/top-level/all-packages.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 114cccd501f..817cb20464e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8339,8 +8339,7 @@ in openslp = callPackage ../development/libraries/openslp {}; - # 2.3 breaks some backward-compability - libressl = self.libressl_2_2; + libressl = self.libressl_2_3; libressl_2_2 = callPackage ../development/libraries/libressl/2.2.nix { fetchurl = fetchurlBoot; }; From ecb94c61d483b5e9e9c881a7528e8b0c4aa4c953 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 02:34:28 +0200 Subject: [PATCH 065/182] chaybdis: 3.5.0-rc1 -> 3.5.1 --- pkgs/servers/irc/charybdis/default.nix | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pkgs/servers/irc/charybdis/default.nix b/pkgs/servers/irc/charybdis/default.nix index a38a25c8a5c..c8368fa9524 100644 --- a/pkgs/servers/irc/charybdis/default.nix +++ b/pkgs/servers/irc/charybdis/default.nix @@ -1,12 +1,13 @@ -{ stdenv, fetchgit, bison, flex, openssl }: +{ stdenv, fetchFromGitHub, bison, flex, openssl }: stdenv.mkDerivation rec { - name = "charybdis-3.5.0-rc1"; + name = "charybdis-3.5.1"; - src = fetchgit { - url = "https://github.com/atheme/charybdis.git"; - rev = "43a9b61c427cd0f3fa2c192890b8a48d9ea6fb7f"; - sha256 = "ae2c8a72e6a29c901f9b51759b542ee12c4ec918050a2d9d65e5635077a0fcef"; + src = fetchFromGitHub { + owner = "charybdis-ircd"; + repo = "charybdis"; + rev = name; + sha256 = "12lwfcgszama7140l1qhmhf1v05csipswrvqzmg8pkaazbag4ka7"; }; patches = [ @@ -22,13 +23,12 @@ stdenv.mkDerivation rec { buildInputs = [ bison flex openssl ]; - meta = { - description = "An extremely scalable ircd with some cooperation with the ratbox and ircu guys"; - homepage = https://github.com/atheme/charybdis; - license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.lassulus ]; - platforms = stdenv.lib.platforms.linux; + meta = with stdenv.lib; { + description = "IRCv3 server designed to be highly scalable"; + homepage = http://www.charybdis.io/; + license = licenses.gpl2; + maintainers = with maintainers; [ lassulus fpletz ]; + platforms = platforms.unix; }; - } From e32ed2f78ecbbd3f44094f44f6e8619d5da0b5c1 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 03:15:10 +0200 Subject: [PATCH 066/182] tmux: 2.1 -> 2.2 --- pkgs/tools/misc/tmux/default.nix | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix index aab229c0ad2..7bd79b30885 100644 --- a/pkgs/tools/misc/tmux/default.nix +++ b/pkgs/tools/misc/tmux/default.nix @@ -1,15 +1,28 @@ -{ stdenv, fetchurl, ncurses, libevent, pkgconfig }: +{ stdenv, fetchFromGitHub, autoreconfHook, ncurses, libevent, pkgconfig }: + +let + + bashCompletion = fetchFromGitHub { + owner = "przepompownia"; + repo = "tmux-bash-completion"; + rev = "678a27616b70c649c6701cae9cd8c92b58cc051b"; + sha256 = "1d2myrh4xiay9brsxafb02pi922760sdkyyy5xjm4sfh4iimc4zf"; + }; + +in stdenv.mkDerivation rec { name = "tmux-${version}"; - version = "2.1"; + version = "2.2"; - src = fetchurl { - url = "https://github.com/tmux/tmux/releases/download/${version}/${name}.tar.gz"; - sha256 = "0xk1mylsb08sf0w597mdgj9s6hxxjvjvjd6bngpjvvxwyixlwmii"; + src = fetchFromGitHub { + owner = "tmux"; + repo = "tmux"; + rev = version; + sha256 = "04k9yxjp357sdw6365z6qx87vmwygl3v3wpvd78pp63ky5hzbbay"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ ncurses libevent ]; @@ -20,7 +33,7 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p $out/etc/bash_completion.d - cp -v examples/bash_completion_tmux.sh $out/etc/bash_completion.d/tmux + cp -v ${bashCompletion}/completions/tmux $out/etc/bash_completion.d/tmux ''; meta = { @@ -44,6 +57,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.bsd3; platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ thammers ]; + maintainers = with stdenv.lib.maintainers; [ thammers fpletz ]; }; } From 310f05ed9dacfb2bb3582f2907427844d6bac245 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 03:32:32 +0200 Subject: [PATCH 067/182] libgsf: 1.14.34 -> 1.14.36 --- pkgs/development/libraries/libgsf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix index b7e774b5223..25d1ceb40bd 100644 --- a/pkgs/development/libraries/libgsf/default.nix +++ b/pkgs/development/libraries/libgsf/default.nix @@ -4,11 +4,11 @@ with { inherit (stdenv.lib) optionals; }; stdenv.mkDerivation rec { - name = "libgsf-1.14.34"; + name = "libgsf-1.14.36"; src = fetchurl { url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz"; - sha256 = "f0fea447e0374a73df45b498fd1701393f8e6acb39746119f8a292fb4a0cb528"; + sha256 = "0h19ssxzz0cmznwga2xy55kjibm24mwxqarnpd0w7xy0hrzm1dvi"; }; nativeBuildInputs = [ pkgconfig intltool ]; From 23ae6a10a95f0f829272c6a4211836c42f9a350d Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 03:36:51 +0200 Subject: [PATCH 068/182] wv: 1.2.4 -> 1.2.9 --- pkgs/tools/misc/wv/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/misc/wv/default.nix b/pkgs/tools/misc/wv/default.nix index dbb46cea832..b0943f469b3 100644 --- a/pkgs/tools/misc/wv/default.nix +++ b/pkgs/tools/misc/wv/default.nix @@ -1,12 +1,14 @@ { stdenv, fetchurl, zlib, imagemagick, libpng, glib, pkgconfig, libgsf , libxml2, bzip2 }: -stdenv.mkDerivation { - name = "wv-1.2.4"; +stdenv.mkDerivation rec { + pname = "wv"; + version = "1.2.9"; + name = "${pname}-${version}"; src = fetchurl { - url = mirror://sourceforge/wvware/wv-1.2.4.tar.gz; - sha256 = "1mn2ax6qjy3pvixlnvbkn6ymy6y4l2wxrr4brjaczm121s8hjcb7"; + url = "http://www.abisource.com/downloads/${pname}/${version}/${name}.tar.gz"; + sha256 = "17f16lkdv1c3amaz2hagiicih59ynpp4786k1m2qa1sw68xhswsc"; }; buildInputs = [ zlib imagemagick libpng glib pkgconfig libgsf libxml2 bzip2 ]; From ef37c57e4e46595347629ae410b84e7a1d4ebf30 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 04:24:30 +0200 Subject: [PATCH 069/182] dfu-util: 0.8 -> 0.9 --- pkgs/development/tools/misc/dfu-util/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/dfu-util/default.nix b/pkgs/development/tools/misc/dfu-util/default.nix index f3a986e6432..d0a68caace6 100644 --- a/pkgs/development/tools/misc/dfu-util/default.nix +++ b/pkgs/development/tools/misc/dfu-util/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name="dfu-util-${version}"; - version = "0.8"; + version = "0.9"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libusb1 ]; src = fetchurl { - url = "mirror://debian/pool/main/d/dfu-util/dfu-util_0.8.orig.tar.gz"; - sha256 = "0n7h08avlzin04j93m6hkq9id6hxjiiix7ff9gc2n89aw6dxxjsm"; + url = "http://dfu-util.sourceforge.net/releases/${name}.tar.gz"; + sha256 = "0czq73m92ngf30asdzrfkzraag95hlrr74imbanqq25kdim8qhin"; }; meta = with stdenv.lib; { From f299e112bcc25e6380d0fc25d804077df5f709c3 Mon Sep 17 00:00:00 2001 From: Micxjo Funkcio Date: Mon, 11 Apr 2016 20:18:38 -0700 Subject: [PATCH 070/182] pngcrush: 1.7.92 -> 1.8.1 --- 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 6a6f3e7b13c..3bcbc5d5ead 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.92"; + name = "pngcrush-1.8.1"; src = fetchurl { url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz"; - sha256 = "0dlwbqckv90cpvg8qhkl3nk5yb75ddi61vbpmmp9n0j6qq9lp6y4"; + sha256 = "1h3sibmmiq4ynvf8hrpksfrbcmszxh4bqpkqy5c0m8828c7drpr9"; }; makeFlags = [ "CC=cc" "LD=cc" ]; # gcc and/or clang compat From 961821d41da84dfb15cc34ab38b443ee129291c0 Mon Sep 17 00:00:00 2001 From: Casey Ransom Date: Mon, 11 Apr 2016 18:48:04 -0400 Subject: [PATCH 071/182] jp: init at 0.1.2 --- pkgs/top-level/go-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 8b657e954a6..c0f1d84ae3d 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -1734,6 +1734,20 @@ let }; }; + jp = buildFromGitHub { + rev = "0.1.2"; + owner = "jmespath"; + repo = "jp"; + sha256 = "1i0jl0c062crigkxqx8zpyqliz8j4d37y95cna33jl777kx42r6h"; + meta = with stdenv.lib; { + description = "A command line to JMESPath, an expression language for manipulating JSON"; + license = licenses.asl20; + homepage = http://jmespath.org; + maintainers = with maintainers; [ cransom ]; + platforms = platforms.unix; + }; + }; + mattn.go-runewidth = buildFromGitHub { rev = "d6bea18f789704b5f83375793155289da36a3c7f"; version = "2016-03-15"; From 800367ee37a906c9cd05eefa2b7b32246b31da55 Mon Sep 17 00:00:00 2001 From: Casey Ransom Date: Mon, 11 Apr 2016 23:42:52 -0400 Subject: [PATCH 072/182] Add @cransom as a maintainer --- lib/maintainers.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 9937912ec3e..76025eea9c0 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -81,6 +81,7 @@ copumpkin = "Dan Peebles "; coroa = "Jonas Hörsch "; couchemar = "Andrey Pavlov "; + cransom = "Casey Ransom "; CrystalGamma = "Jona Stubbe "; cstrahan = "Charles Strahan "; cwoac = "Oliver Matthews "; From 5c043134517c7e8000d896df70b191ff0630fcf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 12 Apr 2016 08:09:01 +0200 Subject: [PATCH 073/182] nixos-generate-config: lower priority of nix.maxJobs Fixes #6429. --- nixos/modules/installer/tools/nixos-generate-config.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index d3005cdfd6f..8e75f8d3c40 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -474,7 +474,7 @@ my $hwConfig = < Date: Tue, 12 Apr 2016 09:57:33 +0200 Subject: [PATCH 074/182] vlc: lower priority of qt5 versions /cc #14610 --- pkgs/top-level/all-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 52dce2de1f0..8ca9370cc0e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8572,10 +8572,10 @@ in telepathy = callPackage ../development/libraries/telepathy/qt { }; - vlc = callPackage ../applications/video/vlc { + vlc = lowPrio (callPackage ../applications/video/vlc { qt4 = null; withQt5 = true; - }; + }); }; From 59114693351d7b1376f93971f754999b16ae633c Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Mon, 11 Apr 2016 20:02:06 +0000 Subject: [PATCH 075/182] django: 1.9.4 -> 1.9.5 --- 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 c14372ea99b..c6832a89033 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8049,12 +8049,12 @@ in modules // { django_1_9 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.9.4"; + version = "1.9.5"; disabled = pythonOlder "2.7"; src = pkgs.fetchurl { url = "http://www.djangoproject.com/m/releases/1.9/${name}.tar.gz"; - sha256 = "1sdxixj4p3wx245dm608bqw5bdabl701qab0ar5wjivyd6mfga5d"; + sha256 = "19kaw9flk9jjz1n7q378waybxnkrrhkq240lby4zaaas62nnfip5"; }; # patch only $out/bin to avoid problems with starter templates (see #3134) From e525a83861117ccc9cb81d2dcee8646a30904f0a Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Tue, 12 Apr 2016 00:14:29 +0000 Subject: [PATCH 076/182] django: 1.8.11 -> 1.8.12 --- 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 c6832a89033..a7a3427306f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8073,12 +8073,12 @@ in modules // { django_1_8 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.8.11"; + version = "1.8.12"; disabled = pythonOlder "2.7"; src = pkgs.fetchurl { url = "http://www.djangoproject.com/m/releases/1.8/${name}.tar.gz"; - sha256 = "1yrmlj3h2hp5kc5m11ybya21x2wfr5bqqbkcsw6hknj86pkqn57c"; + sha256 = "04vi1rmin161drssqhi9n54j6mz8l6vs46pc7zbn50vzacysg3xn"; }; # too complicated to setup From de78fe8f2d78a5ef20d0d355c5dbe9d21b4be22c Mon Sep 17 00:00:00 2001 From: Eric Sagnes Date: Tue, 12 Apr 2016 01:02:30 +0900 Subject: [PATCH 077/182] manual: add chapter on input methods --- .../manual/configuration/configuration.xml | 1 + nixos/doc/manual/default.nix | 1 + nixos/modules/i18n/inputMethod/default.xml | 131 ++++++++++++++++++ 3 files changed, 133 insertions(+) create mode 100644 nixos/modules/i18n/inputMethod/default.xml diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml index caba8fb1f4a..fb3f1498a9b 100644 --- a/nixos/doc/manual/configuration/configuration.xml +++ b/nixos/doc/manual/configuration/configuration.xml @@ -28,6 +28,7 @@ effect after you run nixos-rebuild. + diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 746ddc071b6..89a95f3b356 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -58,6 +58,7 @@ let cp ${../../modules/services/databases/postgresql.xml} configuration/postgresql.xml cp ${../../modules/services/misc/gitlab.xml} configuration/gitlab.xml cp ${../../modules/security/acme.xml} configuration/acme.xml + cp ${../../modules/i18n/inputMethod/default.xml} configuration/input-methods.xml ln -s ${optionsDocBook} options-db.xml echo "${version}" > version ''; diff --git a/nixos/modules/i18n/inputMethod/default.xml b/nixos/modules/i18n/inputMethod/default.xml new file mode 100644 index 00000000000..c55ac1ec245 --- /dev/null +++ b/nixos/modules/i18n/inputMethod/default.xml @@ -0,0 +1,131 @@ + + +Input Methods + +Input methods are an operating system component that allows any data, such + as keyboard strokes or mouse movements, to be received as input. In this way + users can enter characters and symbols not found on their input devices. Using + an input method is obligatory for any language that has more graphemes than + there are keys on the keyboard. + +The following input methods are available in NixOS: + + + IBus: The intelligent input bus. + Fcitx: A customizable lightweight input + method. + Nabi: A Korean input method based on XIM. + Uim: The universal input method, is a library with a XIM + bridge. + + +
IBus + +IBus is an Intelligent Input Bus. It provides full featured and user + friendly input method user interface. + +The following snippet can be used to configure IBus: + + +i18n.inputMethod = { + enabled = "ibus"; + ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ]; +}; + + +i18n.inputMethod.ibus.engines is optional and can be + used to add extra IBus engines. + +Available extra IBus engines are: + + + Anthy (ibus-engines.anthy): Anthy is a + system for Japanese input method. It converts Hiragana text to Kana Kanji + mixed text. + Hangul (ibus-engines.hangul): Korean input + method. + m17n (ibus-engines.m17n): m17n is an input + method that uses input methods and corresponding icons in the m17n + database. + mozc (ibus-engines.mozc): A Japanese input + method from Google. + Table (ibus-engines.table): An input method + that load tables of input methods. + table-others (ibus-engines.table-others): + Various table-based input methods. + +
+ +
Fcitx + +Fcitx is an input method framework with extension support. It has three + built-in Input Method Engine, Pinyin, QuWei and Table-based input + methods. +The following snippet can be used to configure Fcitx: + + +i18n.inputMethod = { + enabled = "fcitx"; + fcitx.engines = with pkgs.fcitx-engines; [ mozc hangul m17n ]; +}; + + +i18n.inputMethod.fcitx.engines is optional and can be + used to add extra Fcitx engines. + +Available extra Fcitx engines are: + + + Anthy (fcitx-engines.anthy): Anthy is a + system for Japanese input method. It converts Hiragana text to Kana Kanji + mixed text. + Chewing (fcitx-engines.chewing): Chewing is + an intelligent Zhuyin input method. It is one of the most popular input + methods among Traditional Chinese Unix users. + Hangul (fcitx-engines.hangul): Korean input + method. + m17n (fcitx-engines.m17n): m17n is an input + method that uses input methods and corresponding icons in the m17n + database. + mozc (fcitx-engines.mozc): A Japanese input + method from Google. + table-others (fcitx-engines.table-others): + Various table-based input methods. + +
+ +
Nabi + +Nabi is an easy to use Korean X input method. It allows you to enter + phonetic Korean characters (hangul) and pictographic Korean characters + (hanja). +The following snippet can be used to configure Nabi: + + +i18n.inputMethod = { + enabled = "nabi"; +}; + +
+ +
Uim + +Uim (short for "universal input method") is a multilingual input method + framework. Applications can use it through so-called bridges. +The following snippet can be used to configure uim: + + +i18n.inputMethod = { + enabled = "uim"; +}; + + +Note: The i18n.inputMethod.uim.toolbar option can be + used to choose uim toolbar. + +
+
From e6ae05dd8ac9e42b1394701b65452e1e9cef6529 Mon Sep 17 00:00:00 2001 From: Eric Sagnes Date: Tue, 12 Apr 2016 19:46:12 +0900 Subject: [PATCH 078/182] input-method module: fix folder case --- nixos/doc/manual/default.nix | 2 +- nixos/doc/manual/release-notes/rl-1603.xml | 10 +++++----- .../i18n/{inputMethod => input-method}/default.nix | 0 .../i18n/{inputMethod => input-method}/default.xml | 0 .../i18n/{inputMethod => input-method}/fcitx.nix | 0 .../i18n/{inputMethod => input-method}/ibus.nix | 0 .../i18n/{inputMethod => input-method}/nabi.nix | 0 .../modules/i18n/{inputMethod => input-method}/uim.nix | 0 nixos/modules/module-list.nix | 10 +++++----- nixos/modules/rename.nix | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) rename nixos/modules/i18n/{inputMethod => input-method}/default.nix (100%) rename nixos/modules/i18n/{inputMethod => input-method}/default.xml (100%) rename nixos/modules/i18n/{inputMethod => input-method}/fcitx.nix (100%) rename nixos/modules/i18n/{inputMethod => input-method}/ibus.nix (100%) rename nixos/modules/i18n/{inputMethod => input-method}/nabi.nix (100%) rename nixos/modules/i18n/{inputMethod => input-method}/uim.nix (100%) diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 89a95f3b356..7d26dd73a2b 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -58,7 +58,7 @@ let cp ${../../modules/services/databases/postgresql.xml} configuration/postgresql.xml cp ${../../modules/services/misc/gitlab.xml} configuration/gitlab.xml cp ${../../modules/security/acme.xml} configuration/acme.xml - cp ${../../modules/i18n/inputMethod/default.xml} configuration/input-methods.xml + cp ${../../modules/i18n/input-method/default.xml} configuration/input-methods.xml ln -s ${optionsDocBook} options-db.xml echo "${version}" > version ''; diff --git a/nixos/doc/manual/release-notes/rl-1603.xml b/nixos/doc/manual/release-notes/rl-1603.xml index 1528c8a7246..620c3e362a6 100644 --- a/nixos/doc/manual/release-notes/rl-1603.xml +++ b/nixos/doc/manual/release-notes/rl-1603.xml @@ -63,11 +63,11 @@ has the following highlights: services/monitoring/longview.nix hardware/video/webcam/facetimehd.nix - i18n/inputMethod/default.nix - i18n/inputMethod/fcitx.nix - i18n/inputMethod/ibus.nix - i18n/inputMethod/nabi.nix - i18n/inputMethod/uim.nix + i18n/input-method/default.nix + i18n/input-method/fcitx.nix + i18n/input-method/ibus.nix + i18n/input-method/nabi.nix + i18n/input-method/uim.nix programs/fish.nix security/acme.nix security/audit.nix diff --git a/nixos/modules/i18n/inputMethod/default.nix b/nixos/modules/i18n/input-method/default.nix similarity index 100% rename from nixos/modules/i18n/inputMethod/default.nix rename to nixos/modules/i18n/input-method/default.nix diff --git a/nixos/modules/i18n/inputMethod/default.xml b/nixos/modules/i18n/input-method/default.xml similarity index 100% rename from nixos/modules/i18n/inputMethod/default.xml rename to nixos/modules/i18n/input-method/default.xml diff --git a/nixos/modules/i18n/inputMethod/fcitx.nix b/nixos/modules/i18n/input-method/fcitx.nix similarity index 100% rename from nixos/modules/i18n/inputMethod/fcitx.nix rename to nixos/modules/i18n/input-method/fcitx.nix diff --git a/nixos/modules/i18n/inputMethod/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix similarity index 100% rename from nixos/modules/i18n/inputMethod/ibus.nix rename to nixos/modules/i18n/input-method/ibus.nix diff --git a/nixos/modules/i18n/inputMethod/nabi.nix b/nixos/modules/i18n/input-method/nabi.nix similarity index 100% rename from nixos/modules/i18n/inputMethod/nabi.nix rename to nixos/modules/i18n/input-method/nabi.nix diff --git a/nixos/modules/i18n/inputMethod/uim.nix b/nixos/modules/i18n/input-method/uim.nix similarity index 100% rename from nixos/modules/i18n/inputMethod/uim.nix rename to nixos/modules/i18n/input-method/uim.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 65f0ea9b65d..a23e787bd08 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -41,11 +41,11 @@ ./hardware/video/nvidia.nix ./hardware/video/ati.nix ./hardware/video/webcam/facetimehd.nix - ./i18n/inputMethod/default.nix - ./i18n/inputMethod/fcitx.nix - ./i18n/inputMethod/ibus.nix - ./i18n/inputMethod/nabi.nix - ./i18n/inputMethod/uim.nix + ./i18n/input-method/default.nix + ./i18n/input-method/fcitx.nix + ./i18n/input-method/ibus.nix + ./i18n/input-method/nabi.nix + ./i18n/input-method/uim.nix ./installer/tools/auto-upgrade.nix ./installer/tools/nixos-checkout.nix ./installer/tools/tools.nix diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 84eccfd5129..aaec13d6bea 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -63,7 +63,7 @@ with lib; (mkRenamedOptionModule [ "services" "tarsnap" "config" ] [ "services" "tarsnap" "archives" ]) # ibus - (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "inputMethod" "ibus" "engines" ]) + (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "input-method" "ibus" "engines" ]) # proxy (mkRenamedOptionModule [ "nix" "proxy" ] [ "networking" "proxy" "default" ]) From b4aa79954581c144370232abaf3b77b198f36651 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 14:04:16 +0200 Subject: [PATCH 079/182] mopidy: 1.1.2 -> 2.0.0 --- pkgs/applications/audio/mopidy/default.nix | 23 +++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix index 29426f43de1..c1bdab8622c 100644 --- a/pkgs/applications/audio/mopidy/default.nix +++ b/pkgs/applications/audio/mopidy/default.nix @@ -1,23 +1,28 @@ -{ stdenv, fetchurl, pythonPackages, pygobject, gst_python, wrapGAppsHook -, glib_networking, gst_plugins_good, gst_plugins_base, gst_plugins_ugly +{ stdenv, fetchFromGitHub, pythonPackages, pygobject3, wrapGAppsHook +, gst_all_1, glib_networking, gobjectIntrospection }: pythonPackages.buildPythonApplication rec { name = "mopidy-${version}"; - version = "1.1.2"; + version = "2.0.0"; - src = fetchurl { - url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz"; - sha256 = "1vn4knpmnp3krmn627iv1r7xa50zl816ac6b24b8ph50cq2sqjfv"; + src = fetchFromGitHub { + owner = "mopidy"; + repo = "mopidy"; + rev = "v${version}"; + sha256 = "06f1y87dqc7p6kq5npmg3ki8x4iacyjzd7nq7188x20y2zglrjbm"; }; - buildInputs = [ - wrapGAppsHook gst_plugins_base gst_plugins_good gst_plugins_ugly glib_networking + nativeBuildInputs = [ wrapGAppsHook ]; + + buildInputs = with gst_all_1; [ + gst-plugins-base gst-plugins-good gst-plugins-ugly + glib_networking gobjectIntrospection ]; propagatedBuildInputs = with pythonPackages; [ - gst_python pygobject pykka tornado requests2 + gst-python pygobject3 pykka tornado requests2 ]; # There are no tests From 093c111cf42449edb659a805ebcb6631b4d95c2a Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 14:05:05 +0200 Subject: [PATCH 080/182] mopidy-mopify: 1.5.8 -> 1.5.17 --- pkgs/applications/audio/mopidy-mopify/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mopidy-mopify/default.nix b/pkgs/applications/audio/mopidy-mopify/default.nix index abb9c50d71c..0cb076556c7 100644 --- a/pkgs/applications/audio/mopidy-mopify/default.nix +++ b/pkgs/applications/audio/mopidy-mopify/default.nix @@ -3,11 +3,11 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-mopify-${version}"; - version = "1.5.8"; + version = "1.5.17"; src = fetchurl { url = "https://github.com/dirkgroenen/mopidy-mopify/archive/${version}.tar.gz"; - sha256 = "1gq88i5hbyskwhqf51myndqgmrndkyy6gs022sc387fy3dwxmvn0"; + sha256 = "1qi7f5i87ygn486gxc84njl22y84xrwabpz58y5a1hw7z1lp7l8s"; }; propagatedBuildInputs = with pythonPackages; [ mopidy configobj ]; From 73d5024c628764b2f0c79a48d83f345e573cdec4 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 14:05:25 +0200 Subject: [PATCH 081/182] mopidy-musicbox-webclient: 2.0.0 -> 2.2.0 --- pkgs/applications/audio/mopidy-musicbox-webclient/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mopidy-musicbox-webclient/default.nix b/pkgs/applications/audio/mopidy-musicbox-webclient/default.nix index b2bca838cee..53fb4d6c2f7 100644 --- a/pkgs/applications/audio/mopidy-musicbox-webclient/default.nix +++ b/pkgs/applications/audio/mopidy-musicbox-webclient/default.nix @@ -3,13 +3,13 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-musicbox-webclient-${version}"; - version = "2.0.0"; + version = "2.2.0"; src = fetchFromGitHub { owner = "pimusicbox"; repo = "mopidy-musicbox-webclient"; rev = "v${version}"; - sha256 = "0gnw6jn55jr6q7bdp70mk3cm5f6jy8lm3s7ayfmisihhjbl3rnaq"; + sha256 = "0v09wy40ipl0b0dpgmcdl15c5g732c9jl7zipm4sy4pr8xiy6baa"; }; propagatedBuildInputs = [ mopidy ]; From 576b20b0217ce878dc14421bf1e8ed58ee4f0632 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 14:06:21 +0200 Subject: [PATCH 082/182] mopidy-spotify: 2.3.1 -> 3.0.0 --- pkgs/applications/audio/mopidy-spotify/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mopidy-spotify/default.nix b/pkgs/applications/audio/mopidy-spotify/default.nix index 3a717344aef..045c400a17f 100644 --- a/pkgs/applications/audio/mopidy-spotify/default.nix +++ b/pkgs/applications/audio/mopidy-spotify/default.nix @@ -2,11 +2,11 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-spotify-${version}"; - version = "2.3.1"; + version = "3.0.0"; src = fetchurl { url = "https://github.com/mopidy/mopidy-spotify/archive/v${version}.tar.gz"; - sha256 = "0g105kb27q1p8ssrbxkxcjgx9jkqnd9kk5smw8sjcx6f3b23wrwx"; + sha256 = "0w7bhq6nz2xly5g72xd98r7lyzmx7nzfdpghk7vklkx0x41qccz8"; }; propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ]; From 164335d8c0691c693d6db820d37bcd695ffa5146 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 14:08:32 +0200 Subject: [PATCH 083/182] pythonPackages.tunigo: 0.1.3 -> 1.0.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 6d667a2e284..7e825b9e150 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -23595,14 +23595,14 @@ in modules // { tunigo = buildPythonPackage rec { name = "tunigo-${version}"; - version = "0.1.3"; + version = "1.0.0"; propagatedBuildInputs = with self; [ requests2 ]; src = pkgs.fetchFromGitHub { owner = "trygveaa"; repo = "python-tunigo"; rev = "v${version}"; - sha256 = "02ili37dbs5mk5f6v3fmi1sji39ymc4zyq44x0abxzr88nc8nh97"; + sha256 = "07q9girrjjffzkn8xj4l3ynf9m4psi809zf6f81f54jdb330p2fs"; }; buildInputs = with self; [ mock nose ]; From 48cac3994434db2ca9f1e7e1114a448adceb2b21 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 14:05:57 +0200 Subject: [PATCH 084/182] mopidy-spotify-tunigo: 0.2.1 -> 1.0.0 --- pkgs/applications/audio/mopidy-spotify-tunigo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mopidy-spotify-tunigo/default.nix b/pkgs/applications/audio/mopidy-spotify-tunigo/default.nix index 4d7c1cb7326..034a07bf027 100644 --- a/pkgs/applications/audio/mopidy-spotify-tunigo/default.nix +++ b/pkgs/applications/audio/mopidy-spotify-tunigo/default.nix @@ -3,13 +3,13 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-spotify-tunigo-${version}"; - version = "0.2.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "trygveaa"; repo = "mopidy-spotify-tunigo"; rev = "v${version}"; - sha256 = "0827wghbgrscncnshz30l97hgg0g5bsnm0ad8596zh7cai0ibss0"; + sha256 = "1jwk0b2iz4z09qynnhcr07w15lx6i1ra09s9lp48vslqcf2fp36x"; }; propagatedBuildInputs = [ mopidy mopidy-spotify pythonPackages.tunigo ]; From 6615481c472eca365999065cda53012b9525c803 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 14:08:52 +0200 Subject: [PATCH 085/182] pythonPackages.pafy: 0.4.3 -> 0.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 7e825b9e150..47f33f3869c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -25813,11 +25813,11 @@ in modules // { pafy = buildPythonPackage rec { name = "pafy-${version}"; - version = "0.4.3"; + version = "0.5.0"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pafy/${name}.tar.gz"; - sha256 = "1la4nn4n66p6dmcf1dyxw7i5j0xprmq82gwmxjv1jjis7vsnk254"; + sha256 = "1q699dcnq34nfgm0bg8mp5krhzk9cyirqdcadhs9al4fa5410igw"; }; propagatedBuildInputs = with self; [ youtube-dl ]; From 884b5d002539291b1aefc19d914e173d7ac5e442 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 14:06:39 +0200 Subject: [PATCH 086/182] mopidy-youtube: 2.0.1 -> 2.0.2 --- pkgs/applications/audio/mopidy-youtube/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mopidy-youtube/default.nix b/pkgs/applications/audio/mopidy-youtube/default.nix index 2942cba95f0..d3eb8539a19 100644 --- a/pkgs/applications/audio/mopidy-youtube/default.nix +++ b/pkgs/applications/audio/mopidy-youtube/default.nix @@ -3,13 +3,13 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-youtube-${version}"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "mopidy"; repo = "mopidy-youtube"; rev = "v${version}"; - sha256 = "1si7j7m5kg0cxlhkw8s2mbnpmc9mb3l69n5sgklb1yv1s55iia6z"; + sha256 = "06r3ikyg2ch5n7fbn3sgj04hk6icpfpk1r856qch41995k3bbfg7"; }; propagatedBuildInputs = with pythonPackages; [ mopidy pafy ]; From 9ec9da1a246bf86ae87375f542147b4c19e93bc4 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 7 Apr 2016 11:16:45 +0200 Subject: [PATCH 087/182] iSpike: init at 2.1.1 --- .../science/robotics/ispike/default.nix | 24 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/development/libraries/science/robotics/ispike/default.nix diff --git a/pkgs/development/libraries/science/robotics/ispike/default.nix b/pkgs/development/libraries/science/robotics/ispike/default.nix new file mode 100644 index 00000000000..5f2263d821d --- /dev/null +++ b/pkgs/development/libraries/science/robotics/ispike/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, cmake, boost +}: + +stdenv.mkDerivation rec { + name = "ispike-${version}"; + version = "2.1.1"; + + src = fetchurl { + url = "mirror://sourceforge/ispike/${name}.tar.gz"; + sha256 = "0khrxp43bi5kisr8j4lp9fl4r5marzf7b4inys62ac108sfb28lp"; + }; + + buildInputs = [ cmake boost ]; + + meta = { + description = "Spiking neural interface between iCub and a spiking neural simulator"; + homepage = https://sourceforge.net/projects/ispike/; + license = stdenv.lib.licenses.lgpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.nico202 ]; + }; + + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f8a5bdb8605..ab061ef4e66 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2017,6 +2017,8 @@ in isl_0_14 = callPackage ../development/libraries/isl/0.14.1.nix { }; isl_0_15 = callPackage ../development/libraries/isl/0.15.0.nix { }; + ispike = callPackage ../development/libraries/science/robotics/ispike { }; + isync = callPackage ../tools/networking/isync { }; isyncUnstable = callPackage ../tools/networking/isync/unstable.nix { }; From c98cca361461e2fa5b51c45979d99fe06eafbf69 Mon Sep 17 00:00:00 2001 From: taku0 Date: Tue, 12 Apr 2016 22:47:31 +0900 Subject: [PATCH 088/182] firefox-bin: 45.0.1 -> 45.0.2 (#14626) --- .../browsers/firefox-bin/sources.nix | 362 +++++++++--------- 1 file changed, 181 insertions(+), 181 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix index 1ff70cb8ccf..883b2abf44a 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix @@ -4,187 +4,187 @@ # ruby generate_sources.rb > sources.nix { - version = "45.0.1"; + version = "45.0.2"; sources = [ - { locale = "ach"; arch = "linux-i686"; sha256 = "6dff17afbbbb9ba8e064b431db1f6b6a1862ec56e11dfa8cb8ef5d89dd9f7705"; } - { locale = "ach"; arch = "linux-x86_64"; sha256 = "4f806511a1e7c2100d976a9753f0e7ecee483f19ca1176e1867021a55725aabf"; } - { locale = "af"; arch = "linux-i686"; sha256 = "0a2e0b55e43b41304895f624ae95372e4ab52b06c8892e0ef02a8e41c5ff28e5"; } - { locale = "af"; arch = "linux-x86_64"; sha256 = "c865d4a431c3b92347393b62c4589fe67f4323458faf1ee07367e1f432d0e839"; } - { locale = "an"; arch = "linux-i686"; sha256 = "d58dcdb222fad88650d65623005897de7a693d16c44d86f25694a00d7fa5111d"; } - { locale = "an"; arch = "linux-x86_64"; sha256 = "b00ac5cf76fe562cac8f72327cdf0e54b2c4384586fbb064deb72d2741e05268"; } - { locale = "ar"; arch = "linux-i686"; sha256 = "42851096189bc53d18ea26d9de1d0321b033a5601594c0515530263cf3155b12"; } - { locale = "ar"; arch = "linux-x86_64"; sha256 = "4d7e8760da3dac6cffa8eafeb22c759bfad3664bba7f690c0f1d1aa5284aed3c"; } - { locale = "as"; arch = "linux-i686"; sha256 = "706d584ea78172ec88c29d124abf2bd34881c9752231fdb3f491d0bf858fc5c5"; } - { locale = "as"; arch = "linux-x86_64"; sha256 = "13ed628c2ef29b8d3188274e6fc101ba622d4e1ca20880b381e62225c5f057d5"; } - { locale = "ast"; arch = "linux-i686"; sha256 = "9f8f5870245cf0016d4a9a540d29d31249188fa8f390c47cfd330874eb20e8dd"; } - { locale = "ast"; arch = "linux-x86_64"; sha256 = "9bd85381abe1335ca9208ad764477e6f2a926288058c91aee0af3a3967aa1e57"; } - { locale = "az"; arch = "linux-i686"; sha256 = "9e117f5aabdb8f71bcaf8073c76c4b795c957e6739471fed0f484d0ed39b5a98"; } - { locale = "az"; arch = "linux-x86_64"; sha256 = "06ee5bd4f1096e6728120fbed4ed6cbc88cb1003c484a15dd624254ae93ed849"; } - { locale = "be"; arch = "linux-i686"; sha256 = "c6091272b395905e746271176d354ff59eccc9d96c5e1ecc2e8e5c3ac65ed2f0"; } - { locale = "be"; arch = "linux-x86_64"; sha256 = "090ba5d28858b2c58a6a29ce0f435797a938cd788ebd3413db4ced224329d2e4"; } - { locale = "bg"; arch = "linux-i686"; sha256 = "1b8b5bbe6473b13fb80ca31514f7386015f5920c7a3d8391aa5549eedcfd09ce"; } - { locale = "bg"; arch = "linux-x86_64"; sha256 = "b49fa01d8749c1b4d327dca2379e4940d5d85d310e998cad66efecc2f485cf9c"; } - { locale = "bn-BD"; arch = "linux-i686"; sha256 = "3372a82af514706d8eacc5e4d35584379408db964c3cfd35ea75597ddefad7e8"; } - { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "798a2a405e175f8347dfd933300eba728cde6dbe47fa831552e40b87455bd921"; } - { locale = "bn-IN"; arch = "linux-i686"; sha256 = "3895feec666feb59a554310efc70b248d63906ca6bde59c03d9a29fa2d4cd7c2"; } - { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "58725666980beeb5a651683a76be2084ba9d40530a063f1f1ebf160fb4db8e0b"; } - { locale = "br"; arch = "linux-i686"; sha256 = "21d56c17d225a6a35711bb8354724a05ad15ec565cc70ec128384f9b8762edba"; } - { locale = "br"; arch = "linux-x86_64"; sha256 = "c0cc5568b2fac5ba35ef742fd1f87fbb73e1bca47240e888848ac804f4bd7714"; } - { locale = "bs"; arch = "linux-i686"; sha256 = "4b2d818c81bc15dad48c47847c14a00cec5b93615a23cb5d2068f4a2ef98b810"; } - { locale = "bs"; arch = "linux-x86_64"; sha256 = "a35a4cd723c446ac5593989f7fc4a56aace5cbf6bce757f3a92986e795ab07ba"; } - { locale = "ca"; arch = "linux-i686"; sha256 = "66497de3bf6069c1af68f6a50988919b8ff37afb9da7ce327a5beb014b75aa0f"; } - { locale = "ca"; arch = "linux-x86_64"; sha256 = "188b43172959c2ef064ef558d0b6518409eb19bb33add98d77a8bf260def55e6"; } - { locale = "cs"; arch = "linux-i686"; sha256 = "2ccd96ef1b831580dcfe84f62501fcebae7fdf8a803786913bd24a9cc9904ff7"; } - { locale = "cs"; arch = "linux-x86_64"; sha256 = "c9e1665399f055c561ec6d8df90235c3bfb3570d7ec613b959e80c5080e7c614"; } - { locale = "cy"; arch = "linux-i686"; sha256 = "789aadc04e83af8cc08cb9dd67bc61aef337a31d2ac17239c194de2d12608b6e"; } - { locale = "cy"; arch = "linux-x86_64"; sha256 = "6d695037d9000911422a6b50d09ef250044d629368900ec569a06ac245c1eb2a"; } - { locale = "da"; arch = "linux-i686"; sha256 = "b63788d28be0cbc37499e5ad41b8a904413c537a5786b1c2934c304f2adf4ded"; } - { locale = "da"; arch = "linux-x86_64"; sha256 = "a5d4cf1dec637ce5c09ee9f8be82ad32756a56ff0e8c529c945b40adb3b928e0"; } - { locale = "de"; arch = "linux-i686"; sha256 = "ae3b299a514423faf79bd21952f90e37a4d8e7be2cadca9a1befff4160f103e7"; } - { locale = "de"; arch = "linux-x86_64"; sha256 = "971b80131db7e1facd480546d9bd780bf69d2a99338d9e50415eb6583e550cdd"; } - { locale = "dsb"; arch = "linux-i686"; sha256 = "87c439cfbd139477055e5a8bd421aa65cb75cdb93090a54899d25411ab3d5dde"; } - { locale = "dsb"; arch = "linux-x86_64"; sha256 = "2a04b723d1ed3f9bab3dc9f11fc315fbce2543bfff37532e7cd7a4b9a33d7936"; } - { locale = "el"; arch = "linux-i686"; sha256 = "37e02fb347d8cb1f3b5079c3be055c0e37cdb3a6ab97b2928237beeb446e800e"; } - { locale = "el"; arch = "linux-x86_64"; sha256 = "9a439341ff9c39cfe8dcb6681221d0d78690ad063ac99a201001f5787b5ec270"; } - { locale = "en-GB"; arch = "linux-i686"; sha256 = "a3cc4951a826e483ddb7832333e032e9197418cacdb4250e5072de1ad2fef5d2"; } - { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "433ecbabc4d1fabb2ebad958c4e7a0bb9cff9a657b1a641f820d5f0a7ba8c1f1"; } - { locale = "en-US"; arch = "linux-i686"; sha256 = "a78498b51059f46d42cf2fcb2232d57d97f2ab4e8a789151d3a26e013132dbb8"; } - { locale = "en-US"; arch = "linux-x86_64"; sha256 = "251e8d67abe989ddbf7cf9e78bba58eee43e3b1eb0c461a9c6c376bda6c71a87"; } - { locale = "en-ZA"; arch = "linux-i686"; sha256 = "d6195b72e56ca9ea366ab47885ee22b0f7bf4811b3cc937c36af53fe4e6f5d89"; } - { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "f82eba9a593fd6ad8a9b5b8b61d2ccf986080a1cff2af598afe930cd96423a5d"; } - { locale = "eo"; arch = "linux-i686"; sha256 = "b6bcfea89be5883e1e5d2899bab371b7d972d4be5717d21d522bc56679463dd9"; } - { locale = "eo"; arch = "linux-x86_64"; sha256 = "4908438cf56646665f91bf12e46c611818c5323979048d01bbdc4d5cf945832d"; } - { locale = "es-AR"; arch = "linux-i686"; sha256 = "ace48b5a36bccf1d21e17611e9ef7c21786f207da111473479473e5bc5817fe9"; } - { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "277ec48d9b45bd41dcaa141d67f5f814845d5e0faeca97c6f5d507f8c9ce5312"; } - { locale = "es-CL"; arch = "linux-i686"; sha256 = "78cb60452201df5cff7ed7da54f3f876596de0a895887f8016b3d642d727e96c"; } - { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "3be79c28ea7f7ea075fc92e418ff980176dc9707329f1043c54161e703b43028"; } - { locale = "es-ES"; arch = "linux-i686"; sha256 = "4bb8d2732754c1112bc8d32a26b0cfee79449447a4cb8ca368f1d41e9ba43d37"; } - { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "f512f8f1b163c72234173944c5781550810b90c2b6a1a6f8d070b87a8f85192e"; } - { locale = "es-MX"; arch = "linux-i686"; sha256 = "01f2b5e09792714b6315933ec714c5d1baa77bbab5b4e4d06ecf670c47c75d40"; } - { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "c7af08a37c116a5cb805cf0b60ef1b1a8f956fec3381ceb0288c62355b05c91b"; } - { locale = "et"; arch = "linux-i686"; sha256 = "0aac86a5cd520a806aedc2f8111798eebcb08919099973f7d7fc7addfbaa0584"; } - { locale = "et"; arch = "linux-x86_64"; sha256 = "fa0ad1bfd65d231cc58c9d79fb07cd4a98d5976e870af017642a77ebd7a4b260"; } - { locale = "eu"; arch = "linux-i686"; sha256 = "4bad5d7e4e2d917606f63efa079092516ff1435013adb8aedbe95a53aa2c594a"; } - { locale = "eu"; arch = "linux-x86_64"; sha256 = "9e390ebf06c5abc46f80ec8c77bd7572de827ee5d368de34c1252ee386687372"; } - { locale = "fa"; arch = "linux-i686"; sha256 = "9738ddfbaaf3e34c5546c584d9dbdeca68086e66f06b438760befb23e07593cd"; } - { locale = "fa"; arch = "linux-x86_64"; sha256 = "55e8f1f2547a9c7c3bb3cf7029e166ae42a3745f51b58c87d7eeaf6ecdb81952"; } - { locale = "ff"; arch = "linux-i686"; sha256 = "dfb266913e27299469de2a5ffedd5fa47f344d6d7e092ddf630cde726b94934d"; } - { locale = "ff"; arch = "linux-x86_64"; sha256 = "370e310c39f0a87cc8e3ecc5bd6c8f3bbd863b1a8d7e613a0c2fa9be7b8b988c"; } - { locale = "fi"; arch = "linux-i686"; sha256 = "2d10c5e21f414cc83a5413e8a2fc53124c2dadb718861410fa45e57c8ba4fd7c"; } - { locale = "fi"; arch = "linux-x86_64"; sha256 = "d791eda3135572d0735393ee1101383b4d20142a4279dfe615a9e20c341ea4ea"; } - { locale = "fr"; arch = "linux-i686"; sha256 = "94118a53c25a0fb243b63d51a64c077672c4c93d7ca964f6384e3bb8234891a1"; } - { locale = "fr"; arch = "linux-x86_64"; sha256 = "6ccd8216017b2593430a812ea167a97012060d41fbf610bf518b8d997ac59c53"; } - { locale = "fy-NL"; arch = "linux-i686"; sha256 = "bd5cfd3565353ae8d01d8c9089a364394aa0ebc4547a41dba11ced14a494ed9d"; } - { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "0db0aa59c0df881f901d794fdf99f5abd27db88e0c3ab2d364b22eb7326152db"; } - { locale = "ga-IE"; arch = "linux-i686"; sha256 = "59486516e8aa13ca113e1f2998b05509dba0546aa7b11d99ff6da55a6f069f64"; } - { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "1cda950ea6cc6d8957d580fd2c59784bf6cd339083f0fc3cd3a084e0326b0041"; } - { locale = "gd"; arch = "linux-i686"; sha256 = "602047e1669e9551f7a3501082e81e3e79287082b981d59f515887c5e892fb70"; } - { locale = "gd"; arch = "linux-x86_64"; sha256 = "d5b901d78e06a75d2534214bb849e31696ec44349c18b9b511e68951d29fde90"; } - { locale = "gl"; arch = "linux-i686"; sha256 = "d55a556321c600024ea2fc38d9671f34c490046da88a89e4ae46d9217bf64677"; } - { locale = "gl"; arch = "linux-x86_64"; sha256 = "3deb86b766f51a218266cf4d97e1b3332c8ca7d75cc86491d940a8b9f37c0bb5"; } - { locale = "gn"; arch = "linux-i686"; sha256 = "f38099f998e5bc396360856fe2543152feed086b64a85b7ac3bd2b9e3e0ad609"; } - { locale = "gn"; arch = "linux-x86_64"; sha256 = "af4055322dc0524a00fc3ac08a4b2eb40a305dd574b92cc591fee6a00482c4b6"; } - { locale = "gu-IN"; arch = "linux-i686"; sha256 = "3210857982a6628f8c2632995c248eed1bd1c719ddcbacb663839990e67b88c8"; } - { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "bb2154aba760896180ae747648530880127c8c46481b04a1ea0cb3b47c2a6f41"; } - { locale = "he"; arch = "linux-i686"; sha256 = "18b5217fee9e30bd4bb7f1ea27445ff4aede149a286c07b7c8e9740330b7e6eb"; } - { locale = "he"; arch = "linux-x86_64"; sha256 = "2f51ccc6e5c64976c2f81818d0a4381e508aa5f70ec2108f0e6f512a51574709"; } - { locale = "hi-IN"; arch = "linux-i686"; sha256 = "555318d41795c988f41655bcf4653aef259c2e3dc80fdcf95670c6ada7fe687c"; } - { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "683e0437ff9168e159e933bf72f6db2d95ae94bb06bc48a1d1fafd30b7028fe1"; } - { locale = "hr"; arch = "linux-i686"; sha256 = "c7a2cfb5f4594a3690797ee5559949154b3dd8c9e6a4dbd774e312f914e0b268"; } - { locale = "hr"; arch = "linux-x86_64"; sha256 = "94098ca5f069445a6514d4b7500ae10b018b4e1dba2eb7052a200c5eb707ba41"; } - { locale = "hsb"; arch = "linux-i686"; sha256 = "c81cde05298660186d2760e977e43e554a896105765c043caac74b09326358fb"; } - { locale = "hsb"; arch = "linux-x86_64"; sha256 = "4cdd381d2eb94f163637a328e5ee9369eddc0559f17861377566853e2a7ec571"; } - { locale = "hu"; arch = "linux-i686"; sha256 = "0af518a42e35174f838b958823ad1aa24a14ff75a6058c2171594e16d5670d77"; } - { locale = "hu"; arch = "linux-x86_64"; sha256 = "b4c0212fe6a8df9689d5dfcaa9ebb2a1cf07e1e9817727581411542ea9bf26b5"; } - { locale = "hy-AM"; arch = "linux-i686"; sha256 = "0d62e6627e3ea838089a6b8b8692d034a64b47c66af80561a23bcdd74fcc777b"; } - { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "0e07e77cfac6588f8b1c3579b7dfc62feafcb72e7f9f57e2618364e3c02c0527"; } - { locale = "id"; arch = "linux-i686"; sha256 = "9361b3c83f4b3fe84d2918810b4651bc2878eeb3cdc849c513aa3faa17bb9a72"; } - { locale = "id"; arch = "linux-x86_64"; sha256 = "baaa11970fb695434fc2c7829d99578f7f48debb5e11729f94b58df330608c36"; } - { locale = "is"; arch = "linux-i686"; sha256 = "3f1fc35dc18a684a22c05a2ce468b5a164b6c83457694f9de4e6f9a72c28c6df"; } - { locale = "is"; arch = "linux-x86_64"; sha256 = "046fa860343ea079db768d94c5dbc563d6564df5a177f2a5cb7fdfa965576019"; } - { locale = "it"; arch = "linux-i686"; sha256 = "ce736af6240e803a3c1fabb58bdae2e27e44ff593e56172b3d6d174c89f606e5"; } - { locale = "it"; arch = "linux-x86_64"; sha256 = "e2a8fb6e3f18b2be4b7736e3c8adf77968bc13dea7f981e20ae47430b137695c"; } - { locale = "ja"; arch = "linux-i686"; sha256 = "2153c10104c62a5814a4f72fab7be6ffa2e03e5c5cc5f7172820d0a139134fe6"; } - { locale = "ja"; arch = "linux-x86_64"; sha256 = "446a20d4ca5c7086045f8750eb0bcc850118d2f020a77f8fa4d116064b443953"; } - { locale = "kk"; arch = "linux-i686"; sha256 = "3ddda0311feee7c247fd309a7721f4be8458fa528e63a2e8f58c005f70007144"; } - { locale = "kk"; arch = "linux-x86_64"; sha256 = "4dd8f3ea040fb2d6056f0c0f615ed38f09c980cee660fba1f8aaf0fd506745eb"; } - { locale = "km"; arch = "linux-i686"; sha256 = "a295d9d466aef89c95989866a38080d3d1b110e4efb52b1a01479817dd1c866c"; } - { locale = "km"; arch = "linux-x86_64"; sha256 = "dbb249a1398c335a155ea2b2f6ac4656f8ff00b999035dce9f5a59532043f9c3"; } - { locale = "kn"; arch = "linux-i686"; sha256 = "357077be38c6869602a13abf1f494ec8a124a9eb2c03a395a1b30276110b6913"; } - { locale = "kn"; arch = "linux-x86_64"; sha256 = "11658a25f30558a6f11f28c80a98800095ef4c5879d456dc3503737a8d9cb465"; } - { locale = "ko"; arch = "linux-i686"; sha256 = "a653f4030480ab17d77c48b144296e78faba7ad48fdce812afbe8243299575c5"; } - { locale = "ko"; arch = "linux-x86_64"; sha256 = "182858b0c4bd6ece47aff2b406da7442eb3fbe148c3bc20975f6bafd2acd37ac"; } - { locale = "lij"; arch = "linux-i686"; sha256 = "449088107c0077318d95176a90a65219a76c851c98dd5b929452bfde2a87773f"; } - { locale = "lij"; arch = "linux-x86_64"; sha256 = "8b45df098143a01f915b8eee0f8b7d56b4ec73fc9cfd0fba8c5f4b8582992f80"; } - { locale = "lt"; arch = "linux-i686"; sha256 = "085e9873154fab87c909cef005a82f0d5ab81a8ece9adfe46766ae69418084f6"; } - { locale = "lt"; arch = "linux-x86_64"; sha256 = "dde643769a14714cb9990fa489389fd5cabcfb26b23c31bb32dbaa17a38f5150"; } - { locale = "lv"; arch = "linux-i686"; sha256 = "f6363da3c7ebd5f9d80454ad126ac1cf03ef2c9fd2eebf5cb174f0d7a9cf1e36"; } - { locale = "lv"; arch = "linux-x86_64"; sha256 = "41fb793c10d5eb52dd3847f9dee30c3f67c8ad5061897d9f13135b7d1666a84b"; } - { locale = "mai"; arch = "linux-i686"; sha256 = "96af787075b06d96a2e8a261b900f6eb590f4997354dcd9f57a8714af3432a12"; } - { locale = "mai"; arch = "linux-x86_64"; sha256 = "514e75157308cd6fc96c54592dd1c1f5b556c15c5b211543644f324eee09b1a2"; } - { locale = "mk"; arch = "linux-i686"; sha256 = "1f809ef4d0afcb13bb40459a63be49ab6e074641e8f4ce54e9d2bd89c4b0b141"; } - { locale = "mk"; arch = "linux-x86_64"; sha256 = "4931d99ddd6851e4e4596a808e6b6e5fe45012711723c6748b752217c70be9d6"; } - { locale = "ml"; arch = "linux-i686"; sha256 = "5081b42676c174226c357c798d64cade2acecf6e935bbfabdaab548d364dd1ff"; } - { locale = "ml"; arch = "linux-x86_64"; sha256 = "1cbaa2c64d8fc098b67f77660e18a3df3e051396a3d5e0f984294b0823324365"; } - { locale = "mr"; arch = "linux-i686"; sha256 = "d1cc4ef0d9938c85a21e64e4a71539d46a78c709edd1ac1dc331da8ae6af57e1"; } - { locale = "mr"; arch = "linux-x86_64"; sha256 = "8fc0abfe8e834c0894187fab63becd1e3d4e071609676c1d0a8fd35a4265ec60"; } - { locale = "ms"; arch = "linux-i686"; sha256 = "7f471e30f28f0ccf6bc285d24923be2b53415891f4f0909c31160bd09d8e2c21"; } - { locale = "ms"; arch = "linux-x86_64"; sha256 = "150101c5a3556664a9e3827edf36c412c64037871a5af5f66c47bed448c8931d"; } - { locale = "nb-NO"; arch = "linux-i686"; sha256 = "67b888c5b666e1428c182dfa79aa1a9a471c785d4dac85e6cf1f618dee9c796a"; } - { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "57c1aee6f309536788a9a9bd2be3046d65c9b174583de7e0b72cf45f28156f67"; } - { locale = "nl"; arch = "linux-i686"; sha256 = "43feb0205631ff5caa6e7d71fa37a6643b3b3fd92fc06b77cef9e9a0113bb1ce"; } - { locale = "nl"; arch = "linux-x86_64"; sha256 = "182481c49deb71d9344a8789db40e233326719dbe19973fedeaaa504ba771fcb"; } - { locale = "nn-NO"; arch = "linux-i686"; sha256 = "995abcace6138d11252b60958a8d5a13a1abf94c8017e567053468f811549b24"; } - { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "d449fa5534d9a7f5e772678388770f14fa32226b0366e9a2adf7cd245b911139"; } - { locale = "or"; arch = "linux-i686"; sha256 = "a7abea23a03ed38048e724e2f7fa234e24f0f74d8681e39bca5ef183178df923"; } - { locale = "or"; arch = "linux-x86_64"; sha256 = "b05963dc6e13757b4afd1a1fa72c3128cbdfc9db3ba16adc20d2fd2eb101f165"; } - { locale = "pa-IN"; arch = "linux-i686"; sha256 = "4a30beb8ca9feca58487264abbed2a403336835140767ebac31be24bcf4b9386"; } - { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "77b77274a7eac09f4d1a7163ba5555ced722369717d98ba1dab014140a4ac235"; } - { locale = "pl"; arch = "linux-i686"; sha256 = "699b72fd6bdda12d71521bc0e32fb1a95d933dc45f62595e6b02f5441ff6d016"; } - { locale = "pl"; arch = "linux-x86_64"; sha256 = "d748461e3e45a3d07aa36bde8fd265a51888e34ce0a8e23fdf893e540cc90e16"; } - { locale = "pt-BR"; arch = "linux-i686"; sha256 = "0b7062f911ce1d70e5300cd85328aa507c9a39ad14110a0241e23280af0f6db5"; } - { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "b2de3df121d0ca4b4c322533040ae5187cff9fad8e8b83997425867c051b636c"; } - { locale = "pt-PT"; arch = "linux-i686"; sha256 = "801a04cd65d7253c95bfb9b680abba87b45e3f0cff18f94b81945ed47154b9e7"; } - { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "5e6a28463b388fb2a242af899e521a7c2a4bcc48959d0f6813335fd11e3b5861"; } - { locale = "rm"; arch = "linux-i686"; sha256 = "57d8127547da954a6fdecaaab0006d570125ad577ad7d66e53c97e1c2194258e"; } - { locale = "rm"; arch = "linux-x86_64"; sha256 = "f6158506cbf3c96a5f6a551969338a65369f2be52bfa80359da3941d2f3277bb"; } - { locale = "ro"; arch = "linux-i686"; sha256 = "980701a87255b999c4df5d82a53b653bb513675ba93e5138bc47e91174d03c3f"; } - { locale = "ro"; arch = "linux-x86_64"; sha256 = "95e80b8bbd38510719463ca1b67e574f0a1d62daa8fbd09f4bba277749c57517"; } - { locale = "ru"; arch = "linux-i686"; sha256 = "16e6775a26756b445e5c72220297062b3e4e1ab66efd0324eb161a4d5b353874"; } - { locale = "ru"; arch = "linux-x86_64"; sha256 = "9bc067f5c158f33fdafd8b7ea1ab3492002ceca579a177a292a835d52c430c27"; } - { locale = "si"; arch = "linux-i686"; sha256 = "2fdc744bc85488514b9bcf93b017e6f6fcfd4cf7c249c1e7d307956cb62baf43"; } - { locale = "si"; arch = "linux-x86_64"; sha256 = "366893e7b7337ff6bdfe0def0ac88615e9cadb460fbcb17dd047f18172782208"; } - { locale = "sk"; arch = "linux-i686"; sha256 = "3efabb4f04376688f51df5c70fb4cfc0b382e9b6160eb625969945a8e3272a18"; } - { locale = "sk"; arch = "linux-x86_64"; sha256 = "dd97fc87382cca475b4b8ef8ab137b8f436e4a4792bfc06bcf0e7736e1f5e452"; } - { locale = "sl"; arch = "linux-i686"; sha256 = "3ba940deb5b1db31aaf07c005e62ddbd6acf44d3d0e775aab51c2eb0dc2da936"; } - { locale = "sl"; arch = "linux-x86_64"; sha256 = "dae438abc4cdd552bc7750ecebe958cbb7ef0edbb745d19e9b670db1e5c9fa8f"; } - { locale = "son"; arch = "linux-i686"; sha256 = "ef1baa4e6b333cd19df938dd13b91e091c9ed838b72767def2c0eec7a473532f"; } - { locale = "son"; arch = "linux-x86_64"; sha256 = "c2e45137b18717889977e0203951ddd078e1379f05875915f295b14677b6e75a"; } - { locale = "sq"; arch = "linux-i686"; sha256 = "d4f48c90a2bd4f8751b66653e0aed0de3f4ff9b40bba306377577ef8cbf94541"; } - { locale = "sq"; arch = "linux-x86_64"; sha256 = "85cf583913978c109dcaf07b22442505554813b6129862668ef78f491588a153"; } - { locale = "sr"; arch = "linux-i686"; sha256 = "08725f28304608e029e9e4ccf0fb478eda4b6cde138ad65a53e2f88af97e8a6c"; } - { locale = "sr"; arch = "linux-x86_64"; sha256 = "bfdca6d30f044bed181d45396c81f0a1d0e9b9026607e0700cc1bf225408ac20"; } - { locale = "sv-SE"; arch = "linux-i686"; sha256 = "01f98e4954e1a1df5b0aaf711696b6f7e7237ea3df57071479e8749c621fbbf1"; } - { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "b1c292410edaa4d6595b21b803287030d21ddd64e7a6a941d7627bb4cbff2435"; } - { locale = "ta"; arch = "linux-i686"; sha256 = "d6d62857ccfe54ab870bcbe0ea98e41d59524b3958c28ddffcfb009d6305fde0"; } - { locale = "ta"; arch = "linux-x86_64"; sha256 = "253080f66f47850222c676d98626c5a879ee708d1f03b3598d4ac205998676c4"; } - { locale = "te"; arch = "linux-i686"; sha256 = "ffa9371d8960707a0062bc6cb5ed5aa84c9e5b9b898ddc403b346b519bf6f814"; } - { locale = "te"; arch = "linux-x86_64"; sha256 = "69c3776bfd41bae4067da4f5f350c5f0a906c2b8d1edffe5d3907bc7ca2ee863"; } - { locale = "th"; arch = "linux-i686"; sha256 = "3dbead624ae46c14208a61ed8c6b515117d472a8f8bebf14478bc467da23eeee"; } - { locale = "th"; arch = "linux-x86_64"; sha256 = "4c0db90021ad46d67f68b3d2d928a279cdff14b7d62f8fa4e07a33135ab925b7"; } - { locale = "tr"; arch = "linux-i686"; sha256 = "744327c6a3c514ff7b0bc5940f1744c95c6ac47165d5b316bbea11412a2d8550"; } - { locale = "tr"; arch = "linux-x86_64"; sha256 = "321f096a89898ed027b95efa4f02fdaa9118eb414e35088ce259b76048bf77fd"; } - { locale = "uk"; arch = "linux-i686"; sha256 = "f3d0a5a328b686cf18339e50a59920fe002166b35c5b5b29c04156bc5b5c6d4b"; } - { locale = "uk"; arch = "linux-x86_64"; sha256 = "b15e82737c69703bcdd97f5699280338e4c2029b5eea7df98fb218a5e2a579f3"; } - { locale = "uz"; arch = "linux-i686"; sha256 = "dfdf28670cacfd43f71d81c609fc2961682ec2c7a64ea540e49a571195e68852"; } - { locale = "uz"; arch = "linux-x86_64"; sha256 = "eaacd1534711def0ab30eb9a53db2553c4cc202ec07c40bc5b2ded7e729347ac"; } - { locale = "vi"; arch = "linux-i686"; sha256 = "4b4753038753d814d1e5a1ff995445abec80fd74d9443cac38495193bf039762"; } - { locale = "vi"; arch = "linux-x86_64"; sha256 = "3051a5f8b0d47860f98839c4496298d71aeb6ef98f099937b8da9d87d7a1986c"; } - { locale = "xh"; arch = "linux-i686"; sha256 = "2798bca7d894a0ba223694fe585e1b9fcf60cc96d881d7570c06a4d77afc4b20"; } - { locale = "xh"; arch = "linux-x86_64"; sha256 = "acb1084e32bc467cd3374e6930c8f51deea38e94ddde09bf5a257d473d2579e8"; } - { locale = "zh-CN"; arch = "linux-i686"; sha256 = "93a3f1b92aeb7a3e7659ebe0ad7c7df966279926fe3fdc7b0047bd858482234f"; } - { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "047d74546e4767d728e7522d908056c8aaad9cd8152517425443b59ff580bebe"; } - { locale = "zh-TW"; arch = "linux-i686"; sha256 = "b710126e2d7cd6f55b0dd54811de64c30eb69f97ea8a71905b3ea49e59abdfe2"; } - { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "d3b52404ab397385fcbb617f6cd8cda821d3927852e0a617dd60443c2cad6b65"; } + { locale = "ach"; arch = "linux-i686"; sha256 = "3e925e9594f84e6bce3f24fa0a1207ec584818df4815ae04a6c882644e2f7cc6"; } + { locale = "ach"; arch = "linux-x86_64"; sha256 = "c960352a5288f09752ff76440278e76700a1921109f0976b4d922ceeedec8e9c"; } + { locale = "af"; arch = "linux-i686"; sha256 = "3067a999cc678fe225c11288ed5659a251f237e098903b2cf6f23bdbceb70a9f"; } + { locale = "af"; arch = "linux-x86_64"; sha256 = "f329f7f3e15cd90263d70269c946f83bca01384618a59d590ca371930e7b1939"; } + { locale = "an"; arch = "linux-i686"; sha256 = "564ba48104a2db7709e4b9b25cf8d2853ef8a2b919a14030d7cc59751ac8ab8c"; } + { locale = "an"; arch = "linux-x86_64"; sha256 = "c2628a079e4c601d54c869d3b13ec1a772353885b29a63559aa544d5f48d4873"; } + { locale = "ar"; arch = "linux-i686"; sha256 = "3097a13c59a324f3f9b7504b4941b1846cfbd5593c91597a2475fe87efbb61f7"; } + { locale = "ar"; arch = "linux-x86_64"; sha256 = "b5778932fb122de9f7070393b4ae98e190e648857c94096a495e021a3c956a04"; } + { locale = "as"; arch = "linux-i686"; sha256 = "b6751bdaf612b8a975122812db0e7641eb5932e6c13879d7b48f2b7f5e8a2c6a"; } + { locale = "as"; arch = "linux-x86_64"; sha256 = "6501b0e3c4c55eef08e94dcd6f5fab70d01f88e57630f5a999279286fc9b1058"; } + { locale = "ast"; arch = "linux-i686"; sha256 = "40b5f29d2a818e60d5ed1ef2f37ed5a65bf52b9138b2e4fd1c110b404fbf3910"; } + { locale = "ast"; arch = "linux-x86_64"; sha256 = "6f9e6266d790784d57cab715d8d6fa5e648ec20287c8d6ad746972e284f5558b"; } + { locale = "az"; arch = "linux-i686"; sha256 = "005ca6c0184a9c5a2eee8d49b00782872abbe202c70654d856fd519ce62ea47a"; } + { locale = "az"; arch = "linux-x86_64"; sha256 = "32d5179de71be41b855d0454004e43d336289a6fe4967e869d0b9fb42fe2fe71"; } + { locale = "be"; arch = "linux-i686"; sha256 = "0fadc3acdd104cc171a18c74e11e853a9a322017f3f63b79712dc6628246630c"; } + { locale = "be"; arch = "linux-x86_64"; sha256 = "3fe751e0c702fc8a03f63cba1d1f2e0897b2f729c1b607f68f9934926a3343d8"; } + { locale = "bg"; arch = "linux-i686"; sha256 = "80c49634c1b0acb2ee533ddd6581845270f05a3406cd7b41bf5962182166c000"; } + { locale = "bg"; arch = "linux-x86_64"; sha256 = "12e74f5a3b8500f18126e305d49cf26290fb145d62d888bd00fd44b412dec105"; } + { locale = "bn-BD"; arch = "linux-i686"; sha256 = "22511d1c27f3876bbe7c4e791accdfa205e05cd3fc4143070f8e1e75521fa12e"; } + { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "239e59d26a842efd2ec61dcca73f7b6aadca6d4bb969e7447bf8ef2ed880a77c"; } + { locale = "bn-IN"; arch = "linux-i686"; sha256 = "72f72e6528c5d9e373e21065eba623cbbfc6c82e73db0df3581a1ffebe664cbd"; } + { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "580564e4a1e249a7cb6c83736343af43f903df82a97f8d2e19bd749e01867339"; } + { locale = "br"; arch = "linux-i686"; sha256 = "1dbc1d60e99812077b1b43a6f294e9c834db5b08ad67976290a5ea6f07d44c05"; } + { locale = "br"; arch = "linux-x86_64"; sha256 = "2c6524b05b9ab8da113066de6d6380cad29b681921c03486618dd2b6d10ca1ae"; } + { locale = "bs"; arch = "linux-i686"; sha256 = "11b706f2621a8026e10de074f0cbcb6bab4a7b0a17d144640c8296ea35e92c95"; } + { locale = "bs"; arch = "linux-x86_64"; sha256 = "e4ff831c617918c52b3b2a9e69a1f35f8b3e825f407cf6729d7e2b479860de29"; } + { locale = "ca"; arch = "linux-i686"; sha256 = "1c2aefd0ab56bcfd619705aba70018873581c7482307c32842ffdb68ce441f10"; } + { locale = "ca"; arch = "linux-x86_64"; sha256 = "47ab6aa2c474b9b04f246822c471548b2452559d04e4ec8cc099f3686729d285"; } + { locale = "cs"; arch = "linux-i686"; sha256 = "f2c4028d562148ad39390853d388ed0617419e97bda55a0c6c47bf0e94145446"; } + { locale = "cs"; arch = "linux-x86_64"; sha256 = "28d6eb534884b2c05afe87981b894c790fe57508b3e866cdcf341e1f9c51080c"; } + { locale = "cy"; arch = "linux-i686"; sha256 = "684b11673d16778961115b990734888975267c3c253a8081519e53ae95df5798"; } + { locale = "cy"; arch = "linux-x86_64"; sha256 = "d17294841995094d6395a4e65d50e5382e845d59e5949c952e96f4fe739d9bc4"; } + { locale = "da"; arch = "linux-i686"; sha256 = "4f2d29d52968c1b7a96af37beeee7150504bd3c32c4178a814ab0c4f86fe9644"; } + { locale = "da"; arch = "linux-x86_64"; sha256 = "65d01baab9e71a5a3d92124dbcc44c158277b273e8b6bcb302f853f61babde71"; } + { locale = "de"; arch = "linux-i686"; sha256 = "55af9ad39962559a48720c65f66d3bbab037ff30e777439428e2467a4559f039"; } + { locale = "de"; arch = "linux-x86_64"; sha256 = "835ea2e3757beb74c939296aa3d00092ff3f9d6d8805b64a267bcde28de0cb94"; } + { locale = "dsb"; arch = "linux-i686"; sha256 = "5b419a8f5e03257718237249be9c76eee759e46147d154bf994774139bb56be8"; } + { locale = "dsb"; arch = "linux-x86_64"; sha256 = "90d5dae350d65c6db8b156764ccdffe0f9951be29339a68db22018840c2247c1"; } + { locale = "el"; arch = "linux-i686"; sha256 = "77cc23059dc3b2956f3caf5802091ba48c4a42f5d86066f06282f82cb00845b7"; } + { locale = "el"; arch = "linux-x86_64"; sha256 = "daa2180f15708ec07902b639fe30cdb9c2c230622a92011e1065d24b706bbc62"; } + { locale = "en-GB"; arch = "linux-i686"; sha256 = "15b084bfeac2e49a0d40b37a890321500eede1bed2edaa95cf3bba8981bb6a08"; } + { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "c5d17b6386dcae9cf88b2d80b38e921646936f253616104bec5a2fbb58d25fbd"; } + { locale = "en-US"; arch = "linux-i686"; sha256 = "6ef1fb2322cf448afe2c09b008eb2bab0c2efa94378b2ae9889bf83ac6f779af"; } + { locale = "en-US"; arch = "linux-x86_64"; sha256 = "4068eb3eb07e9798ddc1449186a1c60196bb6051ca7217f6bcee5da21e41c6c5"; } + { locale = "en-ZA"; arch = "linux-i686"; sha256 = "4a61661b05ddd62f9e28ada0b39fe1a81cb5d737fa50d636561f79ec324e689c"; } + { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "ddc551e2d8d0c50ba268ba1e8fd9ecbe52e05b0de0d1bb586045206a9e745a7a"; } + { locale = "eo"; arch = "linux-i686"; sha256 = "236a9b6b632d1f30d63989f03783288eb8c1f144cae80b4549c0eded5dd95f1f"; } + { locale = "eo"; arch = "linux-x86_64"; sha256 = "0f3a07a470e146891326ac36aa38b58018a4aa9ae668c8bbedc3b95c28d3fcb4"; } + { locale = "es-AR"; arch = "linux-i686"; sha256 = "6feb23d97fa5a2356365d5779c18af5fc2a00b0e91c92a5127f4d576f916f7a1"; } + { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "5e2afba4834e6c44e8717090b832c76dfb5303617bc466be5299d579e9b298dc"; } + { locale = "es-CL"; arch = "linux-i686"; sha256 = "3734590f319e8e281938dae65ad2e6fd7496c0c480123a6a819b3bb5d1489c69"; } + { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "e0fcfccfe80dcc71a7d527539e42acfc6d6786a9e8491b426aab7fc3789c8cb6"; } + { locale = "es-ES"; arch = "linux-i686"; sha256 = "126cf64e6f7754fe0ff8a97499ccd528896ad3bbd89296271609092ade68524a"; } + { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "c8dbda78bffec09d401b39b76d9684a03f47102955d04604cfc2e7ddb0315f2f"; } + { locale = "es-MX"; arch = "linux-i686"; sha256 = "8f116ccad3093783476a60ea605e324b0046b84b59c9f858dc080d2e275cac51"; } + { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "e6a9c775983e310d3ed8a98530860ce19e7a78df16dffb95e4735007fcf82a57"; } + { locale = "et"; arch = "linux-i686"; sha256 = "1b2b205731ce638823bd448b3d90e919d13e24b9b92e25eebef3766bac3e8330"; } + { locale = "et"; arch = "linux-x86_64"; sha256 = "97ecc57e21229d46d9d152d7821e860f3f2a53c10eda7caeb865af1919c6a0fe"; } + { locale = "eu"; arch = "linux-i686"; sha256 = "5f0e7875993532ad234fe7af2a191619e308be726ed6ae8be01afc79f8c5f3c8"; } + { locale = "eu"; arch = "linux-x86_64"; sha256 = "bf2a52f3fce8ff4142cb1346cb5ce0f8b51959755698377db0807bc1e87e01eb"; } + { locale = "fa"; arch = "linux-i686"; sha256 = "12d593a12a0fcfcd720a6a5324b349c139f6e6759b111dab869e851241736e28"; } + { locale = "fa"; arch = "linux-x86_64"; sha256 = "29cb4531e485af7dae2a45a1b9a0620292eaa2764b4cd24504bce0e54c8b71ae"; } + { locale = "ff"; arch = "linux-i686"; sha256 = "d67f9937780713ed4c130713239254a1e0d3918f2d2f528b74651b413e281cbf"; } + { locale = "ff"; arch = "linux-x86_64"; sha256 = "140b199b0ce0a32fcf363946c942d733b587d9569c75f2dbab19161385f12d9b"; } + { locale = "fi"; arch = "linux-i686"; sha256 = "586346c2bc47b1b2693d03e4f2fe3b36de00966244120272426c597b94044595"; } + { locale = "fi"; arch = "linux-x86_64"; sha256 = "160d0036392cb38de1a7e15ba9d0d1acf0538ff1b575ab1d1df11d187c5ac74d"; } + { locale = "fr"; arch = "linux-i686"; sha256 = "f33b267d223d704beef813d0c7c8ab534152373435ef04db3b039ad56b02c556"; } + { locale = "fr"; arch = "linux-x86_64"; sha256 = "c141b154d5c56eefd94bfe7e391d0fa4027cee6685820e8be304c801d7064c65"; } + { locale = "fy-NL"; arch = "linux-i686"; sha256 = "2fff2f173cf6008b7bc17cad2ce16a43901f8484f3eb2700368acd64f98f075b"; } + { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "88227c796a82290c27b97cb27d8f606f1982115eb5724fe4a6169056ac000816"; } + { locale = "ga-IE"; arch = "linux-i686"; sha256 = "f9deacaf81e46267fd1d7297149e9f7e330bc2a58981cd65857c6add5eef6402"; } + { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "c376d517de3aad4152c0d5dceb8ef1a2deef1213e568404f06163f9d4adbe777"; } + { locale = "gd"; arch = "linux-i686"; sha256 = "f4f11f104fe964196e1588b1cddf5a43c5a8591d41ec7baf365264562240d5be"; } + { locale = "gd"; arch = "linux-x86_64"; sha256 = "40993cbe7c6a42c467868e8cd60eb67aa8d0b7357617f5babb415cc3ffd608e9"; } + { locale = "gl"; arch = "linux-i686"; sha256 = "23c4a4a47fe7150c70f8489921b756ada22e45140e01d6817f9145de32b4d35a"; } + { locale = "gl"; arch = "linux-x86_64"; sha256 = "d3fa81ba627c6e75fea42715d8dc4c5fdbed841429a0493081f915623ad603c4"; } + { locale = "gn"; arch = "linux-i686"; sha256 = "ebbf6f05f6b61a6ecb7f5c91ca4a6b87824edced41777fe35293b5ba6836a6cf"; } + { locale = "gn"; arch = "linux-x86_64"; sha256 = "d9917c8dc1d236e569d040db1512872ce145af934ee3fad7a7e2d5a9a845a856"; } + { locale = "gu-IN"; arch = "linux-i686"; sha256 = "598f3feaa412fa85619fd60ca1a48b2a691867d8aab92b39d98d12a3ebee2253"; } + { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "f238f84dcc0f41f99073aa4c7bff1fd2dc5f896fb1b9cae00d9d21d199383879"; } + { locale = "he"; arch = "linux-i686"; sha256 = "22aacab2263a799f5503e6d73d76c6c7e8c3f2d39d9a8945d7e062e4078f4eea"; } + { locale = "he"; arch = "linux-x86_64"; sha256 = "6288418353ab0d51ba8b7a02a302e68dc3b26e5565cb14e50316e5300cb2f696"; } + { locale = "hi-IN"; arch = "linux-i686"; sha256 = "2ee18b7653f9edf926ff7927d24c04e9aba503174b4fa773a136fd3e29a256db"; } + { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "3f18f821cbc4781a9e6d84e54e0a70e2cdd18bcb61342922b1402a3eabb75839"; } + { locale = "hr"; arch = "linux-i686"; sha256 = "c8633fb837adf08b257d19b88e9e5d35c2b24a658da7088a3902b4b9b833e7dd"; } + { locale = "hr"; arch = "linux-x86_64"; sha256 = "714fcde1e42db06a9083946bb929a182891aadfd249bf5b63aa7f6ca744bcf0b"; } + { locale = "hsb"; arch = "linux-i686"; sha256 = "7f86d45ceb3f551b5b371047bbcccf9a75fe2f99df632b42d838419ee0c6d757"; } + { locale = "hsb"; arch = "linux-x86_64"; sha256 = "add010dbfe8a842c16a8dceb019675e04acb7b8de6d952d4b4faa2a368d37f1d"; } + { locale = "hu"; arch = "linux-i686"; sha256 = "cc994b9cfb60517062ce3570839b5e76def0a385b4e8793156d6a4719dd707b3"; } + { locale = "hu"; arch = "linux-x86_64"; sha256 = "a36d229286d5422dd15d5e0f33e7fb99f6ddff3db4efabc3be244fa26c7bd24d"; } + { locale = "hy-AM"; arch = "linux-i686"; sha256 = "508a5d85df7508c453a991e4a9679b31270da70983607cd9d127a8e432728a3c"; } + { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "e21375aa7d5351a841ba05c8b0d921af1f334d37f714ed3c4303e90b5d4e34aa"; } + { locale = "id"; arch = "linux-i686"; sha256 = "58d7e3a898f5ae05bc7b0e99e83d8a39a7f5f935a086081af4a9d7ea98b927a3"; } + { locale = "id"; arch = "linux-x86_64"; sha256 = "c4b803b519780a0fd5a43fd23a3aef81d4197e860ad8e2908c5ddf2b76f538c3"; } + { locale = "is"; arch = "linux-i686"; sha256 = "a9fd41eb35ed7430915d9b09807555af1d8d81f5520deb4aae58e38edf3ca11a"; } + { locale = "is"; arch = "linux-x86_64"; sha256 = "74c6a4183f32043fcb6a3b52c71e8a23b36fc1381caff0dae8366cd80af391dc"; } + { locale = "it"; arch = "linux-i686"; sha256 = "b6d615f519b7664acb335a305d99bd6c6eb7db98eb29c7957b073fbeb468d63a"; } + { locale = "it"; arch = "linux-x86_64"; sha256 = "f65370cd57b1a885169447cc0b879dde715c58309db49f6c268db5113952a05f"; } + { locale = "ja"; arch = "linux-i686"; sha256 = "1b3766bd19c8841922cbe1e3a8144d9efe5ab4a3c9b2fe216811caff54607704"; } + { locale = "ja"; arch = "linux-x86_64"; sha256 = "68e14f495852e023534bce66626287621a7155464fd56bbe41b38b5bc7305341"; } + { locale = "kk"; arch = "linux-i686"; sha256 = "4a72592497d392d4f749733eeaa7964a95fcc3de007127ec198ac86f6a266382"; } + { locale = "kk"; arch = "linux-x86_64"; sha256 = "9d6333875c11425a467a32ebf649b7577462920592155ed54ec6130ce76073a0"; } + { locale = "km"; arch = "linux-i686"; sha256 = "e380caedd69287569274115aa4cee7b8d2187050d9f65a10ae36c9d48fd1d007"; } + { locale = "km"; arch = "linux-x86_64"; sha256 = "95794fa36975d732987012d406770710985c270c8f4e4c99407711d16279d941"; } + { locale = "kn"; arch = "linux-i686"; sha256 = "b0cd3f0c6da99b3e86ec4b08b962abb0d823329460e87761733db5d7987f1e5d"; } + { locale = "kn"; arch = "linux-x86_64"; sha256 = "47399283f7b395c5079b592c83a93487a17a2cab0e68d35c54aa6e5e647d2c66"; } + { locale = "ko"; arch = "linux-i686"; sha256 = "5f9b1c691d9c9a99dd280e3fff8df813aeeefe42ce5273ddf2848352bfde44f6"; } + { locale = "ko"; arch = "linux-x86_64"; sha256 = "360c82f93b7f529173f9259a4f475595d0ec4dc4b63b6ac46785bccd549e3dbd"; } + { locale = "lij"; arch = "linux-i686"; sha256 = "29f2d93c1f6695c22d4e766ee049bbe4f6fb034e22c12be407062db3deb0805c"; } + { locale = "lij"; arch = "linux-x86_64"; sha256 = "c47c6e13b44b8560487f39c6f668fc03ea42bf848fcb9926cf8e0e0014218fc3"; } + { locale = "lt"; arch = "linux-i686"; sha256 = "5915cf516690de51021eeccc66cce8142fee7882efd7add7a0bfaa5b04d65dbf"; } + { locale = "lt"; arch = "linux-x86_64"; sha256 = "04673232b52aae6b34b87b6a2638ad653a4e81430d21998919a56dbde10febd7"; } + { locale = "lv"; arch = "linux-i686"; sha256 = "6648a4a4b8be23ed6fb64efc0bb3e49c1807b5408d2df19d45a3b098b9bb605d"; } + { locale = "lv"; arch = "linux-x86_64"; sha256 = "769020e490b9b74608cbbb319254694f7a32c62b6397ff8c563fa27a33cbe16b"; } + { locale = "mai"; arch = "linux-i686"; sha256 = "5646fac52682c1053e7b58fa0b13fcf74c8b79e344ffa3a9614fa2509ef2b38d"; } + { locale = "mai"; arch = "linux-x86_64"; sha256 = "eb5db15e6584a5272d9c496d29ce4f500811ed4b49277b93ae432498aef80d0f"; } + { locale = "mk"; arch = "linux-i686"; sha256 = "8430792262871155bf07b652c5f8ae5408b0bb16fd9e6548010e86b2a1d604d0"; } + { locale = "mk"; arch = "linux-x86_64"; sha256 = "273812699d47c99f20d18fdcf547cd9c5386a4d8049dcb93e34c0303a9aae7a5"; } + { locale = "ml"; arch = "linux-i686"; sha256 = "bc3b9905214fde7623aa5567f6a6792b2c5cb32fde1172ad60b108a42a372c24"; } + { locale = "ml"; arch = "linux-x86_64"; sha256 = "0e21ef50fd3ecb301d0a62baf3e084723c0cc05c3a9569ce08ccf2698f40a526"; } + { locale = "mr"; arch = "linux-i686"; sha256 = "fb83926aa70735befc1c8c79c950a9dbb01344dfceff82aefa7640e79f659139"; } + { locale = "mr"; arch = "linux-x86_64"; sha256 = "ae6622f7cb9261985d8cc0bf06af9a51d7d8b391386aded9bf07576be60c5f12"; } + { locale = "ms"; arch = "linux-i686"; sha256 = "16b35b29882238095475719a4f8cecd5e49a8e50bfe5c2b943c604274cfb02ae"; } + { locale = "ms"; arch = "linux-x86_64"; sha256 = "04e390cdeabc686eee093ae2280628375b706c2b09b9aa29e788bc1663b21ad0"; } + { locale = "nb-NO"; arch = "linux-i686"; sha256 = "b3b931e5a38fc71aee2dc2290adb600b0d8e56923c30c748bacbbf527e2e8960"; } + { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "4d3c6f639e8c6579c525c6e8c5bd036b3c6abe0e2d14ee0596ac207b3f291f84"; } + { locale = "nl"; arch = "linux-i686"; sha256 = "40cc8d419bc536e2826766dbd9b3e58bb98730ed38926387bcadcc5b30c8b742"; } + { locale = "nl"; arch = "linux-x86_64"; sha256 = "4595b76ab812dd9ed16405d0863225c0d6f40dd70a96baee2632a5f8e4d2aab5"; } + { locale = "nn-NO"; arch = "linux-i686"; sha256 = "8cad1d60633dfb059c4e29b3a226397822ed10938909dd783b9b8c7bac0e8866"; } + { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "d0ac3c7ff26c4747222f2d7a1d5b4b69a861dee261ad338ed88ab8b35cf44ffc"; } + { locale = "or"; arch = "linux-i686"; sha256 = "b05473429fb2b844d96ee88108891e5cdc13c56526017ff6db1909ff60dbe1b5"; } + { locale = "or"; arch = "linux-x86_64"; sha256 = "406816e487831cd9a928fd9c140290f53d4a9575024adf71e1565d24e573abdc"; } + { locale = "pa-IN"; arch = "linux-i686"; sha256 = "beb60cd44b31c3c1ebfae25efb17d78d001f0009bb5a8304e319791ae535daa0"; } + { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "1abab6f91bd2ff22cd6d9075bcb83ddf6a190291997e5d379eff53fc10fd8c5e"; } + { locale = "pl"; arch = "linux-i686"; sha256 = "65ceeb5cfeaa7d2c246ba3d152ea1fb892a7d50eafd46da2f41d7ec0a4efa759"; } + { locale = "pl"; arch = "linux-x86_64"; sha256 = "d3565007522b0e3a4de15b913c8f1c9421d1d9614fa4f2d6657a4af730f26c87"; } + { locale = "pt-BR"; arch = "linux-i686"; sha256 = "7a0593b15eac64c1261e413f4a22ca2cbb5f489530ae72a637de9bc0de99f2be"; } + { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "243c12ea35617336d307d8040d1bee1a1827f3c8815e78185e5d5f8c2b58a5d6"; } + { locale = "pt-PT"; arch = "linux-i686"; sha256 = "ed06f6d30204728089609114c5d08a8b2346ca024d6e5743179d0f2f0da753bf"; } + { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "65cf06f13ce3930b4c6b645e0fa442003d41a3ff99d4ff6ad06039c806bf9815"; } + { locale = "rm"; arch = "linux-i686"; sha256 = "5b230c43a6b56c4052e054d117c2c80450b36d52b166ac3a9c9e3d13b336e44b"; } + { locale = "rm"; arch = "linux-x86_64"; sha256 = "341495282263ce7293350c3623d25a6fc7952429bbc36316687be402831c4376"; } + { locale = "ro"; arch = "linux-i686"; sha256 = "12940db350559cc1ef5dd148f2fd34cb4f445fbd1928d0d8dac6e57b0186e08e"; } + { locale = "ro"; arch = "linux-x86_64"; sha256 = "a53c18fcf239dce6a49a44bbb42a210b6161f5d21e64e9e33096e36b7a187bf2"; } + { locale = "ru"; arch = "linux-i686"; sha256 = "823ecb8bb5b772e896b51bf23ac1fa271b02c1abba9fb4c679c687586047db0b"; } + { locale = "ru"; arch = "linux-x86_64"; sha256 = "fd4e34dd08c5f712c68826710496ac4eab262a4356e06a02718b27dd8c65d35b"; } + { locale = "si"; arch = "linux-i686"; sha256 = "6cc4f9828e366d59a86922292ca8878ef4bb6cee9ee5316b8733d0704dc6f390"; } + { locale = "si"; arch = "linux-x86_64"; sha256 = "ed3c28af72df9960b08071d181b1d097d0326a0cd6eaae673866083f87db18f5"; } + { locale = "sk"; arch = "linux-i686"; sha256 = "cfa4b71bb7acdaa689a28f8aa58f7f9375c7d7e4301cce0aea0eccc60d897d2f"; } + { locale = "sk"; arch = "linux-x86_64"; sha256 = "736ff619f9d9848d202fe9eaa56b6a29e37e47589282adf7d97f8d7103edecfe"; } + { locale = "sl"; arch = "linux-i686"; sha256 = "c8af219be7f7cc7f878425b446b1c02838f651e64a0fcbfae4ec818326927097"; } + { locale = "sl"; arch = "linux-x86_64"; sha256 = "d3309efc0b469e9d24e7e01216b52b31ad854653f3904c76fd136d615d75609b"; } + { locale = "son"; arch = "linux-i686"; sha256 = "fdc1e500f8499b648cf0fd3d99601cfcd0f7d89ae09d800520793751a6b32fee"; } + { locale = "son"; arch = "linux-x86_64"; sha256 = "e1f7038aa136492e3d296b9ff50a3f815f4b587944783ea0ea607717788cb48b"; } + { locale = "sq"; arch = "linux-i686"; sha256 = "c6881862ff53402d427d998c59a741c4abd9b2713c1fbbc5315b140d02445507"; } + { locale = "sq"; arch = "linux-x86_64"; sha256 = "2a83117de89e2b9036c0f7fde6617d9f55fef4955432cd566692e7a2829b1128"; } + { locale = "sr"; arch = "linux-i686"; sha256 = "f214aa32eef11535a73449d7f2626c90b1ce78e469d96c8cc6cd53979582197b"; } + { locale = "sr"; arch = "linux-x86_64"; sha256 = "9931d18c18a785569aade6fd233d3c34910ece758f3355b694b553ce6c5dae7a"; } + { locale = "sv-SE"; arch = "linux-i686"; sha256 = "cd5695110c90744a1b750d34c7294f1109b5c7829025eb28101b6ead5bbbcb3d"; } + { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "f52fe8f60420171385638a9de46b2b11c03b13239a17ef9fb4f7305774bab664"; } + { locale = "ta"; arch = "linux-i686"; sha256 = "8910a680bc6a6e58433686a020916b072e0d5d95e896cb7fa5a212c00ee20b93"; } + { locale = "ta"; arch = "linux-x86_64"; sha256 = "ae727422e4b7cb2de2b098f6b4adedb2dc788b57eda7ec2ee7ac2d60b645ee64"; } + { locale = "te"; arch = "linux-i686"; sha256 = "0088dcb813864a4e231afd10d4aefca656131a3589b316721e2d87cb29a78dbf"; } + { locale = "te"; arch = "linux-x86_64"; sha256 = "6ef6aa557e691324072d201ad7876dd4d2417dfaaab08d3bfa4620c4626d1380"; } + { locale = "th"; arch = "linux-i686"; sha256 = "da72450d756950635c0b2d95285b5d998aeddd60b43d9ca98ac4b1b707289a96"; } + { locale = "th"; arch = "linux-x86_64"; sha256 = "89ac8220a7be503ecae8dd5a241df4654b93adfac6f431f08b83bb5f7f63de7f"; } + { locale = "tr"; arch = "linux-i686"; sha256 = "64b3e853efe96d75282e0a9ca78db876c3f03b609be0acb551d1d6a7b50e116b"; } + { locale = "tr"; arch = "linux-x86_64"; sha256 = "fe01dcbfe855e661c79ec63c80098d18c1a051c85fc3fb27ac3df8b9c6d1df92"; } + { locale = "uk"; arch = "linux-i686"; sha256 = "1052bb8de8acd200dfed598f5afc1c87a55772b89b2f2ec59b710af1d1bfea90"; } + { locale = "uk"; arch = "linux-x86_64"; sha256 = "986d01b61e36188f1293ee7ab1198f2583605469174e2dd9ead8eec241480cec"; } + { locale = "uz"; arch = "linux-i686"; sha256 = "b114d4696cf20320ec71c7ff92ac2d6477784e4f0c9f15a54701473a469e4667"; } + { locale = "uz"; arch = "linux-x86_64"; sha256 = "19fdc20d1b6a5b556856ad4d43d05cd7ae4bbd0207d326c9f2b0a4a0e3f9425b"; } + { locale = "vi"; arch = "linux-i686"; sha256 = "ec48f6eb7b3fba76d07a4ff4192fe28b4faeaf7dfa2317453f1266dd4cb5e66f"; } + { locale = "vi"; arch = "linux-x86_64"; sha256 = "89a9c826522dece360abc207260b6a71955d1c86f8f0b783e3013d4c7d5edfdb"; } + { locale = "xh"; arch = "linux-i686"; sha256 = "4671201bd924bfb4e290bdd5247b5d972b2dff986db0dd21b26ee0d30f94566f"; } + { locale = "xh"; arch = "linux-x86_64"; sha256 = "f381cc509369405e7a06c78c07de3ee01f8b0cf66d3300cfb10f27cab14d34b0"; } + { locale = "zh-CN"; arch = "linux-i686"; sha256 = "abaac014c04bd29dcb5617c489d4b047522f6ede9139781b04c0a73ff20a19a4"; } + { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "5da12cc28e6bad8739a0050410efb1ca22d46a42c33fed312acca29e89de007b"; } + { locale = "zh-TW"; arch = "linux-i686"; sha256 = "7279f9ba36dfa988ffade1f54e4f2dcced30be5fab48476d5b6d20d989204274"; } + { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "e943d7736ec12d269512363d20d5b2a2e8c740c81a764f44f308d497fe95f0ea"; } ]; } From 84edf81d71a7740c456310fb3de895a7d1774f06 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 01:52:20 +0200 Subject: [PATCH 089/182] firefox: 45.0.1 -> 45.0.2 --- 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 552c8d4d822..b5c10cb9ed2 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -130,8 +130,8 @@ in { firefox-unwrapped = common { pname = "firefox"; - version = "45.0.1"; - sha256 = "1j6raz51zcj2hxk0spk5zq8xzxi5nlxxm60dpnb7cs6dv334m0fi"; + version = "45.0.2"; + sha256 = "0lvs47s0k0lzllygzcqzwgg34hwkm8dfq9i0fn5y9m4h0fn9pc56"; }; firefox-esr-unwrapped = common { From 42e5be8f55f44629a18f12a8d20ca22421dce168 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 04:45:13 +0200 Subject: [PATCH 090/182] cgmanager: 0.39 -> 0.41 --- pkgs/os-specific/linux/cgmanager/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/cgmanager/default.nix b/pkgs/os-specific/linux/cgmanager/default.nix index 1c79fddeca9..2260ac08b63 100644 --- a/pkgs/os-specific/linux/cgmanager/default.nix +++ b/pkgs/os-specific/linux/cgmanager/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libnih, dbus, pam }: stdenv.mkDerivation rec { - name = "cgmanager-0.39"; + name = "cgmanager-0.41"; src = fetchurl { url = "https://linuxcontainers.org/downloads/cgmanager/${name}.tar.gz"; - sha256 = "0ysv8klnybp727aad2k0aa67s05q027pzfl7rmm0map4nizlhrcy"; + sha256 = "0n5l4g78ifvyfnj8x9xz06mqn4y8j73sgg4xsbak7hiszfz5bc99"; }; nativeBuildInputs = [ pkgconfig ]; From 7d9d876140907a926336ba8dffacd20481b17937 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 04:51:30 +0200 Subject: [PATCH 091/182] lxc: 1.1.5 -> 2.0.0 --- pkgs/os-specific/linux/lxc/default.nix | 9 ++------- pkgs/os-specific/linux/lxc/support-db2x.patch | 4 ++-- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix index fcfe4975fd7..4ac5d0c7951 100644 --- a/pkgs/os-specific/linux/lxc/default.nix +++ b/pkgs/os-specific/linux/lxc/default.nix @@ -12,11 +12,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "lxc-${version}"; - version = "1.1.5"; + version = "2.0.0"; src = fetchurl { url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz"; - sha256 = "1gnhgs4i2zamfdydj895inr9i072658wd47nf1ryw5710hdsv24m"; + sha256 = "1r0hgk91n3frrmla1681l74ag5sngbbkdagvjfqzxwcf9l8pwwsv"; }; nativeBuildInputs = [ @@ -29,10 +29,6 @@ stdenv.mkDerivation rec { patches = [ ./support-db2x.patch - (fetchpatch { - url = "https://github.com/lxc/lxc/commit/3db8dd39a797f87f8b348f1b6b44953a25f3f170.patch"; - sha256 = "0scbzm9dqqhqsl0ri8da8a34r4qj9ph0cg68l9s7gw01vpvqbs8l"; - }) ]; XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml"; @@ -40,7 +36,6 @@ stdenv.mkDerivation rec { configureFlags = [ "--localstatedir=/var" "--sysconfdir=/etc" - "--enable-doc" "--disable-api-docs" "--with-init-script=none" "--with-distro=nixos" # just to be sure it is "unknown" diff --git a/pkgs/os-specific/linux/lxc/support-db2x.patch b/pkgs/os-specific/linux/lxc/support-db2x.patch index 4662ca2e504..16715992d35 100644 --- a/pkgs/os-specific/linux/lxc/support-db2x.patch +++ b/pkgs/os-specific/linux/lxc/support-db2x.patch @@ -1,8 +1,8 @@ diff --git a/configure.ac b/configure.ac -index 92a4690..4dd341b 100644 +index 84f8699..dce9033 100644 --- a/configure.ac +++ b/configure.ac -@@ -91,9 +91,9 @@ if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then +@@ -192,9 +192,9 @@ if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then AC_SUBST(db2xman) fi AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"]) From f1de534188cde44d4670a1fadbe29016b58140c4 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 04:56:52 +0200 Subject: [PATCH 092/182] openttd: 1.5.3 -> 1.6.0 --- pkgs/games/openttd/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 65fab09d04d..03f94afd94f 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -21,11 +21,11 @@ let in stdenv.mkDerivation rec { name = "openttd-${version}"; - version = "1.5.3"; + version = "1.6.0"; src = fetchurl { url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz"; - sha256 = "0qxss5rxzac94z5k16xv84ll0n163sphs88xkgv3z7vwramagffq"; + sha256 = "1cjf9gz7d0sn7893wv9d00q724sxv3d81bgb0c5f5ppz2ssyc4jc"; }; nativeBuildInputs = [ pkgconfig ]; @@ -34,7 +34,6 @@ stdenv.mkDerivation rec { prefixKey = "--prefix-dir="; configureFlags = [ - "--with-zlib=${zlib}/lib/libz.a" "--without-liblzo2" ]; From 862875f9cd6734cb0396da7a26824fc215c31af4 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 06:11:41 +0200 Subject: [PATCH 093/182] libvirt: 1.3.2 -> 1.3.3 --- pkgs/development/libraries/libvirt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 343f3b757e3..875ef26933b 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { name = "libvirt-${version}"; - version = "1.3.2"; + version = "1.3.3"; src = fetchurl { url = "http://libvirt.org/sources/${name}.tar.gz"; - sha256 = "01fg9jbifndwc3jzzizsisvz98q325xarczgf6rn11hphckgrip3"; + sha256 = "13w56fhspf7ygr3v0jhh44g25xbcx5vmrprzcy9cajsppa6knq4r"; }; patches = [ ./build-on-bsd.patch ]; From a14decf65557ac83f0b02ef8b911b3e1f29c097b Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 11:16:18 +0200 Subject: [PATCH 094/182] clamav: 0.99 -> 0.99.1 --- pkgs/tools/security/clamav/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix index 0a172935bb5..bebb8a95a58 100644 --- a/pkgs/tools/security/clamav/default.nix +++ b/pkgs/tools/security/clamav/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "clamav-${version}"; - version = "0.99"; + version = "0.99.1"; src = fetchurl { url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz"; - sha256 = "1abyg349yr31z764jcgx67q5v098jrkrj88bqkzmys6xza62qyfj"; + sha256 = "12nm4mxzx3qlbm65cadflzncjfkxdfqcp0lch29i5yfk4a8nhi71"; }; buildInputs = [ zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre ]; From 365f5942a4f8d8df475ac336cb855f7961c2973d Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 13:17:59 +0200 Subject: [PATCH 095/182] xvidcore: 1.3.3 -> 1.3.4 --- pkgs/development/libraries/xvidcore/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/xvidcore/default.nix b/pkgs/development/libraries/xvidcore/default.nix index 57c66f310fb..057be97ce96 100644 --- a/pkgs/development/libraries/xvidcore/default.nix +++ b/pkgs/development/libraries/xvidcore/default.nix @@ -3,11 +3,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "xvidcore-${version}"; - version = "1.3.3"; + version = "1.3.4"; src = fetchurl { url = "http://downloads.xvid.org/downloads/${name}.tar.bz2"; - sha256 = "0m5g75qvapr7xpywg6a83v5x19kw1nm9l2q48lg7jvvpba0bmqdh"; + sha256 = "1xwbmp9wqshc0ckm970zdpi0yvgqxlqg0s8bkz98mnr8p2067bsz"; }; preConfigure = '' From 8b073d96d7a6b44a30eda42916d015e569b2ab02 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 13:19:11 +0200 Subject: [PATCH 096/182] vaapiIntel: 1.6.1 -> 1.6.2 --- pkgs/development/libraries/vaapi-intel/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/vaapi-intel/default.nix b/pkgs/development/libraries/vaapi-intel/default.nix index 5084fc3c10b..6942107d146 100644 --- a/pkgs/development/libraries/vaapi-intel/default.nix +++ b/pkgs/development/libraries/vaapi-intel/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "libva-intel-driver-1.6.1"; + name = "libva-intel-driver-1.6.2"; src = fetchurl { url = "http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver/${name}.tar.bz2"; - sha256 = "1nsnl7gix22jbxqm7d5i3fk9gafwayhnsc3qjhbzxs6bbsffjmin"; + sha256 = "1zl51mdxfmnn33r4b0y5qxwlkqfw919aqphsq60d50pwrvdmk1xz"; }; patchPhase = '' From fcde15d66bbf1458bd3d640d73354c82b699d8a3 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 13:26:28 +0200 Subject: [PATCH 097/182] sudo: 1.8.15 -> 1.8.16 --- pkgs/tools/security/sudo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix index df8024e040e..b2af5451b8b 100644 --- a/pkgs/tools/security/sudo/default.nix +++ b/pkgs/tools/security/sudo/default.nix @@ -4,14 +4,14 @@ }: stdenv.mkDerivation rec { - name = "sudo-1.8.15"; + name = "sudo-1.8.16"; src = fetchurl { urls = [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz" "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz" ]; - sha256 = "0263gi6i19fyzzc488n0qw3m518i39f6a7qmrfvahk9j10bkh5j3"; + sha256 = "0k86sm9ilhxhvnfwq3092zhfxazj3kddn0y2mirz0nqjqmpq50rd"; }; configureFlags = [ From 2a021baf212306b3c9cb6323247e233ab7e3854d Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 14:07:56 +0200 Subject: [PATCH 098/182] pbzip2: 1.1.12 -> 1.1.13 --- pkgs/tools/compression/pbzip2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/compression/pbzip2/default.nix b/pkgs/tools/compression/pbzip2/default.nix index 352b4db6a34..fb3da5e48d6 100644 --- a/pkgs/tools/compression/pbzip2/default.nix +++ b/pkgs/tools/compression/pbzip2/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, bzip2 }: let major = "1.1"; - version = "${major}.12"; + version = "${major}.13"; in stdenv.mkDerivation rec { name = "pbzip2-${version}"; src = fetchurl { url = "https://launchpad.net/pbzip2/${major}/${version}/+download/${name}.tar.gz"; - sha256 = "1vk6065dv3a47p86vmp8hv3n1ygd9hraz0gq89gvzlx7lmcb6fsp"; + sha256 = "1rnvgcdixjzbrmcr1nv9b6ccrjfrhryaj7jwz28yxxv6lam3xlcg"; }; buildInputs = [ bzip2 ]; From 9fd4e1e8ddc516c339abee91f074e19776199f07 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 15:12:54 +0200 Subject: [PATCH 099/182] libuchardet: 0.0.1 -> 0.0.5 --- pkgs/development/libraries/libuchardet/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libuchardet/default.nix b/pkgs/development/libraries/libuchardet/default.nix index 86428e08c47..4b81152a432 100644 --- a/pkgs/development/libraries/libuchardet/default.nix +++ b/pkgs/development/libraries/libuchardet/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "libuchardet-${version}"; - version = "0.0.1"; + version = "0.0.5"; src = fetchFromGitHub { owner = "BYVoid"; repo = "uchardet"; - rev = "69b7133995e4ee260b093323c57a7f8c6c6803b8"; - sha256 = "0yqrc9a7wxsh2fvigjppjp55v4r1q8p40yh048xsvl3kly2rkqy9"; + rev = "v${version}"; + sha256 = "0rkym5bhq3hn7623fy0fggw0qaghha71k8bi41ywqd2lchpahrrm"; }; buildInputs = [ cmake ]; From 2af7b09e06ecda52ab49c99801383611010b0447 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Apr 2016 15:13:10 +0200 Subject: [PATCH 100/182] mpv: 0.16.0 -> 0.17.0 --- pkgs/applications/video/mpv/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 7fb62a5e1ac..dd5f25d3a6c 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, docutils, makeWrapper, perl, pkgconfig, python, which , ffmpeg, freefont_ttf, freetype, libass, libpthreadstubs, lua, lua5_sockets +, libuchardet, rubberband , x11Support ? true, libX11 ? null, libXext ? null, mesa ? null, libXxf86vm ? null , xineramaSupport ? true, libXinerama ? null , xvSupport ? true, libXv ? null @@ -59,11 +60,11 @@ in stdenv.mkDerivation rec { name = "mpv-${version}"; - version = "0.16.0"; + version = "0.17.0"; src = fetchurl { url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"; - sha256 = "1fiqxx85s418qynq2fp0v7cpzrz8j285hwmc4fqgn5ny1vg1jdpw"; + sha256 = "0vms3viwqcwl1mrgmf2yy4c69fvv7xpbkyrl693l6zpwynqd4b30"; }; patchPhase = '' @@ -89,7 +90,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ docutils makeWrapper perl pkgconfig python which ]; buildInputs = [ - ffmpeg freetype libass libpthreadstubs lua lua5_sockets + ffmpeg freetype libass libpthreadstubs lua lua5_sockets libuchardet rubberband ] ++ optionals x11Support [ libX11 libXext mesa libXxf86vm ] ++ optional alsaSupport alsaLib ++ optional xvSupport libXv From 43cf5d3369d41c35ab94eae0db3d384051292280 Mon Sep 17 00:00:00 2001 From: Guillaume Maudoux Date: Tue, 12 Apr 2016 09:45:44 +0200 Subject: [PATCH 101/182] vlc: fixes the two windows issue with qt5 Fixes #14610. --- pkgs/applications/video/vlc/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index a84f24a303a..a23bb9a1a94 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -9,13 +9,13 @@ , libvdpau, libsamplerate, live555, fluidsynth , onlyLibVLC ? false , qt4 ? null -, withQt5 ? false, qtbase ? null +, withQt5 ? false, qtbase ? null, qtx11extras ? null , jackSupport ? false }: with stdenv.lib; -assert (withQt5 -> qtbase != null); +assert (withQt5 -> qtbase != null && qtx11extras != null); assert (!withQt5 -> qt4 != null); stdenv.mkDerivation rec { @@ -43,6 +43,7 @@ stdenv.mkDerivation rec { fluidsynth ] ++ [(if withQt5 then qtbase else qt4)] + ++ optional withQt5 qtx11extras ++ optional jackSupport libjack2; nativeBuildInputs = [ pkgconfig ]; From b6c80ee36c56071c99e016569a351eeadd408720 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Tue, 12 Apr 2016 10:50:43 -0400 Subject: [PATCH 102/182] slack: Fix 2.0.3 --- .../networking/instant-messengers/slack/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index a93e30c313a..417eecb4ac8 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -64,16 +64,16 @@ in stdenv.mkDerivation { for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true - patchelf --set-rpath ${rpath}:$out/share/slack $file || true + patchelf --set-rpath ${rpath}:$out/lib/slack $file || true done # Fix the symlink rm $out/bin/slack - ln -s $out/share/slack/slack $out/bin/slack + ln -s $out/lib/slack/slack $out/bin/slack # Fix the desktop link substituteInPlace $out/share/applications/slack.desktop \ - --replace /usr/share/slack/slack $out/share/slack/slack + --replace /usr/lib/slack/slack $out/lib/slack/slack ''; meta = with stdenv.lib; { From 7c2deb94bfbfa81c5c7b0983240ecfa4951b3275 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Tue, 12 Apr 2016 11:07:56 -0400 Subject: [PATCH 103/182] chromedriver: 2.14 -> 2.21 --- pkgs/development/tools/selenium/chromedriver/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix index 8d9db34446d..a2dd9d9784b 100644 --- a/pkgs/development/tools/selenium/chromedriver/default.nix +++ b/pkgs/development/tools/selenium/chromedriver/default.nix @@ -8,12 +8,12 @@ assert stdenv.system == "x86_64-linux"; stdenv.mkDerivation rec { product = "chromedriver_linux64"; - name = "${product}-2.14"; - version = "2.14"; + name = "${product}-2.21"; + version = "2.21"; src = fetchurl { url = "http://chromedriver.storage.googleapis.com/${version}/${product}.zip"; - sha256 = "18kpky1v5pc3fv6kv9i2mf4wr4qicmfhf27h9zqy18gh16rlwrin"; + sha256 = "1fhwvqjwqkfm18icacvk0312ii8hf1p03icd3isfcxp7j69qf2wg"; }; buildInputs = [ unzip makeWrapper ]; From 9d0e57b84ec49f84b919ca57f26f3b4eb1dd8d36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Tue, 12 Apr 2016 12:18:40 -0300 Subject: [PATCH 104/182] jwm: 1406 -> 1495 (#14629) --- .../applications/window-managers/jwm/default.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix index adbdef5e284..540e5d1c1e6 100644 --- a/pkgs/applications/window-managers/jwm/default.nix +++ b/pkgs/applications/window-managers/jwm/default.nix @@ -1,22 +1,24 @@ { stdenv, fetchurl, pkgconfig, automake, autoconf, libtool, which, xorg, - libX11, libXext, libXinerama, libXpm, libXft, libXau, libXdmcp, libpng, - libjpeg, expat, xproto, xextproto, xineramaproto, librsvg, gettext, + libX11, libXext, libXinerama, libXpm, libXft, libXau, libXdmcp, libXmu, + libpng, libjpeg, expat, xproto, xextproto, xineramaproto, librsvg, gettext, freetype, fontconfig }: stdenv.mkDerivation rec { name = "jwm-${version}"; - version = "1406"; + version = "1495"; src = fetchurl { url = "https://github.com/joewing/jwm/archive/s${version}.tar.gz"; - sha256 = "0yk22b7cshhyfpcqnb4p59yxspx95xg9yp1kmkxi2fyw95cacab4"; + sha256 = "0sn9la3k36k1d9qyxab1sbv2mqicq2w7q4wgy4bj8d48zc8xjy6v"; }; - nativeBuildInputs = [ pkgconfig automake autoconf libtool which ]; + nativeBuildInputs = [ pkgconfig automake autoconf libtool which gettext ]; buildInputs = [ libX11 libXext libXinerama libXpm libXft xorg.libXrender - libXau libXdmcp libpng libjpeg expat xproto xextproto xineramaproto - librsvg gettext freetype fontconfig ]; + libXau libXdmcp libXmu libpng libjpeg expat xproto xextproto xineramaproto + librsvg freetype fontconfig ]; + + enableParallelBuilding = true; preConfigure = "./autogen.sh"; From 25d2a6a1b2162f39bdcc84761e6a398de795729a Mon Sep 17 00:00:00 2001 From: "Alexander V. Nikolaev" Date: Sat, 9 Apr 2016 16:15:42 +0300 Subject: [PATCH 105/182] wineUnstable: 1.9.4 -> 1.9.7 Also update wineStaging as well --- pkgs/misc/emulators/wine/sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix index cd877403d3a..9ad09ed5dfe 100644 --- a/pkgs/misc/emulators/wine/sources.nix +++ b/pkgs/misc/emulators/wine/sources.nix @@ -30,9 +30,9 @@ in rec { }; unstable = fetchurl rec { - version = "1.9.4"; + version = "1.9.7"; url = "mirror://sourceforge/wine/wine-${version}.tar.bz2"; - sha256 = "1f5v1gns0xs512a6ym785cn29j8dxdbnxnvkg8v0p1w0p6vfmhbm"; + sha256 = "1v47i0pxqcixnh06x23kzp2dbz1cf3d2sric0bw6xqh54ph5yw29"; inherit (stable) mono; gecko32 = fetchurl rec { version = "2.44"; @@ -48,7 +48,7 @@ in rec { staging = fetchFromGitHub rec { inherit (unstable) version; - sha256 = "0xjxbip0ab1lqgxrww08082ndsb8b5wjfwlf51zlr3f59c9bx9y5"; + sha256 = "1h5hwd07qyx0qw5whf6lcp7v57kqd6mrrcvwwg1bydir68b0zp16"; owner = "wine-compholio"; repo = "wine-staging"; rev = "v${version}"; From b109f33d647a10f046231333cf03970790db19e5 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 12 Apr 2016 18:30:28 +0300 Subject: [PATCH 106/182] wine: fix outputs and pulseaudio support --- pkgs/misc/emulators/wine/base.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix index e031627a032..0760faf3c2d 100644 --- a/pkgs/misc/emulators/wine/base.nix +++ b/pkgs/misc/emulators/wine/base.nix @@ -14,12 +14,13 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) { }) // rec { inherit name src configureFlags; - buildInputs = toBuildInputs pkgArches (pkgs: with pkgs; [ - pkgconfig alsaLib lcms2 fontforge libxml2 libxslt makeWrapper flex bison + nativeBuildInputs = toBuildInputs pkgArches (pkgs: with pkgs; [ + pkgconfig fontforge makeWrapper flex bison ]); - nativeBuildInputs = toBuildInputs pkgArches (pkgs: (with pkgs; [ + buildInputs = toBuildInputs pkgArches (pkgs: (with pkgs; [ freetype fontconfig mesa mesa_noglu.osmesa libdrm libpng libjpeg openssl gnutls cups ncurses + alsaLib libxml2 libxslt lcms2 ]) ++ lib.optional pulseaudioSupport pkgs.libpulseaudio ++ (with pkgs.xorg; [ @@ -29,9 +30,11 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) { # Wine locates a lot of libraries dynamically through dlopen(). Add # them to the RPATH so that the user doesn't have to set them in # LD_LIBRARY_PATH. - NIX_LDFLAGS = map - (path: "-rpath ${path}/lib") - ([ stdenv.cc.cc ] ++ nativeBuildInputs); + NIX_LDFLAGS = map (path: "-rpath " + path) ( + map (x: "${x}/lib") ([ stdenv.cc.cc ] ++ buildInputs) + # libpulsecommon.so is linked but not found otherwise + ++ lib.optionals pulseaudioSupport (map (x: "${x}/lib/pulseaudio") (toBuildInputs pkgArches (pkgs: [ pkgs.libpulseaudio ]))) + ); # Don't shrink the ELF RPATHs in order to keep the extra RPATH # elements specified above. From ff7f297ea2c039c58accbec5de7e16ae5081ec89 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 12 Apr 2016 18:32:57 +0300 Subject: [PATCH 107/182] wine: add more dependencies (notably, mpg123 and openal) --- pkgs/misc/emulators/wine/base.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix index 0760faf3c2d..92ec79ea8dd 100644 --- a/pkgs/misc/emulators/wine/base.nix +++ b/pkgs/misc/emulators/wine/base.nix @@ -20,11 +20,11 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) { buildInputs = toBuildInputs pkgArches (pkgs: (with pkgs; [ freetype fontconfig mesa mesa_noglu.osmesa libdrm libpng libjpeg openssl gnutls cups ncurses - alsaLib libxml2 libxslt lcms2 + alsaLib libxml2 libxslt lcms2 gettext dbus mpg123 openal ]) ++ lib.optional pulseaudioSupport pkgs.libpulseaudio ++ (with pkgs.xorg; [ - xlibsWrapper libXi libXcursor libXinerama libXrandr libXrender libXxf86vm libXcomposite + libXi libXcursor libXinerama libXrandr libXrender libXxf86vm libXcomposite libXext ])); # Wine locates a lot of libraries dynamically through dlopen(). Add From 71e7f0cad4d3bd848d85380762e9f371f570778c Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 12 Apr 2016 18:52:05 +0300 Subject: [PATCH 108/182] wine: use only native-arch native dependencies --- pkgs/misc/emulators/wine/base.nix | 5 +++-- pkgs/misc/emulators/wine/packages.nix | 15 +++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix index 92ec79ea8dd..503e8da6845 100644 --- a/pkgs/misc/emulators/wine/base.nix +++ b/pkgs/misc/emulators/wine/base.nix @@ -1,5 +1,6 @@ { stdenv, lib, pkgArches, name, version, src, monos, geckos, platforms, + pkgconfig, fontforge, makeWrapper, flex, bison, pulseaudioSupport, buildScript ? null, configureFlags ? "" }: @@ -14,9 +15,9 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) { }) // rec { inherit name src configureFlags; - nativeBuildInputs = toBuildInputs pkgArches (pkgs: with pkgs; [ + nativeBuildInputs = [ pkgconfig fontforge makeWrapper flex bison - ]); + ]; buildInputs = toBuildInputs pkgArches (pkgs: (with pkgs; [ freetype fontconfig mesa mesa_noglu.osmesa libdrm libpng libjpeg openssl gnutls cups ncurses diff --git a/pkgs/misc/emulators/wine/packages.nix b/pkgs/misc/emulators/wine/packages.nix index 69275a74b35..45c48182f28 100644 --- a/pkgs/misc/emulators/wine/packages.nix +++ b/pkgs/misc/emulators/wine/packages.nix @@ -1,31 +1,30 @@ -{ system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, +{ system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, callPackage_i686, pulseaudioSupport, wineRelease ? "stable" }: let src = lib.getAttr wineRelease (callPackage ./sources.nix {}); in with src; { - wine32 = import ./base.nix { + wine32 = callPackage_i686 ./base.nix { name = "wine-${version}"; inherit src version pulseaudioSupport; - inherit (pkgsi686Linux) lib stdenv; pkgArches = [ pkgsi686Linux ]; geckos = [ gecko32 ]; monos = [ mono ]; platforms = [ "i686-linux" "x86_64-linux" ]; }; - wine64 = import ./base.nix { + wine64 = callPackage ./base.nix { name = "wine64-${version}"; - inherit src version pulseaudioSupport lib stdenv; + inherit src version pulseaudioSupport; pkgArches = [ pkgs ]; geckos = [ gecko64 ]; monos = [ mono ]; - configureFlags = "--enable-win64"; + configureFlags = [ "--enable-win64" ]; platforms = [ "x86_64-linux" ]; }; - wineWow = import ./base.nix { + wineWow = callPackage ./base.nix { name = "wine-wow-${version}"; - inherit src version pulseaudioSupport lib; + inherit src version pulseaudioSupport; stdenv = stdenv_32bit; pkgArches = [ pkgs pkgsi686Linux ]; geckos = [ gecko32 gecko64 ]; From 391c3e505e08d4b12f0f06ca2d59c5552d37a373 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 12 Apr 2016 19:15:14 +0300 Subject: [PATCH 109/182] wrapCCMulti: split from gcc_multi --- pkgs/top-level/all-packages.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 188788955ff..02df6bd5532 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4044,18 +4044,20 @@ in gcc = gcc5; - gcc_multi = + wrapCCMulti = cc: if system == "x86_64-linux" then lowPrio ( let extraBuildCommands = '' echo "dontMoveLib64=1" >> $out/nix-support/setup-hook ''; - in wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi extraBuildCommands (gcc.cc.override { - stdenv = overrideCC stdenv (wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi "" gcc.cc); + in wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi extraBuildCommands (cc.cc.override { + stdenv = overrideCC stdenv (wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi "" cc.cc); profiledCompiler = false; enableMultilib = true; })) - else throw "Multilib gcc not supported on ‘${system}’"; + else throw "Multilib ${cc.name} not supported on ‘${system}’"; + + gcc_multi = wrapCCMulti gcc; gcc_debug = lowPrio (wrapCC (gcc.cc.override { stripped = false; From 1541fa351b4d664c51dddaeaa67ee0652892f405 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Apr 2016 18:37:53 +0200 Subject: [PATCH 110/182] X server: Enable local access control For the last ten years we have been passing -ac to the X server, which is very bad idea. Fixes #14623. --- nixos/modules/services/x11/xserver.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 70df18b4020..84fe8082666 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -513,8 +513,7 @@ in }; services.xserver.displayManager.xserverArgs = - [ "-ac" - "-terminate" + [ "-terminate" "-config ${configFile}" "-xkbdir" "${cfg.xkbDir}" ] ++ optional (cfg.display != null) ":${toString cfg.display}" From 9153d8ed640e4df38422cad89a72a43c9df9f057 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Apr 2016 19:12:47 +0200 Subject: [PATCH 111/182] Fix X11 tests broken by the removal of -ac Probably missed a few. Also adding xauth to the system path (it was already in the closure). --- nixos/lib/test-driver/Machine.pm | 2 +- nixos/modules/services/x11/xserver.nix | 1 + nixos/tests/gnome3-gdm.nix | 1 + nixos/tests/gnome3.nix | 1 + nixos/tests/i3wm.nix | 2 ++ nixos/tests/kde4.nix | 6 ++++-- nixos/tests/lightdm.nix | 2 ++ nixos/tests/sddm-kde5.nix | 2 ++ nixos/tests/sddm.nix | 2 ++ nixos/tests/xfce.nix | 2 ++ 10 files changed, 18 insertions(+), 3 deletions(-) diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm index 8ac0a31f287..37d6518fd8d 100644 --- a/nixos/lib/test-driver/Machine.pm +++ b/nixos/lib/test-driver/Machine.pm @@ -543,7 +543,7 @@ sub waitForX { retry sub { my ($status, $out) = $self->execute("journalctl -b SYSLOG_IDENTIFIER=systemd | grep 'session opened'"); return 0 if $status != 0; - ($status, $out) = $self->execute("xwininfo -root > /dev/null 2>&1"); + ($status, $out) = $self->execute("[ -e /tmp/.X11-unix/X0 ]"); return 1 if $status == 0; } }); diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 84fe8082666..ff44963c94f 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -466,6 +466,7 @@ in xorg.xsetroot xorg.xinput xorg.xprop + xorg.xauth pkgs.xterm pkgs.xdg_utils ] diff --git a/nixos/tests/gnome3-gdm.nix b/nixos/tests/gnome3-gdm.nix index 1c07ddf79c2..42425b57ba3 100644 --- a/nixos/tests/gnome3-gdm.nix +++ b/nixos/tests/gnome3-gdm.nix @@ -32,6 +32,7 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/Terminal/); $machine->sleep(20); $machine->screenshot("screen"); diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix index 714b3550370..50e7f4eace3 100644 --- a/nixos/tests/gnome3.nix +++ b/nixos/tests/gnome3.nix @@ -27,6 +27,7 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/Terminal/); $machine->mustSucceed("timeout 900 bash -c 'journalctl -f|grep -m 1 \"GNOME Shell started\"'"); $machine->sleep(10); diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix index 627a150f641..4685992d7a0 100644 --- a/nixos/tests/i3wm.nix +++ b/nixos/tests/i3wm.nix @@ -13,6 +13,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = { nodes, ... }: '' $machine->waitForX; + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/first configuration/); $machine->sleep(1); $machine->screenshot("started"); diff --git a/nixos/tests/kde4.nix b/nixos/tests/kde4.nix index dc61658cd1c..2693fb4fbf0 100644 --- a/nixos/tests/kde4.nix +++ b/nixos/tests/kde4.nix @@ -41,11 +41,13 @@ import ./make-test.nix ({ pkgs, ... }: { pkgs.kde4.kdenetwork pkgs.kde4.kdetoys pkgs.kde4.kdewebdev + pkgs.xorg.xmessage ]; }; - testScript = '' + testScript = '' $machine->waitUntilSucceeds("pgrep plasma-desktop"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/plasma-desktop/); # Check that logging in has given the user ownership of devices. @@ -62,7 +64,7 @@ import ./make-test.nix ({ pkgs, ... }: { $machine->sleep(10); - $machine->screenshot("screen"); + $machine->screenshot("screen"); ''; }) diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix index f30f9062dcd..97ec79406b8 100644 --- a/nixos/tests/lightdm.nix +++ b/nixos/tests/lightdm.nix @@ -22,6 +22,8 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->waitForText(qr/${user.description}/); $machine->screenshot("lightdm"); $machine->sendChars("${user.password}\n"); + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow("^IceWM "); ''; }) diff --git a/nixos/tests/sddm-kde5.nix b/nixos/tests/sddm-kde5.nix index 476cb732e25..f97a6d12b63 100644 --- a/nixos/tests/sddm-kde5.nix +++ b/nixos/tests/sddm-kde5.nix @@ -24,6 +24,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = { nodes, ... }: '' startAll; + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow("^IceWM "); ''; }) diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix index e11b5714d5c..22a9e1bd2c7 100644 --- a/nixos/tests/sddm.nix +++ b/nixos/tests/sddm.nix @@ -23,6 +23,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = { nodes, ... }: '' startAll; + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow("^IceWM "); ''; }) diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix index c131ef7dc8c..9f1f997db5f 100644 --- a/nixos/tests/xfce.nix +++ b/nixos/tests/xfce.nix @@ -20,6 +20,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = '' $machine->waitForX; + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/xfce4-panel/); $machine->sleep(10); From a42698d2a496516da08f31cfc7daab3d6f69a0fe Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Apr 2016 19:12:28 +0200 Subject: [PATCH 112/182] Add a regression test for #14623 --- nixos/tests/common/user-account.nix | 9 +++++++-- nixos/tests/xfce.nix | 6 ++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/nixos/tests/common/user-account.nix b/nixos/tests/common/user-account.nix index ded8275000a..93aeb60e456 100644 --- a/nixos/tests/common/user-account.nix +++ b/nixos/tests/common/user-account.nix @@ -1,9 +1,14 @@ { lib, ... }: -{ users.extraUsers = lib.singleton +{ users.extraUsers.alice = { isNormalUser = true; - name = "alice"; description = "Alice Foobar"; password = "foobar"; }; + + users.extraUsers.bob = + { isNormalUser = true; + description = "Bob Foobar"; + password = "foobar"; + }; } diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix index 9f1f997db5f..c8b18f12265 100644 --- a/nixos/tests/xfce.nix +++ b/nixos/tests/xfce.nix @@ -15,6 +15,8 @@ import ./make-test.nix ({ pkgs, ...} : { services.xserver.displayManager.auto.user = "alice"; services.xserver.desktopManager.xfce.enable = true; + + environment.systemPackages = [ pkgs.xorg.xmessage ]; }; testScript = @@ -32,5 +34,9 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->waitForWindow(qr/Terminal/); $machine->sleep(10); $machine->screenshot("screen"); + + # Ensure that the X server does proper access control. + $machine->mustFail("su - bob -c 'DISPLAY=:0.0 xmessage Foo'"); + $machine->mustFail("su - bob -c 'DISPLAY=:0 xmessage Foo'"); ''; }) From a036fda544d26cbaa38b6fbcf0cd2fbb14d13d0f Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 12 Apr 2016 19:43:11 +0200 Subject: [PATCH 113/182] coq: 8.5 -> 8.5pl1 --- pkgs/applications/science/logic/coq/8.5.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/logic/coq/8.5.nix b/pkgs/applications/science/logic/coq/8.5.nix index 104fb02fc45..1485626125d 100644 --- a/pkgs/applications/science/logic/coq/8.5.nix +++ b/pkgs/applications/science/logic/coq/8.5.nix @@ -6,7 +6,7 @@ {stdenv, fetchurl, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null}: let - version = "8.5"; + version = "8.5pl1"; coq-version = "8.5"; buildIde = lablgtk != null; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; @@ -23,8 +23,8 @@ stdenv.mkDerivation { inherit ocaml camlp5; src = fetchurl { - url = https://coq.inria.fr/distrib/V8.5/files/coq-8.5.tar.gz; - sha256 = "0gdfm6k5q1f8sz1xr9ijdkkvwqsb7v8prj21gmwv0z0yp6w2zac9"; + url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz"; + sha256 = "1w2xvm6w16khfn63bp95s25hnkn2ny3w0yqg3lq63gp11aqpbyjb"; }; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; From 618b336808a320aa134b0ed730b1bcfbc6c3ce23 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 12 Apr 2016 19:43:49 +0200 Subject: [PATCH 114/182] coq-ext-lib: 0.9.0-beta3 -> 0.9.3 --- pkgs/development/coq-modules/coq-ext-lib/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix index 2eeb6b207b1..d35c062d6e4 100644 --- a/pkgs/development/coq-modules/coq-ext-lib/default.nix +++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix @@ -1,9 +1,10 @@ { stdenv, fetchFromGitHub, coq }: let param = - if coq.coq-version == "8.4" - then { version = "0.9.0"; sha256 = "1n3bk003vvbghbrxkhal6drnc0l65jv9y77wd56is3jw9xgiif0w"; } - else { version = "0.9.0-beta3"; sha256 = "1dya0sqp5jjb2cl7cv2ry4gvcr359bkzzqcz0plknf3f1c5zrv0s"; }; + { + "8.4" = { version = "0.9.0"; sha256 = "1n3bk003vvbghbrxkhal6drnc0l65jv9y77wd56is3jw9xgiif0w"; }; + "8.5" = { version = "0.9.3"; sha256 = "05zff5mrkxpvcsw4gi8whjj5w0mdbqzjmb247lq5b7mry0bypwc5"; }; + }."${coq.coq-version}"; in stdenv.mkDerivation rec { From 24835df32201c22a4d9d8e18042260aefeb78002 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 12 Apr 2016 19:15:45 +0300 Subject: [PATCH 115/182] wine: use gcc49 for 64-bit builds --- pkgs/misc/emulators/wine/packages.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/misc/emulators/wine/packages.nix b/pkgs/misc/emulators/wine/packages.nix index 45c48182f28..206deb01b8b 100644 --- a/pkgs/misc/emulators/wine/packages.nix +++ b/pkgs/misc/emulators/wine/packages.nix @@ -1,4 +1,5 @@ { system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, callPackage_i686, + overrideCC, wrapCCMulti, gcc49, pulseaudioSupport, wineRelease ? "stable" }: @@ -16,6 +17,9 @@ in with src; { wine64 = callPackage ./base.nix { name = "wine64-${version}"; inherit src version pulseaudioSupport; + # FIXME: drop this when GCC is updated to >5.3. + # Corresponding bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140 + stdenv = overrideCC stdenv gcc49; pkgArches = [ pkgs ]; geckos = [ gecko64 ]; monos = [ mono ]; @@ -25,7 +29,8 @@ in with src; { wineWow = callPackage ./base.nix { name = "wine-wow-${version}"; inherit src version pulseaudioSupport; - stdenv = stdenv_32bit; + # FIXME: see above. + stdenv = overrideCC stdenv_32bit (wrapCCMulti gcc49); pkgArches = [ pkgs pkgsi686Linux ]; geckos = [ gecko32 gecko64 ]; monos = [ mono ]; From 079134cd188862dba86cc15b3196ce225cd3a9d2 Mon Sep 17 00:00:00 2001 From: Brad Ediger Date: Tue, 12 Apr 2016 13:04:55 -0500 Subject: [PATCH 116/182] pythonPackages.geeknote: 2015-03-02 -> 2015-05-11 --- 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 47f33f3869c..f7c33d97bbd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -25447,15 +25447,15 @@ in modules // { }; geeknote = buildPythonPackage rec { - version = "2015-03-02"; + version = "2015-05-11"; name = "geeknote-${version}"; disabled = ! isPy27; src = pkgs.fetchFromGitHub { owner = "VitaliyRodnenko"; repo = "geeknote"; - rev = "7ea2255bb6"; - sha256 = "0lw3m8g7r8r7dxhqih08x0i6agd201q2ig35a59rd4vygr3xqw2j"; + rev = "8489a87d044e164edb321ba9acca8d4631de3dca"; + sha256 = "0l16v4xnyqnsf84b1pma0jmdyxvmfwcv3sm8slrv3zv7zpmcm3lf"; }; /* build with tests fails with "Can not create application dirictory : From 70c1b2b1c0826dfd28f8ca017eecb6dcde5806e9 Mon Sep 17 00:00:00 2001 From: Louis Taylor Date: Tue, 12 Apr 2016 20:13:40 +0100 Subject: [PATCH 117/182] samtools: init at 1.3 --- .../science/biology/samtools/default.nix | 19 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/applications/science/biology/samtools/default.nix diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix new file mode 100644 index 00000000000..7c85513bd8e --- /dev/null +++ b/pkgs/applications/science/biology/samtools/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, zlib, ncurses }: + +stdenv.mkDerivation rec { + name = "samtools-${version}"; + version = "1.3"; + + src = fetchurl { + url = "https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2"; + sha256 = "03mnf0mhbfwhqlqfslrhfnw68s3g0fs1as354i9a584mqw1l1smy"; + }; + + buildInputs = [ zlib ncurses ]; + + meta = with stdenv.lib; { + description = "Tools (written in C using htslib) for manipulating next-generation sequencing data"; + license = licenses.mit; + homepage = http://www.htslib.org/; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 304a698df67..c5292a15061 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15476,6 +15476,8 @@ in plink = callPackage ../applications/science/biology/plink/default.nix { }; + samtools = callPackage ../applications/science/biology/samtools/default.nix { }; + ### SCIENCE/MATH From ec098aad41da059b0ce71292638a78d0e71d5350 Mon Sep 17 00:00:00 2001 From: Maarten Hoogendoorn Date: Tue, 12 Apr 2016 12:12:46 +0200 Subject: [PATCH 118/182] mcrl2: 2009.01 -> 2014.09 --- lib/maintainers.nix | 1 + .../science/logic/mcrl2/default.nix | 31 +++++++++++++++++++ pkgs/tools/misc/mcrl2/default.nix | 14 --------- pkgs/top-level/all-packages.nix | 4 +-- 4 files changed, 34 insertions(+), 16 deletions(-) create mode 100644 pkgs/applications/science/logic/mcrl2/default.nix delete mode 100644 pkgs/tools/misc/mcrl2/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 9937912ec3e..905cf761aa4 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -233,6 +233,7 @@ mirdhyn = "Merlin Gaillard "; modulistic = "Pablo Costa "; mog = "Matthew O'Gorman "; + moretea = "Maarten Hoogendoorn "; mornfall = "Petr Ročkai "; MP2E = "Cray Elliott "; msackman = "Matthew Sackman "; diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix new file mode 100644 index 00000000000..c8493b59469 --- /dev/null +++ b/pkgs/applications/science/logic/mcrl2/default.nix @@ -0,0 +1,31 @@ +{stdenv, fetchurl, xlibs, cmake, subversion, mesa, qt5, boost, + python27, python27Packages}: + +stdenv.mkDerivation rec { + version = "201409.1"; + build_nr = "13892"; + name = "mcrl2-${version}"; + + src = fetchurl { + url = "http://www.mcrl2.org/download/devel/mcrl2-${version}.${build_nr}.tar.gz"; + sha256 = "0cknpind6rma12q93rbm638ijhy8sj8nd20wnw8l0f651wm0x036"; + }; + + buildInputs = [ xlibs.libX11 cmake subversion mesa qt5.qtbase boost + python27 python27Packages.pyyaml python27Packages.psutil ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A toolset for model-checking concurrent systems and protocols"; + longDescription = '' + A formal specification language with an associated toolset, + that can be used for modelling, validation and verification of + concurrent systems and protocols + ''; + homepage = http://www.mcrl2.org/; + license = licenses.boost; + maintainers = with maintainers; [ moretea ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/misc/mcrl2/default.nix b/pkgs/tools/misc/mcrl2/default.nix deleted file mode 100644 index a67081d5ef2..00000000000 --- a/pkgs/tools/misc/mcrl2/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{stdenv, fetchurl, mesa, wxGTK, libX11}: - -stdenv.mkDerivation { - name = "mcrl2-200901"; - src = fetchurl { - url = http://www.win.tue.nl/mcrl2/download/release/mcrl2-200901-src.tar.bz2 ; - sha256 = "0lji31d7dv15q8092b8g01j023dd7miq3nw8klgc8jd136xpwdp9"; - }; - - buildInputs = [ mesa wxGTK libX11 ] ; -} - - - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 188788955ff..76e9d5d2ec9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -782,8 +782,6 @@ in mcrl = callPackage ../tools/misc/mcrl { }; - mcrl2 = callPackage ../tools/misc/mcrl2 { }; - meson = callPackage ../development/tools/build-managers/meson { }; mp3fs = callPackage ../tools/filesystems/mp3fs { }; @@ -15768,6 +15766,8 @@ in metis-prover = callPackage ../applications/science/logic/metis-prover { }; + mcrl2 = callPackage ../applications/science/logic/mcrl2 { }; + minisat = callPackage ../applications/science/logic/minisat {}; opensmt = callPackage ../applications/science/logic/opensmt { }; From 0bda52462bc1a1ac5d526dbb490a219ea02b79cf Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Tue, 12 Apr 2016 22:44:07 +0200 Subject: [PATCH 119/182] st: Make patches configurable via config.st.patches. --- pkgs/applications/misc/st/default.nix | 4 +++- pkgs/applications/misc/st/wayland.nix | 4 +++- pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix index 234e8b6ba69..deceba0ea55 100644 --- a/pkgs/applications/misc/st/default.nix +++ b/pkgs/applications/misc/st/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses, libXext, libXft, fontconfig -, conf? null}: +, conf ? null, patches ? []}: with stdenv.lib; @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "0avsfc1qp8zvshsfjwwrkvk411jlqy58z225bsdhjkl1qc40qcc5"; }; + inherit patches; + configFile = optionalString (conf!=null) (writeText "config.def.h" conf); preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; diff --git a/pkgs/applications/misc/st/wayland.nix b/pkgs/applications/misc/st/wayland.nix index ed7e0cf7ca1..4d9f0ef3f8d 100644 --- a/pkgs/applications/misc/st/wayland.nix +++ b/pkgs/applications/misc/st/wayland.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, writeText , ncurses, wayland, wld, libxkbcommon, fontconfig, pixman -, conf? null}: +, conf ? null, patches ? [] }: with stdenv.lib; @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { sha256 = "7164da135f02405dba5ae3131dfd896e072df29ac6c0928f3b887beffb8a7d97"; }; + inherit patches; + configFile = optionalString (conf!=null) (writeText "config.def.h" conf); preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 66ab3de91e2..37175481798 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13722,10 +13722,12 @@ in st = callPackage ../applications/misc/st { conf = config.st.conf or null; + patches = config.st.patches or null; }; st-wayland = callPackage ../applications/misc/st/wayland.nix { conf = config.st.conf or null; + patches = config.st.patches or null; }; stag = callPackage ../applications/misc/stag { From 4788ec13725f9bcab65212057e54215d10d4ee62 Mon Sep 17 00:00:00 2001 From: obadz Date: Tue, 12 Apr 2016 19:30:14 +0100 Subject: [PATCH 120/182] linux kernel 4.4: fix race during build Patch drivers/crypto/qat/qat_common/Makefile so that qat_asym_algs.o explicitly depends on headers qat_rsaprivkey-asn1.h and qat_rsapubkey-asn1.h Hopefully fixes #14595 --- pkgs/os-specific/linux/kernel/patches.nix | 4 ++++ .../os-specific/linux/kernel/qat_common_Makefile.patch | 10 ++++++++++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/linux/kernel/qat_common_Makefile.patch diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index a23ee7823a6..707ebb544bf 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -154,4 +154,8 @@ rec { { name = "mfd_fix_dependency"; patch = ./chromiumos-patches/mfd-fix-dependency.patch; }; + qat_common_Makefile = + { name = "qat_common_Makefile"; + patch = ./qat_common_Makefile.patch; + }; } diff --git a/pkgs/os-specific/linux/kernel/qat_common_Makefile.patch b/pkgs/os-specific/linux/kernel/qat_common_Makefile.patch new file mode 100644 index 00000000000..2d4476a7fe5 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/qat_common_Makefile.patch @@ -0,0 +1,10 @@ +--- a/drivers/crypto/qat/qat_common/Makefile ++++ b/drivers/crypto/qat/qat_common/Makefile +@@ -2,6 +2,7 @@ + $(obj)/qat_rsapubkey-asn1.h + $(obj)/qat_rsaprivkey-asn1.o: $(obj)/qat_rsaprivkey-asn1.c \ + $(obj)/qat_rsaprivkey-asn1.h ++$(obj)/qat_asym_algs.o: $(obj)/qat_rsaprivkey-asn1.h $(obj)/qat_rsapubkey-asn1.h + + clean-files += qat_rsapubkey-asn1.c qat_rsapubkey-asn1.h + clean-files += qat_rsaprivkey-asn1.c qat_rsapvivkey-asn1.h diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 049c185247c..1410a50d21f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10450,7 +10450,7 @@ in }; linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix { - kernelPatches = [ kernelPatches.bridge_stp_helper ] + kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.qat_common_Makefile ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill From 971b6729a280f1a747c863ed21ab999b37638ca8 Mon Sep 17 00:00:00 2001 From: Herwig Hochleitner Date: Tue, 12 Apr 2016 23:38:56 +0200 Subject: [PATCH 121/182] Revert "dropbox-cli: minor refactoring to play nice with dropbox" Undo changes from PR #14077 It's not acceptable to just willy-nilly rename a CLI script. Also, that PR broke the tray icon for dropbox. This reverts commit afa4a27a2500519304f482460d5e879018d3ba56. --- pkgs/applications/networking/dropbox-cli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/dropbox-cli/default.nix b/pkgs/applications/networking/dropbox-cli/default.nix index ab79159ea6e..892d8fa3300 100644 --- a/pkgs/applications/networking/dropbox-cli/default.nix +++ b/pkgs/applications/networking/dropbox-cli/default.nix @@ -16,7 +16,8 @@ stdenv.mkDerivation { phases = "unpackPhase installPhase"; installPhase = '' - mkdir -p "$out/bin/" + mkdir -p "$out/bin/" "$out/share/applications" + cp data/dropbox.desktop "$out/share/applications" substitute "dropbox.in" "$out/bin/dropbox" \ --replace '@PACKAGE_VERSION@' ${version} \ --replace '@DESKTOP_FILE_DIR@' "$out/share/applications" \ @@ -24,7 +25,6 @@ stdenv.mkDerivation { --replace '@IMAGEDATA64@' '"too-lazy-to-fix"' sed -i 's:db_path = .*:db_path = "${dropboxd}":' $out/bin/dropbox chmod +x "$out/bin/"* - mv $out/bin/dropbox $out/bin/dropbox-cli patchShebangs "$out/bin" ''; From 9aad4c884e7d9fd74852002e91a6ad0ba9054985 Mon Sep 17 00:00:00 2001 From: Herwig Hochleitner Date: Tue, 12 Apr 2016 23:49:14 +0200 Subject: [PATCH 122/182] dropbox: 3.14.7 -> 3.18.1 --- pkgs/applications/networking/dropbox/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix index a180e2a01ed..e20db1892bb 100644 --- a/pkgs/applications/networking/dropbox/default.nix +++ b/pkgs/applications/networking/dropbox/default.nix @@ -20,11 +20,11 @@ let # NOTE: When updating, please also update in current stable, as older versions stop working - version = "3.14.7"; + version = "3.18.1"; sha256 = { - "x86_64-linux" = "1pwmghpr0kyca2biysyk90kk9k6ffv4i95vs5rq96vc0zbckws6n"; - "i686-linux" = "08yqrxh09cfd80kbiq1f2sirx9s85acij4khpklvvwrnf2x1i1zm"; + "x86_64-linux" = "1qdahr8xzk3zrrv89335l3aa2gfgjn1ymfixj9zgipv34grkjghm"; + "i686-linux" = "015bjkr2dwyac410i398qm1v60rqln539wcj5f25q776haycbcji"; }."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); arch = From 5330df89841c313621e2059ca46e7a0ece42fc36 Mon Sep 17 00:00:00 2001 From: "Taylor \"Nekroze\" Lawson" Date: Wed, 13 Apr 2016 09:21:41 +1000 Subject: [PATCH 123/182] Updated unifi-controller package to 4.8.15 Previous version (4.8.14) is no longer available to download. --- pkgs/servers/unifi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix index e683c7f5f0c..5684704205f 100644 --- a/pkgs/servers/unifi/default.nix +++ b/pkgs/servers/unifi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "unifi-controller-${version}"; - version = "4.8.14"; + version = "4.8.15"; src = fetchurl { url = "https://dl.ubnt.com/unifi/${version}/UniFi.unix.zip"; - sha256 = "2498d898399c4ce636ea62e5e4bb1afdd6146e45d721084fe28a44bfd3dffb11"; + sha256 = "1p77l2186mw32l59inyd79rpachcs634z891k1vqcwn9gm7a39r2"; }; buildInputs = [ unzip ]; From e870ac3044be0dbfc3b53cb876091dd348a9790e Mon Sep 17 00:00:00 2001 From: Alexey Shmalko Date: Sun, 27 Mar 2016 19:12:09 +0300 Subject: [PATCH 124/182] gcc-arm-embedded: 4.9 -> 5.2 Seems that GCC ARM Embedded have changed convention for file location, and version 5.2 isn't accessible from the predicted url. That's why nix-expression is updated to allow overloading url parts. --- pkgs/development/compilers/gcc-arm-embedded/default.nix | 9 ++++++--- pkgs/top-level/all-packages.nix | 7 +++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix index b6f6ac51ba2..cdbfad7eb1f 100644 --- a/pkgs/development/compilers/gcc-arm-embedded/default.nix +++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix @@ -1,4 +1,5 @@ -{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses }: +{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses +, dirName ? null, subdirName ? null }: with stdenv.lib; let versionParts = splitString "-" version; # 4.7 2013q3 20130916 @@ -8,13 +9,15 @@ let yearQuarterParts = splitString "q" yearQuarter; # 2013 3 year = elemAt yearQuarterParts 0; # 2013 quarter = elemAt yearQuarterParts 1; # 3 - subdirName = "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update + dirName_ = if dirName != null then dirName else majorVersion; + subdirName_ = if subdirName != null then subdirName + else "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update in stdenv.mkDerivation { name = "gcc-arm-embedded-${version}"; src = fetchurl { - url = "https://launchpad.net/gcc-arm-embedded/${majorVersion}/${subdirName}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2"; + url = "https://launchpad.net/gcc-arm-embedded/${dirName_}/${subdirName_}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2"; sha256 = sha256; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1410a50d21f..d4ce1154dcf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4287,6 +4287,13 @@ in releaseType = "update"; sha256 = "c5e0025b065750bbd76b5357b4fc8606d88afbac9ff55b8a82927b4b96178154"; }; + gcc-arm-embedded-5_2 = pkgs.callPackage_i686 ../development/compilers/gcc-arm-embedded { + dirName = "5.0"; + subdirName = "5-2015-q4-major"; + version = "5.2-2015q4-20151219"; + releaseType = "major"; + sha256 = "12mbwl9iwbw7h6gwwkvyvfmrsz7vgjz27jh2cz9z006ihzigi50y"; + }; gcc-arm-embedded = self.gcc-arm-embedded-4_9; gforth = callPackage ../development/compilers/gforth {}; From cba5ccb67b59ed36502050c64c50b6ada5ab27a0 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Wed, 13 Apr 2016 02:32:53 +0200 Subject: [PATCH 125/182] nixos: fix incorrect rename for input-methods options Hotfix for e6ae05dd8ac9e42b1394701b65452e1e9cef6529 --- nixos/modules/rename.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index aaec13d6bea..84eccfd5129 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -63,7 +63,7 @@ with lib; (mkRenamedOptionModule [ "services" "tarsnap" "config" ] [ "services" "tarsnap" "archives" ]) # ibus - (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "input-method" "ibus" "engines" ]) + (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "inputMethod" "ibus" "engines" ]) # proxy (mkRenamedOptionModule [ "nix" "proxy" ] [ "networking" "proxy" "default" ]) From ba59be833b2bb25e811033ac781e4aebe690b647 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 04:06:15 +0300 Subject: [PATCH 126/182] sunxi-tools: Don't build on darwin http://hydra.nixos.org/build/34390183/nixlog/1/raw While at it, use fetchFromGitHub. --- pkgs/development/tools/sunxi-tools/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/sunxi-tools/default.nix b/pkgs/development/tools/sunxi-tools/default.nix index f27b9500319..43256024254 100644 --- a/pkgs/development/tools/sunxi-tools/default.nix +++ b/pkgs/development/tools/sunxi-tools/default.nix @@ -1,11 +1,13 @@ -{ stdenv, fetchgit, pkgconfig, libusb }: +{ stdenv, fetchFromGitHub, pkgconfig, libusb }: + stdenv.mkDerivation { name = "sunxi-tools-1.3"; - src = fetchgit { - url = "https://github.com/linux-sunxi/sunxi-tools"; + src = fetchFromGitHub { + owner = "linux-sunxi"; + repo = "sunxi-tools"; rev = "be1b4c7400161b90437432076360c1f99970f54f"; - sha256 = "0qbl4v66a3mvqai29q2y60zf2b5lj32mh9gyn44gfp0w2bsb10yj"; + sha256 = "02pqaaahra4wbv325264qh5i17mxwicmjx9nm33nw2dpmfmg9xhr"; }; buildInputs = [ pkgconfig libusb ]; @@ -23,7 +25,7 @@ stdenv.mkDerivation { description = "Tools for Allwinner A10 devices"; homepage = http://linux-sunxi.org/; license = licenses.gpl2Plus; - platforms = platforms.unix; + platforms = platforms.linux; maintainers = with maintainers; [ elitak ]; }; } From a9ce4b088492a569937acca0648bffaa4bd7761c Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 04:16:10 +0300 Subject: [PATCH 127/182] libdvdcss: Don't build on Darwin http://hydra.nixos.org/build/34377524/nixlog/1/raw While at it, add a license. --- pkgs/development/libraries/libdvdcss/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libdvdcss/default.nix b/pkgs/development/libraries/libdvdcss/default.nix index d68b0a36751..c5cdec0ae5f 100644 --- a/pkgs/development/libraries/libdvdcss/default.nix +++ b/pkgs/development/libraries/libdvdcss/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { name = "libdvdcss-${version}"; @@ -9,8 +9,10 @@ stdenv.mkDerivation rec { sha256 = "158k9zagmbk5bkbz96l6lwhh7xcgfcnzflkr4vblskhcab6llhbw"; }; - meta = { + meta = with stdenv.lib; { homepage = http://www.videolan.org/developers/libdvdcss.html; description = "A library for decrypting DVDs"; + license = licenses.gpl2; + platforms = platforms.linux; }; } From 53ae67fddda377d8e07c0c820b215480acc9df6b Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 04:35:08 +0300 Subject: [PATCH 128/182] openscenegraph: add withApps flag --- pkgs/development/libraries/openscenegraph/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix index 2e2897b37a4..1b69563355b 100644 --- a/pkgs/development/libraries/openscenegraph/default.nix +++ b/pkgs/development/libraries/openscenegraph/default.nix @@ -1,8 +1,9 @@ -{ stdenv, fetchurl, cmake, giflib, libjpeg, libtiff, lib3ds, freetype +{ stdenv, lib, fetchurl, cmake, giflib, libjpeg, libtiff, lib3ds, freetype , libpng, coin3d, jasper, gdal_1_11, xproto, libX11, libXmu , freeglut, mesa, doxygen, ffmpeg, xineLib, unzip, zlib, openal , libxml2, curl, a52dec, faad2, gdk_pixbuf, pkgconfig, kbproto, SDL -, qt4, poppler, librsvg, gtk }: +, qt4, poppler, librsvg, gtk +, withApps ? true }: stdenv.mkDerivation rec { name = "openscenegraph-${version}"; @@ -26,7 +27,7 @@ stdenv.mkDerivation rec { "-DMATH_LIBRARY=" "-DCMAKE_C_FLAGS=-D__STDC_CONSTANT_MACROS=1" "-DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS=1" - ]; + ] ++ lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF"; meta = with stdenv.lib; { description = "A 3D graphics toolkit"; From 0c978d7d4f7626d1998f413cce1d3ee2f7b4320b Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 04:35:23 +0300 Subject: [PATCH 129/182] openmw: build with its own openscenegraph fork This gives speed improvement and fixes potential bugs. For example: https://bugs.openmw.org/issues/3351 Updating our openscenegraph package would fix this too, but it breaks some packages (i.e. simgear, bumping the version does not help). Besides, fork has patches for better performance. --- pkgs/games/openmw/default.nix | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix index 3c396472eed..2fdd2c7e56c 100644 --- a/pkgs/games/openmw/default.nix +++ b/pkgs/games/openmw/default.nix @@ -1,6 +1,20 @@ -{ stdenv, fetchFromGitHub, qt4, openscenegraph, mygui, bullet, ffmpeg, boost, cmake, SDL2, unshield, openal, pkgconfig }: +{ stdenv, fetchFromGitHub, qt4, openscenegraph, mygui, bullet, ffmpeg, boost, cmake, SDL2, unshield, openal +, giflib, pkgconfig }: -stdenv.mkDerivation rec { +let + openscenegraph_ = openscenegraph.override { + inherit ffmpeg giflib; + withApps = false; + }; + openscenegraph__ = openscenegraph_.overrideDerivation (self: { + src = fetchFromGitHub { + owner = "OpenMW"; + repo = "osg"; + rev = "a72f43de6e1e4a8191643acb26c3e7138f833798"; + sha256 = "04x2pjfrdz1kaj4i34zpzrmkk018jnr84rb6z646cz5fin3dapyh"; + }; + }); +in stdenv.mkDerivation rec { version = "0.38.0"; name = "openmw-${version}"; @@ -13,7 +27,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - buildInputs = [ cmake boost ffmpeg qt4 bullet mygui openscenegraph SDL2 unshield openal pkgconfig ]; + buildInputs = [ cmake boost ffmpeg qt4 bullet mygui openscenegraph__ SDL2 unshield openal pkgconfig ]; meta = with stdenv.lib; { description = "An unofficial open source engine reimplementation of the game Morrowind"; From d5c9a80ccddb62d1036794458c7c032bd5f5b0c8 Mon Sep 17 00:00:00 2001 From: Corbin Date: Sat, 2 Apr 2016 11:34:49 -0700 Subject: [PATCH 130/182] services/tahoe: Add tub.location for specifying external IPs. Invaluable for wiring up clouds. --- .../services/network-filesystems/tahoe.nix | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/nixos/modules/services/network-filesystems/tahoe.nix b/nixos/modules/services/network-filesystems/tahoe.nix index ab441339a56..d4b6c05e943 100644 --- a/nixos/modules/services/network-filesystems/tahoe.nix +++ b/nixos/modules/services/network-filesystems/tahoe.nix @@ -26,6 +26,15 @@ in The port on which the introducer will listen. ''; }; + tub.location = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The external location that the introducer should listen on. + + If specified, the port should be included. + ''; + }; package = mkOption { default = pkgs.tahoelafs; defaultText = "pkgs.tahoelafs"; @@ -60,6 +69,18 @@ in system to listen on a different port. ''; }; + tub.location = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The external location that the node should listen on. + + This is the setting to tweak if there are multiple interfaces + and you want to alter which interface Tahoe is advertising. + + If specified, the port should be included. + ''; + }; web.port = mkOption { default = 3456; type = types.int; @@ -144,6 +165,8 @@ in [node] nickname = ${settings.nickname} tub.port = ${toString settings.tub.port} + ${optionalString (settings.tub.location != null) + "tub.location = ${settings.tub.location}"} ''; }); # Actually require Tahoe, so that we will have it installed. @@ -209,6 +232,8 @@ in [node] nickname = ${settings.nickname} tub.port = ${toString settings.tub.port} + ${optionalString (settings.tub.location != null) + "tub.location = ${settings.tub.location}"} # This is a Twisted endpoint. Twisted Web doesn't work on # non-TCP. ~ C. web.port = tcp:${toString settings.web.port} From 4c85efbda1f4af4c5b54106f0bf93af35f1dc17d Mon Sep 17 00:00:00 2001 From: Corbin Date: Tue, 12 Apr 2016 18:43:06 -0700 Subject: [PATCH 131/182] tahoe-lafs: 1.10.2 -> 1.11.0 Also add myself to maintainers, as I *do* care about this package. --- lib/maintainers.nix | 1 + pkgs/tools/networking/p2p/tahoe-lafs/default.nix | 15 +++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 9937912ec3e..a3c96fc21b5 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -234,6 +234,7 @@ modulistic = "Pablo Costa "; mog = "Matthew O'Gorman "; mornfall = "Petr Ročkai "; + MostAwesomeDude = "Corbin Simpson "; MP2E = "Cray Elliott "; msackman = "Matthew Sackman "; mschristiansen = "Mikkel Christiansen "; diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix index 5f1d6b4ef1a..aa1b01c11fa 100644 --- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix +++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix @@ -6,13 +6,13 @@ # some loss of functionality because of it. pythonPackages.buildPythonApplication rec { - version = "1.10.2"; + version = "1.11.0"; name = "tahoe-lafs-${version}"; namePrefix = ""; src = fetchurl { - url = "http://tahoe-lafs.org/source/tahoe-lafs/releases/allmydata-tahoe-${version}.tar.bz2"; - sha256 = "1rvv0ik5biy7ji8pg56v0qycnggzr3k6dbg88n555nb6r4cxgmgy"; + url = "https://tahoe-lafs.org/downloads/tahoe-lafs-${version}.tar.bz2"; + sha256 = "0hrp87rarbmmpnrxk91s83h6irkykds3pl263dagcddbdl5inqdi"; }; patchPhase = '' @@ -30,7 +30,6 @@ pythonPackages.buildPythonApplication rec { sed -i 's/"pycrypto.*"/"pycrypto"/' src/allmydata/_auto_deps.py ''; - # Some tests want this + http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-sdists/mock-0.6.0.tar.bz2 buildInputs = with pythonPackages; [ unzip numpy mock ]; # The `backup' command requires `sqlite3'. @@ -48,8 +47,8 @@ pythonPackages.buildPythonApplication rec { ''; checkPhase = '' - # TODO: broken with wheels - #${pythonPackages.python.interpreter} setup.py trial + # Still broken. ~ C. + # trial allmydata ''; meta = { @@ -60,9 +59,9 @@ pythonPackages.buildPythonApplication rec { such a way that it remains available even when some of the peers are unavailable, malfunctioning, or malicious. ''; - homepage = http://allmydata.org/; + homepage = http://tahoe-lafs.org/; license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ]; - maintainers = [ lib.maintainers.simons ]; + maintainers = with lib.maintainers; [ simons MostAwesomeDude ]; platforms = lib.platforms.gnu; # arbitrary choice }; } From dd2f24bc0daf43d6a3991f528565890ab16987b6 Mon Sep 17 00:00:00 2001 From: Micxjo Funkcio Date: Tue, 12 Apr 2016 18:54:24 -0700 Subject: [PATCH 132/182] nvpy: 0.9.2 -> 0.9.7 --- pkgs/applications/editors/nvpy/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/nvpy/default.nix b/pkgs/applications/editors/nvpy/default.nix index a6dd7bcb403..c42940440ae 100644 --- a/pkgs/applications/editors/nvpy/default.nix +++ b/pkgs/applications/editors/nvpy/default.nix @@ -1,12 +1,12 @@ { pkgs, fetchurl, tk, buildPythonApplication, pythonPackages }: buildPythonApplication rec { - version = "0.9.2"; + version = "0.9.7"; name = "nvpy-${version}"; src = fetchurl { url = "https://github.com/cpbotha/nvpy/archive/v${version}.tar.gz"; - sha256 = "78e41b80fc5549cba8cfd92b52d6530e8dfc8e8f37e96e4b219f30c266af811d"; + sha256 = "1rd3vlaqkg16iz6qcw6rkbq0jmyvc0843wa3brnvn1nz0kla243f"; }; buildInputs = [tk]; @@ -14,6 +14,7 @@ buildPythonApplication rec { propagatedBuildInputs = [ pythonPackages.markdown pythonPackages.tkinter + pythonPackages.docutils ]; postInstall = '' From ad8947ab1de2473c71e4baf9958bd006c7387182 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 05:14:53 +0300 Subject: [PATCH 133/182] perlPackages.CGIPSGI: fix build --- 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 3a257dab37c..676b5e971a9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1515,6 +1515,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-PSGI-0.15.tar.gz; sha256 = "c50dcb10bf8486a9843baed032ad89d879ff2f41c993342dead62f947a598d91"; }; + propagatedBuildInputs = [ CGI ]; meta = { description = "Adapt CGI.pm to the PSGI protocol"; license = "perl"; From 0aa19c5d872a1936d4d4eb45f7548b7f69e31652 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 05:17:47 +0300 Subject: [PATCH 134/182] perlPackages.CGIEmulatePSGI: fix build --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 676b5e971a9..dcf1048857d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1463,7 +1463,7 @@ let self = _self // overrides; _self = with self; { sha256 = "06b8f1864101de69b2264ad3c3a2b15333e428cf9f5d17a777cfc61f8c64093f"; }; buildInputs = [ TestRequires ]; - propagatedBuildInputs = [ HTTPMessage ]; + propagatedBuildInputs = [ CGI HTTPMessage ]; meta = { homepage = https://github.com/tokuhirom/p5-cgi-emulate-psgi; description = "PSGI adapter for CGI"; From 18245ab18bd5d585cebe8023f04dac622628f72a Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 05:21:55 +0300 Subject: [PATCH 135/182] perlPackages.HTMLMason: fix build --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index dcf1048857d..74c203d1078 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5657,7 +5657,7 @@ let self = _self // overrides; _self = with self; { sha256 = "84ac24fb1d551f998145435265e5b6fd4a52ec61e4fadd3d7755eb648be2c4b2"; }; buildInputs = [ TestDeep ]; - propagatedBuildInputs = [ CacheCache ClassContainer ExceptionClass HTMLParser LogAny ParamsValidate ]; + propagatedBuildInputs = [ CacheCache CGI ClassContainer ExceptionClass HTMLParser LogAny ParamsValidate ]; meta = { homepage = http://metacpan.org/release/HTML-Mason; description = "High-performance, dynamic web site authoring system"; From 2fdb9dcd9b3c31947bc119d1826e68e8f69fe59b Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 05:24:58 +0300 Subject: [PATCH 136/182] perlPackages.{libfile,}strip-nondeterminism: 0.014 -> 0.016 Fixes build due to missing tarball. --- pkgs/top-level/perl-packages.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 74c203d1078..440ce2c95a0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -10863,11 +10863,11 @@ let self = _self // overrides; _self = with self; { libfile-stripnondeterminism = buildPerlPackage rec { name = "libstrip-nondeterminism-${version}"; - version = "0.014"; + version = "0.016"; src = fetchurl { url = "http://http.debian.net/debian/pool/main/s/strip-nondeterminism/strip-nondeterminism_${version}.orig.tar.gz"; - sha256 = "0yiddi9r87iysa2msr6l5fc5631zmi5ldsy8m3sd9chrlhag361g"; + sha256 = "1y9lfhxgwyysybing72n3hng2db5njpk2dbb80vskdz75r7ffqjp"; }; buildInputs = [ ArchiveZip_1_53 pkgs.file ]; @@ -10876,11 +10876,11 @@ let self = _self // overrides; _self = with self; { strip-nondeterminism = buildPerlPackage rec { name = "strip-nondeterminism-${version}"; - version = "0.014"; + version = "0.016"; src = fetchurl { url = "http://http.debian.net/debian/pool/main/s/strip-nondeterminism/strip-nondeterminism_${version}.orig.tar.gz"; - sha256 = "0yiddi9r87iysa2msr6l5fc5631zmi5ldsy8m3sd9chrlhag361g"; + sha256 = "1y9lfhxgwyysybing72n3hng2db5njpk2dbb80vskdz75r7ffqjp"; }; buildInputs = [ ArchiveZip_1_53 libfile-stripnondeterminism pkgs.file ]; From 9483bf606bf4aaf4659f3d004488bd0057c86ad2 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 05:28:02 +0300 Subject: [PATCH 137/182] perlPackages.FileBaseDir: fix build --- pkgs/top-level/perl-packages.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 440ce2c95a0..32f9fbc4b87 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4793,14 +4793,15 @@ let self = _self // overrides; _self = with self; { FileBaseDir = buildPerlPackage rec { version = "0.03"; name = "File-BaseDir-${version}"; - configurePhase = '' - preConfigure || true - perl Build.PL PREFIX="$out" prefix="$out" - ''; src = fetchurl { url = "mirror://cpan/modules/by-module/File/${name}.tar.gz"; sha256 = "0029cba7a3b5d8aa5f7d03cb1b7ba2bcf2829382f7f26aa3bee06fce8611a886"; }; + configurePhase = '' + preConfigure || true + perl Build.PL PREFIX="$out" prefix="$out" + ''; + propagatedBuildInputs = [ ModuleBuild ]; }; FileCheckTree = buildPerlPackage { From deb5366a9fe3b7a807a732df9b8711e4b49fe8a8 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 06:31:20 +0300 Subject: [PATCH 138/182] perlPackages.TextTrim: fix build --- 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 32f9fbc4b87..3e844c7b803 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -12728,6 +12728,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/M/MA/MATTLAW/Text-Trim-1.02.tar.gz; sha256 = "1bnwjl5n04w8nnrzrm75ljn4pijqbijr9csfkjcs79h4gwn9lwqw"; }; + propagatedBuildInputs = [ CGI ModuleBuild ]; meta = { description = "Remove leading and/or trailing whitespace from strings"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; From 81fc6fc7bec690d7f811da28ab6399a6e058fd3c Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 06:31:44 +0300 Subject: [PATCH 139/182] perlPackages.CatalystControllerHTMLFormFu: fix build --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3e844c7b803..563bb0819c3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -967,7 +967,7 @@ let self = _self // overrides; _self = with self; { CatalystViewTT TemplateToolkit TestAggregate TestWWWMechanize TestWWWMechanizeCatalyst ]; propagatedBuildInputs = [ CatalystComponentInstancePerContext CatalystRuntime - ConfigAny HTMLFormFu Moose MooseXAttributeChained RegexpAssemble TaskWeaken + CGI ConfigAny HTMLFormFu Moose MooseXAttributeChained RegexpAssemble TaskWeaken namespaceautoclean ]; }; From b577c309f0338731311e85c2d0f86c2c0d913703 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 06:33:15 +0300 Subject: [PATCH 140/182] perlPackages.TestWWWMechanizeCGI: fix build --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 563bb0819c3..10bfb738773 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -12255,7 +12255,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/M/MR/MRAMBERG/Test-WWW-Mechanize-CGI-0.1.tar.gz; sha256 = "0bwwdk0iai5dlvvfpja971qpgvmf6yq67iag4z4szl9v5sra0xm5"; }; - propagatedBuildInputs = [ TestWWWMechanize WWWMechanizeCGI ]; + propagatedBuildInputs = [ CGI TestWWWMechanize WWWMechanizeCGI ]; meta = { maintainers = with maintainers; [ ocharles ]; platforms = stdenv.lib.platforms.unix; From 0461c1eeef03a0eceea1fce594844fecfff9be62 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 06:37:22 +0300 Subject: [PATCH 141/182] perlPackages.DateTimeFormatMySQL: fix build --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 10bfb738773..6846452eabd 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3111,7 +3111,7 @@ let self = _self // overrides; _self = with self; { url = "mirror://cpan/authors/id/X/XM/XMIKEW/${name}.tar.gz"; sha256 = "07cgz60gxvrv7xqvngyll60pa8cx93h3jyx9kc9wdkn95qbd864q"; }; - propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ]; + propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ModuleBuild ]; meta = { description = "Parse and format MySQL dates and times"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; From 3dc2e7877e84892286222913ae783d544b7bcd74 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 06:38:06 +0300 Subject: [PATCH 142/182] perlPackages.DateTimeFormatISO8601: fix build --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6846452eabd..24c80c03d55 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3069,7 +3069,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-ISO8601-0.08.tar.gz; sha256 = "1syccqd5jlwms8v78ksnf68xijzl97jky5vbwhnyhxi5gvgfx8xk"; }; - propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ]; + propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ModuleBuild ]; meta = { description = "Parses ISO8601 formats"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; From 773f27525a12b703b98f0343109e57d07b18214e Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 06:41:05 +0300 Subject: [PATCH 143/182] perlPackages.HTMLFormFu: fix build --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 24c80c03d55..3777ddf9d57 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5622,7 +5622,7 @@ let self = _self // overrides; _self = with self; { sha256 = "0fvilng85wc65pna898x7mp4hx73mhahl7j2s10gj76avmxdizsw"; }; buildInputs = [ FileShareDirInstall TestAggregate TestException ]; - propagatedBuildInputs = [ Clone ConfigAny DataVisitor DateTime + propagatedBuildInputs = [ CGI Clone ConfigAny DataVisitor DateTime DateTimeFormatBuilder DateTimeFormatNatural DateTimeFormatStrptime DateTimeLocale EmailValid FileShareDir HTMLScrubber HTMLTokeParserSimple HTTPMessage HashFlatten ListMoreUtils ModulePluggable Moose MooseXAliases From a20e80a81677c51efd7ea05ebf1727ebc9c5a1de Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 06:49:10 +0300 Subject: [PATCH 144/182] perlPackages.NetOAuth: fix build --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3777ddf9d57..a45f740ba45 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8914,7 +8914,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz; sha256 = "0k4h4a5048h7qgyx25ih64x0l4airx8a6d9gjq08wmxcl2fk3z3v"; }; - buildInputs = [ TestWarn ]; + buildInputs = [ ModuleBuild TestWarn ]; propagatedBuildInputs = [ ClassAccessor ClassDataInheritable DigestHMAC DigestSHA1 LWPUserAgent URI ]; meta = { description = "An implementation of the OAuth protocol"; From 7da9f71bf73082adc02ba785fe1598f7f4917bf7 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 13 Apr 2016 06:50:20 +0300 Subject: [PATCH 145/182] perlPackages.NetTwitterLite: fix build --- 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 a45f740ba45..2ac89b9dfa0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9028,6 +9028,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.11002.tar.gz; sha256 = "032gyn1h3r5d83wvz7nj3k7g50wcf73lbbmjc18466ml90vigys0"; }; + buildInputs = [ ModuleBuild ]; propagatedBuildInputs = [ CryptSSLeay LWPUserAgent NetOAuth URI ]; doCheck = false; meta = { From 18b95edb5c934ae1b337ab7a66f86a1d9fb5fb90 Mon Sep 17 00:00:00 2001 From: = Date: Wed, 13 Apr 2016 09:00:46 +0200 Subject: [PATCH 146/182] ncmpcpp: 0.7.2 -> 0.7.3 --- pkgs/applications/audio/ncmpcpp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix index 488fe45e6c8..f0fd29697b1 100644 --- a/pkgs/applications/audio/ncmpcpp/default.nix +++ b/pkgs/applications/audio/ncmpcpp/default.nix @@ -15,11 +15,11 @@ assert taglibSupport -> (taglib != null); with stdenv.lib; stdenv.mkDerivation rec { name = "ncmpcpp-${version}"; - version = "0.7.2"; + version = "0.7.3"; src = fetchurl { url = "http://ncmpcpp.rybczak.net/stable/${name}.tar.bz2"; - sha256 = "0fq9nk796cp7gs0gwrabb6wp7f5h7pph10hrkrik1wf4k3mzb4k3"; + sha256 = "04mj6r0whikliblxfbz92pibwcd7a3ywkryf01a89zd4bi1jk2rc"; }; configureFlags = [ "BOOST_LIB_SUFFIX=" ] From 54fa4c4cec6f2391bda3c715bc2f7c4bbe4cb67a Mon Sep 17 00:00:00 2001 From: Christoph Hrdinka Date: Wed, 13 Apr 2016 11:06:33 +0200 Subject: [PATCH 147/182] build-fhs-chrootenv: set PKG_CONFIG_PATH Currently `PKG_CONFIG_PATH` isn't set in FHS chroots rendering `pkg-config` unusable. This patch sets it to `/usr/lib/pkgconfig`. --- pkgs/build-support/build-fhs-chrootenv/env.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/build-support/build-fhs-chrootenv/env.nix b/pkgs/build-support/build-fhs-chrootenv/env.nix index 8c45c9c9036..3a9d389c2c3 100644 --- a/pkgs/build-support/build-fhs-chrootenv/env.nix +++ b/pkgs/build-support/build-fhs-chrootenv/env.nix @@ -57,6 +57,7 @@ let export LOCALE_ARCHIVE='/usr/lib/locale/locale-archive' export LD_LIBRARY_PATH='/run/opengl-driver/lib:/run/opengl-driver-32/lib:/usr/lib:/usr/lib32' export PATH='/var/setuid-wrappers:/usr/bin:/usr/sbin' + export PKG_CONFIG_PATH=/usr/lib/pkgconfig # Force compilers to look in default search paths export NIX_CFLAGS_COMPILE='-idirafter /usr/include' From a951fba574d18df307d0ff5925a5c5bf3aca5eb6 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 14:01:17 +0300 Subject: [PATCH 148/182] discord: fix evaluation --- .../networking/instant-messengers/discord/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index a072c4a5d76..86b21f90ad9 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -2,7 +2,7 @@ , alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk_pixbuf , glib, gnome, gtk, libnotify, libX11, libXcomposite, libXcursor, libXdamage , libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, pango -, udev }: +, libudev }: let version = "0.0.1"; in @@ -19,7 +19,7 @@ stdenv.mkDerivation { stdenv.cc.cc alsaLib atk cairo cups dbus expat fontconfig freetype gdk_pixbuf glib gnome.GConf gtk libnotify libX11 libXcomposite libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender - libXtst nspr nss pango udev + libXtst nspr nss pango libudev ]; installPhase = '' @@ -35,7 +35,7 @@ stdenv.mkDerivation { ln -s $out/DiscordCanary $out/bin/ # Putting udev in the path won't work :( - ln -s ${udev}/lib/libudev.so.1 $out + ln -s ${libudev}/lib/libudev.so.1 $out ''; meta = with stdenv.lib; { From 5e025bc9ee77ee62972568ea0863df42355373c7 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 14:03:41 +0300 Subject: [PATCH 149/182] vivaldi: fix evaluation --- pkgs/applications/networking/browsers/vivaldi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix index aeb1724d963..651f513356b 100644 --- a/pkgs/applications/networking/browsers/vivaldi/default.nix +++ b/pkgs/applications/networking/browsers/vivaldi/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, zlib, libX11, libXext, libSM, libICE , libXfixes, libXt, libXi, libXcursor, libXScrnSaver, libXcomposite, libXdamage, libXtst, libXrandr -, alsaLib, dbus_libs, cups, libexif, ffmpeg, udev +, alsaLib, dbus_libs, cups, libexif, ffmpeg, libudev , freetype, fontconfig, libXft, libXrender, libxcb, expat, libXau, libXdmcp , libuuid, xz , gstreamer, gst_plugins_base, libxml2 @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { buildInputs = [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr - atk alsaLib dbus_libs cups gtk gdk_pixbuf libexif ffmpeg udev + atk alsaLib dbus_libs cups gtk gdk_pixbuf libexif ffmpeg libudev freetype fontconfig libXrender libuuid expat glib nss nspr gstreamer libxml2 gst_plugins_base pango cairo gnome3.gconf patchelf From acf06763f4c3f43bc896fb04cfd058e1f996f5c0 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 14:07:09 +0300 Subject: [PATCH 150/182] unshield: 0.7pre3955 -> 1.3 --- pkgs/tools/archivers/unshield/default.nix | 40 ++++++++++++++++------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/pkgs/tools/archivers/unshield/default.nix b/pkgs/tools/archivers/unshield/default.nix index 251a62ee489..fae72e5fcd8 100644 --- a/pkgs/tools/archivers/unshield/default.nix +++ b/pkgs/tools/archivers/unshield/default.nix @@ -1,15 +1,31 @@ -{stdenv, fetchsvn, zlib, autoconf, automake, libtool}: +{ stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, openssl }: -stdenv.mkDerivation { - name = "unshield-0.7pre3955"; - src = fetchsvn { - url = https://synce.svn.sourceforge.net/svnroot/synce/trunk/unshield; - rev = 3955; - sha256 = "0rpk7sb7b0v19qn4jn0iih505l4zkpns3mrbmm88p61xiz06zg7a"; +stdenv.mkDerivation rec { + name = "unshield-${version}"; + version = "1.3"; + + src = fetchFromGitHub { + owner = "twogood"; + repo = "unshield"; + rev = version; + sha256 = "0cg84jr0ymvi8bmm3lx5hshhgm33vnr1rma1mfyqkc065c7gi9ja"; + }; + + patches = [ + # Fix build in separate directory + (fetchpatch { + url = "https://github.com/twogood/unshield/commit/07ce8d82f0f60b9048265410fa8063298ab520c4.patch"; + sha256 = "160pbk2r98lv3vd0qxsxm6647qn5mddj37jzfmccdja4dpxhxz2z"; + }) + ]; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ zlib openssl ]; + + meta = with stdenv.lib; { + description = "Tool and library to extract CAB files from InstallShield installers"; + homepage = https://github.com/twogood/unshield; + license = licenses.mit; + platforms = platforms.linux; }; - configureFlags = "--with-zlib=${zlib}"; - buildInputs = [autoconf automake libtool]; - preConfigure = '' - ./bootstrap - ''; } From d0fd5518769d14c470643c14fe4d1cfeb649ccec Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 14:28:33 +0300 Subject: [PATCH 151/182] buildFHSEnv: post-closure-size fix --- pkgs/build-support/build-fhs-chrootenv/env.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/build-fhs-chrootenv/env.nix b/pkgs/build-support/build-fhs-chrootenv/env.nix index 3a9d389c2c3..01d75727f0b 100644 --- a/pkgs/build-support/build-fhs-chrootenv/env.nix +++ b/pkgs/build-support/build-fhs-chrootenv/env.nix @@ -3,6 +3,7 @@ { name, profile ? "" , pkgs ? null, targetPkgs ? pkgs: [], multiPkgs ? pkgs: [] , extraBuildCommands ? "", extraBuildCommandsMulti ? "" +, extraOutputsToInstall ? [] }: # HOWTO: @@ -119,12 +120,14 @@ let staticUsrProfileTarget = nixpkgs.buildEnv { name = "${name}-usr-target"; paths = [ etcPkg ] ++ basePkgs ++ targetPaths; + extraOutputsToInstall = [ "lib" "out" ] ++ extraOutputsToInstall; ignoreCollisions = true; }; staticUsrProfileMulti = nixpkgs.buildEnv { name = "system-profile-multi"; paths = multiPaths; + extraOutputsToInstall = [ "lib" "out" ] ++ extraOutputsToInstall; ignoreCollisions = true; }; @@ -158,8 +161,8 @@ let cp -rsHf ${staticUsrProfileTarget}/lib64/* lib64/ && chmod u+w -R lib64/ # copy gcc libs - cp -rsHf ${chosenGcc.cc}/lib/* lib32/ - cp -rsHf ${chosenGcc.cc}/lib64/* lib64/ + cp -rsHf ${chosenGcc.cc.lib}/lib/* lib32/ + cp -rsHf ${chosenGcc.cc.lib}/lib64/* lib64/ # symlink 32-bit ld-linux.so ln -s ${staticUsrProfileTarget}/lib/32/ld-linux.so.2 lib/ From 3ecbe604ef751f475a247275ccff8c95f835aa3b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 13 Apr 2016 12:56:51 +0200 Subject: [PATCH 152/182] fetchurl: Support SHA-512 hashes --- pkgs/build-support/fetchurl/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index d4b46cf9e9d..3cd64ed1c02 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -61,6 +61,7 @@ in , md5 ? "" , sha1 ? "" , sha256 ? "" +, sha512 ? "" , recursiveHash ? false @@ -91,7 +92,7 @@ assert (urls == []) != (url == ""); let hasHash = showURLs || (outputHash != "" && outputHashAlgo != "") - || md5 != "" || sha1 != "" || sha256 != ""; + || md5 != "" || sha1 != "" || sha256 != "" || sha512 != ""; urls_ = if urls != [] then urls else [url]; in @@ -114,9 +115,9 @@ if (!hasHash) then throw "Specify hash for fetchurl fixed-output derivation: ${s # New-style output content requirements. outputHashAlgo = if outputHashAlgo != "" then outputHashAlgo else - if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5"; + if sha512 != "" then "sha512" else if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5"; outputHash = if outputHash != "" then outputHash else - if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5; + if sha512 != "" then sha512 else if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5; outputHashMode = if (recursiveHash || executable) then "recursive" else "flat"; From 18a6403c5964b90abbfe33d18472c2ebed31eb90 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 13 Apr 2016 12:57:53 +0200 Subject: [PATCH 153/182] firefox-esr: 45.0.1esr -> 45.0.2esr Also, switch to upstream SHA-512 hashes. --- .../networking/browsers/firefox/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index b5c10cb9ed2..7493350b28f 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -18,14 +18,14 @@ assert stdenv.cc ? libc && stdenv.cc.libc != null; let -common = { pname, version, sha256 }: stdenv.mkDerivation rec { +common = { pname, version, sha512 }: stdenv.mkDerivation rec { name = "${pname}-unwrapped-${version}"; src = fetchurl { url = let ext = if lib.versionAtLeast version "41.0" then "xz" else "bz2"; in "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.${ext}"; - inherit sha256; + inherit sha512; }; buildInputs = @@ -131,13 +131,13 @@ in { firefox-unwrapped = common { pname = "firefox"; version = "45.0.2"; - sha256 = "0lvs47s0k0lzllygzcqzwgg34hwkm8dfq9i0fn5y9m4h0fn9pc56"; + sha512 = "8c0b7afb41a1a405fe499299d1a8b1138dac52b9ad67bfc8761b70a26f330581c2aa1d76d67075896ec3a0c3f5367b8b58365ebc8b3a01f801fa37071b3de526"; }; firefox-esr-unwrapped = common { pname = "firefox-esr"; - version = "45.0.1esr"; - sha256 = "0rkk3cr3r7v5xzbcqhyx8b633v4a16ika0wk46p0ichh9n5mci0s"; + version = "45.0.2esr"; + sha512 = "a1e9e9371ee47181b01252d60166c405a7835063dffb4928dfb8abb9f151edd8db1dd2b59f35d7898f1660a0fcd8e41f91a3e799c25b6dd43b6ab056bc5ad6bf"; }; } From 58d2649f7069bdadb19894b4b34ef6c1ddb94f08 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:26:10 +0200 Subject: [PATCH 154/182] baresip: 0.4.17 -> 0.4.18 --- .../networking/instant-messengers/baresip/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix index 2935979ebb9..782c801356e 100644 --- a/pkgs/applications/networking/instant-messengers/baresip/default.nix +++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix @@ -4,11 +4,11 @@ , gsm, speex, portaudio, spandsp, libuuid }: stdenv.mkDerivation rec { - version = "0.4.17"; + version = "0.4.18"; name = "baresip-${version}"; src=fetchurl { url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz"; - sha256 = "106nagdyayyxj3q68bs3fsps5wnwzjh82vcmy98fp42j33q6yzny"; + sha256 = "1qgmw0261y89zka9dgqzvirfk3bg8p5b929vqm1418859mw9i87a"; }; buildInputs = [zlib openssl libre librem pkgconfig cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good From 7c0f4882f37cc568129a17cac720a8885ffb1dc9 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:28:00 +0200 Subject: [PATCH 155/182] angelscript: 2.30.2 -> 2.31.0 --- pkgs/development/interpreters/angelscript/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/angelscript/default.nix b/pkgs/development/interpreters/angelscript/default.nix index f5ff0315bee..84b474b08cb 100644 --- a/pkgs/development/interpreters/angelscript/default.nix +++ b/pkgs/development/interpreters/angelscript/default.nix @@ -3,10 +3,10 @@ let s = # Generated upstream information rec { baseName="angelscript"; - version = "2.30.2"; + version = "2.31.0"; name="${baseName}-${version}"; url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip"; - sha256 = "1myp691m0nzv51pyfq6qmjyi0asbkx2v8slrnhj32s6aq55pf24c"; + sha256 = "03a0gmz95di62552dv873iwwy1ym96kpyrc0s708assjlslr9716"; }; buildInputs = [ unzip From a9b9c8c23b4a88d4d864ec4905dae6054e19814d Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:28:56 +0200 Subject: [PATCH 156/182] libgphoto2: 2.5.9 -> 2.5.10 --- 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 e25cdb61d86..55129a94476 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 = "0chz57rhzdz1cbdjw1q5rs439s879kk06jrci4jyn5rlm7iyic6d"; + sha256 = "1wjf79ipqwb5phfjjwf15rwgigakylnfqaj4crs5qnds6ba6i1ld"; }; 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.9"; + version = "2.5.10"; # XXX: the homepage claims LGPL, but several src files are lgpl21Plus license = stdenv.lib.licenses.lgpl21Plus; platforms = with stdenv.lib.platforms; unix; From 238cb743bccae77972116ea4fb89e6520c50be79 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:29:19 +0200 Subject: [PATCH 157/182] scons: 2.4.1 -> 2.5.0 --- 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 37035b8c44d..417ab348c40 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.4.1"; + version = "2.5.0"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/scons/${name}-${version}.tar.gz"; - sha256 = "19skywi4sb8riivvrylkjrjhnw1cdxj4ps8v7srwp6y650lz9i4g"; + sha256 = "1sdcj8iapfzmlq7098yas40qwl6khsiwydbxv33sw81wy93nnagb"; }; buildInputs = [python makeWrapper]; From cb3368fcbe9711202f754c2573b949cc255cf4e2 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:30:58 +0200 Subject: [PATCH 158/182] conspy: 1.13 -> 1.14 --- pkgs/os-specific/linux/conspy/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/conspy/default.nix b/pkgs/os-specific/linux/conspy/default.nix index 3c209c6253d..32905b8ec39 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.13"; + version="1.14"; name="${baseName}-${version}"; - hash="059sag372n09y1ddb1i0sx013kzkbr8a9pjqk03kyijn8h1z5hl2"; - url="mirror://sourceforge/project/conspy/conspy-1.13-1/conspy-1.13.tar.gz"; - sha256="059sag372n09y1ddb1i0sx013kzkbr8a9pjqk03kyijn8h1z5hl2"; + hash="069k26xpzsvrn3197ix5yd294zvz03zi2xqj4fip6rlsw74habsf"; + url="mirror://sourceforge/project/conspy/conspy-1.14-1/conspy-1.14.tar.gz"; + sha256="069k26xpzsvrn3197ix5yd294zvz03zi2xqj4fip6rlsw74habsf"; }; buildInputs = [ autoconf automake ncurses From 80db55610c861dcddec7e4c44cbd8b5921b8c226 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:32:42 +0200 Subject: [PATCH 159/182] firejail: 0.9.38 -> 0.9.40 --- 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 57820f92cc4..dac0eb0d0f5 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.38"; + version="0.9.40"; name="${baseName}-${version}"; - hash="0j0zvff9rwjwxcxddfhgzimjgmr99kd04nl40dllkrv3apv5ag4i"; - url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.38-rc1.tar.bz2"; - sha256="0j0zvff9rwjwxcxddfhgzimjgmr99kd04nl40dllkrv3apv5ag4i"; + hash="1vr0z694wibjkcpmyg7lz68r53z857c8hsb02cqxi4lfkkcmzgh2"; + url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.40-rc1.tar.bz2"; + sha256="1vr0z694wibjkcpmyg7lz68r53z857c8hsb02cqxi4lfkkcmzgh2"; }; buildInputs = [ which From c82272fdc0cfbb48cd33e5d57b8803759d1d3739 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:44:04 +0200 Subject: [PATCH 160/182] nginxUnstable: 1.9.11 -> 1.9.14 --- pkgs/servers/http/nginx/unstable.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/nginx/unstable.nix b/pkgs/servers/http/nginx/unstable.nix index 257cf96b4a7..5af882bac52 100644 --- a/pkgs/servers/http/nginx/unstable.nix +++ b/pkgs/servers/http/nginx/unstable.nix @@ -8,10 +8,10 @@ with stdenv.lib; let - version = "1.9.11"; + version = "1.9.14"; mainSrc = fetchurl { url = "http://nginx.org/download/nginx-${version}.tar.gz"; - sha256 = "07x5d2ryf547xrj4wp8w90kz2d93sxjhkfjb0vdscmxgmzs74p3a"; + sha256 = "1ljpyigqb6sbm4f8mi4fyvwfcvfapzg4z35s9cwb9ri8dl3r6j1b"; }; in From f52af3b5a2b5b9aef40005095332cc47ad64521c Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:44:48 +0200 Subject: [PATCH 161/182] zpaqd: 633 -> 707 --- pkgs/tools/archivers/zpaq/zpaqd.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix index 6a7891d2ebe..3268135b57b 100644 --- a/pkgs/tools/archivers/zpaq/zpaqd.nix +++ b/pkgs/tools/archivers/zpaq/zpaqd.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="zpaqd"; - version="633"; + version="707"; name="${baseName}-${version}"; - hash="00zgc4mcmsd3d4afgzmrp6ymcyy8gb9kap815d5a3f9zhhzkz4dx"; - url="http://mattmahoney.net/dc/zpaqd633.zip"; - sha256="00zgc4mcmsd3d4afgzmrp6ymcyy8gb9kap815d5a3f9zhhzkz4dx"; + hash="0012jzs2gk232shgx60323jd3g1i5ab5sjydynz2d1k3dkjxs688"; + url="http://mattmahoney.net/dc/zpaqd707.zip"; + sha256="0012jzs2gk232shgx60323jd3g1i5ab5sjydynz2d1k3dkjxs688"; }; isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD; isx86 = stdenv.isi686 || stdenv.isx86_64; From 057bd04624cd049482cb4b0fae4442f134f1e780 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:45:17 +0200 Subject: [PATCH 162/182] glusterfs: 3.7.8 -> 3.7.10 --- pkgs/tools/filesystems/glusterfs/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix index 7fd56e7dd7f..94bfb5fb498 100644 --- a/pkgs/tools/filesystems/glusterfs/default.nix +++ b/pkgs/tools/filesystems/glusterfs/default.nix @@ -6,11 +6,11 @@ let s = # Generated upstream information rec { baseName="glusterfs"; - version="3.7.8"; + version="3.7.10"; name="${baseName}-${version}"; - hash="0r5l8ax1gavhl06k30lg88xs8fj7w6iyd69s5qq5fw1jvavkx709"; - url="http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.8/glusterfs-3.7.8.tar.gz"; - sha256="0r5l8ax1gavhl06k30lg88xs8fj7w6iyd69s5qq5fw1jvavkx709"; + hash="0shqvhqlmiywrr3vy8yazc8xcj6b04ci2zjgyca2vy7wa60lzfgg"; + url="http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.10/glusterfs-3.7.10.tar.gz"; + sha256="0shqvhqlmiywrr3vy8yazc8xcj6b04ci2zjgyca2vy7wa60lzfgg"; }; buildInputs = [ fuse bison flex_2_5_35 openssl python ncurses readline From 530fdc53620aabfb6e13a58b86f4ba5738b508a8 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:46:07 +0200 Subject: [PATCH 163/182] asymptote: 2.36 -> 2.37 --- pkgs/tools/graphics/asymptote/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix index db7fad78a49..1c5c4983c80 100644 --- a/pkgs/tools/graphics/asymptote/default.nix +++ b/pkgs/tools/graphics/asymptote/default.nix @@ -10,11 +10,11 @@ let s = # Generated upstream information rec { baseName="asymptote"; - version="2.36"; + version="2.37"; name="${baseName}-${version}"; - hash="0l0pznrn4k3v07cmn5rx8nq088zjs9bv2mkcks65z5lqlk5pccnd"; - url="mirror://sourceforge/project/asymptote/2.36/asymptote-2.36.src.tgz"; - sha256="0l0pznrn4k3v07cmn5rx8nq088zjs9bv2mkcks65z5lqlk5pccnd"; + hash="16nh02m52mk9a53i8wc6l9vg710gnzr3lfbypcbvamghvaj0458i"; + url="mirror://sourceforge/project/asymptote/2.37/asymptote-2.37.src.tgz"; + sha256="16nh02m52mk9a53i8wc6l9vg710gnzr3lfbypcbvamghvaj0458i"; }; buildInputs = [ freeglut ghostscriptX imagemagick fftw From 74f7916a9a4c0ebe8d7c5d5861c5694ea2d1583e Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 14:46:53 +0200 Subject: [PATCH 164/182] iptables: add 1.6 branch (init 1.6.0). Not making it the default this time. --- pkgs/os-specific/linux/iptables/1.6.nix | 33 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 ++++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/os-specific/linux/iptables/1.6.nix diff --git a/pkgs/os-specific/linux/iptables/1.6.nix b/pkgs/os-specific/linux/iptables/1.6.nix new file mode 100644 index 00000000000..88821a15d73 --- /dev/null +++ b/pkgs/os-specific/linux/iptables/1.6.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl, bison, flex, libnetfilter_conntrack, libnftnl, libmnl}: + +stdenv.mkDerivation rec { + name = "iptables-${version}"; + version = "1.6.0"; + + src = fetchurl { + url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2"; + sha256 = "0q0w1x4aijid8wj7dg1ny9fqwll483f1sqw7kvkskd8q1c52mdsb"; + }; + + nativeBuildInputs = [bison flex]; + + buildInputs = [libnetfilter_conntrack libnftnl libmnl]; + + preConfigure = '' + export NIX_LDFLAGS="$NIX_LDFLAGS -lmnl -lnftnl" + ''; + + configureFlags = '' + --enable-devel + --enable-shared + ''; + + meta = { + description = "A program to configure the Linux IP packet filtering ruleset"; + homepage = http://www.netfilter.org/projects/iptables/index.html; + platforms = stdenv.lib.platforms.linux; + downloadPage = "http://www.netfilter.org/projects/iptables/files/"; + updateWalker = true; + inherit version; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 10b6778c062..8d98ab11da1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10331,6 +10331,11 @@ in }; iptables = callPackage ../os-specific/linux/iptables { }; + # The freshest version — possibly crashing connmand? + # https://github.com/NixOS/nixpkgs/commit/fe00c8a83f696e3430ee4aa3fc850f171da52450 + iptables_16 = callPackage ../os-specific/linux/iptables/1.6.nix { + flex = flex_2_5_35; + }; ipset = callPackage ../os-specific/linux/ipset { }; From e88a986ca4a05c70224054debe71fd736ce51f7a Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 15:36:35 +0300 Subject: [PATCH 165/182] bomi: use wrapQtProgram --- pkgs/applications/video/bomi/default.nix | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/video/bomi/default.nix b/pkgs/applications/video/bomi/default.nix index f1a999e5554..f9301781fc1 100644 --- a/pkgs/applications/video/bomi/default.nix +++ b/pkgs/applications/video/bomi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python, which, makeWrapper +{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python, which, makeQtWrapper , libX11, libxcb, mesa , qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras , ffmpeg @@ -27,9 +27,6 @@ assert pulseSupport -> libpulseaudio != null; assert cddaSupport -> libcdda != null; assert youtubeSupport -> youtube-dl != null; -let qtPath = makeSearchPath "lib/qt5/qml" [ qtdeclarative qtquickcontrols ]; -in - stdenv.mkDerivation rec { name = "bomi-${version}"; version = "0.9.11"; @@ -56,6 +53,7 @@ stdenv.mkDerivation rec { libvdpau libva libbluray + qtdeclarative qtquickcontrols ] ++ optional jackSupport jack @@ -74,8 +72,7 @@ stdenv.mkDerivation rec { ''; postInstall = '' - wrapProgram $out/bin/bomi \ - --set QML2_IMPORT_PATH ${qtPath} \ + wrapQtProgram $out/bin/bomi \ ${optionalString youtubeSupport "--prefix PATH ':' '${youtube-dl}/bin'"} ''; @@ -87,7 +84,7 @@ stdenv.mkDerivation rec { ++ optional cddaSupport "--enable-cdda" ; - nativeBuildInputs = [ pkgconfig perl python which qttools makeWrapper ]; + nativeBuildInputs = [ pkgconfig perl python which qttools makeQtWrapper ]; enableParallelBuilding = true; From 4b31f51e7d683c60ba2ba8b39b441547b17ae123 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 15:37:09 +0300 Subject: [PATCH 166/182] enlightement.rage: use gstreamer setup hook --- pkgs/desktops/enlightenment/rage.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/enlightenment/rage.nix b/pkgs/desktops/enlightenment/rage.nix index 8c3391cf271..67f9c68cd61 100644 --- a/pkgs/desktops/enlightenment/rage.nix +++ b/pkgs/desktops/enlightenment/rage.nix @@ -7,19 +7,23 @@ stdenv.mkDerivation rec { url = "http://download.enlightenment.org/rel/apps/rage/${name}.tar.gz"; sha256 = "10j3n8crk16jzqz2hn5djx6vms5f6x83qyiaphhqx94h9dgv2mgg"; }; - buildInputs = [ elementary efl automake autoconf libtool pkgconfig - makeWrapper ]; - GST_PLUGIN_PATH = lib.makeSearchPath "lib/gstreamer-1.0" [ + buildInputs = [ + elementary efl automake autoconf libtool pkgconfig + makeWrapper + gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad - gst_all_1.gst-libav ]; + gst_all_1.gst-libav + ]; + configurePhase = '' ./autogen.sh --prefix=$out ''; + postInstall = '' wrapProgram $out/bin/rage \ - --prefix GST_PLUGIN_PATH : "$GST_PLUGIN_PATH" + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" ''; meta = { description = "Video + Audio player along the lines of mplayer"; From bac36baf5bca7509fc1c5e6981521148c14b1057 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 15:38:08 +0300 Subject: [PATCH 167/182] sound-juicer: use gstreamer setup hook --- pkgs/applications/audio/sound-juicer/default.nix | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix index c27dbad78cc..02a97dde4e2 100644 --- a/pkgs/applications/audio/sound-juicer/default.nix +++ b/pkgs/applications/audio/sound-juicer/default.nix @@ -5,11 +5,6 @@ let major = "3.16"; minor = "1"; - GST_PLUGIN_PATH = stdenv.lib.makeSearchPath "lib/gstreamer-1.0" [ - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gst-plugins-bad - gst_all_1.gst-libav ]; in stdenv.mkDerivation rec { version = "${major}.${minor}"; @@ -24,15 +19,16 @@ in stdenv.mkDerivation rec { gnome3.gsettings_desktop_schemas libmusicbrainz5 libdiscid isocodes makeWrapper gnome3.dconf gst_all_1.gstreamer gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ]; + gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad + gst_all_1.gst-libav + ]; preFixup = '' for f in $out/bin/* $out/libexec/*; do wrapProgram "$f" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ - --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" \ - --prefix GST_PLUGIN_PATH : "${GST_PLUGIN_PATH}" + --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" done ''; From d2fec0a9220eb76e9fb586229f1606ca347a4122 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 15:38:25 +0300 Subject: [PATCH 168/182] photoqt: use wrapQtProgram --- pkgs/applications/graphics/photoqt/default.nix | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/graphics/photoqt/default.nix b/pkgs/applications/graphics/photoqt/default.nix index 9d68a44821a..f9b24581929 100644 --- a/pkgs/applications/graphics/photoqt/default.nix +++ b/pkgs/applications/graphics/photoqt/default.nix @@ -1,14 +1,9 @@ -{ stdenv, fetchurl, cmake, makeWrapper, exiv2, graphicsmagick +{ stdenv, fetchurl, cmake, makeQtWrapper, exiv2, graphicsmagick , qtbase, qtdeclarative, qtmultimedia, qtquickcontrols, qttools }: let version = "1.3"; - qmlPath = stdenv.lib.makeSearchPath "lib/qt5/qml/" [ - qtquickcontrols - qtdeclarative - qtmultimedia - ]; in stdenv.mkDerivation rec { name = "photoqt-${version}"; @@ -18,7 +13,8 @@ stdenv.mkDerivation rec { }; buildInputs = [ - cmake makeWrapper qtbase qtquickcontrols qttools exiv2 graphicsmagick + cmake makeQtWrapper qtbase qtquickcontrols qttools exiv2 graphicsmagick + qtmultimedia qtdeclarative ]; preConfigure = '' @@ -26,7 +22,7 @@ stdenv.mkDerivation rec { ''; postInstall = '' - wrapProgram $out/bin/photoqt --set QML2_IMPORT_PATH "${qmlPath}" + wrapQtProgram $out/bin/photoqt ''; meta = { From c2d9c35ebd17266ad68471442c1c14eeed41fb33 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 15:21:04 +0200 Subject: [PATCH 169/182] tigervnc: fix build by adding dependencies --- pkgs/tools/admin/tigervnc/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix index d6156ab4909..cac1b9b3c92 100644 --- a/pkgs/tools/admin/tigervnc/default.nix +++ b/pkgs/tools/admin/tigervnc/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, xorg , autoconf, automake, cvs, libtool, nasm, pixman, xkeyboard_config , fontDirectories, libgcrypt, gnutls, pam, flex, bison, gettext -, cmake, libjpeg_turbo, fltk +, cmake, libjpeg_turbo, fltk, nettle, libiconv, libtasn1 }: with stdenv.lib; @@ -69,12 +69,12 @@ stdenv.mkDerivation rec { buildInputs = [ xorg.libX11 xorg.libXext gettext xorg.libICE xorg.libXtst xorg.libXi xorg.libSM xorg.libXft nasm libgcrypt gnutls pam pixman libjpeg_turbo fltk xorg.xineramaproto - xorg.libXinerama xorg.libXcursor + xorg.libXinerama xorg.libXcursor nettle libiconv libtasn1 ]; nativeBuildInputs = [ autoconf automake cvs xorg.utilmacros xorg.fontutil libtool flex bison - cmake + cmake gettext ] ++ xorg.xorgserver.nativeBuildInputs; @@ -91,4 +91,4 @@ stdenv.mkDerivation rec { # Prevent a store collision. priority = 4; }; -} \ No newline at end of file +} From 192dc27dc3694023dcaca6f5a34a2788172240d3 Mon Sep 17 00:00:00 2001 From: Tristan Helmich Date: Wed, 13 Apr 2016 17:59:03 +0200 Subject: [PATCH 170/182] samba4Full: 4.3.6 -> 4.3.8 (#14661) Fixes the following security issues: * CVE-2015-5370 (Multiple errors in DCE-RPC code) * CVE-2016-2110 (Man in the middle attacks possible with NTLMSSP) * CVE-2016-2111 (NETLOGON Spoofing Vulnerability) * CVE-2016-2112 (LDAP client and server don't enforce integrity) * CVE-2016-2113 (Missing TLS certificate validation) * CVE-2016-2114 ("server signing = mandatory" not enforced) * CVE-2016-2115 (SMB IPC traffic is not integrity protected) * CVE-2016-2118 (SAMR and LSA man in the middle attacks possible) See http://badlock.org/ for details. --- pkgs/servers/samba/4.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix index 0f3b9bb7a65..2368ba18a49 100644 --- a/pkgs/servers/samba/4.x.nix +++ b/pkgs/servers/samba/4.x.nix @@ -18,11 +18,11 @@ with lib; stdenv.mkDerivation rec { - name = "samba-4.3.6"; + name = "samba-4.3.8"; src = fetchurl { url = "mirror://samba/pub/samba/stable/${name}.tar.gz"; - sha256 = "0929fpk2pq4v389naai519xvsm9bzpar4jlgjxwlx1cnn6jyql9j"; + sha256 = "041b5frh4ikcka922aqhqjvlv4w2s7jycyykpvsknj0a79ncd79p"; }; patches = From fdd2c6e2caed9808e636e0f886c53d4ff0949c12 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 13 Apr 2016 16:20:31 +0000 Subject: [PATCH 171/182] grass: fix build --- pkgs/applications/gis/grass/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix index 39ba1f7265b..c373f8b9e27 100644 --- a/pkgs/applications/gis/grass/default.nix +++ b/pkgs/applications/gis/grass/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation { "--with-wxwidgets" "--with-netcdf" "--with-geos" - "--with-postgres" + "--with-postgres" "--with-postgres-libs=${postgresql.lib}/lib/" "--with-mysql" "--with-mysql-includes=${mysql.lib}/include/mysql" "--with-blas" ]; From 14b8bdc01fd7352a565535d2b07bea6bbce6173f Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 16:31:40 +0200 Subject: [PATCH 172/182] julia: fix library path management after multiple-outputs/closure-size merge --- pkgs/development/compilers/julia/git.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/julia/git.nix b/pkgs/development/compilers/julia/git.nix index 49c26592f2e..1b3ef86cdbe 100644 --- a/pkgs/development/compilers/julia/git.nix +++ b/pkgs/development/compilers/julia/git.nix @@ -130,10 +130,10 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-fPIC" ]; - LD_LIBRARY_PATH = makeSearchPath "lib" [ + LD_LIBRARY_PATH = makeSearchPath "lib" (concatLists (map (x : x.all) [ arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm openspecfun pcre2 suitesparse - ]; + ])); dontStrip = true; dontPatchELF = true; From cd5b677576ecab782edcf3f5066c399be7b56e44 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 18:46:06 +0200 Subject: [PATCH 173/182] gcc49 (gcj): do not create separate lib output (cyclical dependency), fix ecj1 linking. Does not affect the hash of normal gcc49 --- pkgs/development/compilers/gcc/4.9/default.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index d478196af51..74612ae7754 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -218,7 +218,7 @@ stdenv.mkDerivation ({ inherit patches; - outputs = [ "out" "lib" "man" "info" ]; + outputs = if langJava then ["out" "man" "info"] else [ "out" "lib" "man" "info" ]; setOutputFlags = false; NIX_NO_SELF_RPATH = true; @@ -315,7 +315,11 @@ stdenv.mkDerivation ({ FLAGS_FOR_TARGET=-F$SDKROOT/System/Library/Frameworks \ ) fi - ''; + '' + + stdenv.lib.optionalString langJava '' + export lib=$out; + '' + ; dontDisableStatic = true; @@ -538,4 +542,10 @@ stdenv.mkDerivation ({ // optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; } + +// optionalAttrs (langJava) { + postFixup = '' + target="$(echo "$out/libexec/gcc"/*/*/ecj*)" + patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target" + '';} ) From be90eb047c03c74ccd6ca03703fb69696fc288f8 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 18:52:37 +0200 Subject: [PATCH 174/182] glfw3: apparently fix the build --- pkgs/development/libraries/glfw/3.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix index 681137cd590..094856b66ab 100644 --- a/pkgs/development/libraries/glfw/3.x.nix +++ b/pkgs/development/libraries/glfw/3.x.nix @@ -21,6 +21,7 @@ stdenv.mkDerivation rec { ]; cmakeFlags = "-DBUILD_SHARED_LIBS=ON"; + NIX_LDFLAGS= "-lpthread -L${stdenv.cc.libc.out}/lib"; meta = with stdenv.lib; { description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time"; From 0103d710cce3b8b6c1f3c7e5c2e2d6f5201b5532 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 18:55:39 +0200 Subject: [PATCH 175/182] csound: fix build (pthread not found) by adding stdenv.cc.libc.out/lib to -L. No idea why this is not default enough specifically when cmake is used --- pkgs/applications/audio/csound/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix index afca63a2a8a..6e2ba7cfd16 100644 --- a/pkgs/applications/audio/csound/default.nix +++ b/pkgs/applications/audio/csound/default.nix @@ -23,6 +23,8 @@ stdenv.mkDerivation { buildInputs = [ cmake libsndfile flex bison alsaLib libpulseaudio tcltk ]; + NIX_LDFLAGS="-L${stdenv.cc.libc.out}/lib"; + meta = { description = "sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms"; homepage = http://www.csounds.com/; From f99a9c067947af06e0d0b4773be67fcd75cab0b3 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 19:10:42 +0200 Subject: [PATCH 176/182] nspluginwrapper: add missing libXt build input --- .../browsers/mozilla-plugins/nspluginwrapper/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix index 51511621dce..85012f8f709 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, which, pkgconfig, file, glib, gtk2, gtk3, curl}: +{stdenv, fetchurl, which, pkgconfig, file, glib, gtk2, gtk3, curl, libXt}: let srcData = # Generated upstream information rec { @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { export configureFlags="$configureFlags --target-cpu=$(uname -m)" ''; - buildInputs = [which pkgconfig file glib gtk2 gtk3 curl]; + buildInputs = [which pkgconfig file glib gtk2 gtk3 curl libXt]; preferLocalBuild = true; From e4a56dbff8897c76745857b36e364297dd55924d Mon Sep 17 00:00:00 2001 From: Herwig Hochleitner Date: Fri, 1 Apr 2016 15:53:22 +0200 Subject: [PATCH 177/182] i2p: 0.9.24 -> 0.9.25 --- pkgs/tools/networking/i2p/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix index b1bfeb215f6..dbb85f38635 100644 --- a/pkgs/tools/networking/i2p/default.nix +++ b/pkgs/tools/networking/i2p/default.nix @@ -1,10 +1,10 @@ { stdenv, procps, coreutils, fetchurl, jdk, jre, ant, gettext, which }: stdenv.mkDerivation rec { - name = "i2p-0.9.24"; + name = "i2p-0.9.25"; src = fetchurl { url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz"; - sha256 = "0hk28cigil6ia707zb6p8n7959xg7v816bacxxlln780cc1wi830"; + sha256 = "1lj4khln0k0b4f55hjighwn5j3cyal8flmapjmadjyj6cd5py0v8"; }; buildInputs = [ jdk ant gettext which ]; patches = [ ./i2p.patch ]; From 4ec94538815f487df1e50060425c988422abb663 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Wed, 13 Apr 2016 15:55:33 -0300 Subject: [PATCH 178/182] mgba: 0.3.1 -> git 20160325 (#14578) I have made this release fromgit because 0.4.0 release doesn't compile (gcc complains with an error in Window.cpp: "isnan is not defined on this scope"). The error disappears on mgba git master. --- pkgs/misc/emulators/mgba/default.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/misc/emulators/mgba/default.nix b/pkgs/misc/emulators/mgba/default.nix index ea11e3a33e2..07470fa54ab 100644 --- a/pkgs/misc/emulators/mgba/default.nix +++ b/pkgs/misc/emulators/mgba/default.nix @@ -1,22 +1,23 @@ -{ stdenv, fetchurl, pkgconfig, cmake, ffmpeg, imagemagick, libzip, SDL2 +{ stdenv, fetchgit +, pkgconfig, cmake, libzip, epoxy, ffmpeg, imagemagick, SDL2 , qtbase, qtmultimedia }: stdenv.mkDerivation rec { - name = "mgba-${meta.version}"; - src = fetchurl { - url = "https://github.com/mgba-emu/mgba/archive/${meta.version}.tar.gz"; - sha256 = "0z52w4dkgjjviwi6w13gls082zclljgx1sa8nlyb1xcnnrn6980l"; + name = "mgba-git-${version}"; + version = "20160325"; + + src = fetchgit { + url = "https://github.com/mgba-emu/mgba.git"; + rev = "be2641c77b4a438e0db487bc82b43bc27a26e0c2"; + sha256 = "0ygsmmp24w14x5fm2qz2v68p59bs2ravn22axrg2ipn5skkgrvxz"; }; buildInputs = [ - pkgconfig cmake ffmpeg imagemagick libzip SDL2 + pkgconfig cmake libzip epoxy ffmpeg imagemagick SDL2 qtbase qtmultimedia ]; - enableParallelBuilding = true; - meta = with stdenv.lib; { - version = "0.3.1"; homepage = https://mgba.io; description = "A modern GBA emulator with a focus on accuracy"; longDescription = '' @@ -38,4 +39,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ MP2E AndersonTorres ]; }; } - From e3d0fe898bb0451b2485ccc0be42354614f4fba3 Mon Sep 17 00:00:00 2001 From: Herwig Hochleitner Date: Wed, 13 Apr 2016 20:56:52 +0200 Subject: [PATCH 179/182] criu: 1.3-rc2 -> 2.0 (#14666) --- pkgs/os-specific/linux/criu/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix index 6afaf36bd80..0d06864df1e 100644 --- a/pkgs/os-specific/linux/criu/default.nix +++ b/pkgs/os-specific/linux/criu/default.nix @@ -1,27 +1,29 @@ { stdenv, fetchurl, protobuf, protobufc, asciidoc -, xmlto, utillinux, docbook_xsl, libpaper }: +, xmlto, utillinux, docbook_xsl, libpaper, libnl, libcap, pkgconfig +, python }: stdenv.mkDerivation rec { name = "criu-${version}"; - version = "1.3-rc2"; + version = "2.0"; src = fetchurl { url = "http://download.openvz.org/criu/${name}.tar.bz2"; - sha256 = "1h9ii91aq8cja22j3520vg3qb3y9h6c064s4115s2ldylm8jmi0s"; + sha256 = "1zqqshslcf503lqip89azp1zz0i8kb7v19b3dyp52izpak62c1z8"; }; enableParallelBuilding = true; - buildInputs = [ protobuf protobufc asciidoc xmlto libpaper ]; + buildInputs = [ protobuf protobufc asciidoc xmlto libpaper libnl libcap pkgconfig python ]; patchPhase = '' chmod +w ./scripts/gen-offsets.sh substituteInPlace ./scripts/gen-offsets.sh --replace hexdump ${utillinux}/bin/hexdump substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" "" substituteInPlace ./Documentation/Makefile --replace "--skip-validation" "--skip-validation -x ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl" - substituteInPlace ./Makefile --replace "-Werror" "" + substituteInPlace ./criu/Makefile --replace "-I/usr/include/libnl3" "-I${libnl}/include/libnl3" + substituteInPlace ./Makefile --replace "tar-name := $(shell git tag -l v$(CRIU_VERSION))" "tar-name = 2.0" # --replace "-Werror" "" + ln -sf ${protobuf}/include/google/protobuf/descriptor.proto ./images/google/protobuf/descriptor.proto ''; - configurePhase = "make config PREFIX=$out"; buildPhase = "make PREFIX=$out"; installPhase = '' From 1e37217b8086ff3e4b926a69d6813455e8c6e5c5 Mon Sep 17 00:00:00 2001 From: Octavian Cerna Date: Wed, 13 Apr 2016 22:02:57 +0300 Subject: [PATCH 180/182] raspberrypi-firmware: 20150506 -> 1.20160315 (#14300) Cleanup the meta section, add viric and myself as maintainers. --- .../os-specific/linux/firmware/raspberrypi/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix index dc0b061af14..0c61aee9713 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -2,14 +2,14 @@ let - rev = "b7bbd3d1683e9f3bb11ef86b952adee71e83862f"; + rev = "1.20160315"; in stdenv.mkDerivation { name = "raspberrypi-firmware-${rev}"; src = fetchurl { url = "https://github.com/raspberrypi/firmware/archive/${rev}.tar.gz"; - sha256 = "16wpwa1y3imd3la477b3rfbfypssvlh0zjdag3hgkm33aysizijp"; + sha256 = "0a7ycv01s0kk84szsh51hy2mjjil1dzdk0g7k83h50d5nya090fl"; }; installPhase = '' @@ -24,9 +24,11 @@ in stdenv.mkDerivation { done ''; - meta = { + meta = with stdenv.lib; { description = "Firmware for the Raspberry Pi board"; homepage = https://github.com/raspberrypi; - license = stdenv.lib.licenses.unfree; + license = licenses.unfree; + platforms = [ "armv6l-linux" "armv7l-linux" ]; + maintainers = with maintainers; [ viric tavyc ]; }; } From b338187e71829bbf2c0a51bfd8db065864c62ab8 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 21:07:39 +0200 Subject: [PATCH 181/182] libreoffice: 5.1.0.3 -> 5.1.2.2; still building, but the previous version in master was broken anyway and these problems are now fixed --- .../office/libreoffice/default.nix | 14 ++++++------- .../office/libreoffice/libreoffice-srcs.nix | 20 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 040b4893032..450c15bb65e 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -12,7 +12,7 @@ , libatomic_ops, graphite2, harfbuzz, libodfgen , librevenge, libe-book, libmwaw, glm, glew, gst_all_1 , gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas -, defaultIconTheme, glib +, defaultIconTheme, glib, ncurses , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" ] , withHelp ? true , kdeIntegration ? false @@ -23,8 +23,8 @@ let langsSpaces = lib.concatStringsSep " " langs; major = "5"; minor = "1"; - patch = "0"; - tweak = "3"; + patch = "2"; + tweak = "2"; subdir = "${major}.${minor}.${patch}"; version = "${subdir}${if tweak == "" then "" else "."}${tweak}"; @@ -50,14 +50,14 @@ let translations = fetchSrc { name = "translations"; - sha256 = "1qqffq7646yh7rskzd1wvy0zgkdnkpdbyhvsny424lxqjglyw3px"; + sha256 = "1w2m4hfrxb706p8bjfgklqv0j5hnivbvif3vav7sbngp5ms0vgvz"; }; # TODO: dictionaries help = fetchSrc { name = "help"; - sha256 = "0ixlq6yzn6z8hsih24l934sa05vvz2vk3p03nalpqqrhm7vdzsf2"; + sha256 = "0lr90z5fdg157lcid5w4p0zxi72c4xziiw51kh38kbbqrbb9ykfw"; }; }; @@ -66,7 +66,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; - sha256 = "1csphxpbpc7bxrwnl5i9nvm3bh3p0j7r3h9ivsdl7cys13q066xl"; + sha256 = "108p8jg22lg3g9wypqv5d71j4vkcpmg2x2w9l2v4z9h10agdrv2l"; }; # Openoffice will open libcups dynamically, so we link it directly @@ -240,7 +240,7 @@ in stdenv.mkDerivation rec { python3 sablotron sane-backends tcsh unzip vigra which zip zlib mdds bluez5 glibc libcmis libwps libabw libxshmfence libatomic_ops graphite2 harfbuzz - librevenge libe-book libmwaw glm glew + librevenge libe-book libmwaw glm glew ncurses libodfgen CoinMP librdf_rasqal defaultIconTheme makeWrapper ] ++ lib.optional kdeIntegration kde4.kdelibs; diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix index 21a16a5fc69..7af49d51a85 100644 --- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix +++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix @@ -190,8 +190,8 @@ brief = false; } { - name = "graphite2-minimal-1.3.4.tgz"; - md5 = "5c0c9ac0996fbb4a0e17780ff5441959"; + name = "graphite-minimal-1.3.6.tgz"; + md5 = "17df8301bcc459e83f8a8f3aca6183b2"; brief = false; } { @@ -285,8 +285,8 @@ brief = true; } { - name = "language-subtag-registry-2015-08-04.tar.bz2"; - md5 = "bf5986dbfa1c9a0f26cf1b00ed369484"; + name = "language-subtag-registry-2016-02-10.tar.bz2"; + md5 = "d1e7c55a0383f7d720d3ead0b6117284"; brief = true; } { @@ -376,13 +376,13 @@ brief = false; } { - name = "neon-0.29.5.tar.gz"; - md5 = "ff369e69ef0f0143beb5626164e87ae2"; + name = "neon-0.30.1.tar.gz"; + md5 = "231adebe5c2f78fded3e3df6e958878e"; brief = false; } { - name = "nss-3.19.4-with-nspr-4.10.10.tar.gz"; - md5 = "478e0e90ebc4a90159549e77021021fd"; + name = "nss-3.22.2-with-nspr-4.12.tar.gz"; + md5 = "6b254cf2f8cb4b27a3f0b8b7b9966ea7"; brief = false; } { @@ -401,8 +401,8 @@ brief = false; } { - name = "openssl-1.0.2a.tar.gz"; - md5 = "a06c547dac9044161a477211049f60ef"; + name = "openssl-1.0.2g.tar.gz"; + md5 = "f3c710c045cdee5fd114feb69feba7aa"; brief = true; } { From 76281d5dec8f76f5b9c46a22e279bb64f6c75ffa Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 18:15:36 +0300 Subject: [PATCH 182/182] avidemux: refactor again to fix build failures --- pkgs/applications/video/avidemux/default.nix | 173 ++++++++++--------- pkgs/applications/video/avidemux/wrapper.nix | 17 +- pkgs/top-level/all-packages.nix | 8 +- 3 files changed, 108 insertions(+), 90 deletions(-) diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix index 177f3d1b20c..96017a7ba19 100644 --- a/pkgs/applications/video/avidemux/default.nix +++ b/pkgs/applications/video/avidemux/default.nix @@ -1,7 +1,9 @@ { stdenv, lib, fetchurl, cmake, pkgconfig, lndir -, zlib, gettext, libvdpau, libva, libXv, sqlite, x265 -, yasm, fribidi, gtk3, qt4 +, zlib, gettext, libvdpau, libva, libXv, sqlite +, yasm, freetype, fontconfig, fribidi, gtk3, qt4 +, withX265 ? true, x265 , withX264 ? true, x264 +, withXvid ? true, xvidcore , withLAME ? true, lame , withFAAC ? false, faac , withVorbis ? true, libvorbis @@ -11,8 +13,7 @@ , withVPX ? true, libvpx }: -stdenv.mkDerivation rec { - name = "avidemux-${version}"; +let version = "2.6.12"; src = fetchurl { @@ -20,96 +21,108 @@ stdenv.mkDerivation rec { sha256 = "0nz52yih8sff53inndkh2dba759xjzsh4b8xjww419lcpk0qp6kn"; }; - nativeBuildInputs = [ cmake pkgconfig yasm lndir ]; - buildInputs = [ zlib gettext libvdpau libva libXv sqlite x265 fribidi gtk3 qt4 ] - ++ lib.optional withX264 x264 - ++ lib.optional withLAME lame - ++ lib.optional withFAAC faac - ++ lib.optional withVorbis libvorbis - ++ lib.optional withPulse libpulseaudio - ++ lib.optional withFAAD faad2 - ++ lib.optional withOpus libopus - ++ lib.optional withVPX libvpx - ; + common = { + inherit version src; - enableParallelBuilding = false; + patches = [ ./dynamic_install_dir.patch ]; - outputs = [ "out" "cli" "gtk" "qt4" ]; + enableParallelBuilding = false; - patches = [ ./dynamic_install_dir.patch ]; + nativeBuildInputs = [ cmake pkgconfig yasm ]; + buildInputs = [ zlib gettext libvdpau libva libXv sqlite fribidi fontconfig freetype ] + ++ lib.optional withX264 x264 + ++ lib.optional withX265 x265 + ++ lib.optional withXvid xvidcore + ++ lib.optional withLAME lame + ++ lib.optional withFAAC faac + ++ lib.optional withVorbis libvorbis + ++ lib.optional withPulse libpulseaudio + ++ lib.optional withFAAD faad2 + ++ lib.optional withOpus libopus + ++ lib.optional withVPX libvpx + ; - buildCommand = '' - unpackPhase - cd "$sourceRoot" - patchPhase + meta = { + homepage = http://fixounet.free.fr/avidemux/; + description = "Free video editor designed for simple video editing tasks"; + maintainers = with stdenv.lib.maintainers; [ viric abbradar ]; + platforms = with stdenv.lib.platforms; linux; + license = stdenv.lib.licenses.gpl2; + }; + }; - export cmakeFlags="$cmakeFlags -DAVIDEMUX_SOURCE_DIR=$(pwd)" + core = stdenv.mkDerivation (common // { + name = "avidemux-${version}"; - function buildOutput() { - ( plugin_ui="$1" - output_dir="$2" - shift 2 - export cmakeFlags="$cmakeFlags -DPLUGIN_UI=$plugin_ui -DCMAKE_INSTALL_PREFIX=$output_dir" - for i in "$@" avidemux_plugins; do - ( cd "$i" - cmakeConfigurePhase - buildPhase - installPhase - ) - done - rm -rf avidemux_plugins/build - ) - } + preConfigure = '' + cd avidemux_core + ''; + }); - function buildUi() { - plugin_ui="$1" - output_dir="$2" - shift 2 + buildPlugin = args: stdenv.mkDerivation (common // { + name = "avidemux-${args.pluginName}-${version}"; - # Hack to split builds properly - mkdir -p $output_dir - lndir $out $output_dir - buildOutput $plugin_ui $output_dir "$@" - } + buildInputs = (args.buildInputs or []) ++ common.buildInputs ++ [ lndir ]; - function fixupUi() { - output_dir="$1" - shift + cmakeFlags = [ "-DPLUGIN_UI=${args.pluginUi}" ]; - find $output_dir -lname $out\* -delete - find $output_dir -type f | while read -r f; do - rpath="$(patchelf --print-rpath $f 2>/dev/null)" || continue - new_rpath="" - IFS=':' read -ra old_rpath <<< "$rpath" - for p in "''${old_rpath[@]}"; do - new_rpath="$new_rpath:$p" - if [[ $p = $output_dir* ]]; then - new_rpath="$new_rpath:$out/''${p#$output_dir}" - fi - done - patchelf --set-rpath "$new_rpath" $f - patchelf --shrink-rpath $f + passthru.isUi = args.isUi or false; + + buildCommand = '' + unpackPhase + cd "$sourceRoot" + patchPhase + + mkdir $out + lndir ${core} $out + + export cmakeFlags="$cmakeFlags -DAVIDEMUX_SOURCE_DIR=$(pwd)" + + for i in ${toString (args.buildDirs or [])} avidemux_plugins; do + ( cd "$i" + cmakeConfigurePhase + buildPhase + installPhase + ) done - } - buildOutput COMMON $out avidemux_core - buildOutput SETTINGS $out - buildUi CLI $cli avidemux/cli - buildUi GTK $gtk avidemux/gtk - buildUi QT4 $qt4 avidemux/qt4 + fixupPhase + ''; + }); - fixupPhase +in { + avidemux_core = core; - fixupUi $cli - fixupUi $gtk - fixupUi $qt4 - ''; + avidemux_cli = buildPlugin { + pluginName = "cli"; + pluginUi = "CLI"; + isUi = true; + buildDirs = [ "avidemux/cli" ]; + }; - meta = { - homepage = http://fixounet.free.fr/avidemux/; - description = "Free video editor designed for simple video editing tasks"; - maintainers = with stdenv.lib.maintainers; [ viric abbradar ]; - platforms = with stdenv.lib.platforms; linux; - license = stdenv.lib.licenses.gpl2; + avidemux_qt4 = buildPlugin { + pluginName = "qt4"; + buildInputs = [ qt4 ]; + pluginUi = "QT4"; + isUi = true; + buildDirs = [ "avidemux/qt4" ]; + }; + + avidemux_gtk = buildPlugin { + pluginName = "gtk"; + buildInputs = [ gtk3 ]; + pluginUi = "GTK"; + isUi = true; + buildDirs = [ "avidemux/gtk" ]; + }; + + avidemux_common = buildPlugin { + pluginName = "common"; + pluginUi = "COMMON"; + }; + + avidemux_settings = buildPlugin { + pluginName = "settings"; + pluginUi = "SETTINGS"; }; } diff --git a/pkgs/applications/video/avidemux/wrapper.nix b/pkgs/applications/video/avidemux/wrapper.nix index ad41f56d39d..1d1c66cb9fe 100644 --- a/pkgs/applications/video/avidemux/wrapper.nix +++ b/pkgs/applications/video/avidemux/wrapper.nix @@ -1,15 +1,18 @@ -{ buildEnv, avidemux, makeWrapper +{ buildEnv, avidemux_unwrapped, makeWrapper # GTK version is broken upstream, see https://bugzilla.redhat.com/show_bug.cgi?id=1244340 , withUi ? "qt4" }: -let - ui = builtins.getAttr withUi avidemux; +let ui = builtins.getAttr "avidemux_${withUi}" avidemux_unwrapped; in -in buildEnv { - name = "avidemux-${withUi}-" + avidemux.version; +assert ui.isUi; - paths = [ avidemux ui ]; +buildEnv { + name = "avidemux-${withUi}-" + ui.version; + + paths = [ ui avidemux_unwrapped.avidemux_common avidemux_unwrapped.avidemux_settings ]; + + ignoreCollisions = true; buildInputs = [ makeWrapper ]; @@ -26,4 +29,6 @@ in buildEnv { wrapProgram $i --set ADM_ROOT_DIR $out done ''; + + meta = ui.meta; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8d98ab11da1..b54fb2f892d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11628,12 +11628,12 @@ in autopanosiftc = callPackage ../applications/graphics/autopanosiftc { }; - avidemux_unwrapped = callPackage ../applications/video/avidemux { }; - - avidemux = callPackage ../applications/video/avidemux/wrapper.nix { - avidemux = avidemux_unwrapped; + avidemux_unwrapped = callPackage ../applications/video/avidemux { + libva = libva-full; # also wants libva-x11 }; + avidemux = callPackage ../applications/video/avidemux/wrapper.nix { }; + avogadro = callPackage ../applications/science/chemistry/avogadro { eigen = eigen2; };