From a577b3666e2d2d200d74578603d7aaccc88bcdd2 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 8 Jun 2016 20:28:57 +0200 Subject: [PATCH 001/222] why3: 0.87.0 -> 0.87.1 --- pkgs/applications/science/logic/why3/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix index 7825fc2761e..3891f3ca6d1 100644 --- a/pkgs/applications/science/logic/why3/default.nix +++ b/pkgs/applications/science/logic/why3/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "why3-${version}"; - version = "0.87.0"; + version = "0.87.1"; src = fetchurl { - url = https://gforge.inria.fr/frs/download.php/file/35643/why3-0.87.0.tar.gz; - sha256 = "0c3vhcb70ay7iwvmq0m25fqh38y40c5x7mki4r9pxf13vgbs3xb0"; + url = https://gforge.inria.fr/frs/download.php/file/35893/why3-0.87.1.tar.gz; + sha256 = "1ssik2f6fkpvwpdmxz8hrm3p62qas3sjlqya0r57s60ilpkgiwwb"; }; buildInputs = (with ocamlPackages; [ From d0c7056b927547d77753dea81d932ae5f2d9c193 Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Thu, 16 Jun 2016 01:03:22 +0200 Subject: [PATCH 002/222] inline-c-cpp: fix build on darwin --- .../development/haskell-modules/configuration-common.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 5f1335ca72f..f31537970a1 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -225,6 +225,15 @@ self: super: { ''; })) pkgs.libcxx; + inline-c-cpp = if !pkgs.stdenv.isDarwin + then super.inline-c-cpp + else addExtraLibrary (overrideCabal super.inline-c-cpp (drv: + { + postPatch = '' + substituteInPlace inline-c-cpp.cabal --replace stdc++ c++ + ''; + })) pkgs.libcxx; + # tests don't compile for some odd reason jwt = dontCheck super.jwt; From 6145b6b7d644139dd551cea36a0bce1580baa971 Mon Sep 17 00:00:00 2001 From: Tim Cuthbertson Date: Mon, 20 Jun 2016 18:33:44 +1000 Subject: [PATCH 003/222] tk: propagate dependency on tcl & libXft --- pkgs/development/libraries/tk/generic.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/tk/generic.nix b/pkgs/development/libraries/tk/generic.nix index c3bab0b2f86..934bfa6a9e9 100644 --- a/pkgs/development/libraries/tk/generic.nix +++ b/pkgs/development/libraries/tk/generic.nix @@ -17,9 +17,11 @@ stdenv.mkDerivation { "--with-tcl=${tcl}/lib" ]; - buildInputs = [ pkgconfig tcl libXft ] + buildInputs = [ pkgconfig ] ++ stdenv.lib.optional stdenv.isDarwin fontconfig; + propagatedBuildInputs = [ tcl libXft ]; + NIX_CFLAGS_LINK = if stdenv.isDarwin then "-lfontconfig" else null; inherit tcl; From db2fc7a50387a7da297c0441d8ff3003a4fe0f86 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Tue, 28 Jun 2016 19:46:30 +0800 Subject: [PATCH 004/222] vips: 8.2.2 -> 8.3.1 --- pkgs/tools/graphics/vips/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix index 7b0cbc16e11..6ff2ee5cd44 100644 --- a/pkgs/tools/graphics/vips/default.nix +++ b/pkgs/tools/graphics/vips/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "vips-8.2.2"; + name = "vips-8.3.1"; src = fetchurl { url = "http://www.vips.ecs.soton.ac.uk/supported/current/${name}.tar.gz"; - sha256 = "12b319aicr129cpi5sixwd3q91y97vwwva6b044zy54px4s8ls0g"; + sha256 = "01hh1baar2r474kny24fcq6ddshcvq104207mqxnkis0as6pzjq9"; }; buildInputs = From 59ee0c747aa1f7bfcfc80f642f8567d953af36d3 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Tue, 28 Jun 2016 19:46:40 +0800 Subject: [PATCH 005/222] nip2: 8.0 -> 8.3.0 --- pkgs/tools/graphics/nip2/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/graphics/nip2/default.nix b/pkgs/tools/graphics/nip2/default.nix index e61488e202d..fb88a8c37d4 100644 --- a/pkgs/tools/graphics/nip2/default.nix +++ b/pkgs/tools/graphics/nip2/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl, pkgconfig, glib, libxml2, flex, bison, vips, gnome, -fftw, gsl, goffice_0_8, libgsf }: +fftw, gsl, goffice, libgsf }: stdenv.mkDerivation rec { - name = "nip2-8.0"; + name = "nip2-8.3.0"; src = fetchurl { url = "http://www.vips.ecs.soton.ac.uk/supported/current/${name}.tar.gz"; - sha256 = "10ybac0qrz63x1yk1d0gpv9z1vzpadyii2qhrai6lllplzw6jqx7"; + sha256 = "0vr12gyfvhxx2a28y74lzfg379d1fk0g9isc69k0vdgpn4y1i8aa"; }; buildInputs = [ pkgconfig glib libxml2 flex bison vips - gnome.gtk fftw gsl goffice_0_8 libgsf + gnome.gtk fftw gsl goffice libgsf ]; meta = with stdenv.lib; { From 031b32104c84cac9fc168be5eeb8fd60a34e253d Mon Sep 17 00:00:00 2001 From: devhell <^@regexmail.net> Date: Fri, 1 Jul 2016 13:39:27 +0100 Subject: [PATCH 006/222] {lib}mediainfo{-gui}: 0.7.86 -> 0.7.87 From the changelog: ``` Version 0.7.87, 2016-06-30 + Spanish and catalan languages updated, thanks to Sergi Medina + Refactoring of the trace feature, for better performance and some bug fixes - Visual C++ 2012 project files removed x Review of symbols display, now using standard display (e.g. "k" instead of "K", " min" instead of "mn"...) x XML output: revert to old versioning method (version is MediaInfo software version) x I63, EBUCore/FIMS outputs: typo correction about WritingLibrary and WritingApplication x Matroska: files with CodecPrivate element before CodecID element where not always correctly parsed x OGG: crash/incoherent behavior with some buggy OGG streams having invalid chunk sizes ``` --- pkgs/applications/misc/mediainfo-gui/default.nix | 4 ++-- pkgs/applications/misc/mediainfo/default.nix | 4 ++-- pkgs/development/libraries/libmediainfo/default.nix | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix index 73dc8433b88..2fe806649c2 100644 --- a/pkgs/applications/misc/mediainfo-gui/default.nix +++ b/pkgs/applications/misc/mediainfo-gui/default.nix @@ -2,11 +2,11 @@ , desktop_file_utils, libSM, imagemagick }: stdenv.mkDerivation rec { - version = "0.7.86"; + version = "0.7.87"; name = "mediainfo-gui-${version}"; src = fetchurl { url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "15w6m75bk6rsxxdrdibi330ch1x0cw131gynbhmhbsppsg0v5vb5"; + sha256 = "1ws4hyfcw289hax0bq8y3bbw5y321xmh0va1x4zv5rjwfzcd51pv"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix index c512f6a249e..77c1badbf40 100644 --- a/pkgs/applications/misc/mediainfo/default.nix +++ b/pkgs/applications/misc/mediainfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }: stdenv.mkDerivation rec { - version = "0.7.86"; + version = "0.7.87"; name = "mediainfo-${version}"; src = fetchurl { url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "15w6m75bk6rsxxdrdibi330ch1x0cw131gynbhmhbsppsg0v5vb5"; + sha256 = "1ws4hyfcw289hax0bq8y3bbw5y321xmh0va1x4zv5rjwfzcd51pv"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix index 26416dc1ee1..90869a4c8a5 100644 --- a/pkgs/development/libraries/libmediainfo/default.nix +++ b/pkgs/development/libraries/libmediainfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }: stdenv.mkDerivation rec { - version = "0.7.86"; + version = "0.7.87"; name = "libmediainfo-${version}"; src = fetchurl { url = "http://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz"; - sha256 = "14m7cgd93mglc9a4x28pb4yc6nfxhqk7vfryca83vpn80la1lxy0"; + sha256 = "1gvjvc809mrhpcqr62cihhc6jnwml197xjbgydnzvsghih8dq8s9"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; From 23e9e33975bf560ec3fd6e5b2e01d7cd9ce1c14e Mon Sep 17 00:00:00 2001 From: Nathan Zadoks Date: Sat, 2 Jul 2016 02:20:02 -0400 Subject: [PATCH 007/222] dockerTools: format tarsum.go with gofmt Nearly all Go code on this earth is formatted with gofmt, and it's somewhat surprising to find a Go file that isn't formatted accordingly. --- pkgs/build-support/docker/tarsum.go | 32 ++++++++++++++--------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pkgs/build-support/docker/tarsum.go b/pkgs/build-support/docker/tarsum.go index 4c25f11b71e..81a3341fff0 100644 --- a/pkgs/build-support/docker/tarsum.go +++ b/pkgs/build-support/docker/tarsum.go @@ -1,24 +1,24 @@ package main import ( - "tarsum" - "io" - "io/ioutil" - "fmt" - "os" + "fmt" + "io" + "io/ioutil" + "os" + "tarsum" ) func main() { - ts, err := tarsum.NewTarSum(os.Stdin, false, tarsum.Version1) - if err != nil { - fmt.Println(err) - os.Exit(1) - } + ts, err := tarsum.NewTarSum(os.Stdin, false, tarsum.Version1) + if err != nil { + fmt.Println(err) + os.Exit(1) + } - if _, err = io.Copy(ioutil.Discard, ts); err != nil { - fmt.Println(err) - os.Exit(1) - } + if _, err = io.Copy(ioutil.Discard, ts); err != nil { + fmt.Println(err) + os.Exit(1) + } - fmt.Println(ts.Sum(nil)) -} \ No newline at end of file + fmt.Println(ts.Sum(nil)) +} From b9284e445b3d27532c3493eb0fc09822b949e817 Mon Sep 17 00:00:00 2001 From: Nathan Zadoks Date: Sat, 2 Jul 2016 02:21:20 -0400 Subject: [PATCH 008/222] dockerTools: disable compression in tarsum.go Previously, tarsum would compress the (discarded) tarball produced. That's a waste of CPU, and a waste of time. --- pkgs/build-support/docker/tarsum.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/docker/tarsum.go b/pkgs/build-support/docker/tarsum.go index 81a3341fff0..ad33bbac75b 100644 --- a/pkgs/build-support/docker/tarsum.go +++ b/pkgs/build-support/docker/tarsum.go @@ -9,7 +9,7 @@ import ( ) func main() { - ts, err := tarsum.NewTarSum(os.Stdin, false, tarsum.Version1) + ts, err := tarsum.NewTarSum(os.Stdin, true, tarsum.Version1) if err != nil { fmt.Println(err) os.Exit(1) From 796ced26aa79dabb4a456796e4ae5c75222455d3 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Tue, 5 Jul 2016 19:24:21 +0800 Subject: [PATCH 009/222] proxychains: 4.0.1-head -> 4.2.0 --- pkgs/tools/networking/proxychains/default.nix | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/networking/proxychains/default.nix b/pkgs/tools/networking/proxychains/default.nix index 2b85cef70c5..ed19f9d1674 100644 --- a/pkgs/tools/networking/proxychains/default.nix +++ b/pkgs/tools/networking/proxychains/default.nix @@ -1,10 +1,13 @@ -{ stdenv, fetchgit } : -stdenv.mkDerivation { - name = "proxychains-4.0.1-head"; - src = fetchgit { - url = https://github.com/haad/proxychains.git; - rev = "c9b8ce35b24f9d4e80563242b759dff54867163f"; - sha256 = "163h3d3lpglbzjadf8a9kfaf0i1ds25r7si6ll6d5khn1835zik5"; +{ stdenv, fetchFromGitHub } : +stdenv.mkDerivation rec { + name = "proxychains-${version}"; + version = "4.2.0"; + + src = fetchFromGitHub { + owner = "haad"; + repo = "proxychains"; + rev = name; + sha256 = "015skh3z1jmm8kxbm3nkqv1w56kcvabdmcbmpwzywxr4xnh3x3pc"; }; meta = { From dedfc00204ba1a35ae620ceb25709d4618bca17a Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 16 Jun 2016 19:14:36 +0000 Subject: [PATCH 010/222] appstream-glib: 0.3.6 -> 0.5.11 - needed for gnome-software to build --- .../libraries/appstream-glib/default.nix | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix index 14fbcdf7342..e6051552ab7 100644 --- a/pkgs/development/libraries/appstream-glib/default.nix +++ b/pkgs/development/libraries/appstream-glib/default.nix @@ -1,19 +1,23 @@ -{ stdenv, fetchurl, pkgconfig, gettext, gtk3, intltool, glib +{ stdenv, fetchFromGitHub, pkgconfig, gettext, gtk3, intltool, glib , gtk_doc, autoconf, automake, libtool, libarchive, libyaml , gobjectIntrospection, sqlite, libsoup, gcab, attr, acl, docbook_xsl +, libuuid, json_glib }: stdenv.mkDerivation rec { - name = "appstream-glib-0.3.6"; + name = "appstream-glib-0.5.11"; - src = fetchurl { - url = "https://github.com/hughsie/appstream-glib/archive/appstream_glib_0_3_6.tar.gz"; - sha256 = "1zdxg9dk9vxw2cs04cswd138di3dysz0hxk4918750hh19s3859c"; + src = fetchFromGitHub { + owner = "hughsie"; + repo = "appstream-glib"; + rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name; + sha256 = "1rvfncm9z29h70pd718j73cd263g6yyxkxrg7zfzy0gj6wwzvhkh"; }; - buildInputs = [ glib libtool pkgconfig gtk_doc gettext intltool sqlite libsoup - gcab attr acl docbook_xsl - libarchive libyaml gtk3 autoconf automake gobjectIntrospection ]; + nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool ]; + buildInputs = [ glib gtk_doc gettext sqlite libsoup + gcab attr acl docbook_xsl libuuid json_glib + libarchive libyaml gtk3 gobjectIntrospection ]; configureScript = "./autogen.sh"; @@ -22,7 +26,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/hughsie/appstream-glib; license = licenses.lgpl21Plus; platforms = platforms.linux; - maintainers = with maintainers; [ lethalman ]; + maintainers = with maintainers; [ lethalman matthewbauer ]; }; - } From 4e50880c828a771ab9ea72739bb70017b724358c Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 16 Jun 2016 19:18:09 +0000 Subject: [PATCH 011/222] packagekit: add latest from hughsie's github repo - currently pulled in from Git until the next release of PackageKit has Nix support - also: add in a service module to start packagekit properly - nixos service can be enabled via services.packagekit.enable - packagekit requires nixunstable to build properly --- nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/packagekit.nix | 61 ++++++++++++++ .../package-management/packagekit/default.nix | 81 +++++++++---------- pkgs/top-level/all-packages.nix | 4 +- 4 files changed, 104 insertions(+), 43 deletions(-) create mode 100644 nixos/modules/services/misc/packagekit.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 67178e765c8..a59997da9d8 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -249,6 +249,7 @@ ./services/misc/nix-ssh-serve.nix ./services/misc/nzbget.nix ./services/misc/octoprint.nix + ./services/misc/packagekit.nix ./services/misc/parsoid.nix ./services/misc/phd.nix ./services/misc/plex.nix diff --git a/nixos/modules/services/misc/packagekit.nix b/nixos/modules/services/misc/packagekit.nix new file mode 100644 index 00000000000..2d1ff7bb411 --- /dev/null +++ b/nixos/modules/services/misc/packagekit.nix @@ -0,0 +1,61 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.packagekit; + + backend = "nix"; + + packagekitConf = '' +[Daemon] +DefaultBackend=${backend} +KeepCache=false + ''; + + vendorConf = '' +[PackagesNotFound] +DefaultUrl=https://github.com/NixOS/nixpkgs +CodecUrl=https://github.com/NixOS/nixpkgs +HardwareUrl=https://github.com/NixOS/nixpkgs +FontUrl=https://github.com/NixOS/nixpkgs +MimeUrl=https://github.com/NixOS/nixpkgs + ''; + +in + +{ + + options = { + + services.packagekit = { + enable = mkEnableOption + '' + PackageKit provides a cross-platform D-Bus abstraction layer for + installing software. Software utilizing PackageKit can install + software regardless of the package manager. + ''; + }; + + }; + + config = mkIf cfg.enable { + + services.dbus.packages = [ pkgs.packagekit ]; + + systemd.services.packagekit = { + description = "PackageKit Daemon"; + wantedBy = [ "multi-user.target" ]; + serviceConfig.ExecStart = "${pkgs.packagekit}/libexec/packagekitd"; + serviceConfig.User = "root"; + serviceConfig.BusName = "org.freedesktop.PackageKit"; + serviceConfig.Type = "dbus"; + }; + + environment.etc."PackageKit/PackageKit.conf".text = packagekitConf; + environment.etc."PackageKit/Vendor.conf".text = vendorConf; + + }; + +} diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix index bdd02e58cbb..a56d3f6aebc 100644 --- a/pkgs/tools/package-management/packagekit/default.nix +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -1,57 +1,54 @@ -{ stdenv, fetchurl, intltool, glib, pkgconfig, polkit, python, sqlite }: +{ stdenv, fetchFromGitHub, intltool, glib, pkgconfig, polkit, python, sqlite, systemd +, gobjectIntrospection, vala, gtk_doc, autoreconfHook, autoconf-archive +, nix, boost +, enableCommandNotFound ? false +, enableBashCompletion ? false, bashCompletion ? null }: + +with stdenv.lib; stdenv.mkDerivation rec { - name = "packagekit-${version}"; - version = "1.1.1"; + name = "packagekit-2016-06-03"; - src = fetchurl { - sha256 = "1i6an483vmm6y39szr2alq5vf6kfxhk3j5ca79qrshcj9jjlhcs8"; - url = "http://www.freedesktop.org/software/PackageKit/releases/PackageKit-${version}.tar.xz"; + src = fetchFromGitHub { + owner = "hughsie"; + repo = "PackageKit"; + rev = "99fd83bbb26badf43c6a17a9f0c6dc054c7484c8"; + sha256 = "0y42vl6r1wh57sbjfkn4khjs78q54wshf4p0v4nly9s7hydxpi6a"; }; - buildInputs = [ glib polkit python ]; - propagatedBuildInputs = [ sqlite ]; - nativeBuildInputs = [ intltool pkgconfig ]; + buildInputs = [ glib polkit systemd python gobjectIntrospection vala ] + ++ optional enableBashCompletion bashCompletion; + propagatedBuildInputs = [ sqlite nix boost ]; + nativeBuildInputs = [ intltool pkgconfig autoreconfHook autoconf-archive gtk_doc ]; + + preAutoreconf = '' + gtkdocize + intltoolize + ''; configureFlags = [ - "--disable-static" - "--disable-python3" - "--disable-networkmanager" - "--disable-connman" - "--disable-systemd" - "--disable-bash-completion" - "--disable-gstreamer-plugin" - "--disable-gtk-module" - "--disable-command-not-found" + "--enable-systemd" + "--enable-nix" + "--disable-dummy" "--disable-cron" - "--disable-daemon-tests" - "--disable-alpm" - "--disable-aptcc" - "--enable-dummy" - "--disable-entropy" - "--disable-hif" - "--disable-pisi" - "--disable-poldek" - "--disable-portage" - "--disable-ports" - "--disable-katja" - "--disable-urpmi" - "--disable-yum" - "--disable-zypp" - ]; + "--disable-introspection" + "--disable-offline-update" + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-dbus-sys=$(out)/etc/dbus-1/system.d" + "--with-systemdsystemunitdir=$(out)/lib/systemd/system/" + ] + ++ optional (!enableBashCompletion) "--disable-bash-completion" + ++ optional (!enableCommandNotFound) "--disable-command-not-found"; enableParallelBuilding = true; - preInstall = '' - # Don't install anything to e.g. $out/var/cache: - for dir in src data; do - substituteInPlace $dir/Makefile \ - --replace " install-data-hook" "" \ - --replace " install-databaseDATA" "" - done - ''; + installFlags = [ + "sysconfdir=\${out}/etc" + "localstatedir=\${TMPDIR}" + ]; - meta = with stdenv.lib; { + meta = { description = "System to facilitate installing and updating packages"; longDescription = '' PackageKit is a system designed to make installing and updating software diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b056fa69990..37d0b23f45a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2877,7 +2877,9 @@ in p7zip = callPackage ../tools/archivers/p7zip { }; - packagekit = callPackage ../tools/package-management/packagekit { }; + packagekit = callPackage ../tools/package-management/packagekit { + nix = nixUnstable; + }; pal = callPackage ../tools/misc/pal { }; From 4d4746e43610f3a37223a66b9a48087962883266 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 16 Jun 2016 19:19:12 +0000 Subject: [PATCH 012/222] gnome3.18: use packagekit bindings for gnome-software - init gnome-software for gnome3 at 3.18.3 - list gnome-software as an "optional package" for gnome3 - enable packagekit service when gnome3 is enabled --- .../services/x11/desktop-managers/gnome3.nix | 1 + pkgs/desktops/gnome-3/3.18/default.nix | 4 ++- .../3.18/misc/gnome-software/default.nix | 31 +++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 pkgs/desktops/gnome-3/3.18/misc/gnome-software/default.nix diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 27ec65c3d8e..051c99dcb9f 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -121,6 +121,7 @@ in { services.upower.enable = config.powerManagement.enable; services.dbus.packages = mkIf config.services.printing.enable [ pkgs.system-config-printer ]; services.colord.enable = mkDefault true; + services.packagekit.enable = mkDefault true; hardware.bluetooth.enable = mkDefault true; fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell_fonts ]; diff --git a/pkgs/desktops/gnome-3/3.18/default.nix b/pkgs/desktops/gnome-3/3.18/default.nix index d0a113ff0a4..2990ad82a84 100644 --- a/pkgs/desktops/gnome-3/3.18/default.nix +++ b/pkgs/desktops/gnome-3/3.18/default.nix @@ -35,7 +35,7 @@ let gnome-clocks gnome-music gnome-tweak-tool gnome-photos nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool - gnome-getting-started-docs + gnome-getting-started-docs gnome-software ]; gamesPackages = with gnome3; [ swell-foop lightsoff iagno @@ -390,6 +390,8 @@ let gnome-video-effects = callPackage ./misc/gnome-video-effects { }; + gnome-software = callPackage ./misc/gnome-software { }; + }; in self; # pkgsFun diff --git a/pkgs/desktops/gnome-3/3.18/misc/gnome-software/default.nix b/pkgs/desktops/gnome-3/3.18/misc/gnome-software/default.nix new file mode 100644 index 00000000000..424f6a4f541 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.18/misc/gnome-software/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gnome3, wrapGAppsHook, packagekit +, appstream-glib, libsoup, polkit, attr, acl, libyaml, isocodes }: + +stdenv.mkDerivation rec { + name = "gnome-software-${version}"; + version = "3.18.3"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-software/3.18/${name}.tar.xz"; + sha256 = "0ywvjmn0cwr4kv2l6ic80ac7js7hpsp3g127cj7h256iaqgsaxnc"; + }; + + nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ]; + buildInputs = [ gnome3.gtk packagekit appstream-glib libsoup + gnome3.gsettings_desktop_schemas gnome3.gnome_desktop + polkit attr acl libyaml ]; + propogatedBuildInputs = [ isocodes ]; + + postInstall = '' + mkdir -p $out/share/xml/ + ln -s ${isocodes}/share/xml/iso-codes $out/share/xml/iso-codes + ''; + + meta = with stdenv.lib; { + homepage = https://www.freedesktop.org/software/PackageKit/; + platforms = platforms.linux; + maintainers = gnome3.maintainers; + license = licenses.gpl2; + description = "GNOME Software lets you install and update applications and system extensions."; + }; +} From 2b1a00cf017ec0daf95644f167cea3a5723d319d Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 16 Jun 2016 19:19:21 +0000 Subject: [PATCH 013/222] gnome-packagekit: init at 3.18.0 - provides useful tools for searching package - included in gnome3 as an optional package --- pkgs/desktops/gnome-3/3.18/default.nix | 14 +++++----- .../3.18/misc/gnome-packagekit/default.nix | 26 +++++++++++++++++++ 2 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 pkgs/desktops/gnome-3/3.18/misc/gnome-packagekit/default.nix diff --git a/pkgs/desktops/gnome-3/3.18/default.nix b/pkgs/desktops/gnome-3/3.18/default.nix index 2990ad82a84..78a892ebe3f 100644 --- a/pkgs/desktops/gnome-3/3.18/default.nix +++ b/pkgs/desktops/gnome-3/3.18/default.nix @@ -3,7 +3,7 @@ let pkgsFun = overrides: - let + let self = self_ // overrides; self_ = with self; { @@ -35,7 +35,7 @@ let gnome-clocks gnome-music gnome-tweak-tool gnome-photos nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool - gnome-getting-started-docs gnome-software + gnome-getting-started-docs gnome-software gnome-packagekit ]; gamesPackages = with gnome3; [ swell-foop lightsoff iagno @@ -79,7 +79,7 @@ let dconf = callPackage ./core/dconf { }; dconf-editor = callPackage ./core/dconf-editor { }; - empathy = callPackage ./core/empathy { + empathy = callPackage ./core/empathy { webkitgtk = webkitgtk24x; clutter-gst = pkgs.clutter-gst; }; @@ -360,13 +360,13 @@ let california = callPackage ./misc/california { }; - geary = callPackage ./misc/geary { + geary = callPackage ./misc/geary { webkitgtk = webkitgtk24x; }; gfbgraph = callPackage ./misc/gfbgraph { }; - gitg = callPackage ./misc/gitg { + gitg = callPackage ./misc/gitg { webkitgtk = webkitgtk24x; }; @@ -383,7 +383,7 @@ let gpaste = callPackage ./misc/gpaste { }; pidgin-im-gnome-shell-extension = callPackage ./misc/pidgin { }; - + gtkhtml = callPackage ./misc/gtkhtml { }; pomodoro = callPackage ./misc/pomodoro { }; @@ -392,6 +392,8 @@ let gnome-software = callPackage ./misc/gnome-software { }; + gnome-packagekit = callPackage ./misc/gnome-packagekit { }; + }; in self; # pkgsFun diff --git a/pkgs/desktops/gnome-3/3.18/misc/gnome-packagekit/default.nix b/pkgs/desktops/gnome-3/3.18/misc/gnome-packagekit/default.nix new file mode 100644 index 00000000000..99cf939fb50 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.18/misc/gnome-packagekit/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gnome3, libxslt, packagekit +, fontconfig, libcanberra_gtk3, libnotify, wrapGAppsHook, dbus_glib, dbus_libs }: + +stdenv.mkDerivation rec { + name = "gnome-packagekit-${version}"; + version = "3.18.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-packagekit/3.18/${name}.tar.xz"; + sha256 = "0a7ww807b77yjf6l8s2ycpxx813lyncwaxq227jckphazpq65a50"; + }; + + NIX_CFLAGS_COMPILE = "-I${dbus_glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0"; + + nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ]; + buildInputs = [ libxslt gnome3.gtk packagekit fontconfig + libcanberra_gtk3 libnotify dbus_glib dbus_libs ]; + + meta = with stdenv.lib; { + homepage = https://www.freedesktop.org/software/PackageKit/; + platforms = platforms.linux; + maintainers = gnome3.maintainers; + license = licenses.gpl2; + description = "Tools for installing software on the GNOME desktop using PackageKit"; + }; +} From 10fb8469899cc2b075affa3afd0ae8e797ba9c15 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 16 Jun 2016 19:19:40 +0000 Subject: [PATCH 014/222] packagekit: add myself as maintainer --- pkgs/tools/package-management/packagekit/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix index a56d3f6aebc..dbac7be10d7 100644 --- a/pkgs/tools/package-management/packagekit/default.nix +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -63,6 +63,6 @@ stdenv.mkDerivation rec { homepage = http://www.packagekit.org/; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ nckx ]; + maintainers = with maintainers; [ nckx matthewbauer ]; }; } From e7cd45b6e6c034693bc4aac173a01dbc7c7db64c Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 16 Jun 2016 19:19:49 +0000 Subject: [PATCH 015/222] gnome3.20: add gnome-packagekit, gnome-software Previously the two were just in gnome-3.18. This adds them as optionalPackages in gnome3.20. --- .../3.20/core/gnome-software/default.nix | 27 +++++++++++++++++++ .../gnome-3/3.20/core/gnome-software/src.nix | 10 +++++++ pkgs/desktops/gnome-3/3.20/default.nix | 12 ++++++--- .../3.20/misc/gnome-packagekit/default.nix | 20 ++++++++++++++ .../3.20/misc/gnome-packagekit/src.nix | 10 +++++++ 5 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 pkgs/desktops/gnome-3/3.20/core/gnome-software/default.nix create mode 100644 pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix create mode 100644 pkgs/desktops/gnome-3/3.20/misc/gnome-packagekit/default.nix create mode 100644 pkgs/desktops/gnome-3/3.20/misc/gnome-packagekit/src.nix diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-software/default.nix new file mode 100644 index 00000000000..e05a28fcd8d --- /dev/null +++ b/pkgs/desktops/gnome-3/3.20/core/gnome-software/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gnome3, wrapGAppsHook, packagekit +, appstream-glib, libsoup, polkit, attr, acl, libyaml, isocodes, gtkspell3 +, json_glib }: + +stdenv.mkDerivation rec { + inherit (import ./src.nix fetchurl) name src; + + nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ]; + buildInputs = [ gnome3.gtk packagekit appstream-glib libsoup + gnome3.gsettings_desktop_schemas gnome3.gnome_desktop + gtkspell3 json_glib + polkit attr acl libyaml ]; + propogatedBuildInputs = [ isocodes ]; + + postInstall = '' + mkdir -p $out/share/xml/ + ln -s ${isocodes}/share/xml/iso-codes $out/share/xml/iso-codes + ''; + + meta = with stdenv.lib; { + homepage = https://www.freedesktop.org/software/PackageKit/; + platforms = platforms.linux; + maintainers = gnome3.maintainers; + license = licenses.gpl2; + description = "GNOME Software lets you install and update applications and system extensions."; + }; +} diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix new file mode 100644 index 00000000000..4d377903cc1 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix @@ -0,0 +1,10 @@ +# Autogenerated by maintainers/scripts/gnome.sh update + +fetchurl: { + name = "gnome-software-3.20.0"; + + src = fetchurl { + url = mirror://gnome/sources/gnome-software/3.20/gnome-software-3.20.0.tar.xz; + sha256 = "0w0bp29fm13a235gq8vylihzjfxx20ri46w4w2syaw0cixxihbix"; + }; +} diff --git a/pkgs/desktops/gnome-3/3.20/default.nix b/pkgs/desktops/gnome-3/3.20/default.nix index 4e00db3962e..317b9fc13ce 100644 --- a/pkgs/desktops/gnome-3/3.20/default.nix +++ b/pkgs/desktops/gnome-3/3.20/default.nix @@ -3,7 +3,7 @@ let pkgsFun = overrides: - let + let self = self_ // overrides; self_ = with self; { @@ -35,7 +35,7 @@ let gnome-clocks gnome-music gnome-tweak-tool gnome-photos nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool - gnome-getting-started-docs + gnome-getting-started-docs gnome-packagekit gnome-software ]; gamesPackages = with gnome3; [ swell-foop lightsoff iagno @@ -149,6 +149,8 @@ let gnome_settings_daemon = callPackage ./core/gnome-settings-daemon { }; + gnome-software = callPackage ./core/gnome-software { }; + gnome-system-log = callPackage ./core/gnome-system-log { }; gnome-system-monitor = callPackage ./core/gnome-system-monitor { }; @@ -359,13 +361,13 @@ let california = callPackage ./misc/california { }; - geary = callPackage ./misc/geary { + geary = callPackage ./misc/geary { webkitgtk = webkitgtk24x; }; gfbgraph = callPackage ./misc/gfbgraph { }; - gitg = callPackage ./misc/gitg { + gitg = callPackage ./misc/gitg { webkitgtk = webkitgtk24x; }; @@ -391,6 +393,8 @@ let gnome-video-effects = callPackage ./misc/gnome-video-effects { }; + gnome-packagekit = callPackage ./misc/gnome-packagekit { }; + }; in self; # pkgsFun diff --git a/pkgs/desktops/gnome-3/3.20/misc/gnome-packagekit/default.nix b/pkgs/desktops/gnome-3/3.20/misc/gnome-packagekit/default.nix new file mode 100644 index 00000000000..ee3dd60e59a --- /dev/null +++ b/pkgs/desktops/gnome-3/3.20/misc/gnome-packagekit/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gnome3, libxslt, packagekit +, fontconfig, libcanberra_gtk3, libnotify, wrapGAppsHook, dbus_glib, dbus_libs }: + +stdenv.mkDerivation rec { + inherit (import ./src.nix fetchurl) name src; + + NIX_CFLAGS_COMPILE = "-I${dbus_glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0"; + + nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ]; + buildInputs = [ libxslt gnome3.gtk packagekit fontconfig + libcanberra_gtk3 libnotify dbus_glib dbus_libs ]; + + meta = with stdenv.lib; { + homepage = https://www.freedesktop.org/software/PackageKit/; + platforms = platforms.linux; + maintainers = gnome3.maintainers; + license = licenses.gpl2; + description = "Tools for installing software on the GNOME desktop using PackageKit"; + }; +} diff --git a/pkgs/desktops/gnome-3/3.20/misc/gnome-packagekit/src.nix b/pkgs/desktops/gnome-3/3.20/misc/gnome-packagekit/src.nix new file mode 100644 index 00000000000..71de360f24f --- /dev/null +++ b/pkgs/desktops/gnome-3/3.20/misc/gnome-packagekit/src.nix @@ -0,0 +1,10 @@ +# Autogenerated by maintainers/scripts/gnome.sh update + +fetchurl: { + name = "gnome-packagekit-3.20.0"; + + src = fetchurl { + url = mirror://gnome/sources/gnome-packagekit/3.20/gnome-packagekit-3.20.0.tar.xz; + sha256 = "0wf5r0qrdlalbr73fpfaapq61vlya3nwygsv4wm2bxaf56v5sjmq"; + }; +} From eba3f92ef912b5b50ad40e20474fafa04c6e5ca7 Mon Sep 17 00:00:00 2001 From: Anders Papitto Date: Tue, 5 Jul 2016 19:17:14 -0700 Subject: [PATCH 016/222] pulseaudio: set DISPLAY --- nixos/modules/config/pulseaudio.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index a964e04531c..6984e85603f 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -161,6 +161,7 @@ in { ExecStart = "${getBin cfg.package}/bin/pulseaudio --daemonize=no"; Restart = "on-failure"; }; + environment = { DISPLAY = ":${toString config.services.xserver.display}"; }; }; sockets.pulseaudio = { From 874df3fe7006c64d494ca7c3860d6a2ce3ecf73c Mon Sep 17 00:00:00 2001 From: Anders Papitto Date: Tue, 5 Jul 2016 19:17:40 -0700 Subject: [PATCH 017/222] cgminer: respect xserver.display variable --- nixos/modules/services/misc/cgminer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/cgminer.nix b/nixos/modules/services/misc/cgminer.nix index 868dc87f723..5f97cc03414 100644 --- a/nixos/modules/services/misc/cgminer.nix +++ b/nixos/modules/services/misc/cgminer.nix @@ -126,7 +126,7 @@ in environment = { LD_LIBRARY_PATH = ''/run/opengl-driver/lib:/run/opengl-driver-32/lib''; - DISPLAY = ":0"; + DISPLAY = ":${toString config.services.xserver.display}"; GPU_MAX_ALLOC_PERCENT = "100"; GPU_USE_SYNC_OBJECTS = "1"; }; From 54fa0cfe4eef7e54e23380704af70ee7b65473ce Mon Sep 17 00:00:00 2001 From: Anders Papitto Date: Tue, 5 Jul 2016 19:18:00 -0700 Subject: [PATCH 018/222] redshift: respect xserver.display variable --- nixos/modules/services/x11/redshift.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix index 8f1e317e52b..63ffa29c199 100644 --- a/nixos/modules/services/x11/redshift.nix +++ b/nixos/modules/services/x11/redshift.nix @@ -108,7 +108,7 @@ in { RestartSec = 3; Restart = "always"; }; - environment = { DISPLAY = ":0"; }; + environment = { DISPLAY = ":${toString config.services.xserver.display}"; }; }; }; From 49879fa96b91d64e3c1a77ffe9665c65df24e332 Mon Sep 17 00:00:00 2001 From: Anders Papitto Date: Tue, 5 Jul 2016 19:18:21 -0700 Subject: [PATCH 019/222] unclutter: respect xserver.display variable --- nixos/modules/services/x11/unclutter.nix | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/nixos/modules/services/x11/unclutter.nix b/nixos/modules/services/x11/unclutter.nix index 3260fdb3d54..ebc195d108d 100644 --- a/nixos/modules/services/x11/unclutter.nix +++ b/nixos/modules/services/x11/unclutter.nix @@ -39,12 +39,6 @@ in { default = 1; }; - displayName = mkOption { - description = "Name of the X11 display"; - type = types.str; - default = ":0"; - }; - excluded = mkOption { description = "Names of windows where unclutter should not apply"; type = types.listOf types.str; @@ -67,7 +61,7 @@ in { serviceConfig.ExecStart = '' ${cfg.package}/bin/unclutter \ -idle ${toString cfg.timeout} \ - -display ${cfg.displayName} \ + -display :${toString config.services.xserver.display} \ -jitter ${toString (cfg.threeshold - 1)} \ ${optionalString cfg.keystroke "-keystroke"} \ ${concatMapStrings (x: " -"+x) cfg.extraOptions} \ From 0f6c79d561f45a58d4e278a4cf969dc5f657045a Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sun, 3 Jul 2016 17:09:12 -0300 Subject: [PATCH 020/222] pekwm: init at 0.1.17 --- .../services/x11/window-managers/default.nix | 1 + .../services/x11/window-managers/pekwm.nix | 25 ++++++++++++ .../window-managers/pekwm/default.nix | 39 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 67 insertions(+) create mode 100644 nixos/modules/services/x11/window-managers/pekwm.nix create mode 100644 pkgs/applications/window-managers/pekwm/default.nix diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index fce71bbda7e..94f1aa3add7 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -19,6 +19,7 @@ in ./jwm.nix ./metacity.nix ./openbox.nix + ./pekwm.nix ./notion.nix ./ratpoison.nix ./sawfish.nix diff --git a/nixos/modules/services/x11/window-managers/pekwm.nix b/nixos/modules/services/x11/window-managers/pekwm.nix new file mode 100644 index 00000000000..850335ce7dd --- /dev/null +++ b/nixos/modules/services/x11/window-managers/pekwm.nix @@ -0,0 +1,25 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.windowManager.pekwm; +in +{ + ###### interface + options = { + services.xserver.windowManager.pekwm.enable = mkEnableOption "pekwm"; + }; + + ###### implementation + config = mkIf cfg.enable { + services.xserver.windowManager.session = singleton { + name = "pekwm"; + start = '' + ${pkgs.pekwm}/bin/pekwm & + waitPID=$! + ''; + }; + environment.systemPackages = [ pkgs.pekwm ]; + }; +} diff --git a/pkgs/applications/window-managers/pekwm/default.nix b/pkgs/applications/window-managers/pekwm/default.nix new file mode 100644 index 00000000000..60753e46840 --- /dev/null +++ b/pkgs/applications/window-managers/pekwm/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, pkgconfig +, libpng, libjpeg +, libXext, libXft, libXpm, libXrandr, libXinerama }: + +stdenv.mkDerivation rec { + + name = "pekwm-${version}"; + version = "0.1.17"; + + src = fetchurl { + url = "https://www.pekwm.org/projects/pekwm/files/${name}.tar.bz2"; + sha256 = "003x6bxj1lb2ljxz3v414bn0rdl6z68c0r185fxwgs1qkyzx67wa"; + }; + + buildInputs = [ pkgconfig libpng libjpeg + libXext libXft libXpm libXrandr libXinerama ]; + + meta = with stdenv.lib; { + description = "A lightweight window manager"; + longDescription = '' + pekwm is a window manager that once upon a time was based on the + aewm++ window manager, but it has evolved enough that it no + longer resembles aewm++ at all. It has a much expanded + feature-set, including window grouping (similar to ion, pwm, or + fluxbox), autoproperties, xinerama, keygrabber that supports + keychains, and much more. + - Lightweight and Unobtrusive, a window manager shouldn't be + noticed. + - Very configurable, we all work and think in different ways. + - Automatic properties, for all the lazy people, make things + appear as they should when starting applications. + - Chainable Keygrabber, usability for everyone. + ''; + homepage = https://www.pekwm.org; + license = licenses.gpl2; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b7c8549faf8..a109cc0eada 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13969,6 +13969,8 @@ in pcsx2 = callPackage_i686 ../misc/emulators/pcsx2 { }; + pekwm = callPackage ../applications/window-managers/pekwm { }; + pencil = callPackage ../applications/graphics/pencil { xulrunner = firefox-unwrapped; }; From d3d7f43f762062c03aa083aeaa7cf868246e4e51 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Tue, 12 Jul 2016 11:52:33 -0500 Subject: [PATCH 021/222] sysstat: Create systemd service for historical sar data Every period, sa1 collects and stores data. Every 24 hours, sa2 aggregates the previous day's data in to a report. Timers and unit configurations were lifted from Fedora's default units. --- nixos/modules/services/monitoring/sysstat.nix | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 nixos/modules/services/monitoring/sysstat.nix diff --git a/nixos/modules/services/monitoring/sysstat.nix b/nixos/modules/services/monitoring/sysstat.nix new file mode 100644 index 00000000000..d668faa53cc --- /dev/null +++ b/nixos/modules/services/monitoring/sysstat.nix @@ -0,0 +1,80 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.sysstat; +in { + options = { + services.sysstat = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable sar system activity collection. + ''; + }; + + collect-frequency = mkOption { + default = "*:00/10"; + description = '' + OnCalendar specification for sysstat-collect + ''; + }; + + collect-args = mkOption { + default = "1 1"; + description = '' + Arguments to pass sa1 when collecting statistics + ''; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.sysstat = { + description = "Resets System Activity Logs"; + wantedBy = [ "multi-user.target" ]; + preStart = "test -d /var/log/sa || mkdir -p /var/log/sa"; + + serviceConfig = { + User = "root"; + RemainAfterExit = true; + Type = "oneshot"; + ExecStart = "${pkgs.sysstat}/lib/sa/sa1 --boot"; + }; + }; + + systemd.services.sysstat-collect = { + description = "system activity accounting tool"; + unitConfig.Documentation = "man:sa1(8)"; + + serviceConfig = { + Type = "oneshot"; + User = "root"; + ExecStart = "${pkgs.sysstat}/lib/sa/sa1 ${cfg.collect-args}"; + }; + }; + + systemd.timers.sysstat-collect = { + description = "Run system activity accounting tool on a regular basis"; + wantedBy = [ "timers.target" ]; + timerConfig.OnCalendar = cfg.collect-frequency; + }; + + systemd.services.sysstat-summary = { + description = "Generate a daily summary of process accounting"; + unitConfig.Documentation = "man:sa2(8)"; + + serviceConfig = { + Type = "oneshot"; + User = "root"; + ExecStart = "${pkgs.sysstat}/lib/sa/sa2 -A"; + }; + }; + + systemd.timers.sysstat-summary = { + description = "Generate summary of yesterday's process accounting"; + wantedBy = [ "timers.target" ]; + timerConfig.OnCalendar = "00:07:00"; + }; + }; +} From f76e5ab0cf0aa28e437a6b1c4aef4a85d2901b73 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 27 Jun 2016 21:29:12 +0000 Subject: [PATCH 022/222] travis: split build into matrix of 3 This adds a 3rd matrix to be built by Travis. The new matrix "checks" the NixPkgs evaluation so the other 2 can save their resources for building. Hopefully, this will lead to less "out of space" errors that seem to be happening with Travis. Also adds folding. --- .travis.yml | 16 ++- maintainers/scripts/travis-nox-review-pr.sh | 115 +++++++++++--------- 2 files changed, 75 insertions(+), 56 deletions(-) diff --git a/.travis.yml b/.travis.yml index f29f71aa19f..e8994ca7b2e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,20 @@ matrix: - allow_failures: - - os: osx include: - os: linux language: generic sudo: required dist: trusty + script: + - ./maintainers/scripts/travis-nox-review-pr.sh verify + - ./maintainers/scripts/travis-nox-review-pr.sh check + - ./maintainers/scripts/travis-nox-review-pr.sh tarball + - os: linux + language: generic + sudo: required + dist: trusty + script: ./maintainers/scripts/travis-nox-review-pr.sh pr - os: osx language: generic osx_image: xcode7.3 -before_install: ./maintainers/scripts/travis-nox-review-pr.sh nix -install: ./maintainers/scripts/travis-nox-review-pr.sh nox -script: ./maintainers/scripts/travis-nox-review-pr.sh build + script: ./maintainers/scripts/travis-nox-review-pr.sh pr +install: ./maintainers/scripts/travis-nox-review-pr.sh install diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh index 092fc0cd9d0..025b27528e9 100755 --- a/maintainers/scripts/travis-nox-review-pr.sh +++ b/maintainers/scripts/travis-nox-review-pr.sh @@ -1,58 +1,71 @@ #! /usr/bin/env bash set -e +# This should make Curl silent +# but download-from-binary-cache doesn't respect export NIX_CURL_FLAGS=-sS -if [[ $1 == nix ]]; then - echo "=== Installing Nix..." - # Install Nix - bash <(curl -sS https://nixos.org/nix/install) +if [ -d $HOME/.nix-profile ]; then source $HOME/.nix-profile/etc/profile.d/nix.sh - - # Make sure we can use hydra's binary cache - sudo mkdir /etc/nix - sudo sh -c 'echo "build-max-jobs = 4" > /etc/nix/nix.conf' - - # Verify evaluation - echo "=== Verifying that nixpkgs evaluates..." - nix-env -f. -qa --json >/dev/null -elif [[ $1 == nox ]]; then - source $HOME/.nix-profile/etc/profile.d/nix.sh - echo "=== Installing nox..." - nix-build -A nox '' --show-trace -elif [[ $1 == build ]]; then - source $HOME/.nix-profile/etc/profile.d/nix.sh - - if [[ $TRAVIS_OS_NAME == "osx" ]]; then - echo "Skipping NixOS things on darwin" - else - # Nix builds in /tmp and we need exec support - sudo mount -o remount,exec /run - sudo mount -o remount,exec /run/user - sudo mount - - echo "=== Checking NixOS options" - nix-build nixos/release.nix -A options --show-trace - - echo "=== Checking tarball creation" - nix-build pkgs/top-level/release.nix -A tarball --show-trace - fi - - if [[ $TRAVIS_PULL_REQUEST == false ]]; then - echo "=== Not a pull request" - else - echo "=== Checking PR" - - if ! nix-shell -p nox --run "nox-review pr ${TRAVIS_PULL_REQUEST}"; then - if sudo dmesg | egrep 'Out of memory|Killed process' > /tmp/oom-log; then - echo "=== The build failed due to running out of memory:" - cat /tmp/oom-log - echo "=== Please disregard the result of this Travis build." - fi - exit 1 - fi - fi -else - echo "$0: Unknown option $1" >&2 - false fi + +while test -n "$1"; do + + # tell Travis to use folding + echo -en "travis_fold:start:$1\r" + + case $1 in + + install) + echo "=== Installing Nix..." + + curl -sS https://nixos.org/nix/install | sh + + # Make sure we can use hydra's binary cache + sudo mkdir /etc/nix + echo "build-max-jobs = 4" | sudo tee /etc/nix/nix.conf > /dev/null + + # Make sure we can execute within /tmp in Linux + if [ "$TRAVIS_OS_NAME" == "linux" ]; then + sudo mount -o remount,exec /run + sudo mount -o remount,exec /run/user + sudo mount > /dev/null + fi + ;; + + verify) + echo "=== Verifying that nixpkgs evaluates..." + + nix-env --file $TRAVIS_BUILD_DIR --query --available --json > /dev/null + ;; + + check) + echo "=== Checking NixOS options" + + nix-build $TRAVIS_BUILD_DIR/nixos/release.nix --attr options --show-trace + ;; + + tarball) + echo "=== Checking tarball creation" + + nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr tarball --show-trace + ;; + + pr) + if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then + echo "=== No pull request found" + else + echo "=== Building pull request #$TRAVIS_PULL_REQUEST" + + nix-shell --packages nox git --run "nox-review pr $TRAVIS_PULL_REQUEST" -I nixpkgs=$TRAVIS_BUILD_DIR + fi + ;; + + *) + echo "Skipping unknown option $1" + ;; + esac + + echo -en "travis_fold:end:$1\r" + shift +done From 3c0fdefd8470878242d8c119952918e171be590c Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 29 Jun 2016 21:04:44 +0000 Subject: [PATCH 023/222] travis: only fetch top commit This will make travis only fetch the top level commit instead of fetching the top 50 (default). Nox should be able fetch other commits on an as-needed basis. --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index e8994ca7b2e..a70bf4a4408 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,3 +18,5 @@ matrix: osx_image: xcode7.3 script: ./maintainers/scripts/travis-nox-review-pr.sh pr install: ./maintainers/scripts/travis-nox-review-pr.sh install +git: + depth: 1 From 95b28da35365c51ff1673baca9469b7f74a5bcf0 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 30 Jun 2016 21:23:55 +0000 Subject: [PATCH 024/222] travis: use community supported language Switch to the "community supported" Nix version of Travis. --- .travis.yml | 8 ++----- maintainers/scripts/travis-nox-review-pr.sh | 25 --------------------- 2 files changed, 2 insertions(+), 31 deletions(-) diff --git a/.travis.yml b/.travis.yml index a70bf4a4408..3e2a506c3b5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,22 +1,18 @@ +language: nix matrix: include: - os: linux - language: generic - sudo: required - dist: trusty + sudo: false script: - ./maintainers/scripts/travis-nox-review-pr.sh verify - ./maintainers/scripts/travis-nox-review-pr.sh check - ./maintainers/scripts/travis-nox-review-pr.sh tarball - os: linux - language: generic sudo: required dist: trusty script: ./maintainers/scripts/travis-nox-review-pr.sh pr - os: osx - language: generic osx_image: xcode7.3 script: ./maintainers/scripts/travis-nox-review-pr.sh pr -install: ./maintainers/scripts/travis-nox-review-pr.sh install git: depth: 1 diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh index 025b27528e9..791a50b0ae8 100755 --- a/maintainers/scripts/travis-nox-review-pr.sh +++ b/maintainers/scripts/travis-nox-review-pr.sh @@ -1,14 +1,6 @@ #! /usr/bin/env bash set -e -# This should make Curl silent -# but download-from-binary-cache doesn't respect -export NIX_CURL_FLAGS=-sS - -if [ -d $HOME/.nix-profile ]; then - source $HOME/.nix-profile/etc/profile.d/nix.sh -fi - while test -n "$1"; do # tell Travis to use folding @@ -16,23 +8,6 @@ while test -n "$1"; do case $1 in - install) - echo "=== Installing Nix..." - - curl -sS https://nixos.org/nix/install | sh - - # Make sure we can use hydra's binary cache - sudo mkdir /etc/nix - echo "build-max-jobs = 4" | sudo tee /etc/nix/nix.conf > /dev/null - - # Make sure we can execute within /tmp in Linux - if [ "$TRAVIS_OS_NAME" == "linux" ]; then - sudo mount -o remount,exec /run - sudo mount -o remount,exec /run/user - sudo mount > /dev/null - fi - ;; - verify) echo "=== Verifying that nixpkgs evaluates..." From 2892bbd07a909feb928ed5f61d1705adff4f279a Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 4 Jul 2016 12:32:45 -0500 Subject: [PATCH 025/222] travis: support nox 0.0.4 arguments This adds the "slug" arguments and also the "token" argument. The slug argument provides the "owner_name/repo_name" format base repo to use for the pull request. The token argument provides the GitHub presonal access token to use for the requests to the GitHub API. --- maintainers/scripts/travis-nox-review-pr.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh index 791a50b0ae8..a992311436c 100755 --- a/maintainers/scripts/travis-nox-review-pr.sh +++ b/maintainers/scripts/travis-nox-review-pr.sh @@ -32,7 +32,12 @@ while test -n "$1"; do else echo "=== Building pull request #$TRAVIS_PULL_REQUEST" - nix-shell --packages nox git --run "nox-review pr $TRAVIS_PULL_REQUEST" -I nixpkgs=$TRAVIS_BUILD_DIR + token="" + if [ -n "$GITHUB_TOKEN" ]; then + token="--token $GITHUB_TOKEN" + fi + + nix-shell --packages nox git --run "nox-review pr --slug $TRAVIS_REPO_SLUG $token $TRAVIS_PULL_REQUEST" -I nixpkgs=$TRAVIS_BUILD_DIR fi ;; From d40066b49bed6792b2911d4503f2ab49e37e005d Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 4 Jul 2016 12:39:35 -0500 Subject: [PATCH 026/222] travis: set GITHUB_TOKEN variable in .travis.yml This should allow for more builds per hour and less errors from nox-review. --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 3e2a506c3b5..e3386d5a6c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,3 +16,6 @@ matrix: script: ./maintainers/scripts/travis-nox-review-pr.sh pr git: depth: 1 +env: + global: + - GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f From 5282a336a4cda925f1e1d213702c3c31e2b3bcee Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 7 Jul 2016 19:18:42 +0000 Subject: [PATCH 027/222] travis: build manuals to verify that they work fixes #15109 --- .travis.yml | 5 ++--- maintainers/scripts/travis-nox-review-pr.sh | 20 ++++++++++++++++---- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index e3386d5a6c2..07e8006aa9a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,9 +4,8 @@ matrix: - os: linux sudo: false script: - - ./maintainers/scripts/travis-nox-review-pr.sh verify - - ./maintainers/scripts/travis-nox-review-pr.sh check - - ./maintainers/scripts/travis-nox-review-pr.sh tarball + - ./maintainers/scripts/travis-nox-review-pr.sh nixpkgs-verify nixpkgs-manual nixpkgs-tarball + - ./maintainers/scripts/travis-nox-review-pr.sh nixos-options nixos-manual - os: linux sudo: required dist: trusty diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh index a992311436c..35ac3d44304 100755 --- a/maintainers/scripts/travis-nox-review-pr.sh +++ b/maintainers/scripts/travis-nox-review-pr.sh @@ -8,20 +8,32 @@ while test -n "$1"; do case $1 in - verify) + nixpkgs-verify) echo "=== Verifying that nixpkgs evaluates..." nix-env --file $TRAVIS_BUILD_DIR --query --available --json > /dev/null ;; - check) + nixos-options) echo "=== Checking NixOS options" nix-build $TRAVIS_BUILD_DIR/nixos/release.nix --attr options --show-trace ;; - tarball) - echo "=== Checking tarball creation" + nixos-manual) + echo "=== Checking NixOS manuals" + + nix-build $TRAVIS_BUILD_DIR/nixos/release.nix --attr manual --show-trace + ;; + + nixpkgs-manual) + echo "=== Checking nixpkgs manuals" + + nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr manpages --show-trace + ;; + + nixpkgs-tarball) + echo "=== Checking nixpkgs tarball creation" nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr tarball --show-trace ;; From 7c37ac0edd999b2eb34fc91c2f91050e390ccaa2 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 7 Jul 2016 20:07:01 +0000 Subject: [PATCH 028/222] travis: run nixpkgs-lint in build script This will run nixpkgs-lint for each travis build. We'll disable "nixpkgs-lint" for now, it was a little too verbose: https://travis-ci.org/NixOS/nixpkgs/jobs/144290920 --- maintainers/scripts/travis-nox-review-pr.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh index 35ac3d44304..386868301a2 100755 --- a/maintainers/scripts/travis-nox-review-pr.sh +++ b/maintainers/scripts/travis-nox-review-pr.sh @@ -38,6 +38,12 @@ while test -n "$1"; do nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr tarball --show-trace ;; + nixpkgs-lint) + echo "=== Checking nixpkgs lint" + + nix-shell --packages nixpkgs-lint --run "nixpkgs-lint -f $TRAVIS_BUILD_DIR" + ;; + pr) if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo "=== No pull request found" From f51f6a36e8d52a24b93163903757ae1d12f7e887 Mon Sep 17 00:00:00 2001 From: Louis Taylor Date: Wed, 13 Jul 2016 00:22:44 +0100 Subject: [PATCH 029/222] lxc: 2.0.1 -> 2.0.3 --- pkgs/os-specific/linux/lxc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix index eda1863ec97..f15f72ca5bc 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 = "2.0.1"; + version = "2.0.3"; src = fetchurl { url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz"; - sha256 = "0l4fs6ckvip5akfa0vbjfk34ddvcv0c84mmpj9yrcfl67qwn31z9"; + sha256 = "1mp83r1v9bcxjl7a441sm6plipj8aglhnmkxczp3jinlrnh41pw2"; }; nativeBuildInputs = [ From 784b31dd9339332713e24b89d2bca524bd5fe083 Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Wed, 13 Jul 2016 17:42:23 +0300 Subject: [PATCH 030/222] uemacs: init at 2014-12-08 --- pkgs/applications/editors/uemacs/default.nix | 38 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 40 insertions(+) create mode 100644 pkgs/applications/editors/uemacs/default.nix diff --git a/pkgs/applications/editors/uemacs/default.nix b/pkgs/applications/editors/uemacs/default.nix new file mode 100644 index 00000000000..551fa67d986 --- /dev/null +++ b/pkgs/applications/editors/uemacs/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchgit, ncurses }: + +stdenv.mkDerivation rec { + name = "uemacs-${version}"; + version = "2014-12-08"; + + src = fetchgit { + url = git://git.kernel.org/pub/scm/editors/uemacs/uemacs.git; + rev = "8841922689769960fa074fbb053cb8507f2f3ed9"; + sha256 = "14yq7kpkax111cg6k7i3mnqk7sq7a65krq6qizzj7vvnm7bsj3sd"; + }; + + postPatch = '' + substituteInPlace Makefile \ + --replace "-lcurses" "-lncurses" \ + --replace "CFLAGS=-O2" "CFLAGS+=" \ + --replace "BINDIR=/usr/bin" "BINDIR=$out/bin" \ + --replace "LIBDIR=/usr/lib" "LIBDIR=$out/share/uemacs" + substituteInPlace epath.h \ + --replace "/usr/global/lib/" "$out/share/uemacs/" \ + --replace "/usr/local/bin/" "$out/bin/" \ + --replace "/usr/local/lib/" "$out/share/uemacs/" \ + --replace "/usr/local/" "$out/bin/" \ + --replace "/usr/lib/" "$out/share/uemacs/" + mkdir -p $out/bin $out/share/uemacs + ''; + + buildInputs = [ ncurses ]; + + meta = with stdenv.lib; { + homepage = https://git.kernel.org/cgit/editors/uemacs/uemacs.git; + description = "Torvalds Micro-emacs fork"; + longDescription = '' + uEmacs/PK 4.0 is a full screen editor based on MicroEMACS 3.9e + ''; + license = licenses.unfree; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cedc20c020b..63e71f8c65a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3916,6 +3916,8 @@ in udunits = callPackage ../development/libraries/udunits { }; + uemacs = callPackage ../applications/editors/uemacs { }; + uhttpmock = callPackage ../development/libraries/uhttpmock { }; uim = callPackage ../tools/inputmethods/uim { From c0656fe0c124326ea6f014d8b49fb9b0cebdffe3 Mon Sep 17 00:00:00 2001 From: Konstantin Heil Date: Thu, 14 Jul 2016 14:18:57 +0200 Subject: [PATCH 031/222] LiE: include forgotten file INFO.a by installation --- pkgs/applications/science/math/LiE/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/LiE/default.nix b/pkgs/applications/science/math/LiE/default.nix index 233f44b44cc..b448b511421 100644 --- a/pkgs/applications/science/math/LiE/default.nix +++ b/pkgs/applications/science/math/LiE/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { cp -v Lie.exe $out cp -v lie $out/bin - cp -v LEARN LEARN.ind $out - cp -v INFO.ind INFO.[0-4] $out + cp -v LEARN* $out + cp -v INFO* $out ''; } From b795186f2ee3e2ae5ca251db6d105aabeda1f554 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Fri, 15 Jul 2016 00:22:54 +0800 Subject: [PATCH 032/222] fnotifystat: init at 0.01.14 --- .../os-specific/linux/fnotifystat/default.nix | 22 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/os-specific/linux/fnotifystat/default.nix diff --git a/pkgs/os-specific/linux/fnotifystat/default.nix b/pkgs/os-specific/linux/fnotifystat/default.nix new file mode 100644 index 00000000000..5708ed7c4df --- /dev/null +++ b/pkgs/os-specific/linux/fnotifystat/default.nix @@ -0,0 +1,22 @@ +{ stdenv, lib, fetchurl }: + +stdenv.mkDerivation rec { + name = "fnotifystat-${version}"; + version = "0.01.14"; + src = fetchurl { + url = "http://kernel.ubuntu.com/~cking/tarballs/fnotifystat/fnotifystat-${version}.tar.gz"; + sha256 = "1cc3w94v8b4nfpkgr33gfzxpwaf43brqyc0fla9p70gk3hxjqzi5"; + }; + installFlags = [ "DESTDIR=$(out)" ]; + postInstall = '' + mv $out/usr/* $out + rm -r $out/usr + ''; + meta = with lib; { + description = "File activity monitoring tool"; + homepage = http://kernel.ubuntu.com/~cking/fnotifystat/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ womfoo ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e982c9c4ee7..a6228e374bf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10757,6 +10757,8 @@ in firejail = callPackage ../os-specific/linux/firejail {}; + fnotifystat = callPackage ../os-specific/linux/fnotifystat { }; + freefall = callPackage ../os-specific/linux/freefall { inherit (linuxPackages) kernel; }; From fbf41c6c7fffbcda99b9e9b388570c508be43085 Mon Sep 17 00:00:00 2001 From: Anthony Cowley Date: Thu, 14 Jul 2016 16:14:09 -0400 Subject: [PATCH 033/222] fltk: darwin compatibility --- pkgs/development/libraries/fltk/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/fltk/default.nix b/pkgs/development/libraries/fltk/default.nix index 772ea2030c2..99cb8aae323 100644 --- a/pkgs/development/libraries/fltk/default.nix +++ b/pkgs/development/libraries/fltk/default.nix @@ -1,6 +1,7 @@ { stdenv, composableDerivation, fetchurl, pkgconfig, xlibsWrapper, inputproto, libXi , freeglut, mesa, libjpeg, zlib, libXinerama, libXft, libpng , cfg ? {} +, darwin, libtiff, freetype }: let inherit (composableDerivation) edf; in @@ -21,7 +22,10 @@ composableDerivation.composableDerivation {} { ''; nativeBuildInputs = [ pkgconfig ]; - propagatedBuildInputs = [ xlibsWrapper inputproto libXi freeglut ]; + propagatedBuildInputs = [ inputproto ] + ++ (if stdenv.isDarwin + then (with darwin.apple_sdk.frameworks; [Cocoa AGL GLUT freetype libtiff]) + else [ xlibsWrapper libXi freeglut ]); enableParallelBuilding = true; @@ -55,9 +59,8 @@ composableDerivation.composableDerivation {} { meta = { description = "A C++ cross-platform lightweight GUI library"; homepage = http://www.fltk.org; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; license = stdenv.lib.licenses.gpl2; }; } - From 4af2bf66631d187d952b70fba4963e33002d1dcb Mon Sep 17 00:00:00 2001 From: John Ericson Date: Tue, 26 Apr 2016 10:53:31 -0700 Subject: [PATCH 034/222] Separate fix-point from config importing hacks and other impurities --- default.nix | 2 +- pkgs/top-level/default.nix | 19 +++---------------- pkgs/top-level/impure.nix | 24 ++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 17 deletions(-) create mode 100644 pkgs/top-level/impure.nix diff --git a/default.nix b/default.nix index c384a5bb694..8171f4149d2 100644 --- a/default.nix +++ b/default.nix @@ -6,4 +6,4 @@ if ! builtins ? nixVersion || builtins.compareVersions requiredVersion builtins. else - import ./pkgs/top-level + import ./pkgs/top-level/impure.nix diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix index 8913dc1ef59..87813571d9a 100644 --- a/pkgs/top-level/default.nix +++ b/pkgs/top-level/default.nix @@ -6,7 +6,7 @@ { # The system (e.g., `i686-linux') for which to build the packages. - system ? builtins.currentSystem + system , # The standard environment to use. Only used for bootstrapping. If # null, the default standard environment is used. @@ -19,21 +19,8 @@ && system != "x86_64-solaris" && system != "x86_64-kfreebsd-gnu") -, # Allow a configuration attribute set to be passed in as an - # argument. Otherwise, it's read from $NIXPKGS_CONFIG or - # ~/.nixpkgs/config.nix. - # - # [For NixOS (nixos-rebuild), use nixpkgs.config option to set.] - config ? let - inherit (builtins) getEnv pathExists; - - configFile = getEnv "NIXPKGS_CONFIG"; - homeDir = getEnv "HOME"; - configFile2 = homeDir + "/.nixpkgs/config.nix"; - in - if configFile != "" && pathExists configFile then import configFile - else if homeDir != "" && pathExists configFile2 then import configFile2 - else {} +, # Allow a configuration attribute set to be passed in as an argument. + config ? {} , crossSystem ? null , platform ? null diff --git a/pkgs/top-level/impure.nix b/pkgs/top-level/impure.nix new file mode 100644 index 00000000000..e9066815927 --- /dev/null +++ b/pkgs/top-level/impure.nix @@ -0,0 +1,24 @@ +/* Impure default args for `pkgs/top-level/default.nix`. See that file + for the meaning of each argument. */ + +{ # Fallback: Assume we are building packages for the current (host, in GNU + # Autotools parlance) system. + system ? builtins.currentSystem + +, # Fallback: The contents of the configuration file found at $NIXPKGS_CONFIG or + # $HOME/.nixpkgs/config.nix. + config ? let + inherit (builtins) getEnv pathExists; + + configFile = getEnv "NIXPKGS_CONFIG"; + homeDir = getEnv "HOME"; + configFile2 = homeDir + "/.nixpkgs/config.nix"; + in + if configFile != "" && pathExists configFile then import configFile + else if homeDir != "" && pathExists configFile2 then import configFile2 + else {} + +, ... +} @ args: + +import ./. (args // { inherit system config; }) From 5e685121e4befa2b5d83b991faf4221b37243531 Mon Sep 17 00:00:00 2001 From: Bryan Gardiner Date: Thu, 14 Jul 2016 18:53:52 -0700 Subject: [PATCH 035/222] hoppy, qtah: add myself as maintainer --- .../haskell-modules/configuration-hackage2nix.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml index 976baab0aa4..b213780ff4b 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml @@ -90,6 +90,14 @@ package-maintainers: khumba: - goatee - goatee-gtk + - hoppy-docs + - hoppy-generator + - hoppy-runtime + - hoppy-std + - qtah-cpp-qt5 + - qtah-examples + - qtah-generator + - qtah-qt5 psibi: - path-pieces - persistent From c4fa18b7a2f64f6aa01fb83fc80069b921c45372 Mon Sep 17 00:00:00 2001 From: J Phani Mahesh Date: Fri, 15 Jul 2016 13:20:35 +0530 Subject: [PATCH 036/222] mirrors: add downloads.sourceforge.net downloads.sourceforge.net is the official way to download tarballs from SourceForge. However, it is reported as unreliable due to SF's weird load balancing system. This commit gives the official mirror utmost priority, and will use other configured mirrors (which may be temporary) as a fallback only when the official one can't be reached/download fails/hangs. References: NixOs/nixpkgs#16900 --- pkgs/build-support/fetchurl/mirrors.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index d97ecb32be5..68244a43e58 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -10,6 +10,7 @@ rec { # SourceForge. sourceforge = [ + http://downloads.sourceforge.net/ http://prdownloads.sourceforge.net/ http://heanet.dl.sourceforge.net/sourceforge/ http://surfnet.dl.sourceforge.net/sourceforge/ From 3d4a32835e831bd9b8aa40edeb24392bb50b0b54 Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Fri, 15 Jul 2016 10:44:04 +0200 Subject: [PATCH 037/222] scalafmt: 0.2.5 -> 0.2.11 --- pkgs/development/tools/scalafmt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix index 0a4855bdcb8..e434f381067 100644 --- a/pkgs/development/tools/scalafmt/default.nix +++ b/pkgs/development/tools/scalafmt/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, unzip, jre }: stdenv.mkDerivation rec { - version = "0.2.5"; + version = "0.2.11"; baseName = "scalafmt"; name = "${baseName}-${version}"; src = fetchurl { url = "https://github.com/olafurpg/scalafmt/releases/download/v${version}/${baseName}.tar.gz"; - sha256 = "07l95xdwgdbdfa91pg1sds82aw3c60gxzdcvdhhhk6a7zwrl73cp"; + sha256 = "044n00mhrdxij1kc8wplvni7pf8lnninxrsm9v41gicbk73cm2q8"; }; unpackPhase = "tar xvzf $src"; From 88154e2877c1f85029894507deb20e51d07069b1 Mon Sep 17 00:00:00 2001 From: Hans-Christian Esperer Date: Wed, 13 Jul 2016 19:24:18 +0200 Subject: [PATCH 038/222] commandergenius: init at 194beta --- lib/maintainers.nix | 1 + pkgs/games/commandergenius/default.nix | 54 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 57 insertions(+) create mode 100644 pkgs/games/commandergenius/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 3d83a0a3a1c..a3540deb407 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -163,6 +163,7 @@ guibert = "David Guibert "; havvy = "Ryan Scheel "; hbunke = "Hendrik Bunke "; + hce = "Hans-Christian Esperer "; henrytill = "Henry Till "; hiberno = "Christian Lask "; hinton = "Tom Hinton "; diff --git a/pkgs/games/commandergenius/default.nix b/pkgs/games/commandergenius/default.nix new file mode 100644 index 00000000000..007167dc696 --- /dev/null +++ b/pkgs/games/commandergenius/default.nix @@ -0,0 +1,54 @@ +{ lib, stdenv, fetchFromGitHub, SDL2, SDL2_image, pkgconfig +, libvorbis, libogg, mesa, boost, curl, zlib, cmake }: + + +stdenv.mkDerivation rec { + name = "commandergenius-${version}"; + version = "194beta"; + + src = fetchFromGitHub { + owner = "gerstrong"; + repo = "Commander-Genius"; + rev = "v${version}"; + sha256 = "0qxqzlmadxklrhxilbqj7y94fmbv0byj6vgpl59lb77lgs4y4x47"; + }; + + buildInputs = [ SDL2 SDL2_image pkgconfig libvorbis libogg mesa boost curl zlib cmake ]; + + patchPhase = '' + cat >> lib/GsKit/CMakeLists.txt < Date: Fri, 15 Jul 2016 09:12:23 -0300 Subject: [PATCH 039/222] blackbird: 2016-04-10 -> 2016-07-04 --- pkgs/misc/themes/blackbird/default.nix | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/pkgs/misc/themes/blackbird/default.nix b/pkgs/misc/themes/blackbird/default.nix index 2104f6da876..0b907f747a8 100644 --- a/pkgs/misc/themes/blackbird/default.nix +++ b/pkgs/misc/themes/blackbird/default.nix @@ -1,25 +1,20 @@ -{ stdenv, fetchFromGitHub, gtk-engine-murrine }: +{ stdenv, fetchFromGitHub, autoreconfHook, gtk-engine-murrine }: stdenv.mkDerivation rec { pname = "Blackbird"; - version = "2016-04-10"; + version = "2016-07-04"; name = "${pname}-${version}"; src = fetchFromGitHub { repo = "${pname}"; owner = "shimmerproject"; - rev = "e9f780993c957e3349f97b0e2e6fabdc36ccefb0"; - sha256 = "00fdd63lnb2gmsn6cbdkanvh3rvz48jg08gmzg372byhj70m63hi"; + rev = "ab4a30ee5110c59241b739e7c54956c3244e5b2a"; + sha256 = "1qy32n21bqq3zwn9di01fbiqv67cqr9n7jmbpcmn9v8yb5p572w3"; }; - buildInputs = [ gtk-engine-murrine ]; - - dontBuild = true; + nativeBuildInputs = [ autoreconfHook ]; - installPhase = '' - mkdir -p $out/share/themes/${pname} - cp -a * $out/share/themes/${pname}/ - ''; + buildInputs = [ gtk-engine-murrine ]; meta = { description = "Dark Desktop Suite for Gtk, Xfce and Metacity"; From a4c965ef1b016195d39a281fe602d54208f59672 Mon Sep 17 00:00:00 2001 From: Christian Richter Date: Fri, 15 Jul 2016 14:15:13 +0200 Subject: [PATCH 040/222] webkitgtk24x: 2.4.9 -> 2.4.11 --- pkgs/development/libraries/webkitgtk/2.4.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/webkitgtk/2.4.nix b/pkgs/development/libraries/webkitgtk/2.4.nix index cc7644f742d..e6e61e0482c 100644 --- a/pkgs/development/libraries/webkitgtk/2.4.nix +++ b/pkgs/development/libraries/webkitgtk/2.4.nix @@ -15,7 +15,7 @@ assert stdenv.isDarwin -> !enableCredentialStorage; with stdenv.lib; stdenv.mkDerivation rec { name = "webkitgtk-${version}"; - version = "2.4.9"; + version = "2.4.11"; meta = with stdenv.lib; { description = "Web content rendering engine, GTK+ port"; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://webkitgtk.org/releases/${name}.tar.xz"; - sha256 = "0r651ar3p0f8zwl7764kyimxk5hy88cwy116pv8cl5l8hbkjkpxg"; + sha256 = "1xsvnvyvlywwyf6m9ainpsg87jkxjmd37q6zgz9cxb7v3c2ym2jq"; }; CC = "cc"; @@ -46,6 +46,7 @@ stdenv.mkDerivation rec { configureFlags = with stdenv.lib; [ "--disable-geolocation" + "--disable-jit" (optionalString enableIntrospection "--enable-introspection") ] ++ optional withGtk2 [ "--with-gtk=2.0" From 2614593598dc1892aaa1bd62f6b744c0d523cbc0 Mon Sep 17 00:00:00 2001 From: Alexey Lebedeff Date: Fri, 15 Jul 2016 15:21:54 +0300 Subject: [PATCH 041/222] urxvt_font_size: Add missing `xlsfonts` dependency --- .../misc/rxvt_unicode-plugins/urxvt-font-size/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-font-size/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-font-size/default.nix index eafa0d6d18b..bca87b12b9f 100644 --- a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-font-size/default.nix +++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-font-size/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, xrdb }: +{ stdenv, fetchFromGitHub, xrdb, xlsfonts }: stdenv.mkDerivation { name = "urxvt-font-size-2015-05-22"; @@ -13,7 +13,8 @@ stdenv.mkDerivation { installPhase = '' substituteInPlace font-size \ - --replace "xrdb -merge" "${xrdb}/bin/xrdb -merge" + --replace "xrdb -merge" "${xrdb}/bin/xrdb -merge" \ + --replace "xlsfonts" "${xlsfonts}/bin/xlsfonts" mkdir -p $out/lib/urxvt/perl cp font-size $out/lib/urxvt/perl From 658c2de1b74f82995e3a08c826ca6da6d3ffc336 Mon Sep 17 00:00:00 2001 From: Alexey Lebedeff Date: Fri, 15 Jul 2016 16:18:23 +0300 Subject: [PATCH 042/222] emacs25pre: Add option for building with xwidgets --- pkgs/applications/editors/emacs-25/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/emacs-25/default.nix b/pkgs/applications/editors/emacs-25/default.nix index e3e5f60dd00..ad1559cbb51 100644 --- a/pkgs/applications/editors/emacs-25/default.nix +++ b/pkgs/applications/editors/emacs-25/default.nix @@ -5,6 +5,7 @@ , autoconf, automake , withX ? !stdenv.isDarwin , withGTK3 ? false, gtk3 ? null +, withXwidgets ? false, webkitgtk24x ? null , withGTK2 ? true, gtk2 }: @@ -14,6 +15,7 @@ assert withGTK2 -> withX || stdenv.isDarwin; assert withGTK3 -> withX || stdenv.isDarwin; assert withGTK2 -> !withGTK3 && gtk2 != null; assert withGTK3 -> !withGTK2 && gtk3 != null; +assert withXwidgets -> withGTK3 && webkitgtk24x != null; let toolkit = @@ -49,17 +51,19 @@ stdenv.mkDerivation rec { imagemagick gconf ] ++ stdenv.lib.optional (withX && withGTK2) gtk2 ++ stdenv.lib.optional (withX && withGTK3) gtk3 - ++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo; + ++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo + ++ stdenv.lib.optional withXwidgets webkitgtk24x; propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ]; configureFlags = - if stdenv.isDarwin + (if stdenv.isDarwin then [ "--with-ns" "--disable-ns-self-contained" ] else if withX then [ "--with-x-toolkit=${toolkit}" "--with-xft" ] else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no" - "--with-gif=no" "--with-tiff=no" ]; + "--with-gif=no" "--with-tiff=no" ]) + ++ stdenv.lib.optional withXwidgets "--with-xwidgets"; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX) "-I${cairo.dev}/include/cairo"; From f4d845b47991d411a2cd102ed73c51743b1495e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Fri, 15 Jul 2016 10:50:42 -0300 Subject: [PATCH 043/222] adapta-gtk-theme: 3.21.2 -> 3.21.3.68 --- pkgs/misc/themes/adapta/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/misc/themes/adapta/default.nix b/pkgs/misc/themes/adapta/default.nix index 96c43af8485..7fe968a582b 100644 --- a/pkgs/misc/themes/adapta/default.nix +++ b/pkgs/misc/themes/adapta/default.nix @@ -1,13 +1,13 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, gtk-engine-murrine }: +{ stdenv, fetchFromGitHub, autoreconfHook, sass, inkscape, glib, which, gtk-engine-murrine }: stdenv.mkDerivation rec { name = "adapta-gtk-theme-${version}"; - version = "3.21.2"; + version = "3.21.3.68"; meta = with stdenv.lib; { description = "An adaptive GTK+ theme based on Material Design"; homepage = "https://github.com/tista500/Adapta"; - license = licenses.gpl2; + license = with licenses; [ gpl2 cc-by-sa-30 ]; platforms = platforms.linux; maintainers = [ maintainers.SShrike ]; }; @@ -15,13 +15,15 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "tista500"; repo = "Adapta"; - rev = "c48da995abc46087c22b05d2cdb0975d10774641"; - sha256 = "17w9nsrwqwgafswyvhc5h8ld2ggi96ix5fjv6yf1hfz3l1ln9qg7"; + rev = version; + sha256 = "0wwsmsyxfdgsc7fj1kn4r9zsgs09prizwkjljmirwrfdm6j3387p"; }; preferLocalBuild = true; buildInputs = [ gtk-engine-murrine ]; - nativeBuildInputs = [ autoreconfHook ]; + nativeBuildInputs = [ autoreconfHook sass inkscape glib.dev which ]; + + postPatch = "patchShebangs ."; configureFlags = "--enable-chrome --disable-unity"; } From a66400631474d87a57478e91808ef156f82d0813 Mon Sep 17 00:00:00 2001 From: Tristan Helmich Date: Thu, 2 Jun 2016 17:54:02 +0200 Subject: [PATCH 044/222] sonarr: init at 2.0.0.4230 --- pkgs/servers/sonarr/default.nix | 33 +++++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/servers/sonarr/default.nix diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix new file mode 100644 index 00000000000..91e292944a6 --- /dev/null +++ b/pkgs/servers/sonarr/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, mono, libmediainfo, sqlite, makeWrapper, ... }: + +stdenv.mkDerivation rec { + name = "sonarr-${version}"; + version = "2.0.0.4230"; + + src = fetchurl { + url = "http://download.sonarr.tv/v2/master/mono/NzbDrone.master.${version}.mono.tar.gz"; + sha256 = "16nx0v5hpqlwna2hzpcpzvm7qc361yjxbqnwz5bfnnkb0h7ik5m6"; + }; + + buildInputs = [ + makeWrapper + ]; + + installPhase = '' + mkdir -p $out/bin + cp -r * $out/bin/ + + makeWrapper "${mono}/bin/mono" $out/bin/NzbDrone \ + --add-flags "$out/bin/NzbDrone.exe" \ + --prefix LD_LIBRARY_PATH ':' "${sqlite.out}/lib" \ + --prefix LD_LIBRARY_PATH ':' "${libmediainfo}/lib" + ''; + + meta = { + description = "Smart PVR for newsgroup and bittorrent users"; + homepage = https://sonarr.tv/; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.fadenb ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d848de8a6d..e1b18829c95 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3474,6 +3474,8 @@ in solvespace = callPackage ../applications/graphics/solvespace { }; + sonarr = callPackage ../servers/sonarr { }; + sonata = callPackage ../applications/audio/sonata { inherit (python3Packages) buildPythonApplication python isPy3k dbus pygobject3 mpd2; }; From 9edcfa8908f09b86a65a1136f481d23d015db49d Mon Sep 17 00:00:00 2001 From: Alexey Lebedeff Date: Fri, 15 Jul 2016 17:16:24 +0300 Subject: [PATCH 045/222] emacs25pre: Fix https for xwidgets-browse-url --- pkgs/applications/editors/emacs-25/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/emacs-25/default.nix b/pkgs/applications/editors/emacs-25/default.nix index ad1559cbb51..a33cd570550 100644 --- a/pkgs/applications/editors/emacs-25/default.nix +++ b/pkgs/applications/editors/emacs-25/default.nix @@ -5,7 +5,7 @@ , autoconf, automake , withX ? !stdenv.isDarwin , withGTK3 ? false, gtk3 ? null -, withXwidgets ? false, webkitgtk24x ? null +, withXwidgets ? false, webkitgtk24x ? null, wrapGAppsHook ? null, glib_networking ? null , withGTK2 ? true, gtk2 }: @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional (withX && withGTK2) gtk2 ++ stdenv.lib.optional (withX && withGTK3) gtk3 ++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo - ++ stdenv.lib.optional withXwidgets webkitgtk24x; + ++ stdenv.lib.optionals withXwidgets [webkitgtk24x wrapGAppsHook glib_networking]; propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ]; From ed466b7fef35e7e6ce4eeb80075e9b76151ff029 Mon Sep 17 00:00:00 2001 From: Tristan Helmich Date: Thu, 2 Jun 2016 21:00:00 +0200 Subject: [PATCH 046/222] sonarr service: initial service --- nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/sonarr.nix | 44 ++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 nixos/modules/services/misc/sonarr.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 04ea1c14e29..ab9e50c20fc 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -258,6 +258,7 @@ ./services/misc/ripple-data-api.nix ./services/misc/rogue.nix ./services/misc/siproxd.nix + ./services/misc/sonarr.nix ./services/misc/spice-vdagentd.nix ./services/misc/subsonic.nix ./services/misc/sundtek.nix diff --git a/nixos/modules/services/misc/sonarr.nix b/nixos/modules/services/misc/sonarr.nix new file mode 100644 index 00000000000..6d96daa6c3d --- /dev/null +++ b/nixos/modules/services/misc/sonarr.nix @@ -0,0 +1,44 @@ +{ config, pkgs, lib, mono, ... }: + +with lib; + +let + cfg = config.services.sonarr; +in +{ + options = { + services.sonarr = { + enable = mkEnableOption "Sonarr"; + }; + }; + + config = mkIf cfg.enable { + systemd.services.sonarr = { + description = "Sonarr"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + test -d /var/lib/sonarr/ || { + echo "Creating sonarr data directory in /var/lib/sonarr/" + mkdir -p /var/lib/sonarr/ + } + chown -R sonarr /var/lib/sonarr/ + chmod 0700 /var/lib/sonarr/ + ''; + + serviceConfig = { + Type = "simple"; + User = "sonarr"; + Group = "nogroup"; + PermissionsStartOnly = "true"; + ExecStart = "${pkgs.sonarr}/bin/NzbDrone --no-browser"; + Restart = "on-failure"; + }; + }; + + users.extraUsers.sonarr = { + home = "/var/lib/sonarr"; + }; + + }; +} From e228023b14541c4d0cccba397fe9b647aca61832 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 15 Jul 2016 13:21:58 +0200 Subject: [PATCH 047/222] linux_grsec_nixos: fix build The grsec patch fails to apply cleanly when combined with the hiddev CVE patch (added in dde259dfb5a0787b28e260da7575079bbabad6c3). To fix this and future problems, we set all our patches explicitly rather than inherit from the base kernel. --- pkgs/top-level/all-packages.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d848de8a6d..26702c79370 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11186,7 +11186,12 @@ in linux_grsec_nixos = callPackage ../build-support/grsecurity { inherit (lib) overrideDerivation; kernel = callPackage ../os-specific/linux/kernel/linux-grsecurity.nix { - inherit (self.linux_4_5) kernelPatches; + kernelPatches = with self.kernelPatches; [ bridge_stp_helper qat_common_Makefile ] + ++ lib.optionals ((platform.kernelArch or null) == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 + ]; }; grsecPatch = self.kernelPatches.grsecurity_testing; kernelPatches = [ self.kernelPatches.grsecurity_nixos_kmod ]; From 8d4fc3c375081d523a47709f5fd09f275b6b973a Mon Sep 17 00:00:00 2001 From: mimadrid Date: Fri, 15 Jul 2016 17:01:41 +0200 Subject: [PATCH 048/222] shotwell: 0.22.0 -> 0.23.2 --- pkgs/applications/graphics/shotwell/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix index 513b1a49198..e52eb045ffb 100644 --- a/pkgs/applications/graphics/shotwell/default.nix +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -1,17 +1,19 @@ { fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite -, webkitgtk24x, pkgconfig, gnome3, gst_all_1, which, udev, libgudev, libraw, glib, json_glib +, webkitgtk, pkgconfig, gnome3, gst_all_1, which, udev, libgudev, libraw, glib, json_glib , gettext, desktop_file_utils, lcms2, gdk_pixbuf, librsvg, makeWrapper , gnome_doc_utils, hicolor_icon_theme }: # for dependencies see http://www.yorba.org/projects/shotwell/install/ stdenv.mkDerivation rec { - version = "0.22.0"; + version = "${major}.${minor}"; + major = "0.23"; + minor = "2"; name = "shotwell-${version}"; src = fetchurl { - url = "mirror://gnome/sources/shotwell/0.22/${name}.tar.xz"; - sha256 = "0cgqaaikrb10plhf6zxbgqy32zqpiwyi9dpx3g8yr261q72r5c81"; + url = "mirror://gnome/sources/shotwell/${major}/${name}.tar.xz"; + sha256 = "d52caae4e3204f2f78e2eb828d955848ea6fef5c91d3ac6e9eb0b185c0490b39"; }; NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include"; @@ -35,7 +37,7 @@ stdenv.mkDerivation rec { ''; - buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkitgtk24x + buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkitgtk pkgconfig gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee which udev libgudev gnome3.gexiv2 hicolor_icon_theme libraw json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg From 8c2d8884013e6d8e929b35ba46e85e27cdb0ad33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Fri, 15 Jul 2016 16:57:16 +0200 Subject: [PATCH 049/222] jenkins: move $out/{lib => webapps}/jenkins.war As pointed out by @danbst, the tomcat NixOS module expects packages listed in services.tomcat.webapps to either be direct .war file paths or have .war files inside a "webapps" directory. Commit 4075c10a59af455db2012beb313453662f09dad0 ("jenkins: move .war file from $out to $out/lib/jenkins.war") broke jenkins + tomcat. Fix it by moving jenkins.war to $out/webapps/. --- .../services/continuous-integration/jenkins/default.nix | 2 +- .../tools/continuous-integration/jenkins/default.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index 7da49fa0aaa..4edbbf59a42 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -154,7 +154,7 @@ in { ''; script = '' - ${pkgs.jdk}/bin/java -jar ${pkgs.jenkins}/lib/jenkins.war --httpListenAddress=${cfg.listenAddress} \ + ${pkgs.jdk}/bin/java -jar ${pkgs.jenkins}/webapps/jenkins.war --httpListenAddress=${cfg.listenAddress} \ --httpPort=${toString cfg.port} \ --prefix=${cfg.prefix} \ ${concatStringsSep " " cfg.extraOptions} diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix index cbc2b76d8ac..e7355d167d9 100644 --- a/pkgs/development/tools/continuous-integration/jenkins/default.nix +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -10,8 +10,8 @@ stdenv.mkDerivation rec { }; buildCommand = '' - mkdir -p "$out/lib" - cp "$src" "$out/lib/jenkins.war" + mkdir -p "$out/webapps" + cp "$src" "$out/webapps/jenkins.war" ''; meta = with stdenv.lib; { From 411bd972ab3e108e505e46274cac5b1995a5f331 Mon Sep 17 00:00:00 2001 From: Langston Barrett Date: Fri, 15 Jul 2016 17:35:53 +0200 Subject: [PATCH 050/222] readme: add wiki deprecation notice (#16925) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c3187f20462..237ec72223c 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ For pull-requests, please rebase onto nixpkgs `master`. * [Documentation (Nix Expression Language chapter)](https://nixos.org/nix/manual/#ch-expression-language) * [Manual (How to write packages for Nix)](https://nixos.org/nixpkgs/manual/) * [Manual (NixOS)](https://nixos.org/nixos/manual/) -* [Nix Wiki](https://nixos.org/wiki/) +* [Nix Wiki](https://nixos.org/wiki/) (deprecated, see milestone ["Move the Wiki!"](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Move+the+wiki%21%22)) * [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined) * [Continuous package builds for 16.03 release](https://hydra.nixos.org/jobset/nixos/release-16.03) * [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents) From 8856cfa619b1508d3a969842c2803e5450573618 Mon Sep 17 00:00:00 2001 From: mimadrid Date: Fri, 15 Jul 2016 18:23:26 +0200 Subject: [PATCH 051/222] xarchiver: 0.5.4 -> 0.5.4.6 --- pkgs/tools/archivers/xarchiver/default.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/archivers/xarchiver/default.nix b/pkgs/tools/archivers/xarchiver/default.nix index ea59cb8319e..507e777a7c3 100644 --- a/pkgs/tools/archivers/xarchiver/default.nix +++ b/pkgs/tools/archivers/xarchiver/default.nix @@ -1,18 +1,20 @@ -{ stdenv, fetchurl, gtk2, pkgconfig, intltool }: +{ stdenv, fetchFromGitHub, gtk, pkgconfig, intltool }: stdenv.mkDerivation rec { - version = "0.5.4"; + version = "0.5.4.6"; name = "xarchiver-${version}"; - src = fetchurl { - url = "mirror://sourceforge/xarchiver/${name}.tar.bz2"; - sha256 = "1x1f8m71cvv2p1364rz99iqs2caxj7yrb46aikz6xigwg4wsfgz6"; + src = fetchFromGitHub { + owner = "ib"; + repo = "xarchiver"; + rev = "${name}"; + sha256 = "1w6b4cchd4prswrn981a7bkq44ad51xm2qiwlpzy43ynql14q877"; }; - buildInputs = [ gtk2 pkgconfig intltool ]; + buildInputs = [ gtk pkgconfig intltool ]; meta = { - description = "GTK+2 only frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)"; + description = "GTK+ frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)"; homepage = http://sourceforge.net/projects/xarchiver/; maintainers = [ stdenv.lib.maintainers.domenkozar ]; license = stdenv.lib.licenses.gpl2; From 3223ef5df509cba22e5a9d77b33d4438ecd22a67 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Fri, 15 Jul 2016 18:37:15 +0200 Subject: [PATCH 052/222] Remove a definitely rendering-dependent LibreOffice test (only the equality part); hopefully should fix the build --- pkgs/applications/office/libreoffice/default.nix | 2 ++ pkgs/applications/office/libreoffice/still.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 9c1e1b78990..63af5babca2 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -124,6 +124,8 @@ in stdenv.mkDerivation rec { sed -e /CppunitTest_sd_tiledrendering/d -i sd/Module_sd.mk # one more fragile test? sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx + # rendering-dependent test + sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx ''; makeFlags = "SHELL=${bash}/bin/bash"; diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix index b8ad900fb14..eadf4135630 100644 --- a/pkgs/applications/office/libreoffice/still.nix +++ b/pkgs/applications/office/libreoffice/still.nix @@ -124,6 +124,8 @@ in stdenv.mkDerivation rec { sed -e /CppunitTest_sd_tiledrendering/d -i sd/Module_sd.mk # one more fragile test? sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx + # rendering-dependent test + sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx ''; makeFlags = "SHELL=${bash}/bin/bash"; From cfc0a5415b935fb50241ab1b571771c2f793695c Mon Sep 17 00:00:00 2001 From: obadz Date: Fri, 15 Jul 2016 20:43:42 +0200 Subject: [PATCH 053/222] Revert "fontconfig: fix etc priority" This reverts commit 1e53d4a7776acbf61f42c094c103652c8068ad64. Closes #16983 cc @vcunat @ericsagnes @dezgeg --- .../config/fonts/fontconfig-ultimate.nix | 153 +++++----- nixos/modules/config/fonts/fontconfig.nix | 262 +++++++++--------- .../libraries/fontconfig/default.nix | 1 + .../libraries/fontconfig/make-fonts-conf.xsl | 2 + 4 files changed, 202 insertions(+), 216 deletions(-) diff --git a/nixos/modules/config/fonts/fontconfig-ultimate.nix b/nixos/modules/config/fonts/fontconfig-ultimate.nix index 47d7cc5924d..02568f9de51 100644 --- a/nixos/modules/config/fonts/fontconfig-ultimate.nix +++ b/nixos/modules/config/fonts/fontconfig-ultimate.nix @@ -3,84 +3,6 @@ with lib; let fcBool = x: if x then "true" else "false"; - cfg = config.fonts.fontconfig.ultimate; - fontconfigUltimateConf = pkgs.writeText "ultimate-conf" '' - - - - - ${optionalString (!cfg.allowBitmaps) '' - - - - - false - - - - ''} - - ${optionalString cfg.allowType1 '' - - - - - - Type 1 - - - - - ''} - - - - - ${fcBool cfg.useEmbeddedBitmaps} - - - - - - - ${fcBool cfg.forceAutohint} - - - - - - - ${fcBool cfg.renderMonoTTFAsBitmap} - - - - - ''; - confPkg = - let version = pkgs.fontconfig.configVersion; - in pkgs.runCommand "font-ultimate-conf" {} '' - mkdir -p $out/etc/fonts/{,${version}/}conf.d/ - - cp ${fontconfigUltimateConf} \ - $out/etc/fonts/conf.d/52-fontconfig-ultimate.conf - - cp ${fontconfigUltimateConf} \ - $out/etc/fonts/${version}/conf.d/52-fontconfig-ultimate.conf - - ${optionalString (cfg.substitutions != "none") '' - cp ${pkgs.fontconfig-ultimate.confd}/etc/fonts/presets/${cfg.substitutions}/*.conf \ - $out/etc/fonts/conf.d/ - cp ${pkgs.fontconfig-ultimate.confd}/etc/fonts/presets/${cfg.substitutions}/*.conf \ - $out/etc/fonts/${version}/conf.d/ - ''} - - ln -s ${pkgs.fontconfig-ultimate.confd}/etc/fonts/conf.d/*.conf \ - $out/etc/fonts/conf.d/ - - ln -s ${pkgs.fontconfig-ultimate.confd}/etc/fonts/conf.d/*.conf \ - $out/etc/fonts/${version}/conf.d/ - ''; - in { @@ -193,11 +115,78 @@ in }; - config = mkIf (config.fonts.fontconfig.enable && cfg.enable) { + config = + let ultimate = config.fonts.fontconfig.ultimate; + fontconfigUltimateConf = '' + + + - fonts.fontconfig.confPkgs = [ confPkg ]; - - environment.variables = cfg.rendering; + ${optionalString (!ultimate.allowBitmaps) '' + + + + + false + + + + ''} + + ${optionalString ultimate.allowType1 '' + + + + + + Type 1 + + + + + ''} + + + + + ${fcBool ultimate.useEmbeddedBitmaps} + + + + + + + ${fcBool ultimate.forceAutohint} + + + + + + + ${fcBool ultimate.renderMonoTTFAsBitmap} + + + + ${optionalString (ultimate.substitutions != "none") '' + + ${pkgs.fontconfig-ultimate.confd}/etc/fonts/presets/${ultimate.substitutions} + ''} + + ${pkgs.fontconfig-ultimate.confd}/etc/fonts/conf.d + + + ''; + in mkIf (config.fonts.fontconfig.enable && ultimate.enable) { + + environment.etc."fonts/conf.d/52-fontconfig-ultimate.conf" = { + text = fontconfigUltimateConf; + }; + + environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/52-fontconfig-ultimate.conf" = { + text = fontconfigUltimateConf; + }; + + environment.variables = ultimate.rendering; }; diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix index fcf5add4519..1eaebe4b2bb 100644 --- a/nixos/modules/config/fonts/fontconfig.nix +++ b/nixos/modules/config/fonts/fontconfig.nix @@ -2,121 +2,6 @@ with lib; -let cfg = config.fonts.fontconfig; - fcBool = x: "" + (if x then "true" else "false") + ""; - renderConf = pkgs.writeText "render-conf" '' - - - - - - - - ${fcBool cfg.hinting.enable} - - - ${fcBool cfg.hinting.autohint} - - - hint${cfg.hinting.style} - - - ${fcBool cfg.antialias} - - - ${cfg.subpixel.rgba} - - - lcd${cfg.subpixel.lcdfilter} - - - - ${optionalString (cfg.dpi != 0) '' - - - ${toString cfg.dpi} - - - ''} - - - ''; - genericAliasConf = - let genDefault = fonts: name: - optionalString (fonts != []) '' - - ${name} - - ${concatStringsSep "" - (map (font: '' - ${font} - '') fonts)} - - - ''; - in - pkgs.writeText "generic-alias-conf" '' - - - - - - ${genDefault cfg.defaultFonts.sansSerif "sans-serif"} - - ${genDefault cfg.defaultFonts.serif "serif"} - - ${genDefault cfg.defaultFonts.monospace "monospace"} - - - ''; - cacheConf = let - cache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; }; - in - pkgs.writeText "cache-conf" '' - - - - - ${concatStringsSep "\n" (map (font: "${font}") config.fonts.fonts)} - - ${cache pkgs.fontconfig} - ${optionalString (pkgs.stdenv.isx86_64 && cfg.cache32Bit) '' - ${cache pkgs.pkgsi686Linux.fontconfig} - ''} - - ''; - userConf = pkgs.writeText "user-conf" '' - - - - fontconfig/conf.d - fontconfig/fonts.conf - - ''; - fontsConf = pkgs.makeFontsConf { fontconfig = pkgs.fontconfig_210; fontDirectories = config.fonts.fonts; }; - confPkg = - let version = pkgs.fontconfig.configVersion; - in pkgs.runCommand "fontconfig-conf" {} '' - mkdir -p $out/etc/fonts/{,${version}/}conf.d - - ln -s ${fontsConf} $out/etc/fonts/fonts.conf - - ln -s ${pkgs.fontconfig.out}/etc/fonts/fonts.conf $out/etc/fonts/${version}/fonts.conf - ln -s ${pkgs.fontconfig.out}/etc/fonts/conf.d/* $out/etc/fonts/${version}/conf.d/ - - ln -s ${renderConf} $out/etc/fonts/conf.d/10-nixos-rendering.conf - ln -s ${genericAliasConf} $out/etc/fonts/conf.d/60-nixos-generic-alias.conf - - ln -s ${cacheConf} $out/etc/fonts/${version}/conf.d/00-nixos.conf - - ln -s ${renderConf} $out/etc/fonts/${version}/conf.d/10-nixos-rendering.conf - ln -s ${genericAliasConf} $out/etc/fonts/${version}/conf.d/30-nixos-generic-alias.conf - - ${optionalString cfg.includeUserConf - "ln -s ${userConf} $out/etc/fonts/${version}/conf.d/99-user.conf"} - - ''; -in { options = { @@ -136,15 +21,6 @@ in ''; }; - confPkgs = mkOption { - internal = true; - type = with types; listOf path; - default = [ ]; - description = '' - Fontconfig configuration packages. - ''; - }; - antialias = mkOption { type = types.bool; default = true; @@ -267,17 +143,135 @@ in }; - config = mkIf cfg.enable { - fonts.fontconfig.confPkgs = [ confPkg ]; + config = + let fontconfig = config.fonts.fontconfig; + fcBool = x: "" + (if x then "true" else "false") + ""; + renderConf = '' + + + - environment.etc.fonts.source = - let fontConf = pkgs.symlinkJoin { - name = "fontconfig-etc"; - paths = cfg.confPkgs; - }; - in "${fontConf}/etc/fonts/"; + + + + ${fcBool fontconfig.hinting.enable} + + + ${fcBool fontconfig.hinting.autohint} + + + hint${fontconfig.hinting.style} + + + ${fcBool fontconfig.antialias} + + + ${fontconfig.subpixel.rgba} + + + lcd${fontconfig.subpixel.lcdfilter} + + - environment.systemPackages = [ pkgs.fontconfig ]; - }; + ${optionalString (fontconfig.dpi != 0) '' + + + ${toString fontconfig.dpi} + + + ''} + + + ''; + genericAliasConf = '' + + + + + + ${optionalString (fontconfig.defaultFonts.sansSerif != []) '' + + sans-serif + + ${concatStringsSep "\n" + (map (font: "${font}") + fontconfig.defaultFonts.sansSerif)} + + + ''} + ${optionalString (fontconfig.defaultFonts.serif != []) '' + + serif + + ${concatStringsSep "\n" + (map (font: "${font}") + fontconfig.defaultFonts.serif)} + + + ''} + ${optionalString (fontconfig.defaultFonts.monospace != []) '' + + monospace + + ${concatStringsSep "\n" + (map (font: "${font}") + fontconfig.defaultFonts.monospace)} + + + ''} + + + ''; + in mkIf fontconfig.enable { + + # Fontconfig 2.10 backward compatibility + + # Bring in the default (upstream) fontconfig configuration, only for fontconfig 2.10 + environment.etc."fonts/fonts.conf".source = + pkgs.makeFontsConf { fontconfig = pkgs.fontconfig_210; fontDirectories = config.fonts.fonts; }; + + environment.etc."fonts/conf.d/10-nixos-rendering.conf".text = renderConf; + environment.etc."fonts/conf.d/60-nixos-generic-alias.conf".text = genericAliasConf; + + # Versioned fontconfig > 2.10. Take shared fonts.conf from fontconfig. + # Otherwise specify only font directories. + environment.etc."fonts/${pkgs.fontconfig.configVersion}/fonts.conf".source = + "${pkgs.fontconfig.out}/etc/fonts/fonts.conf"; + + environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/00-nixos.conf".text = + let + cache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; }; + in '' + + + + + ${concatStringsSep "\n" (map (font: "${font}") config.fonts.fonts)} + + ${cache pkgs.fontconfig} + ${optionalString (pkgs.stdenv.isx86_64 && config.fonts.fontconfig.cache32Bit) '' + ${cache pkgs.pkgsi686Linux.fontconfig} + ''} + + ''; + + environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/10-nixos-rendering.conf".text = renderConf; + environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/60-nixos-generic-alias.conf".text = genericAliasConf; + + environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/99-user.conf" = { + enable = fontconfig.includeUserConf; + text = '' + + + + fontconfig/conf.d + fontconfig/fonts.conf + + ''; + }; + + environment.systemPackages = [ pkgs.fontconfig ]; + + }; } diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index f18ea5948f1..6acf1ebce29 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -68,6 +68,7 @@ stdenv.mkDerivation rec { cd "$out/etc/fonts" rm conf.d/{50-user,51-local}.conf "${libxslt.bin}/bin/xsltproc" --stringparam fontDirectories "${fontbhttf}" \ + --stringparam fontconfig "$out" \ --stringparam fontconfigConfigVersion "${configVersion}" \ --path $out/share/xml/fontconfig \ ${./make-fonts-conf.xsl} $out/etc/fonts/fonts.conf \ diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl index dddbbe9e516..b59fcd0187b 100644 --- a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl +++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl @@ -28,6 +28,8 @@ /var/cache/fontconfig + + /etc/fonts/conf.d /etc/fonts//conf.d From 73ec6bea2c7eefaae930fcbe1f2780f62722038f Mon Sep 17 00:00:00 2001 From: Anthony Cowley Date: Fri, 15 Jul 2016 17:17:35 -0400 Subject: [PATCH 054/222] octave: add arpack, libwebp, and darwin compat This follows on from PR #16965 for qrupdate and PR #16968 for fltk. WIth these, the added explicit dependencies on arpack (to support the octave `eigs` function) and `libwebp`, and not pulling X11 things, octave works properly on darwin. --- pkgs/development/interpreters/octave/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index e302f9e55cb..68365b27a44 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull , libsndfile, libX11, graphicsmagick, pcre, pkgconfig, mesa, fltk -, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas +, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp , qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null , suitesparse ? null, gnuplot ? null, jdk ? null, python ? null }: @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11 graphicsmagick pcre pkgconfig mesa fltk zlib curl openblas libsndfile - fftw fftwSinglePrec qrupdate ] + fftw fftwSinglePrec qrupdate arpack libwebp ] ++ (stdenv.lib.optional (qt != null) qt) ++ (stdenv.lib.optional (qscintilla != null) qscintilla) ++ (stdenv.lib.optional (ghostscript != null) ghostscript) @@ -38,9 +38,10 @@ stdenv.mkDerivation rec { ++ (stdenv.lib.optional (jdk != null) jdk) ++ (stdenv.lib.optional (gnuplot != null) gnuplot) ++ (stdenv.lib.optional (python != null) python) + ++ (stdenv.lib.optionals (!stdenv.isDarwin) [mesa libX11]) ; - doCheck = true; + doCheck = !stdenv.isDarwin; enableParallelBuilding = true; @@ -50,7 +51,9 @@ stdenv.mkDerivation rec { "--with-blas=openblas" "--with-lapack=openblas" ] - ++ stdenv.lib.optional openblas.blas64 "--enable-64"; + ++ stdenv.lib.optional openblas.blas64 "--enable-64" + ++ stdenv.lib.optionals stdenv.isDarwin ["--with-x=no"] + ; # Keep a copy of the octave tests detailed results in the output # derivation, because someone may care @@ -67,6 +70,6 @@ stdenv.mkDerivation rec { homepage = http://octave.org/; license = stdenv.lib.licenses.gpl3Plus; maintainers = with stdenv.lib.maintainers; [viric raskin]; - platforms = with stdenv.lib.platforms; linux; + platforms = with stdenv.lib.platforms; linux ++ darwin; }; } From bed7aba2f0799a8e38ea0f82ce393f69542cc7af Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sat, 16 Jul 2016 00:11:41 +0200 Subject: [PATCH 055/222] elm: 0.17 -> 0.17.1 --- pkgs/development/compilers/elm/default.nix | 2 +- .../compilers/elm/packages/elm-compiler.nix | 14 ++++----- .../compilers/elm/packages/elm-make.nix | 11 +++---- .../compilers/elm/packages/elm-package.nix | 29 ++++++++++--------- .../elm/packages/elm-reactor-elm.nix | 16 +++++----- .../compilers/elm/packages/elm-reactor.nix | 23 ++++++++------- .../compilers/elm/packages/elm-repl.nix | 11 +++---- .../compilers/elm/packages/release.nix | 2 +- pkgs/development/compilers/elm/update-elm.rb | 16 +++++----- 9 files changed, 66 insertions(+), 58 deletions(-) diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index 08f69ba8776..950caeedf53 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -40,7 +40,7 @@ let EOF '' + lib.concatStrings cmds; - hsPkgs = haskell.packages.ghc7103.override { + hsPkgs = haskell.packages.ghc801.override { overrides = self: super: let hlib = haskell.lib; elmRelease = import ./packages/release.nix { inherit (self) callPackage; }; diff --git a/pkgs/development/compilers/elm/packages/elm-compiler.nix b/pkgs/development/compilers/elm/packages/elm-compiler.nix index 8bebdf4315a..dc2a0a12138 100644 --- a/pkgs/development/compilers/elm/packages/elm-compiler.nix +++ b/pkgs/development/compilers/elm/packages/elm-compiler.nix @@ -3,15 +3,15 @@ , fetchgit, filemanip, filepath, HUnit, indents , language-ecmascript, language-glsl, mtl, parsec, pretty, process , QuickCheck, stdenv, test-framework, test-framework-hunit -, test-framework-quickcheck2, text, union-find, wl-pprint +, test-framework-quickcheck2, text, union-find }: mkDerivation { pname = "elm-compiler"; - version = "0.17"; + version = "0.17.1"; src = fetchgit { url = "https://github.com/elm-lang/elm-compiler"; - sha256 = "1vx4jp20nj4s41zsqnwyh80dvg7b7kd9fh6agl99v1xx9d3i6ws1"; - rev = "c9c7e72c424a13255f8ee84c719f7ef48b689c1a"; + sha256 = "17y0jlii81mnjywknblcv1nfja51slmwrhz9x8w144b0sblcj0if"; + rev = "e44deafaf9cbf3749484070f267f03a368711adb"; }; isLibrary = true; isExecutable = true; @@ -19,7 +19,7 @@ mkDerivation { aeson aeson-pretty ansi-terminal ansi-wl-pprint base binary bytestring containers directory edit-distance filepath indents language-ecmascript language-glsl mtl parsec pretty process text - union-find wl-pprint + union-find ]; executableHaskellDepends = [ aeson base binary directory filepath process text @@ -29,10 +29,10 @@ mkDerivation { bytestring containers directory edit-distance filemanip filepath HUnit indents language-ecmascript language-glsl mtl parsec pretty process QuickCheck test-framework test-framework-hunit - test-framework-quickcheck2 text union-find wl-pprint + test-framework-quickcheck2 text union-find ]; jailbreak = true; homepage = "http://elm-lang.org"; - description = "Values to help with elm-package, elm-make, and elm-lang.org"; + description = "Values to help with elm-package, elm-make, and elm-lang.org."; license = stdenv.lib.licenses.bsd3; } diff --git a/pkgs/development/compilers/elm/packages/elm-make.nix b/pkgs/development/compilers/elm/packages/elm-make.nix index 1fe4acc9e3b..bed7698cfe4 100644 --- a/pkgs/development/compilers/elm/packages/elm-make.nix +++ b/pkgs/development/compilers/elm/packages/elm-make.nix @@ -1,22 +1,23 @@ { mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base, binary , blaze-html, blaze-markup, bytestring, containers, directory , elm-compiler, elm-package, fetchgit, filepath, mtl -, optparse-applicative, stdenv, text, time, raw-strings-qq +, optparse-applicative, raw-strings-qq, stdenv, text, time }: mkDerivation { pname = "elm-make"; - version = "0.17"; + version = "0.17.1"; src = fetchgit { url = "https://github.com/elm-lang/elm-make"; - sha256 = "0ywi6iq2a3rb8a68ryqpq9y22536aa9k71wy7fcmrd5nwkmpwd2r"; - rev = "5f7b74567c43eff341048c7caceb247b51cdb8bb"; + sha256 = "0k9w5gl48lhhr3n2iflf0vkb3w6al0xcbglgiw4fq1ssz3aa7ijw"; + rev = "0a0a1f52ab04e2d68d60a5798722e1de30b47335"; }; isLibrary = false; isExecutable = true; executableHaskellDepends = [ aeson ansi-terminal ansi-wl-pprint base binary blaze-html blaze-markup bytestring containers directory elm-compiler - elm-package filepath mtl optparse-applicative text time raw-strings-qq + elm-package filepath mtl optparse-applicative raw-strings-qq text + time ]; jailbreak = true; homepage = "http://elm-lang.org"; diff --git a/pkgs/development/compilers/elm/packages/elm-package.nix b/pkgs/development/compilers/elm/packages/elm-package.nix index 7df5516b27a..ef2d4e9c8e7 100644 --- a/pkgs/development/compilers/elm/packages/elm-package.nix +++ b/pkgs/development/compilers/elm/packages/elm-package.nix @@ -1,29 +1,32 @@ { mkDerivation, aeson, aeson-pretty, ansi-wl-pprint, base, binary -, bytestring, containers, directory, elm-compiler, fetchgit -, filepath, HTTP, http-client, http-client-tls, http-types, mtl -, network, optparse-applicative, pretty, stdenv, text, time -, unordered-containers, vector, zip-archive +, bytestring, containers, directory, edit-distance, elm-compiler +, fetchgit, filepath, HTTP, http-client, http-client-tls +, http-types, mtl, network, optparse-applicative, parallel-io +, pretty, stdenv, text, time, unordered-containers, vector +, zip-archive }: mkDerivation { pname = "elm-package"; - version = "0.17"; + version = "0.17.1"; src = fetchgit { url = "https://github.com/elm-lang/elm-package"; - sha256 = "0z86560a2f7w3ywqvzqghgz100z0yn8zsiixkw4lp5168krp4axg"; - rev = "fc0924210fe5a7c0af543769b1353dbb2ddf2f0c"; + sha256 = "0dnn871py0pvzxsjjggy5ww2zj9g71c2dcnp38rcr4nbj8yxik85"; + rev = "9011ccdbced1d06aa60de0e3096e609ef44d26dd"; }; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson aeson-pretty base binary bytestring containers directory - elm-compiler filepath HTTP http-client http-client-tls http-types - mtl network text time unordered-containers vector zip-archive + aeson aeson-pretty ansi-wl-pprint base binary bytestring containers + directory edit-distance elm-compiler filepath HTTP http-client + http-client-tls http-types mtl network parallel-io text time + unordered-containers vector zip-archive ]; executableHaskellDepends = [ aeson aeson-pretty ansi-wl-pprint base binary bytestring containers - directory elm-compiler filepath HTTP http-client http-client-tls - http-types mtl network optparse-applicative pretty text time - unordered-containers vector zip-archive + directory edit-distance elm-compiler filepath HTTP http-client + http-client-tls http-types mtl network optparse-applicative + parallel-io pretty text time unordered-containers vector + zip-archive ]; jailbreak = true; homepage = "http://github.com/elm-lang/elm-package"; diff --git a/pkgs/development/compilers/elm/packages/elm-reactor-elm.nix b/pkgs/development/compilers/elm/packages/elm-reactor-elm.nix index a84f9e48ba0..79043012590 100644 --- a/pkgs/development/compilers/elm/packages/elm-reactor-elm.nix +++ b/pkgs/development/compilers/elm/packages/elm-reactor-elm.nix @@ -1,22 +1,22 @@ { "elm-lang/virtual-dom" = { - version = "1.0.0"; - sha256 = "0pa8k04g9yfixahsb30j0rbhfh6hwdh7xmm2fvk0hkidw7b4xg57"; + version = "1.1.0"; + sha256 = "16g66cvvh85ddciq0ymaqfyq2bcz11pxn0g0dc1wx7bmlqx7q1jz"; }; "evancz/elm-markdown" = { version = "3.0.0"; sha256 = "0r3hcim4mpn46ahv1q6sjp6i2viyp7jik6i71xgwmvfb9drns2p6"; }; "elm-lang/html" = { - version = "1.0.0"; - sha256 = "16cr01yxkpkmgbgclp2p80nd62a6fjw3qipzjsgksrhwv9vv4gm4"; + version = "1.1.0"; + sha256 = "1v7pwxxd81qrfywb4rr199p2i9z77vjkbwjwm5gy1nxdpi8mb50y"; }; "elm-lang/svg" = { - version = "1.0.0"; - sha256 = "0c29y6c58x2sq1bl29z1hr5gi2rlza8clk7ssgzmsf4xbvcczbjx"; + version = "1.1.1"; + sha256 = "0xzc0fq2kg797km0nq2f52w6xdffrl9l0y5zbkpa72w163zpxkkn"; }; "elm-lang/core" = { - version = "4.0.0"; - sha256 = "04qgzgv90qyhjk55yw4szy50h2dqdlm0a2padbgn02yf4bb1b4nw"; + version = "4.0.2"; + sha256 = "1qjhfr3gd1qmfvna7iddspmk26v2nmgmgw9m6yyz10ygy3i9mla6"; }; } diff --git a/pkgs/development/compilers/elm/packages/elm-reactor.nix b/pkgs/development/compilers/elm/packages/elm-reactor.nix index 55b6b9ae416..cf6d33a5acb 100644 --- a/pkgs/development/compilers/elm/packages/elm-reactor.nix +++ b/pkgs/development/compilers/elm/packages/elm-reactor.nix @@ -1,22 +1,25 @@ -{ mkDerivation, base, blaze-html, blaze-markup, bytestring, cmdargs -, directory, elm-compiler, fetchgit, filepath, fsnotify, mtl -, snap-core, snap-server, stdenv, text, time, transformers -, websockets, websockets-snap, elm-package, file-embed +{ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring +, cmdargs, containers, directory, elm-compiler, elm-package +, fetchgit, file-embed, filepath, fsnotify, mtl, process, snap-core +, snap-server, stdenv, template-haskell, text, time, transformers +, unordered-containers, utf8-string, websockets, websockets-snap }: mkDerivation { pname = "elm-reactor"; - version = "0.17"; + version = "0.17.1"; src = fetchgit { url = "https://github.com/elm-lang/elm-reactor"; - sha256 = "03lb6fcc5d02gflarxc54l71hbwdb73v423ffjz5hvlha6ixglv7"; - rev = "4781ad2fbb6cbcde0d659dec293bbed9c847ba71"; + sha256 = "14kkqskvhkfznpl8cmjlvv3rp6ciqmdbxrmq6f20p3aznvkrdvf8"; + rev = "7522d7ef379c5a4ffbba11b1be09ed04add08a63"; }; isLibrary = false; isExecutable = true; executableHaskellDepends = [ - base blaze-html blaze-markup bytestring cmdargs directory - elm-compiler filepath fsnotify mtl snap-core snap-server text time - transformers websockets websockets-snap elm-package file-embed + aeson base blaze-html blaze-markup bytestring cmdargs containers + directory elm-compiler elm-package file-embed filepath fsnotify mtl + process snap-core snap-server template-haskell text time + transformers unordered-containers utf8-string websockets + websockets-snap ]; jailbreak = true; homepage = "http://elm-lang.org"; diff --git a/pkgs/development/compilers/elm/packages/elm-repl.nix b/pkgs/development/compilers/elm/packages/elm-repl.nix index 3b17722b91d..e08c295f294 100644 --- a/pkgs/development/compilers/elm/packages/elm-repl.nix +++ b/pkgs/development/compilers/elm/packages/elm-repl.nix @@ -2,20 +2,21 @@ , containers, directory, elm-compiler, elm-package, fetchgit , filepath, haskeline, HUnit, mtl, parsec, QuickCheck, stdenv , test-framework, test-framework-hunit, test-framework-quickcheck2 +, text }: mkDerivation { pname = "elm-repl"; - version = "0.17"; + version = "0.17.1"; src = fetchgit { url = "https://github.com/elm-lang/elm-repl"; - sha256 = "0bpmkm7q3a0h4hwlbwcnzaqgf6n5p1qw65z8kw84f52s5bndc0wc"; - rev = "95b4555cff6b6e2a55a4ea3dab00bfb39dfebf0d"; + sha256 = "0nh2yfr0bi4rg1kak1gjaczpq56y1nii05b5y7hn6n4w651jkm28"; + rev = "413ac0d4ee43c8542afd3041bbb7b8c903cd3d30"; }; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base binary bytestring bytestring-trie cmdargs containers directory - elm-compiler elm-package filepath haskeline mtl parsec + elm-compiler elm-package filepath haskeline mtl parsec text ]; testHaskellDepends = [ base bytestring bytestring-trie cmdargs directory elm-compiler @@ -24,6 +25,6 @@ mkDerivation { ]; jailbreak = true; homepage = "https://github.com/elm-lang/elm-repl"; - description = "A REPL for Elm"; + description = "a REPL for Elm"; license = stdenv.lib.licenses.bsd3; } diff --git a/pkgs/development/compilers/elm/packages/release.nix b/pkgs/development/compilers/elm/packages/release.nix index 531da88452f..6817d8e297f 100644 --- a/pkgs/development/compilers/elm/packages/release.nix +++ b/pkgs/development/compilers/elm/packages/release.nix @@ -2,7 +2,7 @@ # Please, do not modify it by hand! { callPackage }: { - version = "0.17"; + version = "0.17.1"; packages = { elm-compiler = callPackage ./elm-compiler.nix { }; elm-package = callPackage ./elm-package.nix { }; diff --git a/pkgs/development/compilers/elm/update-elm.rb b/pkgs/development/compilers/elm/update-elm.rb index e27279604ae..a1f76945cd2 100755 --- a/pkgs/development/compilers/elm/update-elm.rb +++ b/pkgs/development/compilers/elm/update-elm.rb @@ -1,19 +1,19 @@ #!/usr/bin/env ruby # Take those from https://github.com/elm-lang/elm-platform/blob/master/installers/BuildFromSource.hs -$elm_version = "0.17" -$elm_packages = { "elm-compiler" => "0.17", - "elm-package" => "0.17", - "elm-make" => "0.17", - "elm-reactor" => "0.17", - "elm-repl" => "0.17" +$elm_version = "0.17.1" +$elm_packages = { "elm-compiler" => "0.17.1", + "elm-package" => "0.17.1", + "elm-make" => "0.17.1", + "elm-reactor" => "0.17.1", + "elm-repl" => "0.17.1" } for pkg, ver in $elm_packages - system "cabal2nix https://github.com/elm-lang/#{pkg} --revision refs/tags/#{ver} --jailbreak > #{pkg}.nix" + system "cabal2nix https://github.com/elm-lang/#{pkg} --revision refs/tags/#{ver} --jailbreak > packages/#{pkg}.nix" end -File.open("release.nix", 'w') do |file| +File.open("packages/release.nix", 'w') do |file| file.puts "# This file is auto-generated by ./update-elm.rb." file.puts "# Please, do not modify it by hand!" file.puts "{ callPackage }:" From 0362eaf3ecda998a547eec367549e1386a56d1a5 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sat, 16 Jul 2016 00:36:28 +0200 Subject: [PATCH 056/222] elm-format: 0.3.1 -> 0.4.0 --- .../compilers/elm/packages/elm-format.nix | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/pkgs/development/compilers/elm/packages/elm-format.nix b/pkgs/development/compilers/elm/packages/elm-format.nix index 12550e46a97..e759369bbcd 100644 --- a/pkgs/development/compilers/elm/packages/elm-format.nix +++ b/pkgs/development/compilers/elm/packages/elm-format.nix @@ -2,17 +2,16 @@ , bytestring, containers, directory, edit-distance, fetchgit , filemanip, filepath, HUnit, indents, mtl, optparse-applicative , parsec, pretty, process, QuickCheck, quickcheck-io -, regex-applicative, split, stdenv, test-framework -, test-framework-hunit, test-framework-quickcheck2, text -, union-find, wl-pprint +, regex-applicative, split, stdenv, tasty, tasty-golden +, tasty-hunit, tasty-quickcheck, text, union-find, wl-pprint }: mkDerivation { pname = "elm-format"; - version = "0.3.1"; + version = "0.4.0"; src = fetchgit { url = "http://github.com/avh4/elm-format"; - sha256 = "04kl50kzvjf4i140dlhs6f9fd2wmk6cnvyfamx2xh8vbwbnwrkj4"; - rev = "0637f3772de2297d12ea35f5b66961e1d827552c"; + sha256 = "199xh2w5cwcf79a8fv6j8dpk9h8a4cygrf8cfr9p7bvp2wvczibm"; + rev = "d9cbe65c5f01d21b5a02c2f963aa4c9d3f0539d0"; }; isLibrary = false; isExecutable = true; @@ -23,11 +22,11 @@ mkDerivation { text ]; testHaskellDepends = [ - aeson ansi-terminal base binary bytestring containers directory - edit-distance filemanip filepath HUnit indents mtl parsec pretty - process QuickCheck quickcheck-io regex-applicative split - test-framework test-framework-hunit test-framework-quickcheck2 text - union-find wl-pprint + aeson ansi-terminal ansi-wl-pprint base binary bytestring + containers directory edit-distance filemanip filepath HUnit indents + mtl optparse-applicative parsec pretty process QuickCheck + quickcheck-io regex-applicative split tasty tasty-golden + tasty-hunit tasty-quickcheck text union-find wl-pprint ]; jailbreak = true; homepage = "http://elm-lang.org"; From 5b6e3a3ed15289f45fd72b8f5d2c12c1a0a66433 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Fri, 15 Jul 2016 21:29:15 +0200 Subject: [PATCH 057/222] pencil: mark as broken Currently pencil won't start, due to incompatible firefox version: $ pencil Error: Platform version '47.0.1' is not compatible with minVersion >= 36.0 See https://github.com/prikhi/pencil/issues/840. --- pkgs/applications/graphics/pencil/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix index 80774fba5ff..7d9b77e9661 100644 --- a/pkgs/applications/graphics/pencil/default.nix +++ b/pkgs/applications/graphics/pencil/default.nix @@ -32,5 +32,8 @@ stdenv.mkDerivation rec { license = licenses.gpl2; # Commercial license is also available maintainers = with maintainers; [ bjornfor prikhi ]; platforms = platforms.linux; + # See https://github.com/prikhi/pencil/issues/840 + # ("Error: Platform version '47.0' is not compatible with minVersion >= 36.0 maxVersion <= 46.*") + broken = true; }; } From 4ea1b3824a8e32ab9d01165900e56431e4f8a8c1 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sat, 16 Jul 2016 00:39:55 +0200 Subject: [PATCH 058/222] elm-format: disable tests (one failing), reported upstream --- pkgs/development/compilers/elm/packages/elm-format.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/compilers/elm/packages/elm-format.nix b/pkgs/development/compilers/elm/packages/elm-format.nix index e759369bbcd..4d30c697abd 100644 --- a/pkgs/development/compilers/elm/packages/elm-format.nix +++ b/pkgs/development/compilers/elm/packages/elm-format.nix @@ -32,4 +32,14 @@ mkDerivation { homepage = "http://elm-lang.org"; description = "A source code formatter for Elm"; license = stdenv.lib.licenses.bsd3; + + # XXX: I've manually disabled tests, only the following test is failing + # ... + # ElmFormat.Cli + # format a single file in place: OK + # usage instructions: FAIL + # ... + # 1 out of 266 tests failed (0.50s) + # Test suite elm-format-tests: FAIL + doCheck = false; } From 3172c2a455c8b15f1ce26822688aebc588424112 Mon Sep 17 00:00:00 2001 From: Alexey Shmalko Date: Sat, 16 Jul 2016 03:16:44 +0300 Subject: [PATCH 059/222] path64: remove The project seem to be inactive since 2010 (http://www.path64.org/). The repository is also unavailable now. Found at https://github.com/NixOS/nixpkgs/issues/15558. --- pkgs/development/compilers/path64/default.nix | 35 ------------------- pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 37 deletions(-) delete mode 100644 pkgs/development/compilers/path64/default.nix diff --git a/pkgs/development/compilers/path64/default.nix b/pkgs/development/compilers/path64/default.nix deleted file mode 100644 index 694bdc8990f..00000000000 --- a/pkgs/development/compilers/path64/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{stdenv, fetchgit, perl, flex, bison, gmp, mpfr, cmake}: - -assert stdenv.system == "x86_64-linux"; - -stdenv.mkDerivation { - name = "path64-2010-07-02"; - - src = fetchgit { - url = git://github.com/path64/compiler.git; - rev = "e17f7f952831bbf1d996"; - sha256 = "fa1320959e1131557d5f82e98f4621a222ec45e1d6e0e7f271d2c13de4fd0dd1"; - }; - - patchPhase = '' - sed -i s,/usr/bin/ld,$(type -P ld), src/driver/phases.c - sed -i s,/lib64/ld-linux-x86-64.so.2,${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2, src/include/main_defs.h.in - ''; - - cmakeFlags = '' - -DPATH64_ENABLE_HUGEPAGES=ON - -DPATH64_ENABLE_MATHLIBS=ON -DPATH64_ENABLE_OPENMP=ON - -DPATH64_ENABLE_PSCRUNTIME=OFF - -DPATH64_ENABLE_PROFILING=OFF -DPATH64_ENABLE_TARGETS=x8664 - -DCMAKE_BUILD_TYPE=Debug -DPATH64_ENABLE_FORTRAN=OFF - -DPSC_CRT_PATH=${stdenv.cc.libc.out}/lib - ''; - - makeFlags = "-j4"; - - installPhase = '' - exit 1; - ''; - - buildInputs = [ perl flex bison gmp mpfr cmake ]; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 944a1efca5f..a18e151f11f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4718,8 +4718,6 @@ in hugs = callPackage ../development/interpreters/hugs { }; - path64 = callPackage ../development/compilers/path64 { }; - openjdk7 = if stdenv.isDarwin then callPackage ../development/compilers/openjdk-darwin { } From 49ea72c3f3c72331204e1404c3414b0c915574d3 Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Fri, 15 Jul 2016 22:01:58 -0400 Subject: [PATCH 060/222] pythonPackages.cffi: fix on darwin This isn't conditional because it works on other platforms too --- pkgs/top-level/python-packages.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 21700fe82d1..04dc7a26ac0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4373,6 +4373,12 @@ in modules // { propagatedBuildInputs = with self; [ pkgs.libffi pycparser ]; buildInputs = with self; [ pytest ]; + patchPhase = '' + substituteInPlace testing/cffi0/test_ownlib.py --replace "gcc" "cc" + ''; + + NIX_CFLAGS_COMPILE="-Wno-shift-negative-value"; + checkPhase = '' py.test ''; From 1c7cb20fb1e29acd95cd43728985ca7efe97b2fe Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sat, 16 Jul 2016 12:06:51 +0800 Subject: [PATCH 061/222] guile-sdl: fix after multiple-outputs change --- pkgs/development/guile-modules/guile-sdl/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/guile-modules/guile-sdl/default.nix b/pkgs/development/guile-modules/guile-sdl/default.nix index 4a0f23457ba..94f3418b031 100644 --- a/pkgs/development/guile-modules/guile-sdl/default.nix +++ b/pkgs/development/guile-modules/guile-sdl/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ guile ]; buildInputs = [ - SDL SDL_image SDL_ttf SDL_mixer + SDL.dev SDL_image SDL_ttf SDL_mixer ]; GUILE_AUTO_COMPILE = 0; From f88f31c4f04e71669511957d8461ed5fc82d3058 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Fri, 15 Jul 2016 00:49:35 +0800 Subject: [PATCH 062/222] forkstat: init at 0.01.13 --- pkgs/os-specific/linux/forkstat/default.nix | 22 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/os-specific/linux/forkstat/default.nix diff --git a/pkgs/os-specific/linux/forkstat/default.nix b/pkgs/os-specific/linux/forkstat/default.nix new file mode 100644 index 00000000000..3a253003e8e --- /dev/null +++ b/pkgs/os-specific/linux/forkstat/default.nix @@ -0,0 +1,22 @@ +{ stdenv, lib, fetchurl }: + +stdenv.mkDerivation rec { + name = "forkstat-${version}"; + version = "0.01.13"; + src = fetchurl { + url = "http://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.gz"; + sha256 = "12dmqpv0q3x166sya93rhcj7vs4868x7y7lwfwv9l54hhirpamhq"; + }; + installFlags = [ "DESTDIR=$(out)" ]; + postInstall = '' + mv $out/usr/* $out + rm -r $out/usr + ''; + meta = with lib; { + description = "Process fork/exec/exit monitoring tool"; + homepage = http://kernel.ubuntu.com/~cking/forkstat/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ womfoo ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a6228e374bf..a42e575ef2b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10759,6 +10759,8 @@ in fnotifystat = callPackage ../os-specific/linux/fnotifystat { }; + forkstat = callPackage ../os-specific/linux/forkstat { }; + freefall = callPackage ../os-specific/linux/freefall { inherit (linuxPackages) kernel; }; From a28dda11025ce475e7b864ce139e8b87dea1f1f7 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Fri, 15 Jul 2016 00:55:10 +0800 Subject: [PATCH 063/222] powerstat: init at 0.02.10 --- pkgs/os-specific/linux/powerstat/default.nix | 22 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/os-specific/linux/powerstat/default.nix diff --git a/pkgs/os-specific/linux/powerstat/default.nix b/pkgs/os-specific/linux/powerstat/default.nix new file mode 100644 index 00000000000..9604a67ddd9 --- /dev/null +++ b/pkgs/os-specific/linux/powerstat/default.nix @@ -0,0 +1,22 @@ +{ stdenv, lib, fetchurl }: + +stdenv.mkDerivation rec { + name = "powerstat-${version}"; + version = "0.02.10"; + src = fetchurl { + url = "http://kernel.ubuntu.com/~cking/tarballs/powerstat/powerstat-${version}.tar.gz"; + sha256 = "11n2k20h27j7m8j0l524w23xlkjhapsb3ml1qpx1si7gf0pkglcl"; + }; + installFlags = [ "DESTDIR=$(out)" ]; + postInstall = '' + mv $out/usr/* $out + rm -r $out/usr + ''; + meta = with lib; { + description = "Laptop power measuring tool"; + homepage = http://kernel.ubuntu.com/~cking/powerstat/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ womfoo ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a42e575ef2b..c5e8b838fb4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10860,6 +10860,8 @@ in openisns = callPackage ../os-specific/linux/open-isns { }; + powerstat = callPackage ../os-specific/linux/powerstat { }; + tgt = callPackage ../tools/networking/tgt { }; # -- Linux kernel expressions ------------------------------------------------ From b68689ebb2a746b8088ed10ab4859ce64b9d3873 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Fri, 15 Jul 2016 00:57:38 +0800 Subject: [PATCH 064/222] smemstat: init at 0.01.14 --- pkgs/os-specific/linux/smemstat/default.nix | 22 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/os-specific/linux/smemstat/default.nix diff --git a/pkgs/os-specific/linux/smemstat/default.nix b/pkgs/os-specific/linux/smemstat/default.nix new file mode 100644 index 00000000000..a38c819bc6f --- /dev/null +++ b/pkgs/os-specific/linux/smemstat/default.nix @@ -0,0 +1,22 @@ +{ stdenv, lib, fetchurl }: + +stdenv.mkDerivation rec { + name = "smemstat-${version}"; + version = "0.01.14"; + src = fetchurl { + url = "http://kernel.ubuntu.com/~cking/tarballs/smemstat/smemstat-${version}.tar.gz"; + sha256 = "0qkpbg0n40d8m9jzf3ylpdp65zzs344zbjn8khha4plbwg00ijrw"; + }; + installFlags = [ "DESTDIR=$(out)" ]; + postInstall = '' + mv $out/usr/* $out + rm -r $out/usr + ''; + meta = with lib; { + description = "Memory usage monitoring tool"; + homepage = http://kernel.ubuntu.com/~cking/smemstat/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ womfoo ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c5e8b838fb4..27d2a556c60 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10862,6 +10862,8 @@ in powerstat = callPackage ../os-specific/linux/powerstat { }; + smemstat = callPackage ../os-specific/linux/smemstat { }; + tgt = callPackage ../tools/networking/tgt { }; # -- Linux kernel expressions ------------------------------------------------ From bc70da1ce0d7afc7af097049e9e520c0596f0a9c Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sat, 16 Jul 2016 00:54:36 -0500 Subject: [PATCH 065/222] nixpkgs: upgrade plex packages - plex: 0.9.16.4.1911 -> 1.0.0.2261 - plexpass: 0.9.16.5.1966 -> 1.0.1.2396 Signed-off-by: Austin Seipp --- pkgs/servers/plex/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix index 50fc85d48b3..f31971bf4c1 100644 --- a/pkgs/servers/plex/default.nix +++ b/pkgs/servers/plex/default.nix @@ -5,13 +5,13 @@ let plexpkg = if enablePlexPass then { - version = "0.9.16.5.1966"; - vsnHash = "81a3bf0"; - sha256 = "1sgdd3r067j9ysfp90wjx6zi01s00wzgzs27l8xdlsbnvjr8zmf8"; + version = "1.0.1.2396"; + vsnHash = "c094d0d"; + sha256 = "0bhbpaj88989zn1q590mkcqshcpir87yiac9x1dl0afzpxj09lcz"; } else { - version = "0.9.16.4.1911"; - vsnHash = "ee6e505"; - sha256 = "0lq0lcynmc09d0whynb0x2zgd39dp7z7k86ndgm2clay3zbzqpfd"; + version = "1.0.0.2261"; + vsnHash = "a17e99e"; + sha256 = "14li33ni6aaa1qwvc02a066k52s1qwhpv55prvlmq3m5jm3iv0lr"; }; in stdenv.mkDerivation rec { From 3a8067e6ded9cb0a1a7931141821ed5ee6502e64 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sat, 16 Jul 2016 01:19:55 -0500 Subject: [PATCH 066/222] nixpkgs: bittorrentSync 2.3.7 -> 2.3.8 Signed-off-by: Austin Seipp --- pkgs/applications/networking/bittorrentsync/2.0.x.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/bittorrentsync/2.0.x.nix b/pkgs/applications/networking/bittorrentsync/2.0.x.nix index f8ba6a5c5f6..d2db3eec26e 100644 --- a/pkgs/applications/networking/bittorrentsync/2.0.x.nix +++ b/pkgs/applications/networking/bittorrentsync/2.0.x.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // { - version = "2.3.7"; + version = "2.3.8"; sha256s = { - "x86_64-linux" = "1hnw6bv60xrnc733gm1ilywc0y93k2g6bmwgnww9qk7ivbvi6pd1"; - "i686-linux" = "0hj8nbq6mava15m1hxaqq371fqk0whdx5iqsbnppyci0jjnr4qv1"; + "x86_64-linux" = "02n5s561cz3mprg682mrbmh3qai42dh64jgi05rqy9s6wgbn66ly"; + "i686-linux" = "118qrnxc7gvm30rsz0xfx6dlxmrr0dk5ajrvszhy06ww7xvqhzji"; }; }) From 4f8f1c30cbfb3e5e346a7ad1a699d3c8b3a46605 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Sat, 16 Jul 2016 10:08:29 +0200 Subject: [PATCH 067/222] openssh: Use the default privilege separation dir (/var/empty) (This is a rewritten version of the reverted commit a927709a35cee56f878f0f57a932e1a6e2ebe23b, that disables the creation of /var/empty during build so that sandboxed builds also works. For more context, see https://github.com/NixOS/nixpkgs/pull/16966) If running NixOS inside a container where the host's root-owned files and directories have been mapped to some other uid (like nobody), the ssh daemon fails to start, producing this error message: fatal: /nix/store/...-openssh-7.2p2/empty must be owned by root and not group or world-writable. The reason for this is that when openssh is built, we explicitly set `--with-privsep-path=$out/empty`. This commit removes that flag which causes the default directory /var/empty to be used instead. Since NixOS' activation script correctly sets up that directory, the ssh daemon now also works within containers that have a non-root-owned nix store. --- pkgs/tools/networking/openssh/default.nix | 8 +++----- .../networking/openssh/dont_create_privsep_path.patch | 11 +++++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 pkgs/tools/networking/openssh/dont_create_privsep_path.patch diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index 64b9fe98278..6d6b43c5f8d 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -45,6 +45,9 @@ stdenv.mkDerivation rec { ./locale_archive.patch ./fix-host-key-algorithms-plus.patch ./CVE-2015-8325.patch + + # See discussion in https://github.com/NixOS/nixpkgs/pull/16966 + ./dont_create_privsep_path.patch ] ++ optional withGssapiPatches gssapiSrc; @@ -66,11 +69,6 @@ stdenv.mkDerivation rec { ++ optional stdenv.isDarwin "--disable-libutil" ++ optional (!linkOpenssl) "--without-openssl"; - preConfigure = '' - configureFlagsArray+=("--with-privsep-path=$out/empty") - mkdir -p $out/empty - ''; - enableParallelBuilding = true; postInstall = '' diff --git a/pkgs/tools/networking/openssh/dont_create_privsep_path.patch b/pkgs/tools/networking/openssh/dont_create_privsep_path.patch new file mode 100644 index 00000000000..b6d432d5c5d --- /dev/null +++ b/pkgs/tools/networking/openssh/dont_create_privsep_path.patch @@ -0,0 +1,11 @@ +diff -ur openssh-7.2p2_orig/Makefile.in openssh-7.2p2/Makefile.in +--- openssh-7.2p2_orig/Makefile.in 2016-03-09 19:04:48.000000000 +0100 ++++ openssh-7.2p2/Makefile.in 2016-07-16 09:56:05.643903293 +0200 +@@ -301,7 +301,6 @@ + $(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)5 + $(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)8 + $(srcdir)/mkinstalldirs $(DESTDIR)$(libexecdir) +- (umask 022 ; $(srcdir)/mkinstalldirs $(DESTDIR)$(PRIVSEP_PATH)) + $(INSTALL) -m 0755 $(STRIP_OPT) ssh$(EXEEXT) $(DESTDIR)$(bindir)/ssh$(EXEEXT) + $(INSTALL) -m 0755 $(STRIP_OPT) scp$(EXEEXT) $(DESTDIR)$(bindir)/scp$(EXEEXT) + $(INSTALL) -m 0755 $(STRIP_OPT) ssh-add$(EXEEXT) $(DESTDIR)$(bindir)/ssh-add$(EXEEXT) From 6c0cfd3be3c1e4173fe0639f1081d2c23601c7ae Mon Sep 17 00:00:00 2001 From: Richard Zetterberg Date: Sat, 16 Jul 2016 11:04:05 +0200 Subject: [PATCH 068/222] libui: init at 3.1a --- pkgs/development/libraries/libui/default.nix | 25 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/libui/default.nix diff --git a/pkgs/development/libraries/libui/default.nix b/pkgs/development/libraries/libui/default.nix new file mode 100644 index 00000000000..5fabd127580 --- /dev/null +++ b/pkgs/development/libraries/libui/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchgit, cmake, pkgconfig, gtk3 }: + +stdenv.mkDerivation rec { + version = "3.1.a"; + name = "libui-${version}"; + src = fetchgit { + url = "https://github.com/andlabs/libui.git"; + rev = "6ebdc96b93273c3cedf81159e7843025caa83058"; + sha256 = "1lpbfa298c61aarlzgp7vghrmxg1274pzxh1j9isv8x758gk6mfn"; + }; + + buildInputs = [ cmake pkgconfig gtk3 ]; + + installPhase = '' + mkdir -p $out + mv ./out/libui.so.0 $out/libui.so.0 + ''; + + meta = with stdenv.lib; { + description = "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports."; + homepage = https://github.com/andlabs/libui; + platforms = platforms.linux; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 944a1efca5f..a66e64d09cf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8424,6 +8424,8 @@ in libu2f-server = callPackage ../development/libraries/libu2f-server { }; + libui = callPackage ../development/libraries/libui { }; + libunity = callPackage ../development/libraries/libunity { }; libunistring = callPackage ../development/libraries/libunistring { }; @@ -14873,7 +14875,7 @@ in vym = callPackage ../applications/misc/vym { }; - w3m = callPackage ../applications/networking/browsers/w3m { + w3m = callPackage ../applications/networking/browsers/w3m { graphicsSupport = !stdenv.isDarwin; }; From c606b9876fbcbfa2aa8360a5a2d808c80d3a2759 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Thu, 14 Jul 2016 15:42:54 +0200 Subject: [PATCH 069/222] grsecurity module: enforce size overflows by default It is better to make this conditional on whether the configuration contains a known size overflow that could prevent the system from booting. --- nixos/modules/security/grsecurity.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix index 9d0249820d5..ee5881d2872 100644 --- a/nixos/modules/security/grsecurity.nix +++ b/nixos/modules/security/grsecurity.nix @@ -48,10 +48,6 @@ in (isYES "GRKERNSEC_SYSCTL_DISTRO") ]; - # Crashing on an overflow in kernel land is user unfriendly and may prevent - # the system from booting, which is too severe for our use case. - boot.kernelParams = [ "pax_size_overflow_report_only" ]; - # Install PaX related utillities into the system profile. Eventually, we # also want to include gradm here. environment.systemPackages = with pkgs; [ paxctl pax-utils ]; From 94824303be3093fa105b6e50ba5497cbc7318f6e Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Thu, 14 Jul 2016 16:00:17 +0200 Subject: [PATCH 070/222] grsecurity module: smarter container support Only set tunables required for container support if there are any containers. --- nixos/modules/security/grsecurity.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix index ee5881d2872..2b00c8954a8 100644 --- a/nixos/modules/security/grsecurity.nix +++ b/nixos/modules/security/grsecurity.nix @@ -13,6 +13,10 @@ let || elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ]) && fs.fsType == "zfs") (attrValues config.fileSystems) != []; + + # Ascertain whether NixOS container support is required + containerSupportRequired = + config.boot.enableContainers && config.containers != {}; in { @@ -101,7 +105,7 @@ in "kernel.grsecurity.chroot_deny_chroot" = mkForce 0; "kernel.grsecurity.chroot_deny_mount" = mkForce 0; "kernel.grsecurity.chroot_deny_pivot" = mkForce 0; - } // optionalAttrs config.boot.enableContainers { + } // optionalAttrs containerSupportRequired { # chroot(2) restrictions that conflict with NixOS lightweight containers "kernel.grsecurity.chroot_deny_chmod" = mkForce 0; "kernel.grsecurity.chroot_deny_mount" = mkForce 0; From cef7150bc761d8ccd012f5cc6fb20e439293f3f0 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Thu, 14 Jul 2016 17:43:43 +0200 Subject: [PATCH 071/222] grsecurity module: grsecurity is not capitalized mid-sentence --- nixos/modules/security/grsecurity.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix index 2b00c8954a8..348f3cb5e95 100644 --- a/nixos/modules/security/grsecurity.nix +++ b/nixos/modules/security/grsecurity.nix @@ -22,7 +22,7 @@ in { options.security.grsecurity = { - enable = mkEnableOption "Grsecurity/PaX"; + enable = mkEnableOption "grsecurity/PaX"; lockTunables = mkOption { type = types.bool; @@ -59,7 +59,7 @@ in # Install rules for the grsec device node services.udev.packages = [ pkgs.gradm ]; - # This service unit is responsible for locking the Grsecurity tunables. The + # This service unit is responsible for locking the grsecurity tunables. The # unit is always defined, but only activated on bootup if lockTunables is # toggled. When lockTunables is toggled, failure to activate the unit will # enter emergency mode. The intent is to make it difficult to silently From 59c9a88a6b690a5e577c71b95494e99cfe6fa816 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Thu, 14 Jul 2016 17:44:05 +0200 Subject: [PATCH 072/222] grsecurity module: tweak lockTunables option description --- nixos/modules/security/grsecurity.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix index 348f3cb5e95..e825679c343 100644 --- a/nixos/modules/security/grsecurity.nix +++ b/nixos/modules/security/grsecurity.nix @@ -31,9 +31,9 @@ in description = '' Whether to automatically lock grsecurity tunables (). Disable - this to allow configuration of grsecurity features while the system is - running. The lock can be manually engaged by activating the - grsec-lock service unit. + this to allow runtime configuration of grsecurity features. Activate + the grsec-lock service unit to prevent further + configuration until the next reboot. ''; }; From 61a3610853428afb03d89d159569229a557a1cb6 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 16 Jul 2016 11:34:32 +0200 Subject: [PATCH 073/222] tptp: 6.3.0 -> 6.4.0 --- pkgs/applications/science/logic/tptp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix index e9a89bc0dc6..32906b88d59 100644 --- a/pkgs/applications/science/logic/tptp/default.nix +++ b/pkgs/applications/science/logic/tptp/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name = "TPTP-${version}"; - version = "6.3.0"; + version = "6.4.0"; src = fetchurl { url = [ "http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz" "http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}/TPTP-v${version}.tgz" ]; - sha256 = "0xy4cqniyx9fv8r9mc5q5b7xl163pkr9hcmpq6gkls2a0pvg07w9"; + sha256 = "1i5hi8grfl5zyh8py63zn39rg019bd90h2l312iswbgai6nyfdw0"; }; buildInputs = [ tcsh yap perl patchelf ]; From a377c71280e9ad7cb085faff85b3ca1ee198a6bb Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sat, 16 Jul 2016 13:04:04 +0200 Subject: [PATCH 074/222] firefox-bin: 48.0b1 -> 48.0b7 * removed firefox-developer-bin * extend firefox-bin expression to accept sources as input so firefox-developer-bin can be packaged outside nixpkgs * generate_sources.rb now includes full urls in the output --- .../browsers/firefox-bin/beta_sources.nix | 366 +++++++++--------- .../browsers/firefox-bin/default.nix | 14 +- .../browsers/firefox-bin/dev_sources.nix | 12 - .../browsers/firefox-bin/generate_sources.rb | 4 +- .../firefox-bin/generate_sources_dev.rb | 53 --- .../browsers/firefox-bin/sources.nix | 364 ++++++++--------- pkgs/top-level/all-packages.nix | 16 +- 7 files changed, 370 insertions(+), 459 deletions(-) delete mode 100644 pkgs/applications/networking/browsers/firefox-bin/dev_sources.nix delete mode 100644 pkgs/applications/networking/browsers/firefox-bin/generate_sources_dev.rb diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix index ad26ab6e950..19f130bcdc6 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix @@ -4,189 +4,189 @@ # ruby generate_sources.rb 46.0.1 > sources.nix { - version = "48.0b1"; + version = "48.0b7"; sources = [ - { locale = "ach"; arch = "linux-i686"; sha512 = "464c3b19ab7bda118d962da2699dd40482e1742887bcd9d72b8b7d211c7ab085aaf4c31fdea3c4e195af9030276118431ed7c2e6a917b354c5bf9f55cc8111a9"; } - { locale = "ach"; arch = "linux-x86_64"; sha512 = "d9f9844fb06637ca7449bc00c54c02abf8660c42207c0671fffd53e2415df7b0fc3df782c4a2ccde807b4c2e477b0cf3a74c36acb7cce3f75e4ce267a3575e5c"; } - { locale = "af"; arch = "linux-i686"; sha512 = "77bca1f05627ed9ace120eee7a7cd24fc354e9bf23a7709e38879241ad87c5d39a8cfcf2aed12881b6f9d6d611c334a864c20c9dee877952990c47c631c6a61b"; } - { locale = "af"; arch = "linux-x86_64"; sha512 = "bf4d5353a46778d93627c232c404c768e643420b17d490c932848d126846e4ca3a185df671dcf72b1c1d3fe75606c212e6b0dadd2169b52c4fe73f5088e87b94"; } - { locale = "an"; arch = "linux-i686"; sha512 = "2882258205866c93a4b808b7397ff62efd629b74b5233154190ce72ddd0be5d1eb8153d686d921ddb72049dfae0f11c3eb46128413e578c0f9f6323636a0e378"; } - { locale = "an"; arch = "linux-x86_64"; sha512 = "543b1d66dc37e1843f370ff071adb050af16e5777bc0042c2d25579a7d99b5b1d176ea099a0b3afc19f270ad5f191fec65e544634e2bbc2223ccc6afcb1869e0"; } - { locale = "ar"; arch = "linux-i686"; sha512 = "855fc1c71b50ba5b8354ee7ce2ea59664b40b77d007d99ea6b658873de729e22ca9018e475a669992b2e2bea9388fe0966e06f1e2b0d334df4ffbff2be147949"; } - { locale = "ar"; arch = "linux-x86_64"; sha512 = "8ff272dd30cc66460a617dd80678b68917067b87d63d6b307f6d60e61deda092f46bca9e890d08b69a0738f4c204cd2c5896201b362df68aa9abbe7dd0fcc96d"; } - { locale = "as"; arch = "linux-i686"; sha512 = "607039866932e6ec0692c534aa2e4ddcb3725d81f2908e7e905edafdbafb3221161f5ae4a5b6eb2ba065e9bd66e1f63c008015b17040033ed90ffa0576b1d08b"; } - { locale = "as"; arch = "linux-x86_64"; sha512 = "59f3c28bcbc50a9ffe780025e03edafbbf82a213f28ba8e0f62a04a0e052038c24e1a5928ad4a730455bd358fc3cd0f1188e785dd13f79b377d86e5c55360735"; } - { locale = "ast"; arch = "linux-i686"; sha512 = "c9767d9b73ec2dd411e16b1fab503e97b7960c315533ca529c4898dd10a6e0f809104588ac33f440e1026d026d114ec080cfc312b1902601958656607cdd4ad1"; } - { locale = "ast"; arch = "linux-x86_64"; sha512 = "f4c7ab66af5e7fca460999b3d68793f8099b177809e70f682fcd7b0a50a3d5ad2a1c15bc5df5a63c37437fce9d70e08e963119755626c357bce6eb17bfb229ee"; } - { locale = "az"; arch = "linux-i686"; sha512 = "58bb0eb057caf6af113debeb8d9d7eeb3b2fbd2c52c9dac04c527a67da45b3a4ebac4debfea1704639cdf20ec116876e140f4b55ea5f2b90f3afb9db6b2641b6"; } - { locale = "az"; arch = "linux-x86_64"; sha512 = "a82fdc532e4d9fee9ffab9ab8aa58074c4ed174c131d56b4ed48b1ebce1f8950371fa7c7e174c4f35150b752cdeccc2a553b416e94fb3eec22c0c4467c0b1f20"; } - { locale = "be"; arch = "linux-i686"; sha512 = "55a96ff3fe9e54ec09a828f740899118504848c82b9c842ed27b9c1e1179f8efcbb2fae5e25f01dd1440f9d2ad896e37056fe8240979cf2c60f536870590cac3"; } - { locale = "be"; arch = "linux-x86_64"; sha512 = "6fe1b00f8a03160a5131a52aba5b31401bf18913eb5b6018d1dccb0456ee09154c76220bb94b1ee20bf5b8e63535a888abf895af570e9a668395b497bbdf90b1"; } - { locale = "bg"; arch = "linux-i686"; sha512 = "e21d3a2234b533b9d5904be3c1ee4f489bfdea747ff2b45828c40712f70d631ca824375c7a232989741bfceb8a7eb1ca341a4709285056cea2cf3689326a9c35"; } - { locale = "bg"; arch = "linux-x86_64"; sha512 = "160600a553d452c30d533e4d9a4ccc4c4d0cbbadf7875856f9be0fc81dbb7a686aa79f47ae8ea1c1e3746d150db31c7ce0dc18f1d271a47abb6d9bc35f478bf0"; } - { locale = "bn-BD"; arch = "linux-i686"; sha512 = "6a4267ce4e0d474779f16a7bb31fb873c0d2ba4af993428330bef8c93a24c1f9121b68d50956beb3df549fccf233fa2ce851c69950bf93cf6cdf34debae0cfce"; } - { locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "31100d78f0b2fcca2643c822f930ffcf01da9ad3c026d8e05e88b659afddb9d55a000dfe043a87d6e4008d40fced109c134a3bb2c8183a1044d462fdc050989d"; } - { locale = "bn-IN"; arch = "linux-i686"; sha512 = "cb0efc8151949b33c23cb9d4fe41168830e215d4361963ec9399e43c97aa4504b4539a202f2c43283e63ea0a4afbdffb9bbfa1340a256483c3b848ef24660734"; } - { locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "37e8311e0126da80740b9f97b4b69eb2285716b309e1986daaec5becf88ee5624343ca3b208fa84eb63477f47234c8d5958e394bf750da32e02d777ee94437f1"; } - { locale = "br"; arch = "linux-i686"; sha512 = "be6cb0e7b1ceb0be27a7203620b19341c16061ce0d4632f9ce135b2559db2ca31adac2e40ef95f98db903fd151a1b5d411232361631272f2d6200dbcc45464be"; } - { locale = "br"; arch = "linux-x86_64"; sha512 = "aa71bd069902a921b2a61ebbcbb604972104ba5f4274788da261e1e527dc7ce10c6a9aa0652773f0d0499d53c2916dd1e2d862b900fb87d678a9bcb401948cba"; } - { locale = "bs"; arch = "linux-i686"; sha512 = "5282780a9f35577498b95ded38f86423d043429a0fb4b9ded956716381a3343ebe653508e8929bd8ac7475a2fa0d6c4c67e84482cae0d40a681338eba09f4c96"; } - { locale = "bs"; arch = "linux-x86_64"; sha512 = "1056be9971338d821025a5d272321ea4b1704f3103c02014cde711516e9da5303dbc5753f0c2c1cf236096a53b3b067261b628f17d6d45e6c713f5b5cdee69b1"; } - { locale = "ca"; arch = "linux-i686"; sha512 = "15c98207cb051466bc89dc15fb2dc1da95490306030fb318f3e3bb184d23590df7213e183af2e5178969099a4edf9752e5872a9d4a091958d7a9ab6087ff6bdf"; } - { locale = "ca"; arch = "linux-x86_64"; sha512 = "f7fc94c6c358dff1336938ff2d28c4fb9b0d391c22acefa7e286004978570e18cc1fd1a41a101a8bee27cbec1d750e04ba43cb409886f2b72e8e16a9aed6c835"; } - { locale = "cak"; arch = "linux-i686"; sha512 = "96da63ceb6d4382abd8d1e343fdc4b72ead5e5ed2e3d451e768c6b092186287dcbaf239c389d29bc23e5641495a3f2a05512377300f45402428647ab77550b17"; } - { locale = "cak"; arch = "linux-x86_64"; sha512 = "8584d4d82c79a56657a01a9cff211fa99e0fbcf0a42103a6cd9688713e7c11b77f35535fe31ed7e48855e055897b2c5fd84c2b1796c313401d8f01ed889ac7cf"; } - { locale = "cs"; arch = "linux-i686"; sha512 = "2dff956f8df85bd007b68eeb8b809ddf7d99a6185f6946d2f4fd371f17e4dbf46bf2aad1799b6a1c84bd983935fa2ade5acd3b062f3eee48f7a160f37f3e8e6e"; } - { locale = "cs"; arch = "linux-x86_64"; sha512 = "725a2e1272722cdce125b5dea7e61525a43ddda6a45cb003f397ec8d1c9334f11adcd7fb6dd2c901de1cd9a0d07eae54304e5f95ecc6c529c80070b9d6af1b47"; } - { locale = "cy"; arch = "linux-i686"; sha512 = "5eeacbc1cd803687235927a91923895930e135a39de62574c79499fe56accb5278da3efc4d151f0f93ec482ad44099481960dd6e3102afa94cce3c30db67b133"; } - { locale = "cy"; arch = "linux-x86_64"; sha512 = "49fc8136b3900b96fcea850a9549812b1cf1e9b1058cf99ee7e2e135cf49827e46ef4361badcc4efbd5dd09600d5269e68392f8df03c2e039d6b3d04b244aa71"; } - { locale = "da"; arch = "linux-i686"; sha512 = "f806a36960cbec3624be8ebf6e7f8116635c7fff63ca890a886bd16fe73ec8a311d1e8b3c34ca680425d4634c91f8b96b0617cd175eef69e701d7c72e8917872"; } - { locale = "da"; arch = "linux-x86_64"; sha512 = "22a274b9a5a1e670369009f2e48a4b7d2f63f18baf435d001506dd590b59115d43619fa824e2156b468b17739aea420621148ca47cd46bc3ace31bc5be4533f8"; } - { locale = "de"; arch = "linux-i686"; sha512 = "6d64a77f420d1f87b7dac151eec75d4d42ec1f904b882b970d88b0e20a38ed5ebf8cbb2180abbdb8fb00dd60621e538fecaf77e09c4aee51f71a38a14f81b9b8"; } - { locale = "de"; arch = "linux-x86_64"; sha512 = "897918d57691fb1a3f93273da48c128cf8a91e9bc5dd12d0ce2b4a085ff4df01db3ee28a378f36b7e7944c23f71df8a6dbf3481ec207cf85b73f3bac95bde054"; } - { locale = "dsb"; arch = "linux-i686"; sha512 = "d5fa1438b71fcd3507175619090840cf983de9efb003f537eb28b9dba66f1cb3518e1410c4918187eb25766634464aaa796ebe0020f8fc110361008751e1c359"; } - { locale = "dsb"; arch = "linux-x86_64"; sha512 = "30cb3759bd1f6ba91dfa847703326a57901782ebf397adaa1a403afe894f9b8cdeba80fc910f50037bae003e61956845f605b0e62c364c1c415b12a5abb87080"; } - { locale = "el"; arch = "linux-i686"; sha512 = "991dfd0870e38ee4a8887a61ce87a4c5af1c21206442a0602197caafae0be2c3c5aa4c7b25fd92fd9968bdf25c780ac342dd0203c3df8d729034ba20a459d120"; } - { locale = "el"; arch = "linux-x86_64"; sha512 = "d62b4f1eb5feeb30e4d2d7b8cb7391f374a209d14b70cdd77acb56106b6df36f54c67a3c5fa1ab4286fd7c46b5d0a42efc52d140b8e5cbe08b17c6d7bd14b498"; } - { locale = "en-GB"; arch = "linux-i686"; sha512 = "2cddfb3d4472bfda882a3e3a054d5826a596bfd6b9b4399d7f45c6ad9f157599206f5e149f6c4fb35845ae291320520bf7a76c891713f1951c6e9a9450e92d23"; } - { locale = "en-GB"; arch = "linux-x86_64"; sha512 = "d6bda8496f96448b9b046822547167c9c631dbf35c8bba07226634fc9aa1058009200d10e4e586fe059ab1e7b558d6cfa2c0040a33220d46dba5ca742bfe6f5c"; } - { locale = "en-US"; arch = "linux-i686"; sha512 = "a9025b8d66c9294ede71ed37b7df256476cc640f7b7ce74cc4998c0b4b5741b5f869c486f1eaf4793fb4b2f347ba069f859e1c5318fa8df18c52377c83f8a09d"; } - { locale = "en-US"; arch = "linux-x86_64"; sha512 = "a551550037fe762d6d06a4f046ff4e2f37cd2607aace13df5ba2e28d643ddcef01210367555fb2fc66c6fe45d83f0306f61f4139001d1059ea5e913fbd43cd69"; } - { locale = "en-ZA"; arch = "linux-i686"; sha512 = "3e4721593a69bc289c7299b64e91af0ff121d59ded0167bfdd6692dc6d7a0ce0b0a7e8e89a591cee9fb90dc8b9eac26c5d978e4443b1d3462a0f4030ec8c5a50"; } - { locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "76e069c8938cc133576c934e4049fd4d8920d8a823122f1961d4ab69802e9e52e920873fc1406dbab01edebd0cc576ccb12df0ebbf5487ddd49c339111bf7101"; } - { locale = "eo"; arch = "linux-i686"; sha512 = "ff071fd2545a8dfe0fbb1b1dae57d3fc4b0743698e54746da1f774b568b2b9ad9b0e14e2cd27f56031e1d159a05ae7d54060509532a7503b3dcc7fffa442a514"; } - { locale = "eo"; arch = "linux-x86_64"; sha512 = "7705efee2c65de30a0efc6ea0c372061f47c4266ab7faeb6feb01bfde4324ac92ed99a9eab81d8c4e2e6972245953a200c4331b26845eb7a2f9e048fb3023840"; } - { locale = "es-AR"; arch = "linux-i686"; sha512 = "3c08ab10d76650fd11ecd9616af1d4646fabdc55b63c7625940630f8aa25427482a3ff04052b91e6aceac708ca187552f7c87343d08c01cc1b4940e341e1672b"; } - { locale = "es-AR"; arch = "linux-x86_64"; sha512 = "b6d700123f612b93b952f05bfa92dceed8878ad20a84214f8daab63e4eb669f1f69a9a5d6d28896b16b19d3dbd710b98a4851d7f611bea0fd79e41930c3d838e"; } - { locale = "es-CL"; arch = "linux-i686"; sha512 = "7c64c7f7058b1cb3bd5f55b1afa0bc2e779d46d05e5dd354fac7573ad6245ba31aa126301d827ffd17f197b460be24c98ad7c2a9a3d4c66cb6189618a4e38ebe"; } - { locale = "es-CL"; arch = "linux-x86_64"; sha512 = "dcc4b4085fd4e480e79ca85b862c421f6e85d200d46b40178ce27177c1ac00f0d19d0c71ae3d7c12e15bf570cd0234743d080d06dae1e9e3c0c2f0eccf4bdf86"; } - { locale = "es-ES"; arch = "linux-i686"; sha512 = "d049bada399fbc723ceb14aa116b9218d14729cca6a2297d852782e4d3a0cc7e278aecc62ec4b7f1e1c5af10f65d0cd0bd39e6fbf95d989ce4d2ea5b0e2f7901"; } - { locale = "es-ES"; arch = "linux-x86_64"; sha512 = "a77978f8af7f932151468c9e002731c8b6b3e9d3d8d8dfdcf28cc545b63f1d859b99c6dd25c547201b050f58bde9a55fc67b8134ecb0c893ce50f7788774fe99"; } - { locale = "es-MX"; arch = "linux-i686"; sha512 = "46a7bc0f112f99ffc218e0161116b373c5b496e8d73744f9ed341fcd0fece5bc4618bcaebd68cb0aa80bf86078163d92205d322464dd8a918463507e4a9bde9d"; } - { locale = "es-MX"; arch = "linux-x86_64"; sha512 = "412f52d4eaf3f85cd452d18164d2ce13d3057b45bd4f81ef2255a3580bb5b7e68f23dfc8622dbe3c4d69291b1fbb4a3312a429713b940b081415157fe5dc849c"; } - { locale = "et"; arch = "linux-i686"; sha512 = "34d56c20cd06f224d1a3916a12bfd3f076a1659d9bf21aacacd5bea59e789ff496600b712a12f0b67410da97e0500d2f28f1f916872bd223f9f3b913ac648552"; } - { locale = "et"; arch = "linux-x86_64"; sha512 = "383a4e2b28217651e76a06dd84eed5f058bf53c25847a6ef0ad1ea9e6a3c98f6a94ef05999a92f03f669e7cea0df11654b201c4e21fc595fcf99bc91b90c05df"; } - { locale = "eu"; arch = "linux-i686"; sha512 = "cae20dc1b9880dcd9ecf4331bf1b6c6208a63ee3490ac8b827c9e338916a9d07e447f93be4108db78ce3cc96b8d3828f1882c28aaf28f198fa4f875035ca5835"; } - { locale = "eu"; arch = "linux-x86_64"; sha512 = "38ff3155783328b685c72f1ada0e01ab8a8fb75b191455dd43de590207f9b3a258da7cca6ecd3538a7d8319c8d1372e174fea0a22baecb497ca33aaff80a33d2"; } - { locale = "fa"; arch = "linux-i686"; sha512 = "6d4d15e4897568d32128f193fa7bb413e63cb2bca23b81a16cb5b9ae7a558b768193461a182552da1153dfb708f834434a1fb63478cb5fe7984b91d00415ea34"; } - { locale = "fa"; arch = "linux-x86_64"; sha512 = "6439f27cec2a8af66a4e68406c88b536c5f8e2b0202ce82aa46e75f840cb3977ddb041d8ee315d95505ebaa0e37b36afbf26ea0f39310cda09f6e765eb7bb120"; } - { locale = "ff"; arch = "linux-i686"; sha512 = "ee9114fe358d9a6dcb7e404f13fc594de9339fc7ad126063b52548d42aaedac7abbce9e647766462de2716c3ad248b6992dc04e96ea3816068e884c30a3bcf84"; } - { locale = "ff"; arch = "linux-x86_64"; sha512 = "beae2223a6b3aa555c071b51a46d3b0758efa53b6002f2486554f5bec154cfc1a1598f0175af654fc47a60a170eda916152e959a5ce2f799b779e5040ae15c5e"; } - { locale = "fi"; arch = "linux-i686"; sha512 = "d8414f63f04a5a9c916487f93c67d2368bb4d8c8fb757c1d58233e6c6e6bde139f323b1c77dda57730173c6005b2647c688f7072ac09c1962b04a2493cdfa18b"; } - { locale = "fi"; arch = "linux-x86_64"; sha512 = "7e0fce63b69653fa5d0d0ffa9598d10976a1f49aeeb48bcd8eee26b51ca1f6d1d898c84944a442d530abcab700dcfdf89c48ca23db9d835c877388a8f694b7ea"; } - { locale = "fr"; arch = "linux-i686"; sha512 = "c3bfda75397d644bc4392ef87f1d24faa033f4c5672adc4d5d0007d5fbd63efd7f46a2febd0bfdf95d8f06152d274daf39ef6355e049e7fd5e53e2d750d03ae0"; } - { locale = "fr"; arch = "linux-x86_64"; sha512 = "81c8091c9d8cc1ede738bb1d9b4fe72580d13de7e3f89410d1c684ca017ee197837788e63243c9722b30e23b2c910cb54fc7985f4936bc6068643a504d9a4ebd"; } - { locale = "fy-NL"; arch = "linux-i686"; sha512 = "59797af1d76fb2afceb06de28c6fd13bdbc14d42c61f87f1f71d8273e03aa691e2ade3ba0361d19721862878c911ec46ffbfd0431d19d6ec0a92ebac05cfb4c4"; } - { locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "19d0cfb01374bf2842a17ef4e9f5ab85280c1090723c1657459a230262d22aeb14c2faee1b86ac0b342c5926cbbf0479f2e1ec315117c06ad3272a3362d02f8c"; } - { locale = "ga-IE"; arch = "linux-i686"; sha512 = "c1a4fe00a36e95fcd33d21544ee6b4fa5a6eae0628a37c27057cc801a641fbe5519818ccc157b87b64f24f4886dd6dd629809c89b9c89dc4878de794e48b107d"; } - { locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "8d9654ecf7b6cb43b4794f345105c779809b9bd39a9dd46a0fbb1920139e9234e7433fd9a8d7dd57192c738d187f97ab82c8dd3f3a2460e3a34cdc9e9a5c5089"; } - { locale = "gd"; arch = "linux-i686"; sha512 = "0d48b2886c431a9237293f24fa5f8cc7104a3373b24c98e23bbf93f66aeeb5b8b9e737712bdd1c777db19bbd6b01f9a33f0c388b6af023d852cce6543d486973"; } - { locale = "gd"; arch = "linux-x86_64"; sha512 = "0339b6952f993d38686d92ac9a664cfa558f2827b92ae3464188f12e28e2676c8c4718cff62a840dba14de687434cf13902a621094f63e1bca1ebce321800d15"; } - { locale = "gl"; arch = "linux-i686"; sha512 = "5cecaede8ebdfb58951b3f839388b81dccaaaa5d3b4fb5cbf26978b23cd962905191fa91d961037fa15000af47ab48042d272fd18a73e5ed4dcc2bb0ff4416ca"; } - { locale = "gl"; arch = "linux-x86_64"; sha512 = "d1a0447ce592e7d2a8564d9c27fbce5f9378a4e21db3fa501782e57b6e13ede6f42b612fffea32e8891d47010509ac8e3ed1f63c5a81878008f9bead68b6b750"; } - { locale = "gn"; arch = "linux-i686"; sha512 = "aff2f407e4c947d3e34447b43e844135562d79bf937a05dad5ce4dd1853dd479f35b4f6af1b2d8b52deeb9786a4fc67980cbf58ad82a747a7e55ea753a50ad43"; } - { locale = "gn"; arch = "linux-x86_64"; sha512 = "78645796fffe364fcd28b80cde591d88db91a756318f645610f6823b616222c0c53faf8d55aaf1703d4bbcec1e8381cee566bb5739ccfa181e1d1224408463de"; } - { locale = "gu-IN"; arch = "linux-i686"; sha512 = "331bc227d138a49d74cca37f8d7ba4e6eb891064357aa5b0606761f9af8cc4a029816a3a96cc3ac4dfb71b1d010c569940ebd70375fdd06af7b6b487bd90dafe"; } - { locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "d1f6c5af9e75e76683d39281eb559ac688436eae65d6bc486763028744af030a6c311d1f0358ead5e88ead60357261032dd739251352cde097986251dfdff325"; } - { locale = "he"; arch = "linux-i686"; sha512 = "7a49d8cabab6aa8480026de6b77e1b6d60333c580d2b9591cf3fdc8c491d269f6a7a7f93118594de8c87576dda868f12de5a88f494736f721ee3ddc16a9afea9"; } - { locale = "he"; arch = "linux-x86_64"; sha512 = "0eed4301d7949415d21426d9e52825710a0f48a1a0a3546f62d757059091bf12b3b53091f2c3102de0682162e3982a9fb58c111c9a6b8245d84825892e1d6844"; } - { locale = "hi-IN"; arch = "linux-i686"; sha512 = "70ecabcdfee807b1a7e0b6a167bab07d3df798672a61bb7b80d1d6c3ace9385c472e08dd31f2c4c684cd5e723e7024016728df7b22943d3adec3d770ba7abd1b"; } - { locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "11e8be059afa8298a23857bd68b2f895bb60f73378c513d2aae0395b5faed68123631d9ee44b5608263334269e33b76b4563c063b2feec486e7a2dac1be42275"; } - { locale = "hr"; arch = "linux-i686"; sha512 = "2c99b81cb0c8413aa98dcbac2cbd45d59a440c173a9cd744b78ee0d60b82ec4fe4894fe5e313d51b81caf6b86f40effdb36f5fd90c73cab82acf97c20fb5b152"; } - { locale = "hr"; arch = "linux-x86_64"; sha512 = "fc209d82cbc24eea777a4318f5555d2cea4828bb7f305f868b8fca18014ea7c930f778c716eb0b9c1a7e29d9a4353b4c537900f9d659c432d6a75b1eebf30963"; } - { locale = "hsb"; arch = "linux-i686"; sha512 = "3232380f15a33f31f8e3755707231ba0725b9afdae1d2a0d4fb2eb883ab4dcb5c8aee75549e41e7e2cdf445b6f39331b2be4d7e417604987c7ced46d2dd5dc51"; } - { locale = "hsb"; arch = "linux-x86_64"; sha512 = "11bb460c404316c322e2498986ac6e7cb976a196de7208ee54dcd4ec61b8f05fa8f7782d6cf462cd5531f3137b1688b7797da2d78437e3c4d4f95867c781953c"; } - { locale = "hu"; arch = "linux-i686"; sha512 = "40c3837c7ca4e0dc9e97e4c4422e54cc3ef157933ce9969abf71fd422fbcad517a6f6da3bcada83d3567323e83248a060fccc8a23a7f6fb55568a5b7ee0ff464"; } - { locale = "hu"; arch = "linux-x86_64"; sha512 = "d05bdf14ed9c72031a29e7e9b39afe79bd2ccdc69bafaf8c6196081d462b0aa57a220a8a2105812b215067494c53de8adc994fbbb3549ccfcadfc15f99c710ac"; } - { locale = "hy-AM"; arch = "linux-i686"; sha512 = "a9da495cc3e7a1e89ca8dd7a3db6c83529e0b7ba6562e7f0542f8b9c93bee8e4c219973b0b6fda1abd046d933fca718fab1f6bd4350ee960ddd89144dd321ed6"; } - { locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "53db4843e0c9e99188e28bbe46b09239d998a3bae35ab79954bc6eedc5e73c0f3010c500dbb93f8a6ee2d5b22fb3ee9fef9ef6eef2dbbadf4b83f948282a8bc3"; } - { locale = "id"; arch = "linux-i686"; sha512 = "05e7450a164c940e43ce34f6b7c9ad610d1652f11b0f030dfea7c9d8539961b2f3e69ab0d3b8d714725cf3e8bb256f18f4ac3613bc86bbf6223d9914e4eb77f3"; } - { locale = "id"; arch = "linux-x86_64"; sha512 = "7ce0b880406dfbef90ca6ae6f121eaf72bd289e7b57f7686ea83fc182cb9b54a3e0bd8b23bffbcfb3c9e82a6b13c7afa16ce56d426f33f66072db4b5f466db04"; } - { locale = "is"; arch = "linux-i686"; sha512 = "71446911d5142ab19308aca456dcc1d4d087db07898e331604230faa58c2146b980212880c7f88b6e3770b303a8450cff9e447638b5a063daf50ec25d29de738"; } - { locale = "is"; arch = "linux-x86_64"; sha512 = "2542f214cb2474eab97d18a1daffb1181fff569058b91c1c9d7d6400b8401020b69ea9492fca55153c904289be45215b37ed0846d563f8f06ba401c482d59762"; } - { locale = "it"; arch = "linux-i686"; sha512 = "bdf0da50be211492e2acdd9de223ef741fa916c54e94bf9c8eb20685006b68b5f430949161199a915c368d11143caf828c25b2e82c33fd5a61bfcd05de53966e"; } - { locale = "it"; arch = "linux-x86_64"; sha512 = "a4562fdcac6d9ba96fc840498bbb381de6190158fea65c4809ea1ff3518181ed47b7c33bb772077975fd07c23a1e8700403cb6cc67c5fcb1c24e72563214f4bc"; } - { locale = "ja"; arch = "linux-i686"; sha512 = "cc81a02282474928e7d2efc694761168db022ffcbf5ff32d92c21b90edfb194187dfb78f2eca4c42e60cfbba8ab6614c1c7b0359aaecafa47b1c9d3918327cee"; } - { locale = "ja"; arch = "linux-x86_64"; sha512 = "07cd92b7f9647f774b080cfcef828899144cb03472d70394be197c43732b164978e1d9ebc9212a47b58fdcc61f5009328e766f4c6f799f35d73a4dcd2b31fdd4"; } - { locale = "kk"; arch = "linux-i686"; sha512 = "1bef31c35180ad7fd49ab695a6985d8be301a6802225d319e979b8c716e78a5687753b6f63516f4b4221c402a2d2c8c0a0e22aec9023cdee98d71a4335728e7a"; } - { locale = "kk"; arch = "linux-x86_64"; sha512 = "dff599278a27fe2b4efbcc99b7ad3b211ef5debbf1b95d765a36fdbdbaebff69936c250018f237843481244e2b02cb8de4e3090d9422adcbb3d8af4239759269"; } - { locale = "km"; arch = "linux-i686"; sha512 = "0080783187b80019cb4c56e2b30a1a403c632defc375adab7d613489fbf7f217a22a779f0119e2810ee9f0bd024418ffc654df146873a06f59bc7f1de5fbf244"; } - { locale = "km"; arch = "linux-x86_64"; sha512 = "84d1ca7fd0a4d6a39aff375e922dcdcbe51fb2b497c6eebc312abe6cb5b29bd049e648197f0181bb2ee1b47b43275c14eb13233958c0bd4f7cf7b28e5725de97"; } - { locale = "kn"; arch = "linux-i686"; sha512 = "2dac35157e3264547726ad33f786bd86e52a4db8aa8d1449cdfa9993e5bc16556c6005e06cee915e427e74b3eb4eed665a4a6deed7bf3800a95319346fda3690"; } - { locale = "kn"; arch = "linux-x86_64"; sha512 = "175b3edf58286a229ab4045ca2d75f8a00e8ddcac532fbfc8aee5a048e0ae0cd5044155a8619d6dc53756150bce2d46b910e1abe216bf537d259435199cb42cd"; } - { locale = "ko"; arch = "linux-i686"; sha512 = "1db17eaf47e7916366d05021d683c2b4d8f26316abc057a450d24a5d19fa1ed9aaad2f7a45cee63c0f021d93214b62a032d17312cdb123289b31dd2e5bd43808"; } - { locale = "ko"; arch = "linux-x86_64"; sha512 = "4bc673e54fb0c30b7c8389c2a66b322bd4b19e8635cb3d633754214c0726fb95d3194d09435bb4afca17e6cb3f03f028408d13f9ed44d8c2b9c323eabe5101e9"; } - { locale = "lij"; arch = "linux-i686"; sha512 = "8349ba8cf921d73f0c3bd54c9a30df9c0232d7686724a0d635435d65a6bc8baa1915e25702b930cbefe954b5aedd1d3faeaf54ffa9b5dc494e465a635a57369e"; } - { locale = "lij"; arch = "linux-x86_64"; sha512 = "e12597062c060dabaff08c251f82ad63f534c341d1afa94e567c763b7ac290cbb03a27726e03b449ff89fe8b86b25211e807ef7ba34e876d902705f9361d5cdc"; } - { locale = "lt"; arch = "linux-i686"; sha512 = "f67ff28a20ae0580aa537797928bf84cdc088cc0df586071a460eda6ea7b96337a5004b2689688a487ed246b5d83a14bf77a5002f39fe7ccc46e92f65b565cf1"; } - { locale = "lt"; arch = "linux-x86_64"; sha512 = "f4ffb37c69b9c69e9ea54d691bfa3c069b28d5b1b0b48b917f4c6f10c1434bb451b7c17e777b5daf3c869eeefb2a064264bba7591f681d319fcab00335b37384"; } - { locale = "lv"; arch = "linux-i686"; sha512 = "7efe759ef2f0e585a8887e829e2bdf917209efd5b3d5235f5765c0995206c25941abed9b11f9241da565a919f94890682a944d2bb7dd1d1360f67f173dcf2852"; } - { locale = "lv"; arch = "linux-x86_64"; sha512 = "63cdba3ea94fb1847913a42ba70193ebfbbf1235a28881c7d671b20dc8272c5989dcb8290087a0862cea7a4c8ff448ee61b42a13d6c03c8787be1dbd957769f1"; } - { locale = "mai"; arch = "linux-i686"; sha512 = "0619cde7ad13590d2da001fdf87e2fe9772d65d1ce468ea2b1f3085d8c6c157f48d23b343e6886969dde5827d12a368e208242dd16df4e498893d53f030665d7"; } - { locale = "mai"; arch = "linux-x86_64"; sha512 = "f65ab5c51b7dd0f127a4b9f65a0280002af3387b12e8730f8efd79f4700f6c5f5842e3f634dd738571995dfa52ef58ec0d68255ceb52c6a7df0332797dfab253"; } - { locale = "mk"; arch = "linux-i686"; sha512 = "e6d2bf183fc1fa88d0bbccbf058344e8dada0271694ba3bfc149e965ff16ec05ba6f7a04cc39f3657524555e84f25d072d7922fb2c075b0bbb8cd933336f1d94"; } - { locale = "mk"; arch = "linux-x86_64"; sha512 = "68a96a11e38944d654d1aa720b5a099fd0789520b8681f15cf33d972956e7dd2c44d940ea0b2840c48db79615aed8c83d3f19769908752f960f84a7bdcf3a2ab"; } - { locale = "ml"; arch = "linux-i686"; sha512 = "32c8e00f71a7fa609c3b99799f64362962d245d75865ce54fcd72e8cefc45f5cec7a99ed343a7bd92614569e62a02ac0e712b4ca3fce3d5d0f2f7ad52767c209"; } - { locale = "ml"; arch = "linux-x86_64"; sha512 = "c641244006a11de3b6ae947f2d5bf8b40fd4bcde8e7b71d2fa2a8258087bf3d6382f21b10b05b2554f031ee95a579d31d0e0d8f1b72a5e1101acb31075aee02c"; } - { locale = "mr"; arch = "linux-i686"; sha512 = "3949d3e4d9fa507c50f5ca92ee9cb041dc9d034f78d44343139a1576f128a06d8ef3aa2b1fcfe11d77a7489b0f7dd18e14f0ec0fff595dbefc219f6b1eadd969"; } - { locale = "mr"; arch = "linux-x86_64"; sha512 = "c323cf8842f695e47f3c91d356ff63bb0ce7a5cf47cbe874dc6956d90fd84f6330e6e1f5f0bbf61e2cfda66a2dd0e81a756f3b464108e7ad84450722562e5906"; } - { locale = "ms"; arch = "linux-i686"; sha512 = "f5ded01c47ac91d506a10774b198b3c2fdcff35a10ced17cd0cd94a1e367d489f2afe7ae22d59beb420f771684cefe3724c88313249a4c6072ce68f36bb16cbf"; } - { locale = "ms"; arch = "linux-x86_64"; sha512 = "39d4a052c21fe9ee876f8b8a7fabeae9a6a30d959e1a7b27b0a1fd08658cac5959aa4879e3056675e2b7de83f588cf82f5d138f2ee5d9b0bbd135b51de109f7b"; } - { locale = "nb-NO"; arch = "linux-i686"; sha512 = "6cc34cda3cccb3ce92f44244e291dc94238292ef6e91172d73659ca5b4b46fd004483680a7a45ad3643d59c57c7fe7bf4286f4cf7c903301eb39712db9bd3583"; } - { locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "da645c69d2675bdd1d2808f0d7446ded4414311bffe5f1a37a685f6f4338a56e831349a1a7904c0332266e909e4e82085585afb14b3fda7925698d66e9912a65"; } - { locale = "nl"; arch = "linux-i686"; sha512 = "a2d906caf6b4c36305cbcd2840915000c53db2ac03122aca162e672014b217237363bc309cdee5ec19d21106073044fe8668fd044805161bf4916cdd938565ed"; } - { locale = "nl"; arch = "linux-x86_64"; sha512 = "6288c2f0306aacd87a82a3a6262b514f32a177674e6b96eeb5a8f937ee36b6573d8a3e6925be87609e4d7dabd1e6367eb0e730d87148cd50c1572756bb098a5a"; } - { locale = "nn-NO"; arch = "linux-i686"; sha512 = "04454f9f5dd2611cc76575a41d56f6819c5b97e213f82ebf0aa5e8393d9cd4a99a9df5291d3e3c3985396a99559f39fe5dc6a85141ac1d2f4919b731d7539a89"; } - { locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "fb55685275d0b6c9e47b0356bd4249feeb3005b338d2a2caea4bb7b86edc6991752af9276db91f448032ba7d9e01209d92706f7612531232f87c05cbcb13f337"; } - { locale = "or"; arch = "linux-i686"; sha512 = "16639bc10229e171577abfeab841bd7b5dc411f4e314335787727803a486b8f04e8730a7be9321172fdd60791fce7363d5ce5aa28628cc4d2b7769357737cd0a"; } - { locale = "or"; arch = "linux-x86_64"; sha512 = "041f3a63a4cd9c0f287132252df7aa6d7eedc72650244729e01eb52a93a9ca8206a11cd7783e7778d4cad9a525ce2aef1c423840ea5c54fa202600a0b5805e31"; } - { locale = "pa-IN"; arch = "linux-i686"; sha512 = "7c9cda0d9dd9d1196ca33a58b6f5f3c3f09896bf65e8fbeed67fd9811cb1bdc12b7ca8966b7612cad524a3bcc9dd1e2678627f6cfe172b1bfc2d9b64eaac17cc"; } - { locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "56507e7e1e93ae880de5410b4ad8c1302f58b43ade2ee4dc70c1290334edf2ea05f7ddf2ca00317ee33662de29c635caad8f73332935fd5bd4ff6a37758bd195"; } - { locale = "pl"; arch = "linux-i686"; sha512 = "52cb7e700e541a82328c935a0a99313dad6b7699c09a1386697c77544284d53653705ec6d57f3cc1bec632962217c090ee39687a81b19f3a3af2178eba9a1eae"; } - { locale = "pl"; arch = "linux-x86_64"; sha512 = "77a99740ad99808a31df3e71038944901fc0d5339f919cce40389de67baeecf2b9c34608194ea1f0e4a25bbaed0ba06159d10ac8816735b34a2e28ab041ae97b"; } - { locale = "pt-BR"; arch = "linux-i686"; sha512 = "e39d9b22f8b7226ff2908b34847fb77cbe0c834f51985712024de83ece7549c8a89c3ab3d81abb6bfe6a7b21f18dee2d87926abf3d2edf9f8a8976242a4dcb26"; } - { locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "a03a0e37ecc2d903715b70eec0a4b2808a913a8e27398dd96206295e1e765283e97b76ba278b394f9629e352c10cdb2011f3184b903d0e6de784a13abfcf9668"; } - { locale = "pt-PT"; arch = "linux-i686"; sha512 = "2d511400948ce05358b9400752bba41cbd947d1a4a5a5a92f982830db92507e257c28ae319f411717253dd53a1a7e73607f9f62fb7b7c8666aa339fdc73ce728"; } - { locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "71e2a000333ae8565de6fc9d01e871c2e894f96a9a2544a21aac08ccea0399da37d74c3230c4b3cb7ba0231fcdddaa417f78e48848fda8f063179766cb675038"; } - { locale = "rm"; arch = "linux-i686"; sha512 = "4337964e6daa7bc799f01aa52a33f04c060288bbb881c2321ef938658b57f05b632f734ea0564cddd0078f4b38d1c8cb2c2e6221849ca4aa80579f308fdc2056"; } - { locale = "rm"; arch = "linux-x86_64"; sha512 = "a55e250de5e11ef808243ef974fac8938c70269a36bcf9db898a11997722b8d96d60d76ca28e41e023b4c7e6614e323479d3d4d2831b83655ad3ae3eb5ed774c"; } - { locale = "ro"; arch = "linux-i686"; sha512 = "17171889ac7647e525783c96afa5a5de796d603c8fa6a7ad8d12205ad510f869b35f0df79aaa04e4b980c86ceb923f89936499df7e55539393e40ac92c23bb1d"; } - { locale = "ro"; arch = "linux-x86_64"; sha512 = "721912e5ad4b0ad0727f0185f660351b3c59291b3a22aa394f01c26ee87366b43b5aa08cdfc164c16117e1650837bc2007e42c34756dc26466edbb113f11fc09"; } - { locale = "ru"; arch = "linux-i686"; sha512 = "28dafdbe6ae4fdabc061c68ca82dc6ab8fc463da11c712500378d90dfb662d6e0991f35a918315ce138603283befcee182092ac4f8d348815bef27431252874b"; } - { locale = "ru"; arch = "linux-x86_64"; sha512 = "27bbd48859f5ed6053a2062778537f4952a0847ff74d2dd407766ef4b4f144903167b4fe80b98a5b2b80e42d6b730bdfed36fe9a958d247a335bf31f091b8c70"; } - { locale = "si"; arch = "linux-i686"; sha512 = "0f50616131a3b80499885ed5fb8573fd3ebe522cc893496d03e48ac6eafbc2a5224240971b66c393323d2583512dacb73f3201eef1a495298badad605cc76bb3"; } - { locale = "si"; arch = "linux-x86_64"; sha512 = "37996cbc994a7527c2ffc5143dfe970ae2fe0e098f0bcbf9fd4643e8297bddbe7fc0f4af2f2ee15b0807c339c25d780040e2f9f03975ba9f49359052a2be271e"; } - { locale = "sk"; arch = "linux-i686"; sha512 = "db95ce3b68fdfdfc9916cfbfa6a797370ddf58f5aa234d59bde6e76cf7fc0e821e9954cd0ce090404f5f718b9ede9c1ae6b9c7e37db9e64eb9d9dcfd975c6a79"; } - { locale = "sk"; arch = "linux-x86_64"; sha512 = "f9e28572c83e70c7658fd67abce93d021600fcf6b8daa7861cb6eff315a28c0e531f1082f6c25f5779371b2884c975fbc22cb953aaf589ba6b050bc736d25d9f"; } - { locale = "sl"; arch = "linux-i686"; sha512 = "e40c201c5e892a83a23ac9f1af22e9274bf6d964b39bae2e191bdac100170685376fa81210ddca38c76e5277978772c693563e55871318777cca7ac7e47fd1f3"; } - { locale = "sl"; arch = "linux-x86_64"; sha512 = "ea4a198b300e2fbb23fdf863659b683b772624cf4f6c2c3e5e07af9a3f991a8fdf7113f852646f36f697c705c3a6f24485dcb8e2d615a3a358bfdfca406254a0"; } - { locale = "son"; arch = "linux-i686"; sha512 = "b510efeafff8c32ef3b7f88e81d4c1a1c1b2bb435c2ed4ad69adbef8f5d374677e2231f94700cdbff9e5f747c712d8f58245a4c8f0d38ac3eebb5adcdc42c7ae"; } - { locale = "son"; arch = "linux-x86_64"; sha512 = "8c8d583e7e5ef1363096c905535c8e6dd63900ee50684d9cd36b4e55100930b8fc8ee9a3ae770128cfc71a30a73f331cc508555ecdfd3fbbf359ad08d5cc9519"; } - { locale = "sq"; arch = "linux-i686"; sha512 = "809ec8706df6f3538e3c53765a1f1834cee3d2d9cffbfb1f3e991faeedaca28a2dc3d4e037ed9e00d58ac6cdb27f5575bdafdc454828d9fa988d7764bca88c0c"; } - { locale = "sq"; arch = "linux-x86_64"; sha512 = "6f2c5778d40e9bc5bb558ac626becfcbe33c42e2a2e588ee59065f60643708ff83be55a082b383f7747241ad8d59c0e3e13bc8556967f5fce034ee23d7f054f8"; } - { locale = "sr"; arch = "linux-i686"; sha512 = "cc0e0c039af32611d489bf082dba5ba971b54b22937d4b8fa80150a560a3c452851e67d02f7cb27e1a63229c9a42da449f932cdb88af342e0146022586de109c"; } - { locale = "sr"; arch = "linux-x86_64"; sha512 = "21928411981e8d3fac5e44f02173a08ad4c3135ec874998d6ddf5ef2821226ffee260023e5bb45848a40db19537b1d6cc0b127d9524c0d0616d80618ab1d9228"; } - { locale = "sv-SE"; arch = "linux-i686"; sha512 = "cddd222328f1099c25591b03abe23692fdccc82405df127ff920818fb7952fe384fc1373b1330b971d196e98acd62b3754711b38876050ec3cce7de20f183b79"; } - { locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "06c819436de292d531a9d3df34b76bad36bb627e0e45ca042f2dafb06db14cc23e956dc2e00904d5147bf7d0b39c16f712f2b8acb1d9bc4daa210d56d8058e22"; } - { locale = "ta"; arch = "linux-i686"; sha512 = "5e8560e423aa88c1fc5b61cf91c558a861a58d09d7e560790ba835f0bbae85cc82c61e1eb9e1a92e632d2fe24419d3eecec4a15bb083bf0c1568a441a5586a50"; } - { locale = "ta"; arch = "linux-x86_64"; sha512 = "6ba48474d930036d77d23b717fd2e592b19d0ab2b4399f7a6f7bd36da48cc0a2dea9c25442928c507cdfe8a8f37a8d0e4ddb94da42a7a3d6c2ecba26d4f7dd2f"; } - { locale = "te"; arch = "linux-i686"; sha512 = "2df2a46677c979b8702700c69f687e8bfa49e879ccd9204a1ca876b7a5f8925abfe6f81f42e6d6576aff6cea264cced854ae536a3cc01ed04b7a536396e9ff33"; } - { locale = "te"; arch = "linux-x86_64"; sha512 = "d6c7bdb7a823be0cbe8286b977cc265e80ae290ae8fc4002a7dc71eddb3b80a3796e66ad1e00fe2e797ae83272422f460defa86322dea8e33ad0d7dfb50491de"; } - { locale = "th"; arch = "linux-i686"; sha512 = "eb017475d187ef4f1329d303bde84a17995ed84458923330c2ef61940c86674c03f06de2e3655885df49cdc384d1b8e952dfe8ce960cec738f99b8853af1e018"; } - { locale = "th"; arch = "linux-x86_64"; sha512 = "cca6fe63bf24ca1db9d736305dff312f334cbe0a836cb181fdde85c4b2e383e1a19135f441a1f07c69cce716a4c2d3fe42a07fe3c91146aa6598d651890ff049"; } - { locale = "tr"; arch = "linux-i686"; sha512 = "98aa598f348be7705c11834f6d174fa19a8408b87193a93f641c4fe92898f3175f79a1bef9c66dc93c3cc19a372930725025d7ff1bf178e951c9d5dfd675ff36"; } - { locale = "tr"; arch = "linux-x86_64"; sha512 = "a4c2d82f7e56e413526cbe40eb24df79ea264b37dc09b470ccf3416c922730d714ad166507f06b6a68fc85ff73df73309da936ff56499cdf81b78fc973675c86"; } - { locale = "uk"; arch = "linux-i686"; sha512 = "cc04ead20aa1f6d3a8ac470ed3fc69ac0d348ab0523308ae56b49734785fd63bae4ac6fcc32bcac3f2e9350ebfefe76fa39efc2a7a7f5d7c2309b6999f490e90"; } - { locale = "uk"; arch = "linux-x86_64"; sha512 = "1f29246b8bd1a4e07af7b30c2ffcb5239ee5f870e529227e96c0ef091cf9d9d8783891b2e60b0a5dee10e80893ddc6a5cb972d27e70ae4cd0f820ba9f60a2165"; } - { locale = "uz"; arch = "linux-i686"; sha512 = "d144626529e57e93ea12ddca25184903b78b878563302c7f14a396435187791d2a14482a7d10bb569890d9483253474634574f105b9c79763ad6a85fb10de73d"; } - { locale = "uz"; arch = "linux-x86_64"; sha512 = "4e6b7706c6f529739a18748f35d7e31071c6818c0f83261e1d31e66306fb40ac94573f7ebe3b811f4c70f88a2bbca29528b868821962e88ba30dbf84039c5ea1"; } - { locale = "vi"; arch = "linux-i686"; sha512 = "fc7144a73551e09196b7c79e4fcf1ecf5ad92b3e54e8a203e213627133df0260dc53f0cc9bb9e03ccae0953de5f2752e303a35e0fdb720a40637e5b31edd3544"; } - { locale = "vi"; arch = "linux-x86_64"; sha512 = "7a38b4814418516c8971825616874782512bf91d51a798fbdb1b8d8a817d30e72d9fde45238602a6de9cb9c53cd0512acb07f6e16a819ce24fba6467ab1cc8b2"; } - { locale = "xh"; arch = "linux-i686"; sha512 = "0fe791a3270343598417b093476fc7eb50628a7557c56294b3222e657c62a2b5ce7988243d75ae08f7a11c2b9e437d01d47258b1ac93c2579638ac67e12c4d78"; } - { locale = "xh"; arch = "linux-x86_64"; sha512 = "f797c52d88b62aaff15419baf5d7c5b2a44909674602ca82c295120b4b0fcb7182a36952f7adeaf7e9878b3d21031e990d22e5f8dcbc5421a3d587ba37f63906"; } - { locale = "zh-CN"; arch = "linux-i686"; sha512 = "970c14e1f105d6092fd542d73db57260836bf249aee99ab53f43882cb6327520905b7a452e96a6c142676794bf22e13c80e86291bb5b6dcaa09d0d9bb376d4be"; } - { locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "b811f9d359fb61674781443d71e961ba687fecbe4904622b6ac410e435e31b6118f30726896021d28ae51628ab95092b28181ca0ae471374c0cbc5a740fea496"; } - { locale = "zh-TW"; arch = "linux-i686"; sha512 = "43f8d6e9cdf5815365e0eb1516ccb5f6c7ac7e19c10d1ee45ee367d721bf1944321879d9966f7000f50d324f14c36f9f8fcd9bb43ef20c780ba39d3c138f2192"; } - { locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "02f4910b3c5b6f75e2f19c03452ce0534980be7ff18abed8be2a2f9af19c6eee5928c493e618b00d167bb3b2d7e60724741a2f4de1df9b1e48a05923a7649cef"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ach/firefox-48.0b7.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "9fa8e2fe59c149abf5b1f4fad168717aa68c9e3e9acb219aaf257aff953a719c2df1dfd55081c6c4398732c9bb16690e4481b7c3c9f1fc9ba20468ca38d7b9fa"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ach/firefox-48.0b7.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "b4115232ee0cfa6062fb9c06743d31edc444f9e5481b84cae4c1ec275c55500a16fe7478ee79caa269b669e566701be225c45729946ca950a492b36038d208fa"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/af/firefox-48.0b7.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "03dde31a027765e7003c89188cfdbd87f57447c8d7f6542e11e01ac4242866f6db98943d8d50188b1e0c41d740f3ee95b5f9ead01e9df5ad9beeb066c0b1e54b"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/af/firefox-48.0b7.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "e9973af0cc52e2126ea682067fd7aa11bf071ae2aafab935d704122480a46658139043a29df30c038af85c1fde836ff7725bed21ea4c4778e176adbab704c6ed"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/an/firefox-48.0b7.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "1e23956adc055188e4342cfaa0e38d062bcacaf0fb99895fd2fe3535f4e528890a75a18e0620e881e1fc87d11ce8b21c280c88ed11b2444d037990a11fb8e9af"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/an/firefox-48.0b7.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "e75ea9a5ca4860f228d4b2aba3c9ba4d104a7cc24fa138102d80b595e29a391d15fb82d749ff7a03193dccfccc7bbd106dfbffe5ae7152afc4b62f4d05d58ad2"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ar/firefox-48.0b7.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "df97f1f2414d9f2c1d5ddc50e901167fe3535ac0f71ef99e08552ff9a5f4b7e6162f258c41d1024e2f886969e7ae80b741c271b551a51ae05a48a3e7987a52b3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ar/firefox-48.0b7.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "79da3baef8806966891b803137f2b9610b3562f0a806ab2fe3234f3320cb0efe11ff523373e933d5d230a6959ca68ab013d64dded47e6043e9fee90202c8bbc7"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/as/firefox-48.0b7.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "ab18bd3f015cddf2dfe337556d29a20576dda5879a56242955476f50b0978808d3ec63812666ce73a58904a70edf251e3773ea34a38b955510ad331e5f66751a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/as/firefox-48.0b7.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "26be5b409c5e4acd6a09482d1380f902cbc9948fce33ff5e33c22a8573b5ccd05f10a4b6f84dae8ed9280f5b6568a411837ec7bd1b64bfaf18670e2a45c475cf"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ast/firefox-48.0b7.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "30d23a4012caa6faa02871be312ebf867321b5cddf1e74d7680e426af4a6670b34aa48f237ac8801c696d0cd2551f90ab5fe482b4a9bd03bd7d4521e204bba65"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ast/firefox-48.0b7.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "cb0ff48d6cefe69c4f05a83d7b9247b5bccc31db8efa708a7de3ffa67459f8427ac255bb6645e59f7ff6047f0370d24d2668954837aed7d71eae88df6824cced"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/az/firefox-48.0b7.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "00685bee899c7a083fbe2a4dbdbe32df1f291c619e1ca681164a3c88782f6898a11add06a17f13aeb912c635d0fb2ea2c30c0e3bd5ff7cceb63b1134901ecab8"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/az/firefox-48.0b7.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "e4133e1a9fb103652037caf21bc18815d89bf5e1a0d7b34abe115715e8e5060de8b00d35326bd3cfb9d5edb7cbe286456748953742e4cb5d5c76c7314a344720"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/be/firefox-48.0b7.tar.bz2"; locale = "be"; arch = "linux-i686"; sha512 = "9444970e5cc3f3359b02b8bc58f13edfd64ae6f99d306ae7d9baa084658c75b85120354614fe2655b600e0005de1b128df1e2967f93dd0fd1c31ee721e0ac306"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/be/firefox-48.0b7.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha512 = "08bf09e7b8f8911e42f5e88852f705c1f7263d1b6a0981c07f7ff651e620bd31c1a6baebd8a8a9353e49f9ed50d1c0d55bb88c97faaade0d415cba482ddc6f73"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/bg/firefox-48.0b7.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "1708e547f2ea234537a0dcf40163ac18c641bb4860e74f054325db8ddf4960ee0649348b458a8fad1f5bfbe1fa4308c9fb13d84fb941c2928ea42f6ea77cccff"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/bg/firefox-48.0b7.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "26540e48ce864590cc40a45d4124250674a1977778d3251b5f46701d3fa3b0f6d8a602b5bbe1449040ff943a2ed12bce7758037fe8ab753d0b43eb815e905ffb"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/bn-BD/firefox-48.0b7.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "6e37580672455a717be37061c4d3135e72cd6aacaceef20957cafe9fc95ff40a6781dd92a8425e4023f75f4d027c5961d7a3b0b6373501790ec5057da519baec"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/bn-BD/firefox-48.0b7.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "1498ed777a7e3aec18945ab01aec80a51e7cf6a202ca38b333ed6aa9517170bf9ec4a3c9e638acb60cac5b01ca16963b41489cdf71cf40655cd87d2ef161d4ad"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/bn-IN/firefox-48.0b7.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "1d9335e8b1268fc163bc31d1afe58613738f08e4ca8a429da63e59e4b862e326cd62d82a686e5710304a5b86e9d2981885ce52aca9913d4cbbcd4c1e0a88e782"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/bn-IN/firefox-48.0b7.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "e686e0a9f8d5078d2a728add3085d0d11fcec9ce8b1a05f242769532ede411f41d8385b2199e2a27edbe8a58648d3e4b91df2d730e6bb17b7cb69c4a22630fb6"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/br/firefox-48.0b7.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "19f012125431f7c56ecf9ac12bb44a52aa041a97a0b2c1db3656d6229b4215d5bf492730c2bf08244e38ff120ad9003d4ee0842f834cfef8536b8f40d8e2217d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/br/firefox-48.0b7.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "250c9dc52e661c91163ece0fc195ed29d621508ab5666ae97d74ffeabd0dac1effddcc4d0ad9573c5c44ba9aa746330b5a6dd40693491f52609b1c47e9fe97a0"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/bs/firefox-48.0b7.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "fa946cf9eba376ddccae25b44c31cb41dec16c016c678c155d0fb6f235c2932fc59eac0df292940acceaa7f463979495de17c86863450a1a771a277440d2033d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/bs/firefox-48.0b7.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "eaf3e8c8706a6005f6f78645c709cfa2463e47f678baa395db6c562506b872d9d110e973186b4408022cb1d4a8b343d7c84e2e0f1a3c18e3d5c04b72c23243b4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ca/firefox-48.0b7.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "c4fefe7ea67edda4cf5ff7dccf6639246fb73eae683ef72bb7c75e25d630cea78fad38d11d690d9786e43e506cff548df3c867fe91d7570048759933f2ec0523"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ca/firefox-48.0b7.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "9bcad65fcbfdc85892fc552809da740fd28094bf6be32ddf783a6d011c901f3a17d8ba8d33649111978cfd75274641f6e0aa3513b2d05ed100f2d2d9a8cf9057"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/cak/firefox-48.0b7.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "430b4f156d4130d2a689349c172c40c635ebb4e41d8dff65f7e3971b92ce7682661de763a1ccd706c9fcd11d3590d53193502c01964b703a7a304313c94e710b"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/cak/firefox-48.0b7.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "46f3fd5a750618f8bfbc8015748e12df62b1f3db470abd3e7b0edba01ffe4dae1909cdbda5dd5cdd78a0d62845eebaf8e6223cc11e4b88b3710e1ce62e3ebd39"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/cs/firefox-48.0b7.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "d8b8eed71db048dbcd25f116e70040d5105dc3ea9ea69a77064807862f19229cc215ef1482c94609276b914ed7fe55250889b986ac1d11ed086e4de3bb15b9b3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/cs/firefox-48.0b7.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "01e23193ad0bb1c0cd218bf22e301fa79da810ec79f4d68afdbb6d7f3da5871de3f15f38abb5cb5440fe29a3781600dce4733fef67d0410ffc6e63b0c29fb9e4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/cy/firefox-48.0b7.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "451f4eaae757e9474e905135caa2718d75551f2893a6343256b8c8595dd312e0c5416a7d7488b6670cd361db81d44097fb3c54c3cfa27a7efe6386652addb472"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/cy/firefox-48.0b7.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "c260f1090ffe09cc714ade4105c74bf234ab03f032cb066cecbc0308866c33169c9b3c7b37f3acd70d17794878d9e7e9f928a29c5e8aa2172d8475ca7460fb15"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/da/firefox-48.0b7.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "a449772de22183399c34d91b2c747253e7e32bd388e37b6f7194d68b87faf74df805886bc75230b19766ffb40e312c76d439754902b6d3c8b2057a654e656f33"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/da/firefox-48.0b7.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "990bf989ce48afd5261c7a6d6a4e3ada0c40acaaa5cc8c369724ff7eb73f5800009ea2c4584e8afe926f77d4b18af95510558bd99ff564754625e1c1dfe0d5ef"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/de/firefox-48.0b7.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "5c6cc3a65a31043ba0143d9609ad006b6cb4f9af4cbc57efb4d2012ec08438b63045dca06c93b7d9c657f7cab9e19e01ed2b5dc78b79f2d9f59ff85836a89009"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/de/firefox-48.0b7.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "1dcee925aa75eb0acdf3e21a0578dc7f747dbef8cecfe5024dba66461e03420ce9a9211b2c69a35861cdc75facb956f576cfe3664f91f4085aba1585d976fccd"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/dsb/firefox-48.0b7.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "c327582db0a1f78b1d4ec56115220c4bd5751eb46d16f26bd589b4b64291a66845d0277c4eb099cf197225771414ad1bd16a56d41587befd3fa1c766095c697d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/dsb/firefox-48.0b7.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "eb049a000e908e5d46726d09ad8a219e1c60ff2f29959f5cfa416a788e5c747f50ff5e6b807fe30f7e013a7f5587f607834ff0faad6e060a33db55d04dc6cfb4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/el/firefox-48.0b7.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "634320e4103b0ce72a6c132afc8e33ff4a234669f835a23e526c227e94f62be62075cb69d6883831d72d13d309d4e1ecf9947d850c8079efe0c880f7b7b79aed"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/el/firefox-48.0b7.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "85c4a47f5d3c65a6ee623f89420141f0cf7e02d8c7338d39c8c672cb0aae2364afd37c66fa740bbfb88c52aa37da6b9d106a824845c881e4de6c2d2604477d47"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/en-GB/firefox-48.0b7.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "1ea0aafb65140f9c09aa4557d7460cfa9f206bd963137ec72a86d237be9cc3ca131b616c198e330d6328f48ae713cd5ac9f53159477b131e55e3ceef8e2ed7b9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/en-GB/firefox-48.0b7.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "1a726088d2843ce835154675c6dca3e877af6281bac63aada1e4969782350e985428971b216e9225646c8daf523907394a21080e7f4e40225b9ff62d24df4295"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/en-US/firefox-48.0b7.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "ded034cd43b45d73539a3c3f8a196f26d5e80c3cba84e3d2ccb925815b661b4c9a3eaad1d35bc363ecee70e3ccec953bb03795c6fad33debd1a81ce8dc71669c"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/en-US/firefox-48.0b7.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "0bdb77bee7fb8720f1154ffa486a8f6564ca592c56ce07b823800bd54218bc01c57bc27cddc73524c8f8fa1944c869523880a02fc698e44c5c71f4c800dd7208"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/en-ZA/firefox-48.0b7.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "9557d2b57e09c390cd706673c6b2203f2a1beec8952a63e2d891d00b975c67ba3b5f0f6da622e81572d090aecee42ea8ff398df61845f7564ddfd42818bdaf4f"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/en-ZA/firefox-48.0b7.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "0617a7b1117fe47bec89b86f89248cef981812a2126e64779d2f7b9c81fc11b38cb3ffe8f039aec72d4904cbb95505519e7ce64c115c1613e96adf90ee72f5d3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/eo/firefox-48.0b7.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "3e4ffa7728382e6862f224be0f576953120b563e0b68599df545ffb46483ae470d12280556a97b238aba0427651be744e9e93e7ba19be3d0764698367b4ab5ac"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/eo/firefox-48.0b7.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "acf8527148b42e9ed50d027dd9c9a6de11975d40556b2ceb27bbb2fbe0e37a4f2839ca643972b55de52f95619eb432e16b12f0cfb501a5be3824e977315ef89d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/es-AR/firefox-48.0b7.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "ed70d0cf72acbcac71e0684ef755d987702412103bab21510daa7107b369186569e848586009fb3e654f54ca657e7cb259ad5574d5ca1e16c517100946135466"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/es-AR/firefox-48.0b7.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "541f5579e3889413b6cfb1be40f5630ab401b7b0b3054cef1a633d89e36b59b1d83c86e44ccbb3acc8fbb13f2851b16e0b43f9aece4f98b0713b377606e742af"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/es-CL/firefox-48.0b7.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "a44839ac7686b1d252cb04fe17ef5c2790d30214e5fa34a3cbd11f12dfbd9168acf7b33ef9dc22a06edd624726511e718691a973c5b70665eff78d0a18287413"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/es-CL/firefox-48.0b7.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "84b768876fcbd95dd1f9734368c73b51b82ff445df975bfe913eb74c139e35d069acb1428b9afc51357c4567dba0d03950d7199b3fb43017df4987aa69247450"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/es-ES/firefox-48.0b7.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "727f670438db45203d403746b7396b3b754b888b4a1d104b2bd0599790ef12b0a16db9a32b51617ea05bdff4f2ac696566970e83029e7e3d25434ddda8c4e88f"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/es-ES/firefox-48.0b7.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "638ebd73556eacf0f2b38ef2d71db5922299d10c0d5b72b6bc7e935d814e300c17dd835f94517b8d0e62ba6e54d5bf5059dcaf57eb03a03bb7068161440f7c22"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/es-MX/firefox-48.0b7.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "da88b8c3d5c9aeb33cbd637b00f4790225b7b46f4b8a1edfc6c49edeb1e29929c4690bd66de0afd31492b213a67eb617355adfe5a7d7b5ded09208eb3a861e36"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/es-MX/firefox-48.0b7.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "0581028fea7610b44f27a6e5b25203020768d87e83e665aca24e753bbc0f0d49e2935c8f12755e6d4911e5f79052b4362447d1dfdc37838bfe9976e0d218e49e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/et/firefox-48.0b7.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "6d150372dff1113d14cb32003fcbbfc11f9aff6ed8a0fc8f5f8e2d5d3119b34a8471469d69e8fe48161297e69f95185c414680b3c59bb95d7e483ab2805b5729"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/et/firefox-48.0b7.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "72d784c90c054d29420582a9a71d96c9a7270b1ac5592d8b920f8148542f17181d9cd71d019c0294c60112dde94191a686ad105993d7bd8340142ca849b5c150"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/eu/firefox-48.0b7.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "0c2b1f0f886436c8d9fe6eead6718ee47e72fd988e1e4d83a70200f6d085419636058d6767a66d273842cb44573d39f58f72181ddfce01ca60f392c6c18df22c"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/eu/firefox-48.0b7.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "7c03846d49cf1dba85202b2f7b6ed722898da5185a956ffde1c88df454560eb682ee562f782c3e21bf62b41ab156048ba1c63efacf7fd46f8fd7adf0536cff5d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/fa/firefox-48.0b7.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "3a21d3ecb88827de7094aa4ccf29005ffbf3f88681c459aa9f159d6dd6b04affda08661b1b77986b73a19de1fd2fdba2ceb91036ecc718a69cc5cb16e8c8bbe9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/fa/firefox-48.0b7.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "4750663d5eae7ba9fa282b0dd97e05cbcf3ace8b0715983525ae207de57d352b45495e0dcc46381979997532a8e20c85567a9de18056181f5d408d57cefddaa4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ff/firefox-48.0b7.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "e9f452656328e3c5a2dd7dde23b84ae535551bcba16b14cc58fbf8aa33f2eb8655cb4ff524a15b0a2db2d4af9ef5da4ca853fedb5c0d05b877fb0a8656833311"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ff/firefox-48.0b7.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "f43daeec8c0647a8ee984d3541172516d1d8822596ab66a1a9651cd31d447a35f078725f1eb4b30a3f01c02b8573fb0ad268ada70ce013cf1932602f22119e4e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/fi/firefox-48.0b7.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "477e5594a9821864db879ebf04b74852c711c5f0a43e00c02bf17754817c20279c56705aa3e3b51bccd52f9380bc242b12bf58cf40a2b64d9697c8ea76270771"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/fi/firefox-48.0b7.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "aeef4b397c9972c055392faf64947d16173a903c290e4d710067c5cbe6c422acb2172f17c8b72bd5b80ae883f4d22c905ca0581c11822975a42031f2621852b3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/fr/firefox-48.0b7.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "363bd189e7988393a97c7fd9544537068cb541e762427115bde4a3f05297302a30604a5e6a34c97b037c8f2e9c25ddcdee0ebbd8c292ba007362b6de858643c6"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/fr/firefox-48.0b7.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "4da717be716a1c16440be76d988ed2ac2ff73bf5a8734d1025ff190cb6d3b9072bd613d973e65207102e4e54479c32e8101aef59de533487b60a1cf10e7ed9ae"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/fy-NL/firefox-48.0b7.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "49e343a363afb94a8b7f7d2aca557127af4743a97678d123fe2a4355d542497da1f5c43a9c83ec974586ca707c3988d416c9e55090c9bae10923bc5aae785bd9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/fy-NL/firefox-48.0b7.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "1c53d25d464e36d7dcdda0ba6dbe5bfc85c03309dd22edc916c97aac4ef7f4bdf6329349fe66d27e1e885b7ad76359e27c6fa885302905e6c6e785da1535b53e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ga-IE/firefox-48.0b7.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "bfa9b70d5b2c891a82b92ad78e5f7b71df005ec142a1fe60e6bbc5717152f1b5325499fa5baca6a9f4e01be104b0dcddc11994a510e7cb41a5f1709dbe00c895"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ga-IE/firefox-48.0b7.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "3d6bc3254bcffeda6260168bc43e58e1ea517543831579892b784cb43f51d9cf0b598f6acf1b56f51b72b7946f1904eb96168f046a80a76923ba52f265ef6d12"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/gd/firefox-48.0b7.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "4c12d70a50e8d1b5bb2a912f3d070b30783757ea339eefa87e63c46f8e47646e69acaf975f3a565dff67bb65933bcf070bb823c195a5df9ba8968ac9a7fd82ea"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/gd/firefox-48.0b7.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "fdb748f6914902308d074262d4a1816d8a0a26a3e7f159d013d321875297b7c46eb266473361567c92c5011234ddc66a89f0a88b7ec6435c39e7488167d0b63c"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/gl/firefox-48.0b7.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "e450407c27de08ed93b088222fda97daea6cd69ec93a75f267ec67a510f3ea6a657eb4eed67844990f8815be28fa1af8fd722f208c3b6193fba38188eb03b134"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/gl/firefox-48.0b7.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "be63e8e8dc2daa586fccfcf4e41979cc6746ab2797962a86b6644c9ed14d0f228a0a83aeea7ca115e4a13f33bd5048075ceff9c0ee7516ba1fc50dcece31d88d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/gn/firefox-48.0b7.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "545a5c29789b626e47db56d0b962989f8a73244d865ef03bbff57272f463706cc5de1cc5e346b0188d4dbd7caa3fb67f6c0ea6064320d6c81a7db678b8eac86c"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/gn/firefox-48.0b7.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "4dff9aad6938c17f3b97b1901831cdf1f993f0c8c03c3d03881680e1a5d82a10c414f85d5d6ef8791ea5c352eeede94036075b8a14046b87b19caf6cb917f950"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/gu-IN/firefox-48.0b7.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "a63a9c54fd2e3db1c161d33b6c725711bbe43d5e915f6bfe50ebe9f667a47299989e9096ac8b8caf80c7f69f0fb276fce33873dc77b930d0cc228d0472ae81af"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/gu-IN/firefox-48.0b7.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "a9dd610aefc900d712bc68075d32ebe0e87a1de05af9b8592533db8cb65a1a6f56db5a566cd3c013a84d72802eac917fafd42517c0ce53b4701f58711ef0b7d8"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/he/firefox-48.0b7.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "5b0b46f00e3c61ea8c00b849b5605357979c7ec4276f9f490b6e75efee28fd4ba2aa285ebf689bacf58a40f03c2336e77a7b19c7fb518f95d900150c3c70d62e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/he/firefox-48.0b7.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "d67ef81f2c539718ff6916349f9ecfff42983c2e28b02b64e8ac71c54ef2dbfe5e9a4da6ec6f1b4361e458940bfde6f4da7f22bc19515cbdb98cc0166bdb1c27"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/hi-IN/firefox-48.0b7.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "a15ac725626fdc4f9bfe02e31da4385af32c57c407dce7dc321e259fb29d4c46a254bd484dce8ea7d3e322fcdeef07d62f64a874d45f0460bd2b17007f688b71"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/hi-IN/firefox-48.0b7.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "2ded18a44554ddfe73721a35af71b77c600b362dce138ee78a633fa8d4d91a5fd55921654ff9c2eae05d0ebd9ede1de8b5c9bc07f761e068339474bb8622732e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/hr/firefox-48.0b7.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "797fa8e8ea628b9855f42bc3f77e1928743f9b96566ce886cf2897dbed920a6f83089f518bd07f5f820374e0968de848b46d8a6777d8c77ca581a1b172fd25c1"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/hr/firefox-48.0b7.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "623eb40846a769825300177ffcde2f18721474605e6bbf7cacc0f26f2d7e3e68f0699a173fd0154bdbc6f56c13befe2bf45caa76dd3de7ba2249cb153b8624f2"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/hsb/firefox-48.0b7.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "58b1f83e123fbd32ca6d824aa87e0834d92f8c148db086fba5414519aa77a1469f5010077b119dd6758bf58165afdc1bcb0fe5b0b664a68fb73951047082ec07"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/hsb/firefox-48.0b7.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "853b6fa276e7e6c1ba0a30b95f8fde73e4bd4fb7e745c3722fed9de00bdae0d1739b78570a0108d2ff9efb73e8052e5d5192151ae789c5b336946039ece560d0"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/hu/firefox-48.0b7.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "984d3ab191091e9956bd28a2112715d0c27a24e5345b9c515e2b0521030200d2742041340db0d916915c87071c70b3d60762ca278dbffb88ab35611f30337468"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/hu/firefox-48.0b7.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "cae180b050bd956bca474b187648dc969c2ca8ca3816ebe46d379681bbd470029d93e6518e7fe6170864c2466e6b3752aa3f372df34b672f93687704a26f0b83"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/hy-AM/firefox-48.0b7.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "f26993353fab3bbae965b7d7cdef57bee60839e4a726c75c966ff2e99cf6edd3e249bb3e3adc7791b1095869fe6f5b43861337f8cc6d3017600e61fe436497a8"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/hy-AM/firefox-48.0b7.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "b7c228256d16587720f186c1a257cd157d8302e597dfa6cb72fd984c05105cfbe6e33578addce044a88ae11b11e4e6703aea432d5823526caffb08e81b1b300d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/id/firefox-48.0b7.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "324de4444814ec0e57c57fc4ca07dca20e10bb0a80df33ee01dcb8908caf6e5310563bfd66b62ea4eb5f595ed81edd9c504a8b6f81317bf85c4acdf9da2181af"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/id/firefox-48.0b7.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "8b199bf64955d23fdbf47c92c57022e7742dce10c02242cd3cecfb662303402dce4a6c784c141a63007f4ea92b78e0ea0fa74fb6bddf157a848b2e85f50acde9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/is/firefox-48.0b7.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "4addbf9e9626f6f81a276e506b5974232da161e108c194ea34f755efa40e5f5b4df6e4feedc90309740b4e8c04b946a8da74cebc28867f2d23ca71d9c0dc4cf0"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/is/firefox-48.0b7.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "843bcdaf5855dba929b4e12ba88388e3dbe3372051a3d789ac5951a66ff4c044af563e2c04e005788bf087590444d390ccdc0646ed37571e95cfa5225976cd36"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/it/firefox-48.0b7.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "e637a52c2d365835de33b8e3f3dae7beac254169ac65671282252c3ce33816c3af3cd696c73d15a3f3a3827c72376245ead9b0f655d2bdc857156bab353ddf69"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/it/firefox-48.0b7.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "f62acc4a2d2e8fee43f3744e3adf6b2850de9b7ada59a9d985b5ea0051a2f00c2fb0ce14bffefe679c0359897e1920e071aacd177bc140719f47d64dccf799c6"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ja/firefox-48.0b7.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "081aa992d79d9a07e82a3027294752fc338e715e0b26edd6dfbb80fad3fab78fc4c0ab5082cf8880912c3a3249d7d35b0ae99c2152bb87a025219e7ecf16f330"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ja/firefox-48.0b7.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "3ffd093818c2fadc5d6e6a3ad9891b84352d522686ff1c23a9574c981a2421974d6346284db686a382193078ef3ad4ea8eaa081d9ecf59e4d07c396e1a1b223a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/kk/firefox-48.0b7.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "492e2165c88e5e2a1fcce1bfc2c994f7daddc1ded69d6b486f21d0655c6ccf112b1202080cc989bed68a1c35502c078025135af13ddcb0548b17d6f830c09b66"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/kk/firefox-48.0b7.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "f5e7a56849dd1aafc13b3b0772fdb482cf6e283ad98cbf2aa655c016d443242d9b760cf133c130813f04cc572de3f5ccf5cd4beeac98d07cdd4d9441838b1f34"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/km/firefox-48.0b7.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "d21d401e1505bdea1dda8fcd65622547ff919e0fe2c3ef402c1a5a67a5c61d6c082730ae21286def66699a994f0196202ba03956e9f5ba42a166d8dbff2a1aa6"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/km/firefox-48.0b7.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "c0e08b44b09c3f8c0e17335c0d287285e3f6cd5e308688da36647ba226ecb10c98f87f92ca6b2d50e0718e39757bcace7132390ffc4d2a339db5d3cfbc37b85b"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/kn/firefox-48.0b7.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "71d3dbd2fffbf51c64fe7af008e27a2d9ff3dba3417bd9c0f1106fcfd445f88c2865ba03799b8fbbb00c13242c1cc7995b5aeed3d20c19b95448a7597378023d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/kn/firefox-48.0b7.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "dda7d698c760ef750575f5978599bb964cc008a18ec048e744aecd17cf41d6eb2b9a69ea13efedf5a5d5a46da990c1df817027b7762cd169ca2f30a0920ebf98"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ko/firefox-48.0b7.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "f427847b0a4d3e8c52f59a75e4b1971ae96998d202b44ed360f5781775d3cb1c705923a4acb96a365925fa1f27af7e7292d3e4f0af6c22af9803600d7a64a9ee"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ko/firefox-48.0b7.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "fda5463fb43253a392616ea7f0e287464e83bc9f4c9b3a88ae40f0e2bb1b18b5873ebe7304d27b76b2016312d9a2ff416f3006f5a75f315e2be5f8ea16be82a5"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/lij/firefox-48.0b7.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "38d539b3b0ad87b557aa9c75212c64978fe1397c797247d94ac6b2fec33723d6d05de80f1d79b84989424fe5074204eda4af3f23d163dbcfcd035e5f7f568ce8"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/lij/firefox-48.0b7.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "a03e8261420d0b336545bf140916fea9cdf6cf2ba5bb55de6f039141011bccec49e88fddf7664e7a574c6da525f2f6646793b9d505135a311710a4d4014fde5d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/lt/firefox-48.0b7.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "ca11b61ed252863b6efcdab2438fca21bf837f29bcc7b719e5a99065aedb8f75bcae8beaec1a273624ea3c2a7a57db4386f52096777755297183691498f33c62"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/lt/firefox-48.0b7.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "7d6af8577ce9c9e3ab13ee3313b4c35bdbeef802bb5a5a15fd991d4fcf063b49ea1292718a4d74ed57b7c6f00889c96c9261bba442476d6aa090623afccebd9b"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/lv/firefox-48.0b7.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "19024158acd59afccdbe39430e463e9b441cf1950aadc713ff8a74d9da97cc11d9437d86d0542306a8fa4a29a69547b4d59aa28be2bbec8a434425f20ca0d1dd"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/lv/firefox-48.0b7.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "73c81902a047a13c01fddc07eeab9886c0c55e2a3ebd30fee0a036878e52580f50c47a1dd4050cf39587b63432cc9c2947c88200fb2c95b143379a21ea60c400"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/mai/firefox-48.0b7.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "d6a2d0b8821872b4f78f2fc9ec6ab9e602673bfff2d1b6339a37532f883b61134719d0e4e9caba53d3198107b895b3ce193839de2a374391c3fd58e595be1eca"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/mai/firefox-48.0b7.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "bdb1e2e97b736b70a7d11538e3fc16be55889b14397709094c2efea1faa3c57b0c272cacca0fb0b307a3cba656145df3f7945cba4e9f762f3f9ee4f389e3ab50"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/mk/firefox-48.0b7.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "0c52c93a00e1b82b5569787a624806f1c3175d40813da3da0833b23006cb377dd1b693120f96c1a6c172093393ad08321efc52262c5260e80fe037e709c94ae4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/mk/firefox-48.0b7.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "bc2c513eb37a667195180ba3933407c7f90cb1e815f2c646a5410fb942e562c3659eaf3200ec6397a12987267ea26be1c71dd4467f80045c79bb793f2144cd89"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ml/firefox-48.0b7.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "7336e98002f71f6ff9b51d94b5c2ca2b5ff412d9069837053a63e3819013b36ad6587b9675089243f19474eda2906767e98b2cb3e96ace266ea29f5142c2533d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ml/firefox-48.0b7.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "fe70de56fa9d3bf56d355058c4412427f967f69467dd7b49cd1fa26c6abc898ae061b49bf259eaba7073fd926c1e8e5901a0979a88007ef3ba3d5caf07329203"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/mr/firefox-48.0b7.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "180072a70d38d4607b8c2105dbfae2647900796208f6f5a6111419c4712e6ea959a6f5ca5068f1f7653ece073087e2f3c5dff177d92da4d92aba4ac1b4b7971e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/mr/firefox-48.0b7.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "08bd093d657ae4e6b6136d1627ebd355ea2794c2e2824ca4d4121a5a506b0682a65e1416aa2cab49fd00db4c3736ce09101225b0333385032a958309cd7e4edb"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ms/firefox-48.0b7.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "a3bdac7effbb5a29f2ff1385da3de4a2c16a914d1d3306cee22b379779b1eb9d45f6a6c6bf10ef1e1a11ab52834a08c5510a38303c10cc6e4cfb96b32ce2769a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ms/firefox-48.0b7.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "08f2fe47c14ff5432f8944312e3d45d26dd3fa56bf4b0d350b4504cdc639eab147e3da9edc25b8551ab5156dc214101831c2c1c0f1b159201e5a061461e51285"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/nb-NO/firefox-48.0b7.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "cfbb14897df334df5f11305ec44f8e4b736a8320b6ed39e5581be413cc4daf92908ed54215e24e35e34e0904a1a500f295ebe64871e53438658d0340f7e708ad"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/nb-NO/firefox-48.0b7.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "19403a121e9e86447f3265ef72bda4e3a7fca55dfa76e8a25381ff97412329705f8b8a79031fd0116ac7e0fdc29fb9afa0c1de14287399f28e95d181fc933470"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/nl/firefox-48.0b7.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "73789e769bcf2bd710f5234cc9c0f046abd5aed5d66b4e900b19f87a3c23a7daccfd086d9fb80fc6ced3742ccec90e96aba785330a2dc9cc79d76780fdf56cf3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/nl/firefox-48.0b7.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "07a842dbcde5fa7c5623fe5e8bd8dec04b33b300f52a1ffa8fe604ddf93df9879b9179bf8363cca4aa62a1c878ed77fb5e0b5db85355b4a2d1405888a9a6268d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/nn-NO/firefox-48.0b7.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "b82f14f66dee3036dd62d0af2889137d51521ff51494584fd8f50f380e8ead3d8290a73843a0aaa7dfc7e38c3f69c28b661185841c3f71f11eec686336c7f36b"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/nn-NO/firefox-48.0b7.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "9b627e063644d138c5b9b5bfce48431f8926fb3b13caa01547aebf007a002c75f8ae3818d5643f212c2e6d1e6203c49a24412aaadcc2dc5539824c168ecea52e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/or/firefox-48.0b7.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "7e36e94c90cd2ce6116a56a5f1ae2772eabfb19bfbe0a5bb616173f0e3cfc6d9f3cf77db07c767fe2673b29437ea8cdd70584e2b65752660d6c4878d598e0998"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/or/firefox-48.0b7.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "cfb9989b2ff2e2a81c3453dc7b03113e251d57b1925ba1fe60bcff4bca9fa16fe8ce6409cda6f90d7afde832b370a731d86c999df08e77a7c69ad6e72181f6e8"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/pa-IN/firefox-48.0b7.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "63e4f8e6e5d6360914073a1a8b9dfd9d1936ad3efef6994a880bde075468cd37809294d3cd80dbb693b429dd82426e06632b6ea87f776da509bfb1ed1cdc1848"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/pa-IN/firefox-48.0b7.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "49a065634297b37532882cad5b13687fb6abfe0fdb577a4ea1bf86568abe2ef5b29bec7d786a47b8a12ad06d4fa78faffdea1f531245488efc42b14da24d2f52"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/pl/firefox-48.0b7.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "06ff4df2f58d8c39ded84915d5f4ea2137f1692b7955c205a738fe65adc8c324c9e4e1f46963e40dfb74c483a33028d6157609e9f99819683008e0e5f992e52e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/pl/firefox-48.0b7.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "b07fc75e55b860ac8ce03262dfbe77ec558842baef037f0e390245f3bffab03df31f6488811b630ed5355878dc01e4930b839251fa726a121fcbfac2eddae9d8"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/pt-BR/firefox-48.0b7.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "56a5f63dda3c359203a1ada88dda971aefd4219e0d76a8123792131cc5abaf23a1bda2498c1f93725b853576f572205905f3b7d16569611adcf87b7bc96528b2"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/pt-BR/firefox-48.0b7.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "5f7af50fa1620c17e4473c869fa0a4384518b79514108317c1aa8c5f32fe6635bf88eb53d589f4714fcae740988d56163e293960b40b2165eeb6fdc7146586c5"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/pt-PT/firefox-48.0b7.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "b3f4913abae949f1783cb6cfe934b97f3a93a579c8f57d3e29d87e15169234b58c5a243395ddd0944edf4519a9d3d735424bf14ff7280d7a54494989cbe7aed9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/pt-PT/firefox-48.0b7.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "71853f84f9f1545a099bee0994bc598845aceabf562730c1fbb7b0f9c3ea8113e6ba473840feadf76aa0d35ac0ae5a038188ef6078fdb192de99396973cfebce"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/rm/firefox-48.0b7.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "d1aef184253166dcab16b1cf25bf58131ec76e30af84ea0a75d89106e253ae4b5ec17d55039b1d1584f39c4ee1ef7eb28b73144cb8312fe15aba74e43cea0ae4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/rm/firefox-48.0b7.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "1ebe23f6c352e088180ebc9f03c4e35b1c08a2c8b9efc64ef710c8bb0c70c082bcdc3f23c436a427a95bccc219a5be8011b46d49047483fb57a2be2ea61577a1"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ro/firefox-48.0b7.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "6ae17fafcc61dcf5ea548e55c7535ac196402c20468ed53eb32a529eb756a88264660dc4acaf1f27dfeb9bf4e5515c75287b4cc8ac42c765358908659ee12d03"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ro/firefox-48.0b7.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "9635df3cf66825a4ec30ca03f944929977bd526146d5991b03a2539e59a6d5a979f8d25697e9aa6e051ebd6f05bbfeb993e11e547491a272e77c36b695402d93"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ru/firefox-48.0b7.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "ca1f6e5e32da878f50b2cfa5f42d78ed93423e0f4f308e914a184747c59a82f0d2db5c768fb65a16bb0409070614be44ea14351c21904e32baf5470b81fd4925"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ru/firefox-48.0b7.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "14f66c3db5d3f17e064eeb80eec31ea4d531b827248eaa5d6d1c936962b77503f7b9adb16daf754909e4749f8548f4be8f86f3d01345bf9999e70d8e7c52f6d6"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/si/firefox-48.0b7.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "cd45ccd8f3e41ae3f4833f6f5a821dee061898fba61c974099361eb84272676b146896727889f8adecdd563db9c4ce0de666221eacc7f0ef841ce4a5155961d9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/si/firefox-48.0b7.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "234fe0d5677b67bf5458df4290b055159860f43a3afa66982b9ed9279a5e74ba90ef6cde23fdbd9fb7134ef0ba47b270880b3561f35fdf2286b23e128f9d0da0"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/sk/firefox-48.0b7.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "0cdc7209cbb2d537ba19ba206b53534f18ec0cfba1ad67a435f7134b1161f13236db2bce707cad50687790861e09ddd31a35eec8fd4965d4b1c697a84b4e00f4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/sk/firefox-48.0b7.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "8db988c2fe8624d9b7154a39df173f2bec70369edebcb02363f5a1ff50e299590722961d58c96bc7cd003e14b7db8e6c1c78a488bd1bf3721e880df1e14fed08"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/sl/firefox-48.0b7.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "a67d0bb63da12db2a1d936b40dfbda4f4473a67c8937c771b8b07c651eb9302128cdce01c02f1bf52ea641dcd9520b5d79561c07a88004ab39ae4ddf28a6cfc0"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/sl/firefox-48.0b7.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "d0f179237a4dfc59d8e847f5393ce7d59c6f399bc9bf5113f70f3850e3452d14542f08ac1b2faf0ec291b0f80183553d4b44c64866902db4ee891f00703bfe4b"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/son/firefox-48.0b7.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "f66d6383be284933b2b62432b86e6ffa636c737ff5ad2d8159dab527cd951501eedcbe9a41d197fc1a7f14404ead4b2f25b7c1bd1725bef80a5dcba6a793ea42"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/son/firefox-48.0b7.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "bf461c7cf0f24cc091af8806097b759a5ceb5934fd96011e003a438ea5de0dd9221241665c3b713dbb3485f13070cd7aecc23902a28b2f84bb6bcd69d96b95d6"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/sq/firefox-48.0b7.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "cac1528dbddbf0163391cbc7860cd048376de7012950fdb74beb8f0dbecdbfda5b41dc347d100b0a83b31d3b324211e7a253dfbfafbc72f083013250660139c0"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/sq/firefox-48.0b7.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "bc96183968912b8ccd6e46adf82c49777f19b1692a5a06ccc9e24d4cba31fbddca79993f6e33a1693da0a794c081d8696d96dfe84de32003f190c2cceb484e9e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/sr/firefox-48.0b7.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "4f5ae88197d4841cb38da7b0b8c5cc0ac8a228f6d1f6851bfa8782dc4ae91124da25a2235a13f9074d29498ff227602bafeb2a475e1f83f116ae6df26a575f66"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/sr/firefox-48.0b7.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "334695dbd86e2fe674897b23c9144444e984e16c5cb813a980fbc6b025b214aaf344019dddb8612125c26ab1b6da4b9007dcffc1ddf205cbf226d43f536728ce"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/sv-SE/firefox-48.0b7.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "9bb2a9d07db3f7840e56368edbdaa3760abb2a5e9a266f75ac84ddafe0ab42b582613cce581dd898761ecb869b85ec515a113a79ee1c3470ae48ba261f559c8b"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/sv-SE/firefox-48.0b7.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "3a7dbf64988527a3d1f88fa1840bdf8292cf90ce21b5823aedeb2fb9263a2b7ffd9f89d2709e2a2d208f0c7e70d3819a92c7859cc2c2510a4f0fe8160599d3b4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/ta/firefox-48.0b7.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "4d6df0bc1dfbb8a0761250fa7bcc3575af66ea0e91e6ed18d340eac96e4ae2c50e1f873c54f10eecc08a0902f3dcb9a9df753d6d9f6a640e7421fa9bf38f884e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/ta/firefox-48.0b7.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "b13dc2570f7c2f5d4a323aabf1448d04550d6356bd43b143c10fdc7e88a97d79d93b8145c3d7230e9f417a147f5884af3217738e5190955ab61459703bfe5954"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/te/firefox-48.0b7.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "b3540cdfe33168c6b77386d3d32dd3a44c3198e9669fac89129549f6240475e657c2e790a38f985e85e20315df0769fdee57c65513c914ebee239f51e7932043"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/te/firefox-48.0b7.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "3aa1ea89e62fa74208c5336c99aa6bdd98358852a032e1c90a70a48b6903523d08cc03e62976e10bfae86cfe0b431befd9a33bd62ef1f262d58bd9d5940255fa"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/th/firefox-48.0b7.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "8e2e979f54bef8979367b7bc5b54eafbcf774dd4ec47a65352e8529d76edb6a4ea331fa8dafe82894868f4cd6b269424f06668a46596d099400a980694b03db3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/th/firefox-48.0b7.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "708841b24ad871cef003040a59379dac33b2131bb699ede2146d02b6be7f562057c6713d050e201075341dbbb8a7fb400c6852cb4d1de2064fcd03ecdda6450f"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/tr/firefox-48.0b7.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "788e91d5af695acfdca1b02eb422efc8ea35652dadffd3b03babe5622c6e8d0ad1dd200a63589329a28eed3e0ca723e838ceafa721c45a86ffcc34aabc462671"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/tr/firefox-48.0b7.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "370fc35b68ec734e9f5544f7cb74cb07d706f3e1c181f25c7e1b6e5fe1f9ee1bd9b289e164792e4a31c9fe7fb098c5114919234cda0583794f8964f14d60c4f3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/uk/firefox-48.0b7.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "463da060477f0b9831fce5e00248d841fa7b9ccae1e70fd707966aa09f55b7bd4eb89ee04b41ed6619ce465c86ce84236fafe14268a2b97c482830a2c6f8f77e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/uk/firefox-48.0b7.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "7a085f96ad6f67092f11ac1605541f1dd39a5ded50a3375e50596e18c76e992a1ec9a648a2ffcf4fefee09a3644d6d5d0abcbb43f5173a1d086f3c38b4ed7ed3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/uz/firefox-48.0b7.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "e3458b936fa06aab7ad5fb37c8bb0e3d1391e764382643b9978ded9e175dbe14fd3658f9b0903a0a5a74bb1aa1d56340fef37f19ca9ed92d3ba3ed28174c2cd2"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/uz/firefox-48.0b7.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "2899fc4bd5b40996aebd0c67627ddd40bd9c3778001afc23a7d4a232a12ababf4504568594aab045eddf2a1ad71e026bbc832b5ddd265132c74325eb84523a82"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/vi/firefox-48.0b7.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "c8cbd21b1ec2962e30a525bf7d1f45f449aa80448f3c8cedf2ffd54b2f7e1e07d8f0ceb2c5fdb3a9bd7e2df8fae0b14c65d0d84fd60f6cece8ececec7df468a1"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/vi/firefox-48.0b7.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "86fd5cf184aa8b897b37dc0f05bdce5dba64e7b8d7d6fea79d42e7a591a141af7b28e87e15a1a98d828ed259c097005b8ff8f52fa5c33873eed199d5f2a391b3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/xh/firefox-48.0b7.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "703a39b4d0fbb522c9b7a2c24780776d804025b659a6bfc1b875924429f05d55f2eb57bc333dfc6b0b0b18bf8b18dabdb7a91ec7696cdefb404cbf0b2afd89b7"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/xh/firefox-48.0b7.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "0551330c8203a93db60f5c4570a03fbd7b63f243eabe2eb0465bb8e3fa6c2389e402b29237fd91f98455f74360c6056d31fc1c1f66c5035c57ff4c8b2500070f"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/zh-CN/firefox-48.0b7.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "8b9293827007bd0d510ab84e15553f4f396dc058a9871651d63638936fa03cb628ffd31bc2d01dfeee9935ad18976e0941345217e1e161df0ddc7a0e4b527ae6"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/zh-CN/firefox-48.0b7.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "ecdb91365c00090388b0d0e0b9bf7fc327b6d142c3671fa96e626a744852ee838220efcbcdc57a6fe2f17d8b3a3b57fc3644b30d965a0a5c118cab421755dd05"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-i686/zh-TW/firefox-48.0b7.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "9f65780b2952210ba613767fb885dd77af3e96596e2d7833902318ac7508c98172abb2a42d3c33c7bdb63826379f039ee50f0df3436c122a4bc794d4e9fd3a20"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0b7/linux-x86_64/zh-TW/firefox-48.0b7.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "a915d396e093f2d87f2ee6cfe20f3c26fb6c524968fee0c8d1cbbf1e53a6cdec86921b6e2f252ca3a8dc13bbc8617e97d8d6e883973364e68be70c409bf1b8ad"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index e9f6f816be5..88d9a0ccb96 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -35,18 +35,13 @@ , libheimdal , libpulseaudio , systemd -, channel ? "stable" +, generated ? import ./sources.nix }: assert stdenv.isLinux; let - generated = if channel == "stable" then (import ./sources.nix) - else if channel == "beta" then (import ./beta_sources.nix) - else if channel == "developer" then (import ./dev_sources.nix) - else builtins.abort "Wrong channel! Channel must be one of `stable`, `beta` or `developer`"; - inherit (generated) version sources; arch = if stdenv.system == "i686-linux" @@ -70,12 +65,7 @@ in stdenv.mkDerivation { name = "firefox-bin-unwrapped-${version}"; - src = fetchurl { - url = if channel == "developer" - then "http://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-aurora/firefox-${version}.${source.locale}.${source.arch}.tar.bz2" - else "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2"; - inherit (source) sha512; - }; + src = fetchurl { inherit (source) url sha512; }; phases = "unpackPhase installPhase"; diff --git a/pkgs/applications/networking/browsers/firefox-bin/dev_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/dev_sources.nix deleted file mode 100644 index f43810d53f0..00000000000 --- a/pkgs/applications/networking/browsers/firefox-bin/dev_sources.nix +++ /dev/null @@ -1,12 +0,0 @@ -# This file is generated from generate_sources_dev.rb. DO NOT EDIT. -# Execute the following command to update the file. -# -# ruby generate_sources_dev.rb 49.0a2 > dev_sources.nix - -{ - version = "49.0a2"; - sources = [ - { locale = "en-US"; arch = "linux-i686"; sha512 = "85c4289e561d2246f96a05e3b8df011337984b9f176670826a705c2cd68a1284056ba507e4b6e4887595bf37f25386d9f7b28a20bc1f125865b9fd7b8be17eaa"; } - { locale = "en-US"; arch = "linux-x86_64"; sha512 = "2bf9518dbfbb48348f74929c19d03e8daf51020bf9ba6db577a202b6e98ad7ffb9e9a0b4ca92af010cd3f864ae84940b65438f4230e6de3165f72e4e7280086d"; } - ]; -} diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb index 03acf17e426..d049363f2cf 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb +++ b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb @@ -10,7 +10,7 @@ version = ARGV[0] end -base_path = "http://archive.mozilla.org/pub/firefox/releases" +base_path = "http://download-installer.cdn.mozilla.net/pub/firefox/releases" Source = Struct.new(:hash, :arch, :locale, :filename) @@ -39,7 +39,7 @@ puts(<<"EOH") EOH sources.each do |source| - puts(%Q| { locale = "#{source.locale}"; arch = "#{source.arch}"; sha512 = "#{source.hash}"; }|) + puts(%Q| { url = "#{base_path}/#{version}/#{source.arch}/#{source.locale}/firefox-#{version}.tar.bz2"; locale = "#{source.locale}"; arch = "#{source.arch}"; sha512 = "#{source.hash}"; }|) end puts(<<'EOF') diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_sources_dev.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_sources_dev.rb deleted file mode 100644 index 37d5569efb0..00000000000 --- a/pkgs/applications/networking/browsers/firefox-bin/generate_sources_dev.rb +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env ruby -require "open-uri" - -version = - if ARGV.empty? - $stderr.puts("Usage: ruby generate_sources_dev.rb > dev_sources.nix") - exit(-1) - else - ARGV[0] - end - -base_url = "http://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-aurora" - -arches = ["linux-i686", "linux-x86_64"] -locales = ["en-US"] -sources = [] - -Source = Struct.new(:hash, :arch, :locale, :filename) - -locales.each do |locale| - arches.each do |arch| - basename = "firefox-#{version}.#{locale}.#{arch}" - filename = basename + ".tar.bz2" - sha512 = open("#{base_url}/#{basename}.checksums").each_line - .find(filename).first - .split(" ").first - sources << Source.new(sha512, arch, locale, filename) - end -end - -sources = sources.sort_by do |source| - [source.locale, source.arch] -end - -puts(<<"EOH") -# This file is generated from generate_sources_dev.rb. DO NOT EDIT. -# Execute the following command to update the file. -# -# ruby generate_sources_dev.rb 49.0a2 > dev_sources.nix - -{ - version = "#{version}"; - sources = [ -EOH - -sources.each do |source| - puts(%Q| { locale = "#{source.locale}"; arch = "#{source.arch}"; sha512 = "#{source.hash}"; }|) -end - -puts(<<'EOF') - ]; -} -EOF diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix index 337e6573309..90749b914f1 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix @@ -6,187 +6,187 @@ { version = "47.0.1"; sources = [ - { locale = "ach"; arch = "linux-i686"; sha512 = "a5391e45d1e59a7c14d8d421286033e3e760bf2b4afddfec3d1767b2ebc957b053c39f17f8185a6c9ca2542c76f6c9612d95d474c01bd5ecc62e5d4f4e43e8df"; } - { locale = "ach"; arch = "linux-x86_64"; sha512 = "48681328033b694adfc6149bd965a3dff90ef014db6f65641ddd3d79ba7901604623735555bad024dc2425f226c65e332a0875d6b18fe1c06b18a1e407b70294"; } - { locale = "af"; arch = "linux-i686"; sha512 = "7757ba99ce9991f67a45d9a19615a93c0a1bf0e35d35c5fe653f04d47c068054c8d91327641a48cd20fb9531cd1e842066c0e6f2dd8b23bff216a9fc727ec84d"; } - { locale = "af"; arch = "linux-x86_64"; sha512 = "7e3d70da29aeb5fc81f5e6dc52a4b8f831813f8c025b1a105df631cc5b675905c82dae842459ad30c5257b74bd5654e9aec5dcfcdee93eb42443c45cda81138e"; } - { locale = "an"; arch = "linux-i686"; sha512 = "1051e1e3a6c25ba6b3aa4ce5adfdc60bcb3c612f3facd5edb702385ea8c0837cc53e95b064a424e0c055a56a11f3a54a7ba37e2ef35045c8cbb834aaec0f6327"; } - { locale = "an"; arch = "linux-x86_64"; sha512 = "27fb75ce402c0d47f8542d3d6d6992587e6ea0caaba2249e763f0f9c4f1d233b37a4b87ebb7e730d16704c7d2abab690660e409e721850875fc09deb0c433252"; } - { locale = "ar"; arch = "linux-i686"; sha512 = "296e23fff265bcc08ec0f81608d50428181163d216fd896c80a1a8c31e95f243112aeedf3bbd96b1efbaa1d6d576a9bfc75e5fe8df434cbb74bb9576f7d90a83"; } - { locale = "ar"; arch = "linux-x86_64"; sha512 = "15f0e7cbf5a98ffa9d2d7befcb11938b76194dff29b1d93ddcbb8f5c655ef33659534874a72aea18f98af06e5fa4392aee5412582ef43292d70603dff2c42c60"; } - { locale = "as"; arch = "linux-i686"; sha512 = "67883c8cb7ffb6c05288b316b2aa5bc3274372dd82ab4c771fcf1e5a968e550d12c89027440704d8479a906beeef24a18ca72ad243628a5ece45918ed990c793"; } - { locale = "as"; arch = "linux-x86_64"; sha512 = "f7718b0dc9bcbfd109591f87263d7791dcd7612b0312d0bf93e68b1f2014d3732dc6740c57a8e64dfc1af7946da14dde617945e38842eb19cfe39376cb12ad44"; } - { locale = "ast"; arch = "linux-i686"; sha512 = "f29b883932752bfa947c48f7c1ff6084b1cf215ea84cf63beaea808702b0b90f50e85aa4cefa4d2c1234b0d366c8f6e3d8fdf7a0f92d432cba790adab6d24174"; } - { locale = "ast"; arch = "linux-x86_64"; sha512 = "8b656c6b08640c125b94f90e1dc8259c90af2e764cee73b02b9dc3c0246b3195906d9208bc2a6b3ca31091d8cdfca8338fa6c489b7caa5685a23133e98847a39"; } - { locale = "az"; arch = "linux-i686"; sha512 = "5ee1247e37964274bbea8021c8e4e5116fedca95712fbd91d709c5c580bd1618c6319cae73278b2f0ba82031e94bd3fb382d2b4dcfc9a5d7ad47ecd80f4fca43"; } - { locale = "az"; arch = "linux-x86_64"; sha512 = "c369046c29dd0dfcf40e69e1f5b5a63423833a376d2b143d3fbf2ee1e23dedb3baf24843ba1178bda94b86f357724898a147d4adfac1e469cbf44166d7ffd16c"; } - { locale = "be"; arch = "linux-i686"; sha512 = "f8a1ab05b8d25a7a30e755a551f0851a308ba0720180685f6946a510363988717f8274ac2c8ef826c60232a62c394b86829d289e7d74e24b7656b55238129b15"; } - { locale = "be"; arch = "linux-x86_64"; sha512 = "df05271371de5fa25ec11164eaac0b253bc892749d421a6ca730dfeceb4ef89492c42ce83a87eccbe91cb03ab001bf0a1d9a20a7296b69841cab8c6b5d2acc36"; } - { locale = "bg"; arch = "linux-i686"; sha512 = "80644b86f9296b708e74843a51f81d368e3508f0f2f74de1a998d30a15f6e3af08ffd70dcc5c79adb76c03be9ff4713fc8403b8433cbc33ca3493941c4fb2fe0"; } - { locale = "bg"; arch = "linux-x86_64"; sha512 = "0e6cdc5b3cc706031c95a550b0c800c9e8e2d7bf241010c22f0872eca4bab018a5f0d4a94abb4f8291c279476700f2101a69ac0c57ae79994fba38b88b00fddb"; } - { locale = "bn-BD"; arch = "linux-i686"; sha512 = "4c697f1dcd68634e2ab712d4f2415e57cf8be0017fff3602223d8af19a1f3a5c973489d13951baaab95924fad42212a485fdff622d2b559be36e246c8a847b67"; } - { locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "1931035a9d92dd9246a00b32443e282dc405096407a4feff7856125b7ee156840114c9be0dd58a020c250fa54c4ccb22052d2be291eeec9b5f76303fdf6c4cc5"; } - { locale = "bn-IN"; arch = "linux-i686"; sha512 = "fbab6f7e4205c803a50990624d58aa80cfd3aa76fed02cbf9ea390f4ecdcc1a97bda9b51791cec49f2a7e1010109d5f81a1c9b6ac224f1f70df49407df5f7386"; } - { locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "c705ec8356796060c6782261086011bc0bf3ac9f08bc821ce2305c9aac11c522abb802a9d9ab7dcb53b0d38468bb6e667d45b187355d769acb43a8b252c4f400"; } - { locale = "br"; arch = "linux-i686"; sha512 = "c58cd77139a0ae7f3bb8f6f25c40856aca18a831c8f5d6f5d59a45ec615420bd55205093fb66a77591835b0d9493f774b1801a168b9c071086d510a1446cc914"; } - { locale = "br"; arch = "linux-x86_64"; sha512 = "b6bde26d478eac081007ef43a6d588f70dc4d54afc423b019468dc91bfcb117d3b4989c4cbb4cf77a1a11847a58ec74fbf822b6e6f0ef86fdb0065c301294850"; } - { locale = "bs"; arch = "linux-i686"; sha512 = "16ee40d079996f42be77167b73645d389045648c9d36b76e34d0398c7b5b6dee54712d109f93d054236ac7076fc3edb06ee82acae40ad22825a23d92d0e2c636"; } - { locale = "bs"; arch = "linux-x86_64"; sha512 = "ef674f409df5c32fe4584f9de65cc6558d6b3ec78d8a83f5cec829bc1ae09f30399567915e32584334704d12264c2592fecc9e4952beabc8b0d4eb49a7186854"; } - { locale = "ca"; arch = "linux-i686"; sha512 = "fe522bd836c82cb68bb21ad1c7f36bd9a7af1642abf7c035e2d0999b4cc07c58124e4d8de81344598036159102ee12f22c12e44a8a087e54d6c661c3f453b63e"; } - { locale = "ca"; arch = "linux-x86_64"; sha512 = "b618da984d35fbde3819d101c103d8d9a5a4de98f0e254c67e894656019ebb6adc56e14a57410a61430d9aa9c1e0a01339b39a5272164af372544f27329a1644"; } - { locale = "cak"; arch = "linux-i686"; sha512 = "82659aa2fbd091224aef6800b3df1d2e5141b6a295918e4fc4ea09b671184f62c670e3dedd7040b2f167581b0c8a0e8799d861256b273b01b2455d0937722273"; } - { locale = "cak"; arch = "linux-x86_64"; sha512 = "a507cff511c6337f805a27c0f73548342d2fb2cffa683874d66b054b844b17c354cc6da5c3d15618006c2279099b0cd9172b17d9d4b21a3863b5e395db686b22"; } - { locale = "cs"; arch = "linux-i686"; sha512 = "9af91acffc2beeb53280a6cbd21656a91a686c03342fad90dd91314c49535acef1a8abac8fe54bcfc250ca8b8f07e3550c890094f3bcee6baece983cec68bd8a"; } - { locale = "cs"; arch = "linux-x86_64"; sha512 = "c8bea48dc11c021fff9df5ee1a67a6b6e9193ffb2a07e17014d7448254d8a8f4d1512f862ea73bf84dc15b40edbba3fd94cd3d2d18872255bbfc7fa9a7b8ec29"; } - { locale = "cy"; arch = "linux-i686"; sha512 = "7cc062c3b9b4bbfd0b1f7247f06505ae99458514b607d4d9062836085798bab7ade6c4d1c8903b1b961243c6fb6adb4c4f94780f1194f745cf62d786e2c4f5c6"; } - { locale = "cy"; arch = "linux-x86_64"; sha512 = "abafa600b941e17f8aea0e778a937f5fb34cbc8803c93e59febc5d9fde6ad3347ba0bc7aa07ab57a61f6b9d6b11d582b987100364aa8401bca539dc6e14584e3"; } - { locale = "da"; arch = "linux-i686"; sha512 = "d4a9141779f52b78a51b9682b6b44e5ccffdecf5582358ab8a02efe133d9a52023e03c238e106a79e41a8aeaabcc58e0757c1af66837768e7bf4732f26182915"; } - { locale = "da"; arch = "linux-x86_64"; sha512 = "48f0c48aa273cec9830bf806330c7a630185262838007628acad904a45b3186450a8973938c36db636bdef9042c78ce94a4a456e1682ef561abaabab6ac20863"; } - { locale = "de"; arch = "linux-i686"; sha512 = "01675b3a8ecfa10da1d101cba36295b226b130e1cdb2c760541cd76c9b21436ae84ca7228e063402b1ca2eb59acadcac7720c9dd47db8b406675fb273af206c6"; } - { locale = "de"; arch = "linux-x86_64"; sha512 = "6a7ef802a8109f58504b2accb9ef0ee38986f6c8980e0831c30b470f2ee768169557cdbde1a58d7c72996b27596e553185ded476cecdd7114b75d82428b7846e"; } - { locale = "dsb"; arch = "linux-i686"; sha512 = "55528fca4d276b2b0430949686845e3d7d88975129c9a9846408f758b4f9c8f154425db891e5c1930197e36137d6c15ba29de90dad624bad23090015849d0ab5"; } - { locale = "dsb"; arch = "linux-x86_64"; sha512 = "f21c14a57f6f973be824340fcd417ce03765d5826114462f62adbd933661bccbfbe90b66935083619c62d48401c511830574ccc373ca2110093b06fad59734ff"; } - { locale = "el"; arch = "linux-i686"; sha512 = "ac5a808db1ba68286a7199eef33794f7aeeafa26e97a20738fb21be479462bcaeb1e8a7995720d5c7dcaadd0cebe91bb2a3e019873d0cf74f42838f7d5c1a427"; } - { locale = "el"; arch = "linux-x86_64"; sha512 = "c02e6587d99fc3ca66debe854c778a8b3dbf9b514e6ed74fa15e3035a54643b2bc324ff59f1705c6bd392c37ad1996f80dbabbb57df10aff954ed0ff3f5b01d5"; } - { locale = "en-GB"; arch = "linux-i686"; sha512 = "c458c70db0408d627a904781adc9af18011f243689f4c5a606c8f1508b4e9417a8df499673c4ba56d32ea77d0f79ab85ff88852f7c518e7fd124e5970615b2f9"; } - { locale = "en-GB"; arch = "linux-x86_64"; sha512 = "28ccaebc4f7613d7ea8c3b47504923f2d59bdf4afd6e386a67dcb6b6923a9374c1c783e4f904da0b6e0f716ec87a046fc12f3781b732389d1d680745d6955c58"; } - { locale = "en-US"; arch = "linux-i686"; sha512 = "e1ea34bd0829656c04c471b66d2013fc07cbd5cf40b47bf3a932326cca71f9a502c52d1d5e6dd902d274d307079475b0e75d7ff552fcb2fadf31b2883efba79e"; } - { locale = "en-US"; arch = "linux-x86_64"; sha512 = "a56b2ad26df424f008d96968a4e6a10406694b33f42d962f19dff1a0bcdf261bca5dd0e5c6f3af32d892c3268da5ebee8ce182090f04f8480d37d232ccd23b9f"; } - { locale = "en-ZA"; arch = "linux-i686"; sha512 = "d5efc3d4e624f34c81df068f4d6c184cb8a63ad0667695e9ce7099e069b23715eb77cf2004adee41bf355452179959e5ef7450f167f87be70339abb4cf70844a"; } - { locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "859730132549691b61e936813f0f5fd3e62f3ef6fa9899e3f68bd3178b7438b4c6b49f54f00d4898b568d6abccdd55a0f9fc6c51858e95735fefcc13de460d73"; } - { locale = "eo"; arch = "linux-i686"; sha512 = "8ef290bf1eb3504ace393b32c2da64d14435edc327c4f13a40cd925efaf7e042a03b6877689b3f2290f85625410a4e48dfb2cf676f138fdba87ffc597b25f4b6"; } - { locale = "eo"; arch = "linux-x86_64"; sha512 = "7d6167749d2a57a9c12180302a825fee14555e9050b6be3c83dd35183678bc36e10391cedcc864ca0dd96d297997a68627dc4fc1a9cd8922e789dcfa814f18eb"; } - { locale = "es-AR"; arch = "linux-i686"; sha512 = "07768e3b3ed903f4327881a132f192a65842a376eeca6d10ec0de69fefb4ddf3d7fee2a704bbc8d229c78556478814d9e53940cca9edee58270d9790d6b76998"; } - { locale = "es-AR"; arch = "linux-x86_64"; sha512 = "cac021af09abd742273dc77291fb1528dd5d6d38cef3a5e36e615fbb9f3908655fdc96ceb93fd131c4879acf24e702a044471136e7575f3b550ebcecd982047e"; } - { locale = "es-CL"; arch = "linux-i686"; sha512 = "e92ce6bec5b1ee8cf3db0a604eb4cae6245fb6d04a48eec64b6dd55139f3606cbbcb65511e29a3164d6572929b7216afbaa7f034a2191eba100ecb7403740504"; } - { locale = "es-CL"; arch = "linux-x86_64"; sha512 = "98e57146481a53061c0b30872290ecabc2d14c73805a9461d82aaaf4cf9f301521fd55b01c8159c09a56f52a1580d83c9527986b1390f496d0fbd11227216e7f"; } - { locale = "es-ES"; arch = "linux-i686"; sha512 = "c44df66e140ea9190112f89aedff9519b6bee18f5e2b54aea19acd233e623c299aecf134cdba70d366fcaf6b7795d220052ff75409c7a04394a7aa02d9ea708e"; } - { locale = "es-ES"; arch = "linux-x86_64"; sha512 = "c2d70bc5a304df7b2484c8fb2b374f8e31a69049eb223a53dbd0e4b51e4ccce907efb1674eb637370ce7c3947ba5c09e65f433d10e0f328b80d482f3de9cae12"; } - { locale = "es-MX"; arch = "linux-i686"; sha512 = "96dcb75cffeb85b85f092e295e38ee55c272714c40609ca90cfaac5fa0cfdb3efe8e993319ee690b4a7938c42346bf39f063ab1f3db606e743c1e4720de5a93f"; } - { locale = "es-MX"; arch = "linux-x86_64"; sha512 = "60b50d6726b2e1985564bc02263eb88c9b4c1bb39e6d19812ecc6751d6ad223ba04f65a7755a946fb15dceab90628b057bda89c55fdd4972604586f52c5a4b1c"; } - { locale = "et"; arch = "linux-i686"; sha512 = "0a4bef2277f729c93db413b68f8263eb356f7b3278880574b8ebe010e2db9067b803967e1f0d6912f128a9ad5ef204466f52ae277f3addfb8fe9ac377c3b8a3a"; } - { locale = "et"; arch = "linux-x86_64"; sha512 = "ed1bd4fd67262958601f1107edc589bb28e9b7f9faf0edebdcaf0c07ec6007f527a9eab434582a65271a8f68edac8178601da54eab9398f48b31126657a21b0b"; } - { locale = "eu"; arch = "linux-i686"; sha512 = "8c5c9406345e2a1fca3544aeb742dc0d254c804d887e3614613280c050a63b69320d4488b017ee16b0a2a07bea862e8b245baf7edc9df65689d509986f3c5958"; } - { locale = "eu"; arch = "linux-x86_64"; sha512 = "d8f7004e24033f377391b577c549b66f73cf0e899ce5f580eaccd07713ec03b4362db7b222ce6345d113641d3e6a951302939bbb155c47ec0fa46a201a631427"; } - { locale = "fa"; arch = "linux-i686"; sha512 = "f4e02737e20b6ffd3bc2b3a5e5fa59fc80a8e37dc8459ad4a6b99e7621a4d3f360884915f7136dc201830efe371de37977ef3e27f34f84e2cb734c1fff8f6e36"; } - { locale = "fa"; arch = "linux-x86_64"; sha512 = "8f624b066faa39341b750dbb702dd60ee6ad75b3850c659dac2e21969ebed1f792423e9fb0a9cae7fc456943020f9a0155af5d7c596433eedaaa9990ce07b7d4"; } - { locale = "ff"; arch = "linux-i686"; sha512 = "22a2c5376b1e8d770659475085d98ac1f1020cd816ff3ec6ccfcd68f2484b1b0dc25bb84ca52f4ad27144f4da356ce5e7fd54411d12ae7c852064509470d5828"; } - { locale = "ff"; arch = "linux-x86_64"; sha512 = "bcb3dabc250045b8ad444219055fd9d14902296ef3f9c320bec1bef940f84eeb0d4a50249805188ae96ed0288a70f0216350ee79191beba49aeba890ae515b41"; } - { locale = "fi"; arch = "linux-i686"; sha512 = "0c505a0e1d3030038b61ea159eece3892bcc7d947b6d7010c0be8791525c9d91ad1170d4cb45260584c93a78a4bc831b7acd9f28e95ae62e5b96b31745dcbe50"; } - { locale = "fi"; arch = "linux-x86_64"; sha512 = "f347cde005c6b61366c633db5a8cbc5260dfa0d68230a938d847e3f80bff2f1bed09dddded7b1728f4ef9525610ecd046743f9e71eefb467943fe6b72ed198ca"; } - { locale = "fr"; arch = "linux-i686"; sha512 = "8fb8ea2eab82740657a6b822b330fa0c289c31ad900683b4ad07b1e9b0c6c4e14f50af39d6d0f787642010628800b0a99b5ab0c4cad62e4a579390509b1ddd13"; } - { locale = "fr"; arch = "linux-x86_64"; sha512 = "ae79c5b7f9f8305c3631f4f913baa341a9beaa7a2ee5df1c6c1826030c21bf22b92095ee579affb8911110bf3bcc359793c0beca18d4c32b1fcc1f3d1dbcc4b9"; } - { locale = "fy-NL"; arch = "linux-i686"; sha512 = "1c57d02fdc33ff53de48ed9aa9e89ecd5a56d35b432d5651e71bbfbd5f9dfd18aeaf14d10b881f72df871afd00a12b31ff05cf9d5c5a55cd44a92c7a0156523d"; } - { locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "f30f59d630c5d289b61dc7440f7bbb976eb16732370f827365a477090cdf9f2859f39afb7ff9d9be7e8a022f181f2aeb7a3005c00f4c14e6505a28db7ae48a9a"; } - { locale = "ga-IE"; arch = "linux-i686"; sha512 = "739d5feec4bffee67876227f6783d35675f4c0d168b7abbe5f97b6e8edce7fe4b8f04f8240087f7f208db4180f3417997b661c93ebe046decff3f4f4fecac839"; } - { locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "cb4344df6e07db839ce8c9fffd1b7b310c8108b5218cea3602972806c1a40f56bf1355ede4cb3595f54179b16e3470e25bfbddc8e39d726c7d6c1e99d128ca8b"; } - { locale = "gd"; arch = "linux-i686"; sha512 = "91004d62bb5f1f6a1d65b35fee9e594d21d9877669e042cb4c9a834b01b35797363e1433a9ce5a8d0a9f64c8b256da6a6d09fa3342b74b7c2af8ce8afb3e4e56"; } - { locale = "gd"; arch = "linux-x86_64"; sha512 = "f04034cafed25c34713ffe4109e53b107b8fe81321c0c0c035f54ff0ce67ac393b42db7598edc658d3f026e447f9ff1c4d1cfdedd31066eefb6019117248e4c0"; } - { locale = "gl"; arch = "linux-i686"; sha512 = "107bdebb92ce86f39cdc45d6bb24a9c4d104820eca6bb77950693ccbd55e7f8a2f143fc3a5bbb1bfda161e7a33c8f6d8d2686b09da1497215defbca2b4e4e109"; } - { locale = "gl"; arch = "linux-x86_64"; sha512 = "c841af5c73343475150b5404b4b54396bda845aa5b231a742aa17ecb7fdbbc5cd4123efc3ac2ede1c24f485d04bd87e8bf7cb00b7135bef236ce56afa0c27a19"; } - { locale = "gn"; arch = "linux-i686"; sha512 = "20954e218967772488bd895ebf069522c3f4c56ebfa09a7c8efb740158cb95b6be76cee8f4d7f2c1c6c505ca9071a0ddc1914784a54f669d337d5196f18b6f4a"; } - { locale = "gn"; arch = "linux-x86_64"; sha512 = "aaed68f13e326792671669883b452b65556998ed757ed5b745c6453d6bae8865a06f137709de37ace2688e2e09f1b96ecf2e5b6374b4170d29100c6f83ce22ce"; } - { locale = "gu-IN"; arch = "linux-i686"; sha512 = "205093ecc0dfcddb2b90e05b1a17f75805a4597bbfad214d67442fd0d952f765b031ba63a3c399ba9c1c46e4d05b3cf786f01c46eb8990240a16431964c93a94"; } - { locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "a84ec5015f6922a22a284eaca985010586067370d818e77d401b58782f86dcf2f534f1ef021719c170f1f502525ce25c94760d3b75481c15fade3c25b969b563"; } - { locale = "he"; arch = "linux-i686"; sha512 = "5727fc4699316c4b34be1c2596c5cc20d5fc9d2062b1e106087cdb34b788fe3ebbc098acc8c690bc83c9d9be59ac3b3977fd9116d766ce908aa088660fe34771"; } - { locale = "he"; arch = "linux-x86_64"; sha512 = "c399969bc24b10ca1c1eff17d3414f214cfe3e5b73282942ead5b2ba4d2c58b74d665b13031ccf42956cd45f0fc7b206dd2f9674103c1e3a8861a33577b5caa7"; } - { locale = "hi-IN"; arch = "linux-i686"; sha512 = "f014c47a143d425aa3452be2bbed199a8b5e75d278c35fa86bb6bcac40bfb32bdee22d030386c881c818b465451b35c81f97bf29f9ccfbea606d52c822057899"; } - { locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "0e5dc0970680886dc02448d7118b6864092699fe44f3276ca17cba160aee59418f8e39338247897b118de0e1fb7634cf725ddc6a34a8b6f002b7a78d92deffb0"; } - { locale = "hr"; arch = "linux-i686"; sha512 = "a9af43f6cf6f493f728b8942d3a600f3cb3a23eb0818d284ddabb8766f7d274aa0a232f9925b65625bb56d00864946dc6b0567491cbecdd6a7cf626b6964d9b1"; } - { locale = "hr"; arch = "linux-x86_64"; sha512 = "d97951148ca0ba80a67020f323859ea3f508e40906ecfd18f7a8fbe7a2bc85ea4635945b5c6063e1d5d18456471604075e6767da9a4fda6a09dd3e992a7d3a88"; } - { locale = "hsb"; arch = "linux-i686"; sha512 = "2f7adccdc894f345e861b29a6d65909b1cde2649c69ec9223f784e659e8e3f4668f815b3683fe691de0749483167d26885a0199bee88e8524377c7eee3afbe99"; } - { locale = "hsb"; arch = "linux-x86_64"; sha512 = "70e39341ede01e18c653a0eb56b48e31c73ee3df54ebc11bcd220e2d8e19c67c3e248095c4d070b12a0eac5c24acf5a8ad83069673dcaa684229f4706103685e"; } - { locale = "hu"; arch = "linux-i686"; sha512 = "1fc01c6dd873e2194e6196b1bdb0246e95d0b0520f558b21a2052251d2a5202141c09410c4631b3f025479169d8f68411c2a24f32825261fa8d65696fc7cbe0f"; } - { locale = "hu"; arch = "linux-x86_64"; sha512 = "b4509d671d7eac055812add85ae571f52c90b4eeb172d21c22ce844c70192ba235f37a732e94a0edd6794ecd5a8caa5e8bb6ce05a26d3705902d3628420af871"; } - { locale = "hy-AM"; arch = "linux-i686"; sha512 = "a2b7cd1ec95a0b5eb064e816cfcfc6a74a92806772592947267c4b266bf7ce77d1beb17a7c25b905251cf497ca8dfabf16bca367cf6d9e9e635182f306bd71ca"; } - { locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "9997ca45051e609e289d7730caf1254adacefbf8e618a165750d5bb7ff7933d014781af76501296c89a4236fd3ac477df6e6be5a5dd45f214983c851a856ce5a"; } - { locale = "id"; arch = "linux-i686"; sha512 = "bda5a7c599885bef966daa35a3f34297e38534e32967142ff9cc720a34c7aa9730e3f24623c240637838eca03f78f9b2ee30af3ac3dc8ba48f9664c56b64c789"; } - { locale = "id"; arch = "linux-x86_64"; sha512 = "97d16c5b4382c7fc6ccee416d671e47d345834a44ab111aa486a41c756b25eb894628d0128e8454fc15f38937bc40436b12e60752ce7b7c1fe35a230abaca337"; } - { locale = "is"; arch = "linux-i686"; sha512 = "576b904fb836ea735f652c6b9c91891dee164edd3523c5f99d68cccb4bd6689c29e4c579b6cc44e699a8900101fb8d223f9e0b0860f71a2814ae0ee2c70609e5"; } - { locale = "is"; arch = "linux-x86_64"; sha512 = "592d65977c34c6133f5745a85722f822efa5956bafc6e880954a0b318fa59712c754e882768755fc08f5e08a1c99493c0b30b4219c46169ba663258e3fd3f3fc"; } - { locale = "it"; arch = "linux-i686"; sha512 = "4d749e1b5d8432df789f29a247ab48a688d4aa16fb25dcf7209783c6036bfccb9ff8ac32dcd09dab1708f71896fa034576d6048eef077d1a6c0a3dc58d3cdb26"; } - { locale = "it"; arch = "linux-x86_64"; sha512 = "087c456d691225d9aef54b2013af69cc7bf2501f83060179112e9c40c1d6762202f68e6329a936df091a1ae6aa5f20bcc96a4c8b0451b71270426bddfb45d15c"; } - { locale = "ja"; arch = "linux-i686"; sha512 = "cb4b0bbff7d322f2f04fdaa50b365d4e0a1ff1786206539cd124870ebd69a9305b88d39b9fbed41c64ddbe68098e02c51a0dc665262424f8eff882b1497ea1fd"; } - { locale = "ja"; arch = "linux-x86_64"; sha512 = "b6c9b419a3e746957f93a4bdba9043adc3911b6f76e1eea2e4e31e77e9aa9057ce720205db4af5586a90df4d6b774b90829f1d7689e77c560c50ccae755400b9"; } - { locale = "kk"; arch = "linux-i686"; sha512 = "ae7711d86ce8180997f44f9309a63a436bd8b70ed0dccda773c34ba816daae99b3b1ae913ee87f4d1f9a4e8f016aea670e89652823df16b5e8414bb58ac28225"; } - { locale = "kk"; arch = "linux-x86_64"; sha512 = "49fb6b5ab6aa12535373927519bf36099da6fab7c2e1bcd6f5ce73d91679f58e81eddd3556df65b305fc2d1cd439cf6de081980fa98ff79df16b620ed41290fd"; } - { locale = "km"; arch = "linux-i686"; sha512 = "29dd1808c1430c01dbb395d5e5a833bfbde85453278d4efd32f1afa1eac19a651c0c3a42eb4ba3402f56a8492e80746d753986c0ec0f1a6dc0e5eb6778b5c6ae"; } - { locale = "km"; arch = "linux-x86_64"; sha512 = "f53966aed30b57a601152f09a26414e11bff4ff31683989eb1e47546eaa32fce8cbb6511043f9753cae076d23d6f2172c2b224313cf5f3262f109b49119175e5"; } - { locale = "kn"; arch = "linux-i686"; sha512 = "17dc37df2b3d5a87bbadc4d5c80d4ddff03752b7a80f5c76171ce9f0bc4b8926964b6315cd4f0c6c9dd3142cec56b464503bde34ec3c69e2b8a66ddcae72b0ec"; } - { locale = "kn"; arch = "linux-x86_64"; sha512 = "2af5ac5c254bd0ed2d08656a6fee7966d73aa89973cfad67fd18d7d88fd1f18a2b882de7854af46a3ebc6acba4cceacc06942db7ae495faa2c6ef21c65e94158"; } - { locale = "ko"; arch = "linux-i686"; sha512 = "415fc260f3dcc2ede6c43194501d9522fdfb106f7c86e5d8f5929df6615c73023fffc3efd190deb68bf08bb2a0d4ab34f7605e222301c8350b980f2dbc289c8a"; } - { locale = "ko"; arch = "linux-x86_64"; sha512 = "c991c0b9a89b618ac046882b929fd7e3689e19dd96edf4535b25f9172b6baaa801a4490ae4fd35e82ca3c776afab74a0a09b993f8ae8c2a603d210f2cf248f73"; } - { locale = "lij"; arch = "linux-i686"; sha512 = "3cd367654397d14b782cea4ef8c96f1f6938f011576a8dba92dd4ca832ca3c8682f3e0e161a4288b112fca550d556080d0ece5a79e4c4f6ec99a9298feb6fa12"; } - { locale = "lij"; arch = "linux-x86_64"; sha512 = "2d7475c544df807a956feb9361f889ba0f5e43dc52a9e1dc9c469d86e97f344b4f2995e3fa149a77662969f3acbcc998f430973b2b9d28b23c82c5058b4a9dfc"; } - { locale = "lt"; arch = "linux-i686"; sha512 = "35c8a452ca845576739d5faa9dab6f3c34dcecf9ce95870f68699836f3534b4807c91fbe80007950abbbca662e6d01b406205b3e4cdf4d33e0717ea5d6f57006"; } - { locale = "lt"; arch = "linux-x86_64"; sha512 = "8791df09d841d5ddabd552d0fb0dc7e9446d23092bae1010d92bc3b056a9ad4a6dad01c5d8db531a273945eaaf4c30c922cd03d7b17e1b6be263e0bcb91b8384"; } - { locale = "lv"; arch = "linux-i686"; sha512 = "22b865a344a46096c53a72ff6b1402d00808bb3b49ecabe6f4115ea60e40e522d64afc701648772616fcb784a963bc6d5bb3f89517d7f8407f22fa82d81bad98"; } - { locale = "lv"; arch = "linux-x86_64"; sha512 = "3c66af306b1a8d0a684c12511d95353c0bdda0bea981ce4e577c928be03e12b582b19dcaccdccec551b3cb0fb716323b1079180aa7a8f1204f5e4b5a84b72831"; } - { locale = "mai"; arch = "linux-i686"; sha512 = "780fe423a3cd56a7452df32679ee07a0e328b21cadc78faa2721cec59185c4a4467aeeb75e9237cc86d38dfa2cd71530f02156c4fb9515582ca564dd53d47543"; } - { locale = "mai"; arch = "linux-x86_64"; sha512 = "d27218b59edf004dc57cfa9ffd70dbeb59b7d3c0871b00388a56b505629fd82ddd6f6e0147f5b4c67a8ad72a674e384b66ba2f9455fa9ff218c9ada4b27d1d7d"; } - { locale = "mk"; arch = "linux-i686"; sha512 = "da7ae3718f3c69ec9b62aaaea93951375d82d8d02818d6855fa9f085a64b69c155a1336585d786ae2d33d657110b787f62909dc9e4d54c62d2ea94d2fa8fee3e"; } - { locale = "mk"; arch = "linux-x86_64"; sha512 = "95136f8bf86014a63bcbf4a5cfbd778c4c7e6a84618aa0f6a6948bb597638569b3702e0569b50c5dc9b46339e723377faea8964b921ae9802043fb7983a2c4e4"; } - { locale = "ml"; arch = "linux-i686"; sha512 = "56743acb54283715fb2a910caa85dda61f7e2c1c5e012aa222dc07e3b522572500056fddf990b7ef03a175ff8901fb11b113bcad5c2adf4a6e6e032644ccca2f"; } - { locale = "ml"; arch = "linux-x86_64"; sha512 = "134f35f5f6616c2a7eec48f637277fc02e23b57bf38eccff9777bb08c70a41fe79967b69567f75f9c8bcbad4b22d2ddaf16bec98e399c4b8ca9db9b70e99ef58"; } - { locale = "mr"; arch = "linux-i686"; sha512 = "f29de7ae7dba03465baf86f93d778c9faf3055d50295977c0207c7e4daae6f7ad733ed38e1323263cebe4f737d9a1616024333a97139156470de1a9fe3c16276"; } - { locale = "mr"; arch = "linux-x86_64"; sha512 = "731b4f143fd1303ab54ea3f1b6aca6c4f78ce935caae32fed0b8cdcd46c0ade8c8977131a3be786ea929a7d284c3d45d34851a0d81242761f722f0bceb126957"; } - { locale = "ms"; arch = "linux-i686"; sha512 = "d372bac105f2012b189efedc449c7c183d0daf64cd7a40822ef9d685ce4a1550ca9699620440dd198b13f95513a577766e9f1a8e88b212492831bf7ffcac7e0a"; } - { locale = "ms"; arch = "linux-x86_64"; sha512 = "1287f36a742fa834d5f31e6bc2f6d3651e54f2bc8845a1f0f647e9a9e38ba66c58138961185897c8832107cffff06167a35dc3ee1f0ff830f997f65fb0854a63"; } - { locale = "nb-NO"; arch = "linux-i686"; sha512 = "ac3e46080e188e56a6b67ff77aeffdba7982d7c3aa4156a6f2781ef6b8fe63cac50d678e5afc91aca4ad16c4384d2b2727f74ddc4083da91a1e3590ac98ec9d2"; } - { locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "dca52381e45b5c2d89f590971d830010a9ec1a2a513fe655ee93c3fbd980adcea78787701595a95402bdb660c2f3e0a489e001deba13798337493655798c713a"; } - { locale = "nl"; arch = "linux-i686"; sha512 = "6ec01f8eb18384aadb5715a996c8410ffa94b801ee1f1b1ab43bdeb492e179e781e8b85acbeff4a25cb4fef847ce3e2335968458d9f6e47d046083264e91f6f7"; } - { locale = "nl"; arch = "linux-x86_64"; sha512 = "7d5840518312dd167d914a8f7fa5670fe17f9a6fc39ccd128e30f689005b35bd352d0602993713c3d05288f2b036829be8e08398d536e4aebf2341ae2290e633"; } - { locale = "nn-NO"; arch = "linux-i686"; sha512 = "a185f7592649a91214363cf2a0474b5895f33342c98cd4bdc48fafb0cc76310b2ba4f46575970d723c76b2ecfeba8e2b39d9671e6059a15bcb2565258096156c"; } - { locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "7f8e7277bcbfbe5f40c161f1ebbeed86159c2b6205a5ea55cd8b6253fa6742bcfede11d4de6c1aba36e2b1e98f9c9a7b8e26f9aa35e1eaadc1d011636d429be3"; } - { locale = "or"; arch = "linux-i686"; sha512 = "a543a7d3f4e24364be7e4df65a81da82d955d1268a4cbce741ad7ddd5f4e9916573e271f02af1e92b123a4da2c7f312c17f6ce714e3057a1b204484ef12133d8"; } - { locale = "or"; arch = "linux-x86_64"; sha512 = "7672596470cd8f49f9c4558b05bd637af1650da729bc518681a8cde3ec785358121fa7ef209e123fca4b59df1a63878832bc32d2ff404b5d2a818b60ba10c15e"; } - { locale = "pa-IN"; arch = "linux-i686"; sha512 = "a99b60ae1eb479e31f838fd41d5de325c418762fdcfa5e0f3bc3d5da8df108d3b64ce5bfac0af09663007becf5327164db8dea0ea7a3876586cc43030a780199"; } - { locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "f0110b74842f924808f74979061151fec711d10a6005d2da2fbb8d46fa2a25ecd5a2c804e58c10a918efe570d4d67d05578b0245f526e1aede4bbc786e9f304e"; } - { locale = "pl"; arch = "linux-i686"; sha512 = "7eaa2bad351429d76b476819a1529ed1609388968327382cc13df235a294f2e9fb14295341ff15fe3b2815ffd1c6c8978e2aa104a847fd2cb4adcf2ae3b0b974"; } - { locale = "pl"; arch = "linux-x86_64"; sha512 = "a40e2c15cff0e7f7bff8a5c0bc4cf39df948a21bd37b34ffc93dd87e1f5256526a25526e457fcfd8d081bc872dc1bec13e67da3cf671b6a16dfa17850be4743c"; } - { locale = "pt-BR"; arch = "linux-i686"; sha512 = "c9cd96e68fa2e1f73a49e71c287a25be8d45a8ebb56262e02c40ba5869fc58c7fc43a1f6958592bb377e7dd4064d64f5ebcbcb5cd3a9fe0a007c2da665f50a66"; } - { locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "1184751c1d1a0a9044f8df2d20aee7dfe332dc5f851802ebaf2c5c83fa2bcccfd913cb6e16d2baa449cff1b02aa18f828489914c0741a2ef2a46d54fefecc268"; } - { locale = "pt-PT"; arch = "linux-i686"; sha512 = "86538057ae91b1297acc11c9bf3f7d24ba1950edead89d4733f7c898cf53e3848054bf391a975f19766b69f4c56f576ca54e4b8da806db7416f3e3d91777c3c3"; } - { locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "0a480c26e5dfe2bb9b536e122ae32e18a6dac999004493839cb506c1ad615e095c554d296f1a77bfccbbb86b58bcf549db83f7de51d02b68d1eb752b421f23cc"; } - { locale = "rm"; arch = "linux-i686"; sha512 = "751ffe931cd60296490c7164f49f61f4a51bac5210328a18d02261a07eb607e181b2bab4fa0b59d2df15334152386bf816a984840d2331b7e801171be9c90594"; } - { locale = "rm"; arch = "linux-x86_64"; sha512 = "3e526c9a1a876e5d2c548c9a68803dd11c04c8214e18eb09c0b1c3fb3833f64c8a3362db8083ac5de81c59268439b53effa3bf1c64807fafc874eb8ed9baf188"; } - { locale = "ro"; arch = "linux-i686"; sha512 = "73cf6a18deafb7ba93fd60cba3ba0bb0191471f977c41bac11bf2fd6cc6f7fd7cf2ad125ac5cf168ef577d71dfb0e893e182f39be6ad186ddc642d87c40041a5"; } - { locale = "ro"; arch = "linux-x86_64"; sha512 = "b62c54b8694b4a662c1d336056d404a8d432ba0a3d4f2964b5c5acc0e39b668fd228105e1c4e307bfab1acfa5c3ce223db4229df01866cdbbc7c1ac95e70fe2c"; } - { locale = "ru"; arch = "linux-i686"; sha512 = "6ebd3b3a1f3613905313129cde7cf113bdd777fd0f600496231ba813a95b04309b25016dd69891d31189a93ccad3f87b9c69d54d6219ad39dd38d1181b1f3102"; } - { locale = "ru"; arch = "linux-x86_64"; sha512 = "539a22d13587cdcc21b6f76ff24ccfd1df98cbaaacac802aed46ba8f2bfed27cb2f3e5c146cbd2c3559aaff22297e692030b9612041a05a6bfca08f49bf0d2fb"; } - { locale = "si"; arch = "linux-i686"; sha512 = "bb0d1621f5b9af886fca0ea7cf7fd851d7c22d2d8f279a7b88e9bce98be33ad7b75d6a51ab47ea859802ed39b467815db60409285afaa0bbf4bb1ce6d590eabc"; } - { locale = "si"; arch = "linux-x86_64"; sha512 = "90337d193df7db41a1384856938bb62212952a80144dcc319a725a9b567ffd4deb7bb7af89b57891d3c17499ff466990e656edf7d0b017b8f4e0370aab445477"; } - { locale = "sk"; arch = "linux-i686"; sha512 = "23a15e6ad5ce9b03c218be4e26e603a412de4d870d5f64b599ae511bfc66bf2cf04613cc06fc1a054d06b80435e284456c0b08e33f34d8c9482f5ca23da6ae62"; } - { locale = "sk"; arch = "linux-x86_64"; sha512 = "a86cbed60f65e4ebb36c614d846fbb2515945112fd4f2482c3a63b49a62c3acb310f050dcbd57cc76a808c049eefd8f779d6aeea53362dd81798bb8d7177c86a"; } - { locale = "sl"; arch = "linux-i686"; sha512 = "8ae008f0077081ef40de3bf08c2de294231f41439a83d8a41a485f53e95ba3f4fc6ef03d6ac98e8848c3f3dad290978f1607d8c847f1622bd86b7d38cd0be730"; } - { locale = "sl"; arch = "linux-x86_64"; sha512 = "34efb560c65329c7f3f6b341cc49ac4952f24e6e9b34e7f5bd45d98618a4d03ac89c6f62580223efd2d37db24a03f76a54381d4162f5430b887122bb56eb49d9"; } - { locale = "son"; arch = "linux-i686"; sha512 = "d3e5a25fbc4a786239a7ae543fefb7b7e3ecc34192c8326af915f18b9b08436656bf68faa4953a34bdc464e32305baecce800f91ef0152bb4b4a8323ab448f33"; } - { locale = "son"; arch = "linux-x86_64"; sha512 = "ffee5d1a23e91911fd1dedb5ecf24bfc6b1733fb582e64a5e07d4df4b7afd9a6c502a70ab3af6624b4594f5ddcd81bc8962ede5b693cc035a96a561389f6bfca"; } - { locale = "sq"; arch = "linux-i686"; sha512 = "1cbaf8c32d1d3205cd85127839eed11b416903960c9e411b9adc71c42ba4add47acddd32a9217bb68f27b90d6765892edf2d356e21235c5bfd5cf69d1ee719f9"; } - { locale = "sq"; arch = "linux-x86_64"; sha512 = "16d93961a53ecc3e1ae3480be9e34f2a22dec2bdab55dbd35d1ea79ecf2ee48f195380bd52efc7d39529601610793b75daadeeb54dd76c9a3702c786af25acdd"; } - { locale = "sr"; arch = "linux-i686"; sha512 = "0b2c5234f1787cd972fad398dc270766fbc3015dc1bba29755e5316f207af9f5787d4aa41e96cffd2c9d31c57a5d1896e63fcd04e6235a4a6798469e738fa10d"; } - { locale = "sr"; arch = "linux-x86_64"; sha512 = "e7c7e7ff7fd81ca86f45997faed7244e4d807c3e5ad7ed66d6feb38c3e9173eaf136bd34af690ce28534f0c531c7f1d11595ec6502dfa42778cc19dee4334c49"; } - { locale = "sv-SE"; arch = "linux-i686"; sha512 = "dffb94b0ddb4b9d2effba3894b408c9f191f2079dc4b47e214347a235c9bf1adf77e520465691d14a274c3f3344c7f8b7d41965051d506728347e0af1117ad27"; } - { locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "b601906d28f071c6beb3dbd6b37fa68f50809c9c47c9db69d631127ccc7b784e7d3b278aea6de060b34d83b6c78137da32b77f8e17ed199c3213b89dd9391264"; } - { locale = "ta"; arch = "linux-i686"; sha512 = "1a496470ef8e0899bfce66b41490f54d4d32776eaf60aca8725c4732512f1d3befb2e1fc3b942ebea95fe2359509c43d41649e5f90498264b8e02a3352244260"; } - { locale = "ta"; arch = "linux-x86_64"; sha512 = "00e6dbc43ad3c77693903fe534722094826637698df691b266eb801b27cd5e63502c21ca3e34ff939a7645a1f75d36fce6154626019eb96bc73cc39ab845c952"; } - { locale = "te"; arch = "linux-i686"; sha512 = "70ed539571cadf241f819b68ff24829db32f56287aadab31656fdf66c0ed94ccc6cc11b6cef6e2e963203cda47af2c6032db6e5689c37aaaf495b1e4fa970207"; } - { locale = "te"; arch = "linux-x86_64"; sha512 = "d491acd4635ab9b22f76531740c7ee7a85832678aef9ed646e75f56755c02538440adeea71e9ca5a7a5e11f3f2f6941c3c4c1e47380547179f63baaf6c20ad07"; } - { locale = "th"; arch = "linux-i686"; sha512 = "0414f74c6266fc204f2741b6860f7919c957364bd56ccc2cec5ef4b9c4be812c554ab584e6ce53387e6b7a18ad02991a44d9507a16da59a4aabfd44e7fb5b754"; } - { locale = "th"; arch = "linux-x86_64"; sha512 = "2952cceaecdd4013882150e8158607639e4ab2cffdef563d4fd1a015c41f1eff6c5ac22c0b9301a05ab6f9fef9659d54916275d5a50d97ad43bf69f10da7b3c8"; } - { locale = "tr"; arch = "linux-i686"; sha512 = "c5c6273bae2b9a46108a433af3a85b5cbbba4cd3154ee124ccc49f46c4a76264836a76d1b2da4b1064e9a913cc9fe461911c53e44f40343c5f780be04da932e5"; } - { locale = "tr"; arch = "linux-x86_64"; sha512 = "f0b5bef1ea4b948d699a79d902055d5b31afbe5c4f1814d98cadef1ca820ce39212ec009f68d875860a48942e9d797bda88eec4f6ed591dd8b3b260e04170974"; } - { locale = "uk"; arch = "linux-i686"; sha512 = "3a069ba914716ce122c4a89612988708d811b9350d333aab203dde212527c0e0cc86ec4781e6aa23f40b77f2266f76eca366cf355651870f43e180b97aa25c43"; } - { locale = "uk"; arch = "linux-x86_64"; sha512 = "db7931aa3f1d150e4b5b8c87b9d069df4a515fb2aa5e250b8f8a1bae0d8fd9a210ae949df056c47e3c88e8faf28f2571311ce2d6f179e3365720b42f1335b546"; } - { locale = "uz"; arch = "linux-i686"; sha512 = "110a82749e187f39d77f63b16ad515218e5512e5974916e4145e625a40d797e23fdbb5d110a23f061448cfc3d3c597858636c9304e941a34c68368f749c3c900"; } - { locale = "uz"; arch = "linux-x86_64"; sha512 = "1dbf94cef034449e8d1342822384bf1761dc61748e2d876aec1ac628dd161f92b62da832fe397b2fe4f8a1b82f9adf1c3690f26e07ee3e48c6299f95969533cf"; } - { locale = "vi"; arch = "linux-i686"; sha512 = "af97e1dcfc9bfbdce95a5cd35025b2540ad928d3238863471116e071a51b354b7818577bc3e7427c513e7b335bc1510605ba3ad1a37221389de7c7fedf6e2103"; } - { locale = "vi"; arch = "linux-x86_64"; sha512 = "cc938935395e66ef721fdbb8c8b781ef648b5419393ed1687a116a4d9ae12dd18f2edbc8287235504aa6782bbd6a41f9f5dd89c9c712ed4980fb9fa44f46ef38"; } - { locale = "xh"; arch = "linux-i686"; sha512 = "a76dbac054cdb7f5c194766dc54f215de4cb4cca4aacd7c883e0e3632b9dfc18cc25d7a54788e213bc65c894dd26ca9b863199b55b649133f93da9fed9a58fe4"; } - { locale = "xh"; arch = "linux-x86_64"; sha512 = "cfd8bbb81637c19464ec34788254740e999c13bc8a64b4289b0e1c64f76d711a5a5a8380995271f309444032739066f06334da2f81b6ca2b2be33ff55d3ff402"; } - { locale = "zh-CN"; arch = "linux-i686"; sha512 = "d11637b0c28aa1c45b315322ff12392e133aebe21f435564da278b9e301f0c8515ccb721df2bd55c175c48c3e24934837abbba4b84c9fa659b7a58db1da68f04"; } - { locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "27a06d87f23eaeec170d1ea7f3df636198bfd4787001e178948fe9b8a3f1aafff3be59b9d01ed5b5851902b550601f061e923a4cda3a972f0ac68928cab28577"; } - { locale = "zh-TW"; arch = "linux-i686"; sha512 = "7c6ef5592b273749ccbf7b37c09984b11722beb7f49d4ed25555b84f0521e0dbac5197c7642ac508a21a1a40c5578dcfb49310858819875cc9407c85426d599a"; } - { locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "9ccce84a292144f3758190ff2858c077d1e7ec6d49ff5e1efb404b8dfb3bcfebf96eab15d0ec32325e4d96d94f4c6bcc67f4e43dd22af418b822d82a2afaf6f1"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ach/firefox-47.0.1.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "a5391e45d1e59a7c14d8d421286033e3e760bf2b4afddfec3d1767b2ebc957b053c39f17f8185a6c9ca2542c76f6c9612d95d474c01bd5ecc62e5d4f4e43e8df"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ach/firefox-47.0.1.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "48681328033b694adfc6149bd965a3dff90ef014db6f65641ddd3d79ba7901604623735555bad024dc2425f226c65e332a0875d6b18fe1c06b18a1e407b70294"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/af/firefox-47.0.1.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "7757ba99ce9991f67a45d9a19615a93c0a1bf0e35d35c5fe653f04d47c068054c8d91327641a48cd20fb9531cd1e842066c0e6f2dd8b23bff216a9fc727ec84d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/af/firefox-47.0.1.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "7e3d70da29aeb5fc81f5e6dc52a4b8f831813f8c025b1a105df631cc5b675905c82dae842459ad30c5257b74bd5654e9aec5dcfcdee93eb42443c45cda81138e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/an/firefox-47.0.1.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "1051e1e3a6c25ba6b3aa4ce5adfdc60bcb3c612f3facd5edb702385ea8c0837cc53e95b064a424e0c055a56a11f3a54a7ba37e2ef35045c8cbb834aaec0f6327"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/an/firefox-47.0.1.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "27fb75ce402c0d47f8542d3d6d6992587e6ea0caaba2249e763f0f9c4f1d233b37a4b87ebb7e730d16704c7d2abab690660e409e721850875fc09deb0c433252"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ar/firefox-47.0.1.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "296e23fff265bcc08ec0f81608d50428181163d216fd896c80a1a8c31e95f243112aeedf3bbd96b1efbaa1d6d576a9bfc75e5fe8df434cbb74bb9576f7d90a83"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ar/firefox-47.0.1.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "15f0e7cbf5a98ffa9d2d7befcb11938b76194dff29b1d93ddcbb8f5c655ef33659534874a72aea18f98af06e5fa4392aee5412582ef43292d70603dff2c42c60"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/as/firefox-47.0.1.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "67883c8cb7ffb6c05288b316b2aa5bc3274372dd82ab4c771fcf1e5a968e550d12c89027440704d8479a906beeef24a18ca72ad243628a5ece45918ed990c793"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/as/firefox-47.0.1.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "f7718b0dc9bcbfd109591f87263d7791dcd7612b0312d0bf93e68b1f2014d3732dc6740c57a8e64dfc1af7946da14dde617945e38842eb19cfe39376cb12ad44"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ast/firefox-47.0.1.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "f29b883932752bfa947c48f7c1ff6084b1cf215ea84cf63beaea808702b0b90f50e85aa4cefa4d2c1234b0d366c8f6e3d8fdf7a0f92d432cba790adab6d24174"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ast/firefox-47.0.1.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "8b656c6b08640c125b94f90e1dc8259c90af2e764cee73b02b9dc3c0246b3195906d9208bc2a6b3ca31091d8cdfca8338fa6c489b7caa5685a23133e98847a39"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/az/firefox-47.0.1.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "5ee1247e37964274bbea8021c8e4e5116fedca95712fbd91d709c5c580bd1618c6319cae73278b2f0ba82031e94bd3fb382d2b4dcfc9a5d7ad47ecd80f4fca43"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/az/firefox-47.0.1.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "c369046c29dd0dfcf40e69e1f5b5a63423833a376d2b143d3fbf2ee1e23dedb3baf24843ba1178bda94b86f357724898a147d4adfac1e469cbf44166d7ffd16c"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/be/firefox-47.0.1.tar.bz2"; locale = "be"; arch = "linux-i686"; sha512 = "f8a1ab05b8d25a7a30e755a551f0851a308ba0720180685f6946a510363988717f8274ac2c8ef826c60232a62c394b86829d289e7d74e24b7656b55238129b15"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/be/firefox-47.0.1.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha512 = "df05271371de5fa25ec11164eaac0b253bc892749d421a6ca730dfeceb4ef89492c42ce83a87eccbe91cb03ab001bf0a1d9a20a7296b69841cab8c6b5d2acc36"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/bg/firefox-47.0.1.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "80644b86f9296b708e74843a51f81d368e3508f0f2f74de1a998d30a15f6e3af08ffd70dcc5c79adb76c03be9ff4713fc8403b8433cbc33ca3493941c4fb2fe0"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/bg/firefox-47.0.1.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "0e6cdc5b3cc706031c95a550b0c800c9e8e2d7bf241010c22f0872eca4bab018a5f0d4a94abb4f8291c279476700f2101a69ac0c57ae79994fba38b88b00fddb"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/bn-BD/firefox-47.0.1.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "4c697f1dcd68634e2ab712d4f2415e57cf8be0017fff3602223d8af19a1f3a5c973489d13951baaab95924fad42212a485fdff622d2b559be36e246c8a847b67"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/bn-BD/firefox-47.0.1.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "1931035a9d92dd9246a00b32443e282dc405096407a4feff7856125b7ee156840114c9be0dd58a020c250fa54c4ccb22052d2be291eeec9b5f76303fdf6c4cc5"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/bn-IN/firefox-47.0.1.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "fbab6f7e4205c803a50990624d58aa80cfd3aa76fed02cbf9ea390f4ecdcc1a97bda9b51791cec49f2a7e1010109d5f81a1c9b6ac224f1f70df49407df5f7386"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/bn-IN/firefox-47.0.1.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "c705ec8356796060c6782261086011bc0bf3ac9f08bc821ce2305c9aac11c522abb802a9d9ab7dcb53b0d38468bb6e667d45b187355d769acb43a8b252c4f400"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/br/firefox-47.0.1.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "c58cd77139a0ae7f3bb8f6f25c40856aca18a831c8f5d6f5d59a45ec615420bd55205093fb66a77591835b0d9493f774b1801a168b9c071086d510a1446cc914"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/br/firefox-47.0.1.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "b6bde26d478eac081007ef43a6d588f70dc4d54afc423b019468dc91bfcb117d3b4989c4cbb4cf77a1a11847a58ec74fbf822b6e6f0ef86fdb0065c301294850"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/bs/firefox-47.0.1.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "16ee40d079996f42be77167b73645d389045648c9d36b76e34d0398c7b5b6dee54712d109f93d054236ac7076fc3edb06ee82acae40ad22825a23d92d0e2c636"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/bs/firefox-47.0.1.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "ef674f409df5c32fe4584f9de65cc6558d6b3ec78d8a83f5cec829bc1ae09f30399567915e32584334704d12264c2592fecc9e4952beabc8b0d4eb49a7186854"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ca/firefox-47.0.1.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "fe522bd836c82cb68bb21ad1c7f36bd9a7af1642abf7c035e2d0999b4cc07c58124e4d8de81344598036159102ee12f22c12e44a8a087e54d6c661c3f453b63e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ca/firefox-47.0.1.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "b618da984d35fbde3819d101c103d8d9a5a4de98f0e254c67e894656019ebb6adc56e14a57410a61430d9aa9c1e0a01339b39a5272164af372544f27329a1644"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/cak/firefox-47.0.1.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "82659aa2fbd091224aef6800b3df1d2e5141b6a295918e4fc4ea09b671184f62c670e3dedd7040b2f167581b0c8a0e8799d861256b273b01b2455d0937722273"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/cak/firefox-47.0.1.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "a507cff511c6337f805a27c0f73548342d2fb2cffa683874d66b054b844b17c354cc6da5c3d15618006c2279099b0cd9172b17d9d4b21a3863b5e395db686b22"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/cs/firefox-47.0.1.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "9af91acffc2beeb53280a6cbd21656a91a686c03342fad90dd91314c49535acef1a8abac8fe54bcfc250ca8b8f07e3550c890094f3bcee6baece983cec68bd8a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/cs/firefox-47.0.1.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "c8bea48dc11c021fff9df5ee1a67a6b6e9193ffb2a07e17014d7448254d8a8f4d1512f862ea73bf84dc15b40edbba3fd94cd3d2d18872255bbfc7fa9a7b8ec29"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/cy/firefox-47.0.1.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "7cc062c3b9b4bbfd0b1f7247f06505ae99458514b607d4d9062836085798bab7ade6c4d1c8903b1b961243c6fb6adb4c4f94780f1194f745cf62d786e2c4f5c6"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/cy/firefox-47.0.1.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "abafa600b941e17f8aea0e778a937f5fb34cbc8803c93e59febc5d9fde6ad3347ba0bc7aa07ab57a61f6b9d6b11d582b987100364aa8401bca539dc6e14584e3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/da/firefox-47.0.1.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "d4a9141779f52b78a51b9682b6b44e5ccffdecf5582358ab8a02efe133d9a52023e03c238e106a79e41a8aeaabcc58e0757c1af66837768e7bf4732f26182915"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/da/firefox-47.0.1.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "48f0c48aa273cec9830bf806330c7a630185262838007628acad904a45b3186450a8973938c36db636bdef9042c78ce94a4a456e1682ef561abaabab6ac20863"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/de/firefox-47.0.1.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "01675b3a8ecfa10da1d101cba36295b226b130e1cdb2c760541cd76c9b21436ae84ca7228e063402b1ca2eb59acadcac7720c9dd47db8b406675fb273af206c6"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/de/firefox-47.0.1.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "6a7ef802a8109f58504b2accb9ef0ee38986f6c8980e0831c30b470f2ee768169557cdbde1a58d7c72996b27596e553185ded476cecdd7114b75d82428b7846e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/dsb/firefox-47.0.1.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "55528fca4d276b2b0430949686845e3d7d88975129c9a9846408f758b4f9c8f154425db891e5c1930197e36137d6c15ba29de90dad624bad23090015849d0ab5"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/dsb/firefox-47.0.1.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "f21c14a57f6f973be824340fcd417ce03765d5826114462f62adbd933661bccbfbe90b66935083619c62d48401c511830574ccc373ca2110093b06fad59734ff"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/el/firefox-47.0.1.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "ac5a808db1ba68286a7199eef33794f7aeeafa26e97a20738fb21be479462bcaeb1e8a7995720d5c7dcaadd0cebe91bb2a3e019873d0cf74f42838f7d5c1a427"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/el/firefox-47.0.1.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "c02e6587d99fc3ca66debe854c778a8b3dbf9b514e6ed74fa15e3035a54643b2bc324ff59f1705c6bd392c37ad1996f80dbabbb57df10aff954ed0ff3f5b01d5"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/en-GB/firefox-47.0.1.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "c458c70db0408d627a904781adc9af18011f243689f4c5a606c8f1508b4e9417a8df499673c4ba56d32ea77d0f79ab85ff88852f7c518e7fd124e5970615b2f9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/en-GB/firefox-47.0.1.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "28ccaebc4f7613d7ea8c3b47504923f2d59bdf4afd6e386a67dcb6b6923a9374c1c783e4f904da0b6e0f716ec87a046fc12f3781b732389d1d680745d6955c58"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/en-US/firefox-47.0.1.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "e1ea34bd0829656c04c471b66d2013fc07cbd5cf40b47bf3a932326cca71f9a502c52d1d5e6dd902d274d307079475b0e75d7ff552fcb2fadf31b2883efba79e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/en-US/firefox-47.0.1.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "a56b2ad26df424f008d96968a4e6a10406694b33f42d962f19dff1a0bcdf261bca5dd0e5c6f3af32d892c3268da5ebee8ce182090f04f8480d37d232ccd23b9f"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/en-ZA/firefox-47.0.1.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "d5efc3d4e624f34c81df068f4d6c184cb8a63ad0667695e9ce7099e069b23715eb77cf2004adee41bf355452179959e5ef7450f167f87be70339abb4cf70844a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/en-ZA/firefox-47.0.1.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "859730132549691b61e936813f0f5fd3e62f3ef6fa9899e3f68bd3178b7438b4c6b49f54f00d4898b568d6abccdd55a0f9fc6c51858e95735fefcc13de460d73"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/eo/firefox-47.0.1.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "8ef290bf1eb3504ace393b32c2da64d14435edc327c4f13a40cd925efaf7e042a03b6877689b3f2290f85625410a4e48dfb2cf676f138fdba87ffc597b25f4b6"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/eo/firefox-47.0.1.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "7d6167749d2a57a9c12180302a825fee14555e9050b6be3c83dd35183678bc36e10391cedcc864ca0dd96d297997a68627dc4fc1a9cd8922e789dcfa814f18eb"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/es-AR/firefox-47.0.1.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "07768e3b3ed903f4327881a132f192a65842a376eeca6d10ec0de69fefb4ddf3d7fee2a704bbc8d229c78556478814d9e53940cca9edee58270d9790d6b76998"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/es-AR/firefox-47.0.1.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "cac021af09abd742273dc77291fb1528dd5d6d38cef3a5e36e615fbb9f3908655fdc96ceb93fd131c4879acf24e702a044471136e7575f3b550ebcecd982047e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/es-CL/firefox-47.0.1.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "e92ce6bec5b1ee8cf3db0a604eb4cae6245fb6d04a48eec64b6dd55139f3606cbbcb65511e29a3164d6572929b7216afbaa7f034a2191eba100ecb7403740504"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/es-CL/firefox-47.0.1.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "98e57146481a53061c0b30872290ecabc2d14c73805a9461d82aaaf4cf9f301521fd55b01c8159c09a56f52a1580d83c9527986b1390f496d0fbd11227216e7f"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/es-ES/firefox-47.0.1.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "c44df66e140ea9190112f89aedff9519b6bee18f5e2b54aea19acd233e623c299aecf134cdba70d366fcaf6b7795d220052ff75409c7a04394a7aa02d9ea708e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/es-ES/firefox-47.0.1.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "c2d70bc5a304df7b2484c8fb2b374f8e31a69049eb223a53dbd0e4b51e4ccce907efb1674eb637370ce7c3947ba5c09e65f433d10e0f328b80d482f3de9cae12"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/es-MX/firefox-47.0.1.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "96dcb75cffeb85b85f092e295e38ee55c272714c40609ca90cfaac5fa0cfdb3efe8e993319ee690b4a7938c42346bf39f063ab1f3db606e743c1e4720de5a93f"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/es-MX/firefox-47.0.1.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "60b50d6726b2e1985564bc02263eb88c9b4c1bb39e6d19812ecc6751d6ad223ba04f65a7755a946fb15dceab90628b057bda89c55fdd4972604586f52c5a4b1c"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/et/firefox-47.0.1.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "0a4bef2277f729c93db413b68f8263eb356f7b3278880574b8ebe010e2db9067b803967e1f0d6912f128a9ad5ef204466f52ae277f3addfb8fe9ac377c3b8a3a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/et/firefox-47.0.1.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "ed1bd4fd67262958601f1107edc589bb28e9b7f9faf0edebdcaf0c07ec6007f527a9eab434582a65271a8f68edac8178601da54eab9398f48b31126657a21b0b"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/eu/firefox-47.0.1.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "8c5c9406345e2a1fca3544aeb742dc0d254c804d887e3614613280c050a63b69320d4488b017ee16b0a2a07bea862e8b245baf7edc9df65689d509986f3c5958"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/eu/firefox-47.0.1.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "d8f7004e24033f377391b577c549b66f73cf0e899ce5f580eaccd07713ec03b4362db7b222ce6345d113641d3e6a951302939bbb155c47ec0fa46a201a631427"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/fa/firefox-47.0.1.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "f4e02737e20b6ffd3bc2b3a5e5fa59fc80a8e37dc8459ad4a6b99e7621a4d3f360884915f7136dc201830efe371de37977ef3e27f34f84e2cb734c1fff8f6e36"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/fa/firefox-47.0.1.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "8f624b066faa39341b750dbb702dd60ee6ad75b3850c659dac2e21969ebed1f792423e9fb0a9cae7fc456943020f9a0155af5d7c596433eedaaa9990ce07b7d4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ff/firefox-47.0.1.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "22a2c5376b1e8d770659475085d98ac1f1020cd816ff3ec6ccfcd68f2484b1b0dc25bb84ca52f4ad27144f4da356ce5e7fd54411d12ae7c852064509470d5828"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ff/firefox-47.0.1.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "bcb3dabc250045b8ad444219055fd9d14902296ef3f9c320bec1bef940f84eeb0d4a50249805188ae96ed0288a70f0216350ee79191beba49aeba890ae515b41"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/fi/firefox-47.0.1.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "0c505a0e1d3030038b61ea159eece3892bcc7d947b6d7010c0be8791525c9d91ad1170d4cb45260584c93a78a4bc831b7acd9f28e95ae62e5b96b31745dcbe50"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/fi/firefox-47.0.1.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "f347cde005c6b61366c633db5a8cbc5260dfa0d68230a938d847e3f80bff2f1bed09dddded7b1728f4ef9525610ecd046743f9e71eefb467943fe6b72ed198ca"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/fr/firefox-47.0.1.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "8fb8ea2eab82740657a6b822b330fa0c289c31ad900683b4ad07b1e9b0c6c4e14f50af39d6d0f787642010628800b0a99b5ab0c4cad62e4a579390509b1ddd13"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/fr/firefox-47.0.1.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "ae79c5b7f9f8305c3631f4f913baa341a9beaa7a2ee5df1c6c1826030c21bf22b92095ee579affb8911110bf3bcc359793c0beca18d4c32b1fcc1f3d1dbcc4b9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/fy-NL/firefox-47.0.1.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "1c57d02fdc33ff53de48ed9aa9e89ecd5a56d35b432d5651e71bbfbd5f9dfd18aeaf14d10b881f72df871afd00a12b31ff05cf9d5c5a55cd44a92c7a0156523d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/fy-NL/firefox-47.0.1.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "f30f59d630c5d289b61dc7440f7bbb976eb16732370f827365a477090cdf9f2859f39afb7ff9d9be7e8a022f181f2aeb7a3005c00f4c14e6505a28db7ae48a9a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ga-IE/firefox-47.0.1.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "739d5feec4bffee67876227f6783d35675f4c0d168b7abbe5f97b6e8edce7fe4b8f04f8240087f7f208db4180f3417997b661c93ebe046decff3f4f4fecac839"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ga-IE/firefox-47.0.1.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "cb4344df6e07db839ce8c9fffd1b7b310c8108b5218cea3602972806c1a40f56bf1355ede4cb3595f54179b16e3470e25bfbddc8e39d726c7d6c1e99d128ca8b"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/gd/firefox-47.0.1.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "91004d62bb5f1f6a1d65b35fee9e594d21d9877669e042cb4c9a834b01b35797363e1433a9ce5a8d0a9f64c8b256da6a6d09fa3342b74b7c2af8ce8afb3e4e56"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/gd/firefox-47.0.1.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "f04034cafed25c34713ffe4109e53b107b8fe81321c0c0c035f54ff0ce67ac393b42db7598edc658d3f026e447f9ff1c4d1cfdedd31066eefb6019117248e4c0"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/gl/firefox-47.0.1.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "107bdebb92ce86f39cdc45d6bb24a9c4d104820eca6bb77950693ccbd55e7f8a2f143fc3a5bbb1bfda161e7a33c8f6d8d2686b09da1497215defbca2b4e4e109"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/gl/firefox-47.0.1.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "c841af5c73343475150b5404b4b54396bda845aa5b231a742aa17ecb7fdbbc5cd4123efc3ac2ede1c24f485d04bd87e8bf7cb00b7135bef236ce56afa0c27a19"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/gn/firefox-47.0.1.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "20954e218967772488bd895ebf069522c3f4c56ebfa09a7c8efb740158cb95b6be76cee8f4d7f2c1c6c505ca9071a0ddc1914784a54f669d337d5196f18b6f4a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/gn/firefox-47.0.1.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "aaed68f13e326792671669883b452b65556998ed757ed5b745c6453d6bae8865a06f137709de37ace2688e2e09f1b96ecf2e5b6374b4170d29100c6f83ce22ce"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/gu-IN/firefox-47.0.1.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "205093ecc0dfcddb2b90e05b1a17f75805a4597bbfad214d67442fd0d952f765b031ba63a3c399ba9c1c46e4d05b3cf786f01c46eb8990240a16431964c93a94"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/gu-IN/firefox-47.0.1.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "a84ec5015f6922a22a284eaca985010586067370d818e77d401b58782f86dcf2f534f1ef021719c170f1f502525ce25c94760d3b75481c15fade3c25b969b563"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/he/firefox-47.0.1.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "5727fc4699316c4b34be1c2596c5cc20d5fc9d2062b1e106087cdb34b788fe3ebbc098acc8c690bc83c9d9be59ac3b3977fd9116d766ce908aa088660fe34771"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/he/firefox-47.0.1.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "c399969bc24b10ca1c1eff17d3414f214cfe3e5b73282942ead5b2ba4d2c58b74d665b13031ccf42956cd45f0fc7b206dd2f9674103c1e3a8861a33577b5caa7"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/hi-IN/firefox-47.0.1.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "f014c47a143d425aa3452be2bbed199a8b5e75d278c35fa86bb6bcac40bfb32bdee22d030386c881c818b465451b35c81f97bf29f9ccfbea606d52c822057899"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/hi-IN/firefox-47.0.1.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "0e5dc0970680886dc02448d7118b6864092699fe44f3276ca17cba160aee59418f8e39338247897b118de0e1fb7634cf725ddc6a34a8b6f002b7a78d92deffb0"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/hr/firefox-47.0.1.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "a9af43f6cf6f493f728b8942d3a600f3cb3a23eb0818d284ddabb8766f7d274aa0a232f9925b65625bb56d00864946dc6b0567491cbecdd6a7cf626b6964d9b1"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/hr/firefox-47.0.1.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "d97951148ca0ba80a67020f323859ea3f508e40906ecfd18f7a8fbe7a2bc85ea4635945b5c6063e1d5d18456471604075e6767da9a4fda6a09dd3e992a7d3a88"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/hsb/firefox-47.0.1.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "2f7adccdc894f345e861b29a6d65909b1cde2649c69ec9223f784e659e8e3f4668f815b3683fe691de0749483167d26885a0199bee88e8524377c7eee3afbe99"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/hsb/firefox-47.0.1.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "70e39341ede01e18c653a0eb56b48e31c73ee3df54ebc11bcd220e2d8e19c67c3e248095c4d070b12a0eac5c24acf5a8ad83069673dcaa684229f4706103685e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/hu/firefox-47.0.1.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "1fc01c6dd873e2194e6196b1bdb0246e95d0b0520f558b21a2052251d2a5202141c09410c4631b3f025479169d8f68411c2a24f32825261fa8d65696fc7cbe0f"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/hu/firefox-47.0.1.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "b4509d671d7eac055812add85ae571f52c90b4eeb172d21c22ce844c70192ba235f37a732e94a0edd6794ecd5a8caa5e8bb6ce05a26d3705902d3628420af871"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/hy-AM/firefox-47.0.1.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "a2b7cd1ec95a0b5eb064e816cfcfc6a74a92806772592947267c4b266bf7ce77d1beb17a7c25b905251cf497ca8dfabf16bca367cf6d9e9e635182f306bd71ca"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/hy-AM/firefox-47.0.1.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "9997ca45051e609e289d7730caf1254adacefbf8e618a165750d5bb7ff7933d014781af76501296c89a4236fd3ac477df6e6be5a5dd45f214983c851a856ce5a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/id/firefox-47.0.1.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "bda5a7c599885bef966daa35a3f34297e38534e32967142ff9cc720a34c7aa9730e3f24623c240637838eca03f78f9b2ee30af3ac3dc8ba48f9664c56b64c789"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/id/firefox-47.0.1.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "97d16c5b4382c7fc6ccee416d671e47d345834a44ab111aa486a41c756b25eb894628d0128e8454fc15f38937bc40436b12e60752ce7b7c1fe35a230abaca337"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/is/firefox-47.0.1.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "576b904fb836ea735f652c6b9c91891dee164edd3523c5f99d68cccb4bd6689c29e4c579b6cc44e699a8900101fb8d223f9e0b0860f71a2814ae0ee2c70609e5"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/is/firefox-47.0.1.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "592d65977c34c6133f5745a85722f822efa5956bafc6e880954a0b318fa59712c754e882768755fc08f5e08a1c99493c0b30b4219c46169ba663258e3fd3f3fc"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/it/firefox-47.0.1.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "4d749e1b5d8432df789f29a247ab48a688d4aa16fb25dcf7209783c6036bfccb9ff8ac32dcd09dab1708f71896fa034576d6048eef077d1a6c0a3dc58d3cdb26"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/it/firefox-47.0.1.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "087c456d691225d9aef54b2013af69cc7bf2501f83060179112e9c40c1d6762202f68e6329a936df091a1ae6aa5f20bcc96a4c8b0451b71270426bddfb45d15c"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ja/firefox-47.0.1.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "cb4b0bbff7d322f2f04fdaa50b365d4e0a1ff1786206539cd124870ebd69a9305b88d39b9fbed41c64ddbe68098e02c51a0dc665262424f8eff882b1497ea1fd"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ja/firefox-47.0.1.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "b6c9b419a3e746957f93a4bdba9043adc3911b6f76e1eea2e4e31e77e9aa9057ce720205db4af5586a90df4d6b774b90829f1d7689e77c560c50ccae755400b9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/kk/firefox-47.0.1.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "ae7711d86ce8180997f44f9309a63a436bd8b70ed0dccda773c34ba816daae99b3b1ae913ee87f4d1f9a4e8f016aea670e89652823df16b5e8414bb58ac28225"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/kk/firefox-47.0.1.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "49fb6b5ab6aa12535373927519bf36099da6fab7c2e1bcd6f5ce73d91679f58e81eddd3556df65b305fc2d1cd439cf6de081980fa98ff79df16b620ed41290fd"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/km/firefox-47.0.1.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "29dd1808c1430c01dbb395d5e5a833bfbde85453278d4efd32f1afa1eac19a651c0c3a42eb4ba3402f56a8492e80746d753986c0ec0f1a6dc0e5eb6778b5c6ae"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/km/firefox-47.0.1.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "f53966aed30b57a601152f09a26414e11bff4ff31683989eb1e47546eaa32fce8cbb6511043f9753cae076d23d6f2172c2b224313cf5f3262f109b49119175e5"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/kn/firefox-47.0.1.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "17dc37df2b3d5a87bbadc4d5c80d4ddff03752b7a80f5c76171ce9f0bc4b8926964b6315cd4f0c6c9dd3142cec56b464503bde34ec3c69e2b8a66ddcae72b0ec"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/kn/firefox-47.0.1.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "2af5ac5c254bd0ed2d08656a6fee7966d73aa89973cfad67fd18d7d88fd1f18a2b882de7854af46a3ebc6acba4cceacc06942db7ae495faa2c6ef21c65e94158"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ko/firefox-47.0.1.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "415fc260f3dcc2ede6c43194501d9522fdfb106f7c86e5d8f5929df6615c73023fffc3efd190deb68bf08bb2a0d4ab34f7605e222301c8350b980f2dbc289c8a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ko/firefox-47.0.1.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "c991c0b9a89b618ac046882b929fd7e3689e19dd96edf4535b25f9172b6baaa801a4490ae4fd35e82ca3c776afab74a0a09b993f8ae8c2a603d210f2cf248f73"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/lij/firefox-47.0.1.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "3cd367654397d14b782cea4ef8c96f1f6938f011576a8dba92dd4ca832ca3c8682f3e0e161a4288b112fca550d556080d0ece5a79e4c4f6ec99a9298feb6fa12"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/lij/firefox-47.0.1.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "2d7475c544df807a956feb9361f889ba0f5e43dc52a9e1dc9c469d86e97f344b4f2995e3fa149a77662969f3acbcc998f430973b2b9d28b23c82c5058b4a9dfc"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/lt/firefox-47.0.1.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "35c8a452ca845576739d5faa9dab6f3c34dcecf9ce95870f68699836f3534b4807c91fbe80007950abbbca662e6d01b406205b3e4cdf4d33e0717ea5d6f57006"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/lt/firefox-47.0.1.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "8791df09d841d5ddabd552d0fb0dc7e9446d23092bae1010d92bc3b056a9ad4a6dad01c5d8db531a273945eaaf4c30c922cd03d7b17e1b6be263e0bcb91b8384"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/lv/firefox-47.0.1.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "22b865a344a46096c53a72ff6b1402d00808bb3b49ecabe6f4115ea60e40e522d64afc701648772616fcb784a963bc6d5bb3f89517d7f8407f22fa82d81bad98"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/lv/firefox-47.0.1.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "3c66af306b1a8d0a684c12511d95353c0bdda0bea981ce4e577c928be03e12b582b19dcaccdccec551b3cb0fb716323b1079180aa7a8f1204f5e4b5a84b72831"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/mai/firefox-47.0.1.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "780fe423a3cd56a7452df32679ee07a0e328b21cadc78faa2721cec59185c4a4467aeeb75e9237cc86d38dfa2cd71530f02156c4fb9515582ca564dd53d47543"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/mai/firefox-47.0.1.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "d27218b59edf004dc57cfa9ffd70dbeb59b7d3c0871b00388a56b505629fd82ddd6f6e0147f5b4c67a8ad72a674e384b66ba2f9455fa9ff218c9ada4b27d1d7d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/mk/firefox-47.0.1.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "da7ae3718f3c69ec9b62aaaea93951375d82d8d02818d6855fa9f085a64b69c155a1336585d786ae2d33d657110b787f62909dc9e4d54c62d2ea94d2fa8fee3e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/mk/firefox-47.0.1.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "95136f8bf86014a63bcbf4a5cfbd778c4c7e6a84618aa0f6a6948bb597638569b3702e0569b50c5dc9b46339e723377faea8964b921ae9802043fb7983a2c4e4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ml/firefox-47.0.1.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "56743acb54283715fb2a910caa85dda61f7e2c1c5e012aa222dc07e3b522572500056fddf990b7ef03a175ff8901fb11b113bcad5c2adf4a6e6e032644ccca2f"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ml/firefox-47.0.1.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "134f35f5f6616c2a7eec48f637277fc02e23b57bf38eccff9777bb08c70a41fe79967b69567f75f9c8bcbad4b22d2ddaf16bec98e399c4b8ca9db9b70e99ef58"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/mr/firefox-47.0.1.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "f29de7ae7dba03465baf86f93d778c9faf3055d50295977c0207c7e4daae6f7ad733ed38e1323263cebe4f737d9a1616024333a97139156470de1a9fe3c16276"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/mr/firefox-47.0.1.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "731b4f143fd1303ab54ea3f1b6aca6c4f78ce935caae32fed0b8cdcd46c0ade8c8977131a3be786ea929a7d284c3d45d34851a0d81242761f722f0bceb126957"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ms/firefox-47.0.1.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "d372bac105f2012b189efedc449c7c183d0daf64cd7a40822ef9d685ce4a1550ca9699620440dd198b13f95513a577766e9f1a8e88b212492831bf7ffcac7e0a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ms/firefox-47.0.1.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "1287f36a742fa834d5f31e6bc2f6d3651e54f2bc8845a1f0f647e9a9e38ba66c58138961185897c8832107cffff06167a35dc3ee1f0ff830f997f65fb0854a63"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/nb-NO/firefox-47.0.1.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "ac3e46080e188e56a6b67ff77aeffdba7982d7c3aa4156a6f2781ef6b8fe63cac50d678e5afc91aca4ad16c4384d2b2727f74ddc4083da91a1e3590ac98ec9d2"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/nb-NO/firefox-47.0.1.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "dca52381e45b5c2d89f590971d830010a9ec1a2a513fe655ee93c3fbd980adcea78787701595a95402bdb660c2f3e0a489e001deba13798337493655798c713a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/nl/firefox-47.0.1.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "6ec01f8eb18384aadb5715a996c8410ffa94b801ee1f1b1ab43bdeb492e179e781e8b85acbeff4a25cb4fef847ce3e2335968458d9f6e47d046083264e91f6f7"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/nl/firefox-47.0.1.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "7d5840518312dd167d914a8f7fa5670fe17f9a6fc39ccd128e30f689005b35bd352d0602993713c3d05288f2b036829be8e08398d536e4aebf2341ae2290e633"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/nn-NO/firefox-47.0.1.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "a185f7592649a91214363cf2a0474b5895f33342c98cd4bdc48fafb0cc76310b2ba4f46575970d723c76b2ecfeba8e2b39d9671e6059a15bcb2565258096156c"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/nn-NO/firefox-47.0.1.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "7f8e7277bcbfbe5f40c161f1ebbeed86159c2b6205a5ea55cd8b6253fa6742bcfede11d4de6c1aba36e2b1e98f9c9a7b8e26f9aa35e1eaadc1d011636d429be3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/or/firefox-47.0.1.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "a543a7d3f4e24364be7e4df65a81da82d955d1268a4cbce741ad7ddd5f4e9916573e271f02af1e92b123a4da2c7f312c17f6ce714e3057a1b204484ef12133d8"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/or/firefox-47.0.1.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "7672596470cd8f49f9c4558b05bd637af1650da729bc518681a8cde3ec785358121fa7ef209e123fca4b59df1a63878832bc32d2ff404b5d2a818b60ba10c15e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/pa-IN/firefox-47.0.1.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "a99b60ae1eb479e31f838fd41d5de325c418762fdcfa5e0f3bc3d5da8df108d3b64ce5bfac0af09663007becf5327164db8dea0ea7a3876586cc43030a780199"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/pa-IN/firefox-47.0.1.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "f0110b74842f924808f74979061151fec711d10a6005d2da2fbb8d46fa2a25ecd5a2c804e58c10a918efe570d4d67d05578b0245f526e1aede4bbc786e9f304e"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/pl/firefox-47.0.1.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "7eaa2bad351429d76b476819a1529ed1609388968327382cc13df235a294f2e9fb14295341ff15fe3b2815ffd1c6c8978e2aa104a847fd2cb4adcf2ae3b0b974"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/pl/firefox-47.0.1.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "a40e2c15cff0e7f7bff8a5c0bc4cf39df948a21bd37b34ffc93dd87e1f5256526a25526e457fcfd8d081bc872dc1bec13e67da3cf671b6a16dfa17850be4743c"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/pt-BR/firefox-47.0.1.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "c9cd96e68fa2e1f73a49e71c287a25be8d45a8ebb56262e02c40ba5869fc58c7fc43a1f6958592bb377e7dd4064d64f5ebcbcb5cd3a9fe0a007c2da665f50a66"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/pt-BR/firefox-47.0.1.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "1184751c1d1a0a9044f8df2d20aee7dfe332dc5f851802ebaf2c5c83fa2bcccfd913cb6e16d2baa449cff1b02aa18f828489914c0741a2ef2a46d54fefecc268"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/pt-PT/firefox-47.0.1.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "86538057ae91b1297acc11c9bf3f7d24ba1950edead89d4733f7c898cf53e3848054bf391a975f19766b69f4c56f576ca54e4b8da806db7416f3e3d91777c3c3"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/pt-PT/firefox-47.0.1.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "0a480c26e5dfe2bb9b536e122ae32e18a6dac999004493839cb506c1ad615e095c554d296f1a77bfccbbb86b58bcf549db83f7de51d02b68d1eb752b421f23cc"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/rm/firefox-47.0.1.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "751ffe931cd60296490c7164f49f61f4a51bac5210328a18d02261a07eb607e181b2bab4fa0b59d2df15334152386bf816a984840d2331b7e801171be9c90594"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/rm/firefox-47.0.1.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "3e526c9a1a876e5d2c548c9a68803dd11c04c8214e18eb09c0b1c3fb3833f64c8a3362db8083ac5de81c59268439b53effa3bf1c64807fafc874eb8ed9baf188"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ro/firefox-47.0.1.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "73cf6a18deafb7ba93fd60cba3ba0bb0191471f977c41bac11bf2fd6cc6f7fd7cf2ad125ac5cf168ef577d71dfb0e893e182f39be6ad186ddc642d87c40041a5"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ro/firefox-47.0.1.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "b62c54b8694b4a662c1d336056d404a8d432ba0a3d4f2964b5c5acc0e39b668fd228105e1c4e307bfab1acfa5c3ce223db4229df01866cdbbc7c1ac95e70fe2c"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ru/firefox-47.0.1.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "6ebd3b3a1f3613905313129cde7cf113bdd777fd0f600496231ba813a95b04309b25016dd69891d31189a93ccad3f87b9c69d54d6219ad39dd38d1181b1f3102"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ru/firefox-47.0.1.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "539a22d13587cdcc21b6f76ff24ccfd1df98cbaaacac802aed46ba8f2bfed27cb2f3e5c146cbd2c3559aaff22297e692030b9612041a05a6bfca08f49bf0d2fb"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/si/firefox-47.0.1.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "bb0d1621f5b9af886fca0ea7cf7fd851d7c22d2d8f279a7b88e9bce98be33ad7b75d6a51ab47ea859802ed39b467815db60409285afaa0bbf4bb1ce6d590eabc"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/si/firefox-47.0.1.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "90337d193df7db41a1384856938bb62212952a80144dcc319a725a9b567ffd4deb7bb7af89b57891d3c17499ff466990e656edf7d0b017b8f4e0370aab445477"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/sk/firefox-47.0.1.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "23a15e6ad5ce9b03c218be4e26e603a412de4d870d5f64b599ae511bfc66bf2cf04613cc06fc1a054d06b80435e284456c0b08e33f34d8c9482f5ca23da6ae62"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/sk/firefox-47.0.1.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "a86cbed60f65e4ebb36c614d846fbb2515945112fd4f2482c3a63b49a62c3acb310f050dcbd57cc76a808c049eefd8f779d6aeea53362dd81798bb8d7177c86a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/sl/firefox-47.0.1.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "8ae008f0077081ef40de3bf08c2de294231f41439a83d8a41a485f53e95ba3f4fc6ef03d6ac98e8848c3f3dad290978f1607d8c847f1622bd86b7d38cd0be730"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/sl/firefox-47.0.1.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "34efb560c65329c7f3f6b341cc49ac4952f24e6e9b34e7f5bd45d98618a4d03ac89c6f62580223efd2d37db24a03f76a54381d4162f5430b887122bb56eb49d9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/son/firefox-47.0.1.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "d3e5a25fbc4a786239a7ae543fefb7b7e3ecc34192c8326af915f18b9b08436656bf68faa4953a34bdc464e32305baecce800f91ef0152bb4b4a8323ab448f33"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/son/firefox-47.0.1.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "ffee5d1a23e91911fd1dedb5ecf24bfc6b1733fb582e64a5e07d4df4b7afd9a6c502a70ab3af6624b4594f5ddcd81bc8962ede5b693cc035a96a561389f6bfca"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/sq/firefox-47.0.1.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "1cbaf8c32d1d3205cd85127839eed11b416903960c9e411b9adc71c42ba4add47acddd32a9217bb68f27b90d6765892edf2d356e21235c5bfd5cf69d1ee719f9"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/sq/firefox-47.0.1.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "16d93961a53ecc3e1ae3480be9e34f2a22dec2bdab55dbd35d1ea79ecf2ee48f195380bd52efc7d39529601610793b75daadeeb54dd76c9a3702c786af25acdd"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/sr/firefox-47.0.1.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "0b2c5234f1787cd972fad398dc270766fbc3015dc1bba29755e5316f207af9f5787d4aa41e96cffd2c9d31c57a5d1896e63fcd04e6235a4a6798469e738fa10d"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/sr/firefox-47.0.1.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "e7c7e7ff7fd81ca86f45997faed7244e4d807c3e5ad7ed66d6feb38c3e9173eaf136bd34af690ce28534f0c531c7f1d11595ec6502dfa42778cc19dee4334c49"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/sv-SE/firefox-47.0.1.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "dffb94b0ddb4b9d2effba3894b408c9f191f2079dc4b47e214347a235c9bf1adf77e520465691d14a274c3f3344c7f8b7d41965051d506728347e0af1117ad27"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/sv-SE/firefox-47.0.1.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "b601906d28f071c6beb3dbd6b37fa68f50809c9c47c9db69d631127ccc7b784e7d3b278aea6de060b34d83b6c78137da32b77f8e17ed199c3213b89dd9391264"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/ta/firefox-47.0.1.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "1a496470ef8e0899bfce66b41490f54d4d32776eaf60aca8725c4732512f1d3befb2e1fc3b942ebea95fe2359509c43d41649e5f90498264b8e02a3352244260"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/ta/firefox-47.0.1.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "00e6dbc43ad3c77693903fe534722094826637698df691b266eb801b27cd5e63502c21ca3e34ff939a7645a1f75d36fce6154626019eb96bc73cc39ab845c952"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/te/firefox-47.0.1.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "70ed539571cadf241f819b68ff24829db32f56287aadab31656fdf66c0ed94ccc6cc11b6cef6e2e963203cda47af2c6032db6e5689c37aaaf495b1e4fa970207"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/te/firefox-47.0.1.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "d491acd4635ab9b22f76531740c7ee7a85832678aef9ed646e75f56755c02538440adeea71e9ca5a7a5e11f3f2f6941c3c4c1e47380547179f63baaf6c20ad07"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/th/firefox-47.0.1.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "0414f74c6266fc204f2741b6860f7919c957364bd56ccc2cec5ef4b9c4be812c554ab584e6ce53387e6b7a18ad02991a44d9507a16da59a4aabfd44e7fb5b754"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/th/firefox-47.0.1.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "2952cceaecdd4013882150e8158607639e4ab2cffdef563d4fd1a015c41f1eff6c5ac22c0b9301a05ab6f9fef9659d54916275d5a50d97ad43bf69f10da7b3c8"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/tr/firefox-47.0.1.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "c5c6273bae2b9a46108a433af3a85b5cbbba4cd3154ee124ccc49f46c4a76264836a76d1b2da4b1064e9a913cc9fe461911c53e44f40343c5f780be04da932e5"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/tr/firefox-47.0.1.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "f0b5bef1ea4b948d699a79d902055d5b31afbe5c4f1814d98cadef1ca820ce39212ec009f68d875860a48942e9d797bda88eec4f6ed591dd8b3b260e04170974"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/uk/firefox-47.0.1.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "3a069ba914716ce122c4a89612988708d811b9350d333aab203dde212527c0e0cc86ec4781e6aa23f40b77f2266f76eca366cf355651870f43e180b97aa25c43"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/uk/firefox-47.0.1.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "db7931aa3f1d150e4b5b8c87b9d069df4a515fb2aa5e250b8f8a1bae0d8fd9a210ae949df056c47e3c88e8faf28f2571311ce2d6f179e3365720b42f1335b546"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/uz/firefox-47.0.1.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "110a82749e187f39d77f63b16ad515218e5512e5974916e4145e625a40d797e23fdbb5d110a23f061448cfc3d3c597858636c9304e941a34c68368f749c3c900"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/uz/firefox-47.0.1.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "1dbf94cef034449e8d1342822384bf1761dc61748e2d876aec1ac628dd161f92b62da832fe397b2fe4f8a1b82f9adf1c3690f26e07ee3e48c6299f95969533cf"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/vi/firefox-47.0.1.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "af97e1dcfc9bfbdce95a5cd35025b2540ad928d3238863471116e071a51b354b7818577bc3e7427c513e7b335bc1510605ba3ad1a37221389de7c7fedf6e2103"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/vi/firefox-47.0.1.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "cc938935395e66ef721fdbb8c8b781ef648b5419393ed1687a116a4d9ae12dd18f2edbc8287235504aa6782bbd6a41f9f5dd89c9c712ed4980fb9fa44f46ef38"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/xh/firefox-47.0.1.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "a76dbac054cdb7f5c194766dc54f215de4cb4cca4aacd7c883e0e3632b9dfc18cc25d7a54788e213bc65c894dd26ca9b863199b55b649133f93da9fed9a58fe4"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/xh/firefox-47.0.1.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "cfd8bbb81637c19464ec34788254740e999c13bc8a64b4289b0e1c64f76d711a5a5a8380995271f309444032739066f06334da2f81b6ca2b2be33ff55d3ff402"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/zh-CN/firefox-47.0.1.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "d11637b0c28aa1c45b315322ff12392e133aebe21f435564da278b9e301f0c8515ccb721df2bd55c175c48c3e24934837abbba4b84c9fa659b7a58db1da68f04"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/zh-CN/firefox-47.0.1.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "27a06d87f23eaeec170d1ea7f3df636198bfd4787001e178948fe9b8a3f1aafff3be59b9d01ed5b5851902b550601f061e923a4cda3a972f0ac68928cab28577"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-i686/zh-TW/firefox-47.0.1.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "7c6ef5592b273749ccbf7b37c09984b11722beb7f49d4ed25555b84f0521e0dbac5197c7642ac508a21a1a40c5578dcfb49310858819875cc9407c85426d599a"; } + { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/linux-x86_64/zh-TW/firefox-47.0.1.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "9ccce84a292144f3758190ff2858c077d1e7ec6d49ff5e1efb404b8dfb3bcfebf96eab15d0ec32325e4d96d94f4c6bcc67f4e43dd22af418b822d82a2afaf6f1"; } ]; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 944a1efca5f..059b867279e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12936,7 +12936,7 @@ in }; firefox-beta-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin { - channel = "beta"; + generated = import ../applications/networking/browsers/firefox-bin/beta_sources.nix; gconf = pkgs.gnome.GConf; inherit (pkgs.gnome) libgnome libgnomeui; inherit (pkgs.gnome3) defaultIconTheme; @@ -12949,20 +12949,6 @@ in desktopName = "Firefox Beta"; }; - firefox-developer-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin { - channel = "developer"; - gconf = pkgs.gnome.GConf; - inherit (pkgs.gnome) libgnome libgnomeui; - inherit (pkgs.gnome3) defaultIconTheme; - }; - - firefox-developer-bin = self.wrapFirefox firefox-developer-bin-unwrapped { - browserName = "firefox"; - name = "firefox-developer-bin-" + - (builtins.parseDrvName firefox-developer-bin-unwrapped.name).version; - desktopName = "Firefox Developer Edition"; - }; - firestr = qt5.callPackage ../applications/networking/p2p/firestr { boost = boost155; }; From f7c43d4dc275560b300fd1e6ead86335dc916bd7 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 16 Jul 2016 13:12:54 +0200 Subject: [PATCH 075/222] octave: use OpenBLAS with correct bit-width. Previously this didn't work, now it is the only way that works. --- 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 059b867279e..059a9d5dc58 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5767,7 +5767,7 @@ in glpk = null; suitesparse = null; jdk = null; - openblas = openblasCompat; + openblas = openblas; }; octaveFull = (lowPrio (callPackage ../development/interpreters/octave { qt = qt4; From 3bfe30a0426ad79ca00be6e43cef14aae9d93f1d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 16 Jul 2016 13:34:06 +0200 Subject: [PATCH 076/222] haskell: update our Hackage database to the latest version --- pkgs/development/haskell-modules/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix index b03293ecfc5..4bc9a2af550 100644 --- a/pkgs/development/haskell-modules/default.nix +++ b/pkgs/development/haskell-modules/default.nix @@ -9,8 +9,8 @@ let allCabalFiles = pkgs.fetchFromGitHub { owner = "commercialhaskell"; repo = "all-cabal-hashes"; - rev = "461610ab6f0cf581e186643c037f1981755792d9"; - sha256 = "0x2577lfd5cbbaivl72273kw93gcmxvbjybk7w4h2ic3zvs1fnvm"; + rev = "72f1318540eff69544eb8c14a16f630d0c5448b8"; + sha256 = "1czi1rajk2726mqrw3qp7a43h26acbjw54ll3ns063yzg9hg469m"; }; inherit (stdenv.lib) fix' extends; From a317a15b30d6dd2ce25f81474dfba744002ae7a8 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 16 Jul 2016 13:58:27 +0200 Subject: [PATCH 077/222] mutt: fetch {sidebar,trash}.patch from AUR --- .../networking/mailreaders/mutt/default.nix | 14 +- .../networking/mailreaders/mutt/sidebar.patch | 4450 ----------------- .../networking/mailreaders/mutt/trash.patch | 797 --- 3 files changed, 11 insertions(+), 5250 deletions(-) delete mode 100644 pkgs/applications/networking/mailreaders/mutt/sidebar.patch delete mode 100644 pkgs/applications/networking/mailreaders/mutt/trash.patch diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index 31ead22e1fd..0be5e0bd57e 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ncurses, which, perl, autoreconfHook +{ stdenv, fetchurl, fetchpatch, ncurses, which, perl, autoreconfHook , gdbm ? null , openssl ? null , cyrus_sasl ? null @@ -61,8 +61,16 @@ stdenv.mkDerivation rec { ++ optional saslSupport "--with-sasl"; patches = - optional withTrash ./trash.patch ++ - optional withSidebar ./sidebar.patch; + optional withTrash (fetchpatch { + name = "trash.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/trash.patch?h=mutt-sidebar"; + sha256 = "1hrib9jk28mqd02nzv0sx01jfdabzvnwcc5qjc3810zfglzc1nql"; + }) ++ + optional withSidebar (fetchpatch { + name = "sidebar.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/sidebar.patch?h=mutt-sidebar"; + sha256 = "1l63wj7kw41jrh00mcxdw4p4vrbc9wld42s99liw8kz2aclymq5m"; + }); meta = { description = "A small but very powerful text-based mail client"; diff --git a/pkgs/applications/networking/mailreaders/mutt/sidebar.patch b/pkgs/applications/networking/mailreaders/mutt/sidebar.patch deleted file mode 100644 index 218de7a0c46..00000000000 --- a/pkgs/applications/networking/mailreaders/mutt/sidebar.patch +++ /dev/null @@ -1,4450 +0,0 @@ -diff -urN mutt-1.6.1/buffy.c mutt-1.6.1-sidebar/buffy.c ---- mutt-1.6.1/buffy.c 2016-06-12 18:43:00.397447512 +0100 -+++ mutt-1.6.1-sidebar/buffy.c 2016-06-12 18:43:03.951502935 +0100 -@@ -27,6 +27,10 @@ - - #include "mutt_curses.h" - -+#ifdef USE_SIDEBAR -+#include "sidebar.h" -+#endif -+ - #ifdef USE_IMAP - #include "imap.h" - #endif -@@ -196,9 +200,17 @@ - static BUFFY *buffy_new (const char *path) - { - BUFFY* buffy; -+#ifdef USE_SIDEBAR -+ char rp[PATH_MAX] = ""; -+ char *r = NULL; -+#endif - - buffy = (BUFFY *) safe_calloc (1, sizeof (BUFFY)); - strfcpy (buffy->path, path, sizeof (buffy->path)); -+#ifdef USE_SIDEBAR -+ r = realpath (path, rp); -+ strfcpy (buffy->realpath, r ? rp : path, sizeof (buffy->realpath)); -+#endif - buffy->next = NULL; - buffy->magic = 0; - -@@ -215,7 +227,10 @@ - BUFFY **tmp,*tmp1; - char buf[_POSIX_PATH_MAX]; - struct stat sb; -- char f1[PATH_MAX], f2[PATH_MAX]; -+ char f1[PATH_MAX]; -+#ifndef USE_SIDEBAR -+ char f2[PATH_MAX]; -+#endif - char *p, *q; - - while (MoreArgs (s)) -@@ -228,6 +243,9 @@ - for (tmp = &Incoming; *tmp;) - { - tmp1=(*tmp)->next; -+#ifdef USE_SIDEBAR -+ mutt_sb_notify_mailbox (*tmp, 0); -+#endif - buffy_free (tmp); - *tmp=tmp1; - } -@@ -243,8 +261,13 @@ - p = realpath (buf, f1); - for (tmp = &Incoming; *tmp; tmp = &((*tmp)->next)) - { -+#ifdef USE_SIDEBAR -+ q = (*tmp)->realpath; -+ if (mutt_strcmp (p ? p : buf, q) == 0) -+#else - q = realpath ((*tmp)->path, f2); - if (mutt_strcmp (p ? p : buf, q ? q : (*tmp)->path) == 0) -+#endif - { - dprint(3,(debugfile,"mailbox '%s' already registered as '%s'\n", buf, (*tmp)->path)); - break; -@@ -256,14 +279,21 @@ - if(*tmp) - { - tmp1=(*tmp)->next; -+#ifdef USE_SIDEBAR -+ mutt_sb_notify_mailbox (*tmp, 0); -+#endif - buffy_free (tmp); - *tmp=tmp1; - } - continue; - } - -- if (!*tmp) -+ if (!*tmp) { - *tmp = buffy_new (buf); -+#ifdef USE_SIDEBAR -+ mutt_sb_notify_mailbox (*tmp, 1); -+#endif -+ } - - (*tmp)->new = 0; - (*tmp)->notified = 1; -@@ -306,6 +336,13 @@ - return 0; - } - -+#ifdef USE_SIDEBAR -+ if (option (OPTSIDEBAR) && mailbox->msg_unread > 0) { -+ mailbox->new = 1; -+ return 1; -+ } -+#endif -+ - if ((dirp = opendir (path)) == NULL) - { - mailbox->magic = 0; -@@ -357,6 +394,93 @@ - - return 0; - } -+ -+#ifdef USE_SIDEBAR -+/** -+ * buffy_maildir_update_dir - Update counts for one directory -+ * @mailbox: BUFFY representing a maildir mailbox -+ * @dir: Which directory to search -+ * -+ * Look through one directory of a maildir mailbox. The directory could -+ * be either "new" or "cur". -+ * -+ * Count how many new, or flagged, messages there are. -+ */ -+static void -+buffy_maildir_update_dir (BUFFY *mailbox, const char *dir) -+{ -+ char path[_POSIX_PATH_MAX] = ""; -+ DIR *dirp = NULL; -+ struct dirent *de = NULL; -+ char *p = NULL; -+ int read; -+ -+ snprintf (path, sizeof (path), "%s/%s", mailbox->path, dir); -+ -+ dirp = opendir (path); -+ if (!dirp) -+ { -+ mailbox->magic = 0; -+ return; -+ } -+ -+ while ((de = readdir (dirp)) != NULL) -+ { -+ if (*de->d_name == '.') -+ continue; -+ -+ /* Matches maildir_parse_flags logic */ -+ read = 0; -+ mailbox->msg_count++; -+ p = strstr (de->d_name, ":2,"); -+ if (p) -+ { -+ p += 3; -+ if (strchr (p, 'S')) -+ read = 1; -+ if (strchr (p, 'F')) -+ mailbox->msg_flagged++; -+ } -+ if (!read) { -+ mailbox->msg_unread++; -+ } -+ } -+ -+ closedir (dirp); -+} -+ -+/** -+ * buffy_maildir_update - Update messages counts for a maildir mailbox -+ * @mailbox: BUFFY representing a maildir mailbox -+ * -+ * Open a mailbox directories and update our record of how many new, or -+ * flagged, messages there are. -+ */ -+void -+buffy_maildir_update (BUFFY *mailbox) -+{ -+ if (!option (OPTSIDEBAR)) -+ return; -+ -+ mailbox->msg_count = 0; -+ mailbox->msg_unread = 0; -+ mailbox->msg_flagged = 0; -+ -+ buffy_maildir_update_dir (mailbox, "new"); -+ if (mailbox->msg_count) { -+ mailbox->new = 1; -+ } -+ buffy_maildir_update_dir (mailbox, "cur"); -+ -+ mailbox->sb_last_checked = time (NULL); -+ -+ /* make sure the updates are actually put on screen */ -+ if (SidebarWidth) -+ mutt_sb_draw(); -+} -+ -+#endif -+ - /* returns 1 if mailbox has new mail */ - static int buffy_mbox_hasnew (BUFFY* mailbox, struct stat *sb) - { -@@ -368,7 +491,11 @@ - else - statcheck = sb->st_mtime > sb->st_atime - || (mailbox->newly_created && sb->st_ctime == sb->st_mtime && sb->st_ctime == sb->st_atime); -+#ifdef USE_SIDEBAR -+ if ((!option (OPTSIDEBAR) && statcheck) || (option (OPTSIDEBAR) && mailbox->msg_unread > 0)) -+#else - if (statcheck) -+#endif - { - if (!option(OPTMAILCHECKRECENT) || sb->st_mtime > mailbox->last_visited) - { -@@ -388,6 +515,42 @@ - return rc; - } - -+#ifdef USE_SIDEBAR -+/** -+ * buffy_mbox_update - Update messages counts for an mbox mailbox -+ * @mailbox: BUFFY representing an mbox mailbox -+ * @sb: stat(2) infomation about the mailbox file -+ * -+ * Open a mbox file and update our record of how many new, or flagged, -+ * messages there are. If the mailbox hasn't changed since the last call, -+ * the function does nothing. -+ */ -+void -+buffy_mbox_update (BUFFY *mailbox, struct stat *sb) -+{ -+ CONTEXT *ctx = NULL; -+ -+ if (!option (OPTSIDEBAR)) -+ return; -+ if ((mailbox->sb_last_checked > sb->st_mtime) && (mailbox->msg_count != 0)) -+ return; /* no check necessary */ -+ -+ ctx = mx_open_mailbox (mailbox->path, M_READONLY | M_QUIET | M_NOSORT | M_PEEK, NULL); -+ if (ctx) -+ { -+ mailbox->msg_count = ctx->msgcount; -+ mailbox->msg_unread = ctx->unread; -+ mailbox->msg_flagged = ctx->flagged; -+ mailbox->sb_last_checked = time (NULL); -+ mx_close_mailbox (ctx, 0); -+ } -+ -+ /* make sure the updates are actually put on screen */ -+ if (SidebarWidth) -+ mutt_sb_draw(); -+} -+#endif -+ - int mutt_buffy_check (int force) - { - BUFFY *tmp; -@@ -461,16 +623,25 @@ - { - case M_MBOX: - case M_MMDF: -+#ifdef USE_SIDEBAR -+ buffy_mbox_update (tmp, &sb); -+#endif - if (buffy_mbox_hasnew (tmp, &sb) > 0) - BuffyCount++; - break; - - case M_MAILDIR: -+#ifdef USE_SIDEBAR -+ buffy_maildir_update (tmp); -+#endif - if (buffy_maildir_hasnew (tmp) > 0) - BuffyCount++; - break; - - case M_MH: -+#ifdef USE_SIDEBAR -+ mh_buffy_update (tmp); -+#endif - mh_buffy(tmp); - if (tmp->new) - BuffyCount++; -diff -urN mutt-1.6.1/buffy.h mutt-1.6.1-sidebar/buffy.h ---- mutt-1.6.1/buffy.h 2016-06-12 18:43:00.397447512 +0100 -+++ mutt-1.6.1-sidebar/buffy.h 2016-06-12 18:43:03.951502935 +0100 -@@ -16,6 +16,9 @@ - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -+#ifndef _BUFFY_H -+#define _BUFFY_H -+ - /*parameter to mutt_parse_mailboxes*/ - #define M_MAILBOXES 1 - #define M_UNMAILBOXES 2 -@@ -23,13 +26,28 @@ - typedef struct buffy_t - { - char path[_POSIX_PATH_MAX]; -+#ifdef USE_SIDEBAR -+ char realpath[_POSIX_PATH_MAX]; -+#endif - off_t size; - struct buffy_t *next; -+#ifdef USE_SIDEBAR -+ struct buffy_t *prev; -+#endif - short new; /* mailbox has new mail */ -+#ifdef USE_SIDEBAR -+ int msg_count; /* total number of messages */ -+ int msg_unread; /* number of unread messages */ -+ int msg_flagged; /* number of flagged messages */ -+ short is_hidden; /* is hidden from the sidebar */ -+#endif - short notified; /* user has been notified */ - short magic; /* mailbox type */ - short newly_created; /* mbox or mmdf just popped into existence */ - time_t last_visited; /* time of last exit from this mailbox */ -+#ifdef USE_SIDEBAR -+ time_t sb_last_checked; /* time of last buffy check from sidebar */ -+#endif - } - BUFFY; - -@@ -49,3 +67,5 @@ - void mutt_buffy_setnotified (const char *path); - - void mh_buffy (BUFFY *); -+ -+#endif /* _BUFFY_H */ -diff -urN mutt-1.6.1/color.c mutt-1.6.1-sidebar/color.c ---- mutt-1.6.1/color.c 2016-06-12 18:43:00.397447512 +0100 -+++ mutt-1.6.1-sidebar/color.c 2016-06-12 18:43:03.951502935 +0100 -@@ -94,6 +94,14 @@ - { "underline", MT_COLOR_UNDERLINE }, - { "index", MT_COLOR_INDEX }, - { "prompt", MT_COLOR_PROMPT }, -+#ifdef USE_SIDEBAR -+ { "sidebar_divider", MT_COLOR_DIVIDER }, -+ { "sidebar_flagged", MT_COLOR_FLAGGED }, -+ { "sidebar_highlight",MT_COLOR_HIGHLIGHT }, -+ { "sidebar_indicator",MT_COLOR_SB_INDICATOR }, -+ { "sidebar_new", MT_COLOR_NEW }, -+ { "sidebar_spoolfile",MT_COLOR_SB_SPOOLFILE }, -+#endif - { NULL, 0 } - }; - -@@ -146,6 +154,9 @@ - ColorDefs[MT_COLOR_INDICATOR] = A_REVERSE; - ColorDefs[MT_COLOR_SEARCH] = A_REVERSE; - ColorDefs[MT_COLOR_MARKERS] = A_REVERSE; -+#ifdef USE_SIDEBAR -+ ColorDefs[MT_COLOR_HIGHLIGHT] = A_UNDERLINE; -+#endif - /* special meaning: toggle the relevant attribute */ - ColorDefs[MT_COLOR_BOLD] = 0; - ColorDefs[MT_COLOR_UNDERLINE] = 0; -diff -urN mutt-1.6.1/compose.c mutt-1.6.1-sidebar/compose.c ---- mutt-1.6.1/compose.c 2016-06-12 18:43:00.398447528 +0100 -+++ mutt-1.6.1-sidebar/compose.c 2016-06-12 18:43:03.952502951 +0100 -@@ -32,6 +32,9 @@ - #include "mailbox.h" - #include "sort.h" - #include "charset.h" -+#ifdef USE_SIDEBAR -+#include "sidebar.h" -+#endif - - #ifdef MIXMASTER - #include "remailer.h" -@@ -72,7 +75,7 @@ - - #define HDR_XOFFSET 10 - #define TITLE_FMT "%10s" /* Used for Prompts, which are ASCII */ --#define W (COLS - HDR_XOFFSET) -+#define W (COLS - HDR_XOFFSET - SidebarWidth) - - static const char * const Prompts[] = - { -@@ -110,7 +113,7 @@ - - static void redraw_crypt_lines (HEADER *msg) - { -- mvaddstr (HDR_CRYPT, 0, "Security: "); -+ mvprintw (HDR_CRYPT, SidebarWidth, TITLE_FMT, "Security: "); - - if ((WithCrypto & (APPLICATION_PGP | APPLICATION_SMIME)) == 0) - { -@@ -145,16 +148,16 @@ - addstr (_(" (OppEnc mode)")); - - clrtoeol (); -- move (HDR_CRYPTINFO, 0); -+ move (HDR_CRYPTINFO, SidebarWidth); - clrtoeol (); - - if ((WithCrypto & APPLICATION_PGP) - && (msg->security & APPLICATION_PGP) && (msg->security & SIGN)) -- printw ("%s%s", _(" sign as: "), PgpSignAs ? PgpSignAs : _("")); -+ printw (TITLE_FMT "%s", _("sign as: "), PgpSignAs ? PgpSignAs : _("")); - - if ((WithCrypto & APPLICATION_SMIME) - && (msg->security & APPLICATION_SMIME) && (msg->security & SIGN)) { -- printw ("%s%s", _(" sign as: "), SmimeDefaultKey ? SmimeDefaultKey : _("")); -+ printw (TITLE_FMT "%s", _("sign as: "), SmimeDefaultKey ? SmimeDefaultKey : _("")); - } - - if ((WithCrypto & APPLICATION_SMIME) -@@ -162,7 +165,7 @@ - && (msg->security & ENCRYPT) - && SmimeCryptAlg - && *SmimeCryptAlg) { -- mvprintw (HDR_CRYPTINFO, 40, "%s%s", _("Encrypt with: "), -+ mvprintw (HDR_CRYPTINFO, SidebarWidth + 40, "%s%s", _("Encrypt with: "), - NONULL(SmimeCryptAlg)); - } - } -@@ -175,7 +178,8 @@ - int c; - char *t; - -- mvaddstr (HDR_MIX, 0, " Mix: "); -+ /* L10N: "Mix" refers to the MixMaster chain for anonymous email */ -+ mvprintw (HDR_MIX, SidebarWidth, TITLE_FMT, _("Mix: ")); - - if (!chain) - { -@@ -190,7 +194,7 @@ - if (t && t[0] == '0' && t[1] == '\0') - t = ""; - -- if (c + mutt_strlen (t) + 2 >= COLS) -+ if (c + mutt_strlen (t) + 2 >= COLS - SidebarWidth) - break; - - addstr (NONULL(t)); -@@ -242,20 +246,23 @@ - - buf[0] = 0; - rfc822_write_address (buf, sizeof (buf), addr, 1); -- mvprintw (line, 0, TITLE_FMT, Prompts[line - 1]); -+ mvprintw (line, SidebarWidth, TITLE_FMT, Prompts[line - 1]); - mutt_paddstr (W, buf); - } - - static void draw_envelope (HEADER *msg, char *fcc) - { -+#ifdef USE_SIDEBAR -+ mutt_sb_draw(); -+#endif - draw_envelope_addr (HDR_FROM, msg->env->from); - draw_envelope_addr (HDR_TO, msg->env->to); - draw_envelope_addr (HDR_CC, msg->env->cc); - draw_envelope_addr (HDR_BCC, msg->env->bcc); -- mvprintw (HDR_SUBJECT, 0, TITLE_FMT, Prompts[HDR_SUBJECT - 1]); -+ mvprintw (HDR_SUBJECT, SidebarWidth, TITLE_FMT, Prompts[HDR_SUBJECT - 1]); - mutt_paddstr (W, NONULL (msg->env->subject)); - draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to); -- mvprintw (HDR_FCC, 0, TITLE_FMT, Prompts[HDR_FCC - 1]); -+ mvprintw (HDR_FCC, SidebarWidth, TITLE_FMT, Prompts[HDR_FCC - 1]); - mutt_paddstr (W, fcc); - - if (WithCrypto) -@@ -266,7 +273,7 @@ - #endif - - SETCOLOR (MT_COLOR_STATUS); -- mvaddstr (HDR_ATTACH - 1, 0, _("-- Attachments")); -+ mvaddstr (HDR_ATTACH - 1, SidebarWidth, _("-- Attachments")); - clrtoeol (); - - NORMAL_COLOR; -@@ -302,7 +309,7 @@ - /* redraw the expanded list so the user can see the result */ - buf[0] = 0; - rfc822_write_address (buf, sizeof (buf), *addr, 1); -- move (line, HDR_XOFFSET); -+ move (line, HDR_XOFFSET + SidebarWidth); - mutt_paddstr (W, buf); - - return 0; -@@ -515,7 +522,7 @@ - menu->tag = mutt_tag_attach; - menu->data = idx; - menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_COMPOSE, ComposeHelp); -- -+ - while (loop) - { - switch (op = mutt_menuLoop (menu)) -@@ -564,7 +571,7 @@ - if (mutt_get_field ("Subject: ", buf, sizeof (buf), 0) == 0) - { - mutt_str_replace (&msg->env->subject, buf); -- move (HDR_SUBJECT, HDR_XOFFSET); -+ move (HDR_SUBJECT, HDR_XOFFSET + SidebarWidth); - if (msg->env->subject) - mutt_paddstr (W, msg->env->subject); - else -@@ -582,7 +589,7 @@ - { - strfcpy (fcc, buf, fcclen); - mutt_pretty_mailbox (fcc, fcclen); -- move (HDR_FCC, HDR_XOFFSET); -+ move (HDR_FCC, HDR_XOFFSET + SidebarWidth); - mutt_paddstr (W, fcc); - fccSet = 1; - } -diff -urN mutt-1.6.1/configure.ac mutt-1.6.1-sidebar/configure.ac ---- mutt-1.6.1/configure.ac 2016-06-12 18:43:00.398447528 +0100 -+++ mutt-1.6.1-sidebar/configure.ac 2016-06-12 18:43:03.952502951 +0100 -@@ -175,6 +175,14 @@ - SMIMEAUX_TARGET="smime_keys" - fi - -+AC_ARG_ENABLE(sidebar, AC_HELP_STRING([--enable-sidebar], [Enable Sidebar support]), -+[ if test x$enableval = xyes ; then -+ AC_DEFINE(USE_SIDEBAR, 1, [Define if you want support for the sidebar.]) -+ OPS="$OPS \$(srcdir)/OPS.SIDEBAR" -+ MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS sidebar.o" -+ fi -+]) -+ - AC_ARG_WITH(mixmaster, AS_HELP_STRING([--with-mixmaster@<:@=PATH@:>@],[Include Mixmaster support]), - [if test "$withval" != no - then -diff -urN mutt-1.6.1/copy.c mutt-1.6.1-sidebar/copy.c ---- mutt-1.6.1/copy.c 2016-06-12 18:43:00.398447528 +0100 -+++ mutt-1.6.1-sidebar/copy.c 2016-06-12 18:43:03.952502951 +0100 -@@ -288,7 +288,8 @@ - if (flags & (CH_DECODE|CH_PREFIX)) - { - if (mutt_write_one_header (out, 0, headers[x], -- flags & CH_PREFIX ? prefix : 0, mutt_term_width (Wrap), flags) == -1) -+ flags & CH_PREFIX ? prefix : 0, -+ mutt_term_width (Wrap), flags) == -1) - { - error = TRUE; - break; -diff -urN mutt-1.6.1/curs_main.c mutt-1.6.1-sidebar/curs_main.c ---- mutt-1.6.1/curs_main.c 2016-06-12 18:43:00.399447544 +0100 -+++ mutt-1.6.1-sidebar/curs_main.c 2016-06-12 18:43:03.953502966 +0100 -@@ -26,8 +26,13 @@ - #include "mailbox.h" - #include "mapping.h" - #include "sort.h" -+#include "buffy.h" - #include "mx.h" - -+#ifdef USE_SIDEBAR -+#include "sidebar.h" -+#endif -+ - #ifdef USE_POP - #include "pop.h" - #endif -@@ -595,21 +600,39 @@ - menu->redraw |= REDRAW_STATUS; - if (do_buffy_notify) - { -- if (mutt_buffy_notify () && option (OPTBEEPNEW)) -- beep (); -+ if (mutt_buffy_notify()) -+ { -+ menu->redraw |= REDRAW_STATUS; -+ if (option (OPTBEEPNEW)) -+ beep(); -+ } - } - else - do_buffy_notify = 1; - } - -+#ifdef USE_SIDEBAR -+ if (option (OPTSIDEBAR)) -+ menu->redraw |= REDRAW_SIDEBAR; -+#endif -+ - if (op != -1) - mutt_curs_set (0); - - if (menu->redraw & REDRAW_FULL) - { - menu_redraw_full (menu); -+#ifdef USE_SIDEBAR -+ mutt_sb_draw(); -+#endif - mutt_show_error (); - } -+#ifdef USE_SIDEBAR -+ else if (menu->redraw & REDRAW_SIDEBAR) { -+ mutt_sb_draw(); -+ menu->redraw &= ~REDRAW_SIDEBAR; -+ } -+#endif - - if (menu->menu == MENU_MAIN) - { -@@ -630,9 +653,20 @@ - - if (menu->redraw & REDRAW_STATUS) - { -+#ifdef USE_SIDEBAR -+ /* Temporarily lie about the sidebar width */ -+ short sw = SidebarWidth; -+ SidebarWidth = 0; -+#endif - menu_status_line (buf, sizeof (buf), menu, NONULL (Status)); -+#ifdef USE_SIDEBAR -+ SidebarWidth = sw; /* Restore the sidebar width */ -+#endif - move (option (OPTSTATUSONTOP) ? 0 : LINES-2, 0); - SETCOLOR (MT_COLOR_STATUS); -+#ifdef USE_SIDEBAR -+ mutt_sb_set_buffystats (Context); -+#endif - mutt_paddstr (COLS, buf); - NORMAL_COLOR; - menu->redraw &= ~REDRAW_STATUS; -@@ -652,7 +686,7 @@ - menu->oldcurrent = -1; - - if (option (OPTARROWCURSOR)) -- move (menu->current - menu->top + menu->offset, 2); -+ move (menu->current - menu->top + menu->offset, SidebarWidth + 2); - else if (option (OPTBRAILLEFRIENDLY)) - move (menu->current - menu->top + menu->offset, 0); - else -@@ -1091,6 +1125,9 @@ - break; - - CHECK_MSGCOUNT; -+#ifdef USE_SIDEBAR -+ CHECK_VISIBLE; -+#endif - CHECK_READONLY; - { - int oldvcount = Context->vcount; -@@ -1150,6 +1187,9 @@ - menu->redraw = REDRAW_FULL; - break; - -+#ifdef USE_SIDEBAR -+ case OP_SIDEBAR_OPEN: -+#endif - case OP_MAIN_CHANGE_FOLDER: - case OP_MAIN_NEXT_UNREAD_MAILBOX: - -@@ -1181,6 +1221,14 @@ - { - mutt_buffy (buf, sizeof (buf)); - -+#ifdef USE_SIDEBAR -+ if (op == OP_SIDEBAR_OPEN) { -+ const char *path = mutt_sb_get_highlight(); -+ if (!path) -+ break; -+ strncpy (buf, path, sizeof (buf)); -+ } else -+#endif - if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == -1) - { - if (menu->menu == MENU_PAGER) -@@ -1199,6 +1247,9 @@ - } - - mutt_expand_path (buf, sizeof (buf)); -+#ifdef USE_SIDEBAR -+ mutt_sb_set_open_buffy (buf); -+#endif - if (mx_get_magic (buf) <= 0) - { - mutt_error (_("%s is not a mailbox."), buf); -@@ -2310,6 +2361,21 @@ - mutt_what_key(); - break; - -+#ifdef USE_SIDEBAR -+ case OP_SIDEBAR_NEXT: -+ case OP_SIDEBAR_NEXT_NEW: -+ case OP_SIDEBAR_PAGE_DOWN: -+ case OP_SIDEBAR_PAGE_UP: -+ case OP_SIDEBAR_PREV: -+ case OP_SIDEBAR_PREV_NEW: -+ mutt_sb_change_mailbox (op); -+ break; -+ -+ case OP_SIDEBAR_TOGGLE_VISIBLE: -+ toggle_option (OPTSIDEBAR); -+ menu->redraw = REDRAW_FULL; -+ break; -+#endif - default: - if (menu->menu == MENU_MAIN) - km_error_key (MENU_MAIN); -diff -urN mutt-1.6.1/doc/manual.xml.head mutt-1.6.1-sidebar/doc/manual.xml.head ---- mutt-1.6.1/doc/manual.xml.head 2016-06-12 18:43:00.402447590 +0100 -+++ mutt-1.6.1-sidebar/doc/manual.xml.head 2016-06-12 18:43:03.955502998 +0100 -@@ -405,6 +405,623 @@ - - - -+ -+ Sidebar -+ -+ The Sidebar shows a list of all your mailboxes. The list can be -+ turned on and off, it can be themed and the list style can be -+ configured. -+ -+ -+ This part of the manual is suitable for beginners. -+ If you already know Mutt you could skip ahead to the main -+ Sidebar guide. -+ If you just want to get started, you could use the sample -+ Sidebar muttrc. -+ -+ -+ This version of Sidebar is based on Terry Chan's -+ 2015-11-11 release. -+ It contains many -+ new features, -+ lots of -+ bugfixes -+ and a generous helping of -+ new documentation which you are already reading. -+ -+ -+ To check if Mutt supports Sidebar, look for the string -+ +USE_SIDEBAR in the mutt version. -+ -+ -+mutt -v -+ -+ -+ Let's turn on the Sidebar: -+ -+ set sidebar_visible -+ -+ You will see something like this. -+ A list of mailboxes on the left. -+ A list of emails, from the selected mailbox, on the right. -+ -+ -+Fruit [1] 3/8| 1 + Jan 24 Rhys Lee (192) Yew -+Animals [1] 2/6| 2 + Feb 11 Grace Hall (167) Ilama -+Cars 4| 3 Feb 23 Aimee Scott (450) Nectarine -+Seas 1/7| 4 ! Feb 28 Summer Jackson (264) Lemon -+ | 5 Mar 07 Callum Harrison (464) Raspberry -+ | 6 N + Mar 24 Samuel Harris (353) Tangerine -+ | 7 N + Sep 05 Sofia Graham (335) Cherry -+ | 8 N Sep 16 Ewan Brown (105) Ugli -+ | -+ | -+ -+ -+ This user has four mailboxes: Fruit, -+ Cars, Animals and -+ Seas. -+ -+ -+ The current, open, mailbox is Fruit. We can -+ also see information about the other mailboxes. For example: -+ The Animals mailbox contains, 1 flagged email, 2 -+ new emails out of a total of 6 emails. -+ -+ -+ Navigation -+ -+ The Sidebar adds some new functions -+ to Mutt. -+ -+ -+ The user pressed the c key to -+ <change-folder> to the -+ Animals mailbox. The Sidebar automatically -+ updated the indicator to match. -+ -+ -+Fruit [1] 3/8| 1 Jan 03 Tia Gibson (362) Caiman -+Animals [1] 2/6| 2 + Jan 22 Rhys Lee ( 48) Dolphin -+Cars 4| 3 ! Aug 16 Ewan Brown (333) Hummingbird -+Seas 1/7| 4 Sep 25 Grace Hall ( 27) Capybara -+ | 5 N + Nov 12 Evelyn Rogers (453) Tapir -+ | 6 N + Nov 16 Callum Harrison (498) Hedgehog -+ | -+ | -+ | -+ | -+ -+ -+ Let's map some functions: -+ -+ -+bind index,pager \CP sidebar-prev # Ctrl-Shift-P - Previous Mailbox -+bind index,pager \CN sidebar-next # Ctrl-Shift-N - Next Mailbox -+bind index,pager \CO sidebar-open # Ctrl-Shift-O - Open Highlighted Mailbox -+ -+ -+ Press Ctrl-Shift-N (Next mailbox) twice will -+ move the Sidebar highlight to -+ down to the Seas mailbox. -+ -+ -+Fruit [1] 3/8| 1 Jan 03 Tia Gibson (362) Caiman -+Animals [1] 2/6| 2 + Jan 22 Rhys Lee ( 48) Dolphin -+Cars 4| 3 ! Aug 16 Ewan Brown (333) Hummingbird -+Seas 1/7| 4 Sep 25 Grace Hall ( 27) Capybara -+ | 5 N + Nov 12 Evelyn Rogers (453) Tapir -+ | 6 N + Nov 16 Callum Harrison (498) Hedgehog -+ | -+ | -+ | -+ | -+ -+ -+ Functions <sidebar-next> and -+ <sidebar-prev> move the Sidebar -+ highlight. -+ They do not change the open -+ mailbox. -+ -+ -+ Press Ctrl-Shift-O -+ (<sidebar-open>) -+ to open the highlighted mailbox. -+ -+ -+Fruit [1] 3/8| 1 ! Mar 07 Finley Jones (139) Molucca Sea -+Animals [1] 2/6| 2 + Mar 24 Summer Jackson ( 25) Arafura Sea -+Cars 4| 3 + Feb 28 Imogen Baker (193) Pechora Sea -+Seas 1/7| 4 N + Feb 23 Isla Hussain (348) Balearic Sea -+ | -+ | -+ | -+ | -+ | -+ | -+ -+ -+ -+ Features -+ -+ The Sidebar shows a list of mailboxes in a panel. -+ -+ -+ Everything about the Sidebar can be configured. -+ -+ -+ <link linkend="intro-sidebar-basics">State of the Sidebar</link> -+ Visibility -+ Width -+ -+ -+ <link linkend="intro-sidebar-limit">Which mailboxes are displayed</link> -+ Display all -+ Limit to mailboxes with new mail -+ Whitelist mailboxes to display always -+ -+ -+ <link linkend="sidebar-sort">The order in which mailboxes are displayed</link> -+ -+ Unsorted (order of mailboxes commands) -+ Sorted alphabetically -+ Sorted by number of new mails -+ -+ -+ <link linkend="intro-sidebar-colors">Color</link> -+ Sidebar indicators and divider -+ Mailboxes depending on their type -+ Mailboxes depending on their contents -+ -+ -+ <link linkend="sidebar-functions">Key bindings</link> -+ Hide/Unhide the Sidebar -+ Select previous/next mailbox -+ Select previous/next mailbox with new mail -+ Page up/down through a list of mailboxes -+ -+ -+ Misc -+ Formatting string for mailbox -+ Wraparound searching -+ Flexible mailbox abbreviations -+ Support for Unicode mailbox names (utf-8) -+ -+ -+ -+ Display -+ -+ Everything about the Sidebar can be configured. -+ -+ -+ For a quick reference: -+ Sidebar variables to set -+ Sidebar colors to apply -+ Sidebar sort methods -+ -+ -+ Sidebar Basics -+ -+ The most important variable is $sidebar_visible. -+ You can set this in your muttrc, or bind a key to the -+ function <sidebar-toggle-visible>. -+ -+ -+set sidebar_visible # Make the Sidebar visible by default -+bind index,pager B sidebar-toggle-visible # Use 'B' to switch the Sidebar on and off -+ -+ -+ Next, decide how wide you want the Sidebar to be. 25 -+ characters might be enough for the mailbox name and some numbers. -+ Remember, you can hide/show the Sidebar at the press of button. -+ -+ -+ Finally, you might want to change the divider character. -+ By default, Sidebar draws an ASCII line between it and the Index panel -+ If your terminal supports it, you can use a Unicode line-drawing character. -+ -+ -+set sidebar_width = 25 # Plenty of space -+set sidebar_divider_char = '│' # Pretty line-drawing character -+ -+ -+ -+ Sidebar Format String -+ -+ $sidebar_format allows you to customize the Sidebar display. -+ For an introduction, read format strings -+ including the section about conditionals. -+ -+ -+ The default value is %B%?F? [%F]?%* %?N?%N/?%S -+ -+ -+ Which breaks down as: -+ %B - Mailbox name -+ %?F? [%F]? - If flagged emails [%F], otherwise nothing -+ %* - Pad with spaces -+ %?N?%N/? - If new emails %N/, otherwise nothing -+ %S - Total number of emails -+ -+ -+ sidebar_format -+ -+ -+ -+ Format -+ Notes -+ Description -+ -+ -+ -+ -+ %B -+ -+ Name of the mailbox -+ -+ -+ %S -+ * -+ Size of mailbox (total number of messages) -+ -+ -+ %N -+ * -+ Number of New messages in the mailbox -+ -+ -+ %F -+ * -+ Number of Flagged messages in the mailbox -+ -+ -+ %! -+ -+ -+ !: one flagged message; -+ !!: two flagged messages; -+ n!: n flagged messages (for n > 2). -+ Otherwise prints nothing. -+ -+ -+ -+ %d -+ * ‡ -+ Number of deleted messages -+ -+ -+ %L -+ * ‡ -+ Number of messages after limiting -+ -+ -+ %t -+ * ‡ -+ Number of tagged messages -+ -+ -+ %>X -+ -+ Right justify the rest of the string and pad with X -+ -+ -+ %|X -+ -+ Pad to the end of the line with -+ X -+ -+ -+ %*X -+ -+ Soft-fill with character Xas pad -+ -+ -+ -+
-+ -+ * = Can be optionally printed if nonzero -+ -+ -+ ‡ = Only applicable to the current folder -+ -+ -+ Here are some examples. -+ They show the number of (F)lagged, (N)ew and (S)ize. -+ -+ -+ sidebar_format -+ -+ -+ -+ Format -+ Example -+ -+ -+ -+ -+ %B%?F? [%F]?%* %?N?%N/?%S -+ mailbox [F] N/S -+ -+ -+ %B%* %F:%N:%S -+ mailbox F:N:S -+ -+ -+ %B %?N?(%N)?%* %S -+ mailbox (N) S -+ -+ -+ %B%* ?F?%F/?%N -+ mailbox F/S -+ -+ -+ -+
-+
-+ -+ Abbreviating Mailbox Names -+ -+ $sidebar_delim_chars tells Sidebar -+ how to split up mailbox paths. For local directories -+ use /; for IMAP folders use . -+ -+ -+ Example 1 -+ -+ This example works well if your mailboxes have unique names -+ after the last separator. -+ -+ -+ Add some mailboxes of diffent depths. -+ -+ -+set folder="~/mail" -+mailboxes =fruit/apple =fruit/banana =fruit/cherry -+mailboxes =water/sea/sicily =water/sea/archipelago =water/sea/sibuyan -+mailboxes =water/ocean/atlantic =water/ocean/pacific =water/ocean/arctic -+ -+ -+ Shorten the names: -+ -+ -+set sidebar_short_path # Shorten mailbox names -+set sidebar_delim_chars="/" # Delete everything up to the last / character -+ -+ -+ The screenshot below shows what the Sidebar would look like -+ before and after shortening. -+ -+ -+|fruit/apple |apple -+|fruit/banana |banana -+|fruit/cherry |cherry -+|water/sea/sicily |sicily -+|water/sea/archipelago |archipelago -+|water/sea/sibuyan |sibuyan -+|water/ocean/atlantic |atlantic -+|water/ocean/pacific |pacific -+|water/ocean/arctic |arctic -+ -+ -+ -+ Example 2 -+ -+ This example works well if you have lots of mailboxes which are arranged -+ in a tree. -+ -+ -+ Add some mailboxes of diffent depths. -+ -+ -+set folder="~/mail" -+mailboxes =fruit -+mailboxes =fruit/apple =fruit/banana =fruit/cherry -+mailboxes =water -+mailboxes =water/sea -+mailboxes =water/sea/sicily =water/sea/archipelago =water/sea/sibuyan -+mailboxes =water/ocean -+mailboxes =water/ocean/atlantic =water/ocean/pacific =water/ocean/arctic -+ -+ -+ Shorten the names: -+ -+ -+set sidebar_short_path # Shorten mailbox names -+set sidebar_delim_chars="/" # Delete everything up to the last / character -+set sidebar_folder_indent # Indent folders whose names we've shortened -+set sidebar_indent_string=" " # Indent with two spaces -+ -+ -+ The screenshot below shows what the Sidebar would look like -+ before and after shortening. -+ -+ -+|fruit |fruit -+|fruit/apple | apple -+|fruit/banana | banana -+|fruit/cherry | cherry -+|water |water -+|water/sea | sea -+|water/sea/sicily | sicily -+|water/sea/archipelago | archipelago -+|water/sea/sibuyan | sibuyan -+|water/ocean | ocean -+|water/ocean/atlantic | atlantic -+|water/ocean/pacific | pacific -+|water/ocean/arctic | arctic -+ -+ -+ Sometimes, it will be necessary to add mailboxes, that you -+ don't use, to fill in part of the tree. This will trade -+ vertical space for horizonal space (but it looks good). -+ -+ -+ -+ -+ Limiting the Number of Mailboxes -+ -+ If you have a lot of mailboxes, sometimes it can be useful to hide -+ the ones you aren't using. $sidebar_new_mail_only -+ tells Sidebar to only show mailboxes that contain new, or flagged, email. -+ -+ -+ If you want some mailboxes to be always visible, then use the -+ sidebar_whitelist command. It takes a list of -+ mailboxes as parameters. -+ -+ -+set sidebar_new_mail_only # Only mailboxes with new/flagged email -+sidebar_whitelist fruit fruit/apple # Always display these two mailboxes -+ -+ -+
-+ -+ Colors -+ -+ Here is a sample color scheme: -+ -+ -+color sidebar_indicator default color17 # Dark blue background -+color sidebar_highlight white color238 # Grey background -+color sidebar_spoolfile yellow default # Yellow -+color sidebar_new green default # Green -+color sidebar_flagged red default # Red -+color sidebar_divider color8 default # Dark grey -+ -+ -+ There is a priority order when coloring Sidebar mailboxes. -+ e.g. If a mailbox has new mail it will have the -+ sidebar_new color, even if it also contains -+ flagged mails. -+ -+ -+ Sidebar Color Priority -+ -+ -+ -+ Priority -+ Color -+ Description -+ -+ -+ -+ -+ Highest -+ sidebar_indicator -+ Mailbox is open -+ -+ -+ -+ sidebar_highlight -+ Mailbox is highlighed -+ -+ -+ -+ sidebar_spoolfile -+ Mailbox is the spoolfile (receives incoming mail) -+ -+ -+ -+ sidebar_new -+ Mailbox contains new mail -+ -+ -+ -+ sidebar_flagged -+ Mailbox contains flagged mail -+ -+ -+ Lowest -+ (None) -+ Mailbox does not match above -+ -+ -+ -+
-+
-+ -+ Bug-fixes -+ -+ If you haven't used Sidebar before, you can ignore this section. -+ -+ -+ These bugs have been fixed since the previous Sidebar release: 2015-11-11. -+ -+ -+ Fix bug when starting in compose mode -+ Fix bug with empty sidebar_divider_char string -+ Fix bug with header wrapping -+ Correctly handle utf8 character sequences -+ Fix a bug in mh_buffy_update -+ Fix refresh -- time overflowed short -+ Protect against empty format strings -+ Limit Sidebar width to COLS -+ Handle unmailboxes * safely -+ Refresh Sidebar after timeout -+ -+ -+ -+ Config Changes -+ -+ If you haven't used Sidebar before, you can ignore this section. -+ -+ -+ Some of the Sidebar config has been changed to make its meaning clearer. -+ These changes have been made since the previous Sidebar release: 2015-11-11. -+ -+ -+ Config Changes -+ -+ -+ -+ Old Name -+ New Name -+ -+ -+ -+ -+ $sidebar_delim -+ $sidebar_divider_char -+ -+ -+ $sidebar_folderindent -+ $sidebar_folder_indent -+ -+ -+ $sidebar_indentstr -+ $sidebar_indent_string -+ -+ -+ $sidebar_newmail_only -+ $sidebar_new_mail_only -+ -+ -+ $sidebar_refresh -+ $sidebar_refresh_time -+ -+ -+ $sidebar_shortpath -+ $sidebar_short_path -+ -+ -+ $sidebar_sort -+ $sidebar_sort_method -+ -+ -+ <sidebar-scroll-down> -+ <sidebar-page-down> -+ -+ -+ <sidebar-scroll-up> -+ <sidebar-page-up> -+ -+ -+ -+
-+
-+
-+ - - Help - -@@ -6773,6 +7390,17 @@ - - - -+Mutt will set the COLUMNS environment variable to -+the width of the pager. Some programs make use of this environment -+variable automatically. Others provide a command line argument that -+can use this to set the output width: -+ -+ -+ -+text/html; lynx -dump -width ${COLUMNS:-80} %s; copiousoutput -+ -+ -+ - Note that when using the built-in pager, only - entries with this flag will be considered a handler for a MIME type - — all other entries will be ignored. -@@ -7467,6 +8095,16 @@ - - - -+ -+Mutt Patches -+ -+Mutt may also be patched to support smaller features. -+These patches should add a free-form string to the end Mutt's version string. -+Running mutt -v might show: -+patch-1.6.1.sidebar.20160502 -+ -+ -+ - - URL Syntax - -@@ -8081,6 +8719,469 @@ - - - -+ -+ Sidebar Patch -+ Overview of mailboxes -+ -+ -+ Patch -+ -+ -+ To check if Mutt supports Sidebar, look for -+ +USE_SIDEBAR in the mutt version. -+ See: . -+ -+ -+ -+ Dependencies: -+ mutt-1.6.1 -+ -+ -+ This patch is part of the NeoMutt Project. -+ -+ -+ -+ Introduction -+ -+ -+ The Sidebar shows a list of all your mailboxes. The list can be -+ turned on and off, it can be themed and the list style can be -+ configured. -+ -+ -+ -+ This part of the manual is a reference guide. -+ If you want a simple introduction with examples see the -+ Sidebar Howto. -+ If you just want to get started, you could use the sample -+ Sidebar muttrc. -+ -+ -+ -+ This version of Sidebar is based on Terry Chan's -+ 2015-11-11 release. -+ It contains many -+ new features, -+ lots of -+ bugfixes. -+ -+ -+ -+ -+ Variables -+ -+ -+ Sidebar Variables -+ -+ -+ -+ Name -+ Type -+ Default -+ -+ -+ -+ -+ sidebar_delim_chars -+ string -+ /. -+ -+ -+ sidebar_divider_char -+ string -+ | -+ -+ -+ sidebar_folder_indent -+ boolean -+ no -+ -+ -+ sidebar_format -+ string -+ %B%?F? [%F]?%* %?N?%N/?%S -+ -+ -+ sidebar_indent_string -+ string -+    (two spaces) -+ -+ -+ sidebar_new_mail_only -+ boolean -+ no -+ -+ -+ sidebar_next_new_wrap -+ boolean -+ no -+ -+ -+ sidebar_refresh_time -+ number -+ 60 -+ -+ -+ sidebar_short_path -+ boolean -+ no -+ -+ -+ sidebar_sort_method -+ enum -+ SORT_ORDER -+ -+ -+ sidebar_visible -+ boolean -+ no -+ -+ -+ sidebar_whitelist -+ list -+ (empty) -+ -+ -+ sidebar_width -+ number -+ 20 -+ -+ -+ -+
-+
-+ -+ -+ Functions -+ -+ -+ Sidebar adds the following functions to Mutt. -+ By default, none of them are bound to keys. -+ -+ -+ -+ Sidebar Functions -+ -+ -+ -+ Menus -+ Function -+ Description -+ -+ -+ -+ -+ index,pager -+ <sidebar-next> -+ Move the highlight to next mailbox -+ -+ -+ index,pager -+ <sidebar-next-new> -+ Move the highlight to next mailbox with new mail -+ -+ -+ index,pager -+ <sidebar-open> -+ Open highlighted mailbox -+ -+ -+ index,pager -+ <sidebar-page-down> -+ Scroll the Sidebar down 1 page -+ -+ -+ index,pager -+ <sidebar-page-up> -+ Scroll the Sidebar up 1 page -+ -+ -+ index,pager -+ <sidebar-prev> -+ Move the highlight to previous mailbox -+ -+ -+ index,pager -+ <sidebar-prev-new> -+ Move the highlight to previous mailbox with new mail -+ -+ -+ index,pager -+ <sidebar-toggle-visible> -+ Make the Sidebar (in)visible -+ -+ -+ -+
-+
-+ -+ -+ Commands -+ -+ sidebar_whitelist -+ -+ mailbox -+ -+ -+ mailbox -+ -+ -+ -+ -+ -+ Colors -+ -+ -+ Sidebar Colors -+ -+ -+ -+ Name -+ Default Color -+ Description -+ -+ -+ -+ -+ sidebar_divider -+ default -+ The dividing line between the Sidebar and the Index/Pager panels -+ -+ -+ sidebar_flagged -+ default -+ Mailboxes containing flagged mail -+ -+ -+ sidebar_highlight -+ underline -+ Cursor to select a mailbox -+ -+ -+ sidebar_indicator -+ mutt indicator -+ The mailbox open in the Index panel -+ -+ -+ sidebar_new -+ default -+ Mailboxes containing new mail -+ -+ -+ sidebar_spoolfile -+ default -+ Mailbox that receives incoming mail -+ -+ -+ -+
-+ -+ If the sidebar_indicator color isn't set, then the default Mutt -+ indicator color will be used (the color used in the index panel). -+
-+ -+ -+ Sort -+ -+ -+ Sidebar Sort -+ -+ -+ -+ Sort -+ Description -+ -+ -+ -+ -+ alpha -+ Alphabetically by path -+ -+ -+ count -+ Total number of messages -+ -+ -+ flagged -+ Number of flagged messages -+ -+ -+ name -+ Alphabetically by path -+ -+ -+ new -+ Number of new messages -+ -+ -+ path -+ Alphabetically by path -+ -+ -+ unsorted -+ Do not resort the paths -+ -+ -+ -+
-+
-+ -+ -+ Muttrc -+ -+# This is a complete list of sidebar-related configuration. -+ -+# -------------------------------------------------------------------------- -+# VARIABLES - shown with their default values -+# -------------------------------------------------------------------------- -+ -+# Should the Sidebar be shown? -+set sidebar_visible = no -+ -+# How wide should the Sidebar be in screen columns? -+# Note: Some characters, e.g. Chinese, take up two columns each. -+set sidebar_width = 20 -+ -+# Should the mailbox paths be abbreviated? -+set sidebar_short_path = no -+ -+# When abbreviating mailbox path names, use any of these characters as path -+# separators. Only the part after the last separators will be shown. -+# For file folders '/' is good. For IMAP folders, often '.' is useful. -+set sidebar_delim_chars = '/.' -+ -+# If the mailbox path is abbreviated, should it be indented? -+set sidebar_folder_indent = no -+ -+# Indent mailbox paths with this string. -+set sidebar_indent_string = ' ' -+ -+# Make the Sidebar only display mailboxes that contain new, or flagged, -+# mail. -+set sidebar_new_mail_only = no -+ -+# Any mailboxes that are whitelisted will always be visible, even if the -+# sidebar_new_mail_only option is enabled. -+sidebar_whitelist '/home/user/mailbox1' -+sidebar_whitelist '/home/user/mailbox2' -+ -+# When searching for mailboxes containing new mail, should the search wrap -+# around when it reaches the end of the list? -+set sidebar_next_new_wrap = no -+ -+# The character to use as the divider between the Sidebar and the other Mutt -+# panels. -+# Note: Only the first character of this string is used. -+set sidebar_divider_char = '|' -+ -+# Display the Sidebar mailboxes using this format string. -+set sidebar_format = '%B%?F? [%F]?%* %?N?%N/?%S' -+ -+# Sidebar will not refresh its list of mailboxes any more frequently than -+# this number of seconds. This will help reduce disk/network traffic. -+set sidebar_refresh_time = 60 -+ -+# Sort the mailboxes in the Sidebar using this method: -+# count - total number of messages -+# flagged - number of flagged messages -+# new - number of new messages -+# path - mailbox path -+# unsorted - do not sort the mailboxes -+set sidebar_sort_method = 'unsorted' -+ -+# -------------------------------------------------------------------------- -+# FUNCTIONS - shown with an example mapping -+# -------------------------------------------------------------------------- -+ -+# Move the highlight to the previous mailbox -+bind index,pager \Cp sidebar-prev -+ -+# Move the highlight to the next mailbox -+bind index,pager \Cn sidebar-next -+ -+# Open the highlighted mailbox -+bind index,pager \Co sidebar-open -+ -+# Move the highlight to the previous page -+# This is useful if you have a LOT of mailboxes. -+bind index,pager <F3> sidebar-page-up -+ -+# Move the highlight to the next page -+# This is useful if you have a LOT of mailboxes. -+bind index,pager <F4> sidebar-page-down -+ -+# Move the highlight to the previous mailbox containing new, or flagged, -+# mail. -+bind index,pager <F5> sidebar-prev-new -+ -+# Move the highlight to the next mailbox containing new, or flagged, mail. -+bind index,pager <F6> sidebar-next-new -+ -+# Toggle the visibility of the Sidebar. -+bind index,pager B sidebar-toggle-visible -+ -+# -------------------------------------------------------------------------- -+# COLORS - some unpleasant examples are given -+# -------------------------------------------------------------------------- -+# Note: All color operations are of the form: -+# color OBJECT FOREGROUND BACKGROUND -+ -+# Color of the current, open, mailbox -+# Note: This is a general Mutt option which colors all selected items. -+color indicator cyan black -+ -+# Color of the highlighted, but not open, mailbox. -+color sidebar_highlight black color8 -+ -+# Color of the divider separating the Sidebar from Mutt panels -+color sidebar_divider color8 black -+ -+# Color to give mailboxes containing flagged mail -+color sidebar_flagged red black -+ -+# Color to give mailboxes containing new mail -+color sidebar_new green black -+ -+# -------------------------------------------------------------------------- -+ -+# vim: syntax=muttrc -+ -+ -+ -+ -+ See Also -+ -+ -+ Regular Expressions -+ Patterns -+ Color command -+ notmuch patch -+ -+ -+ -+ -+ Known Bugs -+ Unsorted isn't -+ -+ -+ -+ Credits -+ -+ Justin Hibbits jrh29@po.cwru.edu -+ Thomer M. Gil mutt@thomer.com -+ David Sterba dsterba@suse.cz -+ Evgeni Golov evgeni@debian.org -+ Fabian Groffen grobian@gentoo.org -+ Jason DeTiberus jdetiber@redhat.com -+ Stefan Assmann sassmann@kpanic.de -+ Steve Kemp steve@steve.org.uk -+ Terry Chan tchan@lunar-linux.org -+ Tyler Earnest tylere@rne.st -+ Richard Russon rich@flatcap.org -+ -+ -+
-+ - - - -@@ -9237,6 +10338,17 @@ - - - -+sidebar_whitelist -+ -+item -+ -+ -+command -+ -+ -+ -+ -+ - source - - filename -diff -urN mutt-1.6.1/doc/mutt.css mutt-1.6.1-sidebar/doc/mutt.css ---- mutt-1.6.1/doc/mutt.css 2016-06-12 18:43:00.402447590 +0100 -+++ mutt-1.6.1-sidebar/doc/mutt.css 2016-06-12 18:43:03.811500752 +0100 -@@ -9,17 +9,24 @@ - div.table-contents table th, div.informaltable table th { - font-family:sans-serif; - background:#d0d0d0; -- font-weight:normal; -+ font-weight:bold; - vertical-align:top; - } --div.cmdsynopsis { border-left:1px solid #707070; padding-left:5px; } -+div.cmdsynopsis { border-left:1px solid #707070; padding-left: 1em; } - li div.cmdsynopsis { border-left:none; padding-left:0px; } --pre.screen, div.note { background:#f0f0f0; border:1px solid #c0c0c0; padding:5px; margin-left:2%; margin-right:2%; } -+li p { margin: 0; } -+pre.screen, div.note { border:1px solid #c0c0c0; margin-left:2%; margin-right:2%; } -+pre.screen { color: #ffffff; background:#000000; padding: 0.5em; } -+div.note { background:#ffff80; padding: 0.5em; } - div.example p.title { margin-left:2%; } - div.note h3 { font-size:small; font-style:italic; font-variant: small-caps; } - div.note h3:after { content: ":" } - div.note { margin-bottom: 5px; } --.command { font-family: monospace; font-weight: normal; } -+div.literallayout, .command { font-family: monospace; font-weight: normal; } - .command strong { font-weight: normal; } - tr { vertical-align: top; } --.comment { color:#707070; } -+.comment { color:#00c000; } -+code.literal { background: #f0f0f0; color: #000000; } -+span.indicator { background: #000060; color: #ffffff; } -+span.highlight { background: #404040; color: #ffffff; } -+span.reverse { background: #ffffff; color: #000000; } -diff -urN mutt-1.6.1/doc/muttrc.sidebar mutt-1.6.1-sidebar/doc/muttrc.sidebar ---- mutt-1.6.1/doc/muttrc.sidebar 1970-01-01 01:00:00.000000000 +0100 -+++ mutt-1.6.1-sidebar/doc/muttrc.sidebar 2016-06-12 18:43:03.812500768 +0100 -@@ -0,0 +1,116 @@ -+# This is a complete list of sidebar-related configuration. -+ -+# -------------------------------------------------------------------------- -+# VARIABLES - shown with their default values -+# -------------------------------------------------------------------------- -+ -+# Should the Sidebar be shown? -+set sidebar_visible = no -+ -+# How wide should the Sidebar be in screen columns? -+# Note: Some characters, e.g. Chinese, take up two columns each. -+set sidebar_width = 20 -+ -+# Should the mailbox paths be abbreviated? -+set sidebar_short_path = no -+ -+# When abbreviating mailbox path names, use any of these characters as path -+# separators. Only the part after the last separators will be shown. -+# For file folders '/' is good. For IMAP folders, often '.' is useful. -+set sidebar_delim_chars = '/.' -+ -+# If the mailbox path is abbreviated, should it be indented? -+set sidebar_folder_indent = no -+ -+# Indent mailbox paths with this string. -+set sidebar_indent_string = ' ' -+ -+# Make the Sidebar only display mailboxes that contain new, or flagged, -+# mail. -+set sidebar_new_mail_only = no -+ -+# Any mailboxes that are whitelisted will always be visible, even if the -+# sidebar_new_mail_only option is enabled. -+sidebar_whitelist '/home/user/mailbox1' -+sidebar_whitelist '/home/user/mailbox2' -+ -+# When searching for mailboxes containing new mail, should the search wrap -+# around when it reaches the end of the list? -+set sidebar_next_new_wrap = no -+ -+# The character to use as the divider between the Sidebar and the other Mutt -+# panels. -+# Note: Only the first character of this string is used. -+set sidebar_divider_char = '|' -+ -+# Display the Sidebar mailboxes using this format string. -+set sidebar_format = '%B%?F? [%F]?%* %?N?%N/?%S' -+ -+# Sidebar will not refresh its list of mailboxes any more frequently than -+# this number of seconds. This will help reduce disk/network traffic. -+set sidebar_refresh_time = 60 -+ -+# Sort the mailboxes in the Sidebar using this method: -+# count - total number of messages -+# flagged - number of flagged messages -+# new - number of new messages -+# path - mailbox path -+# unsorted - do not sort the mailboxes -+set sidebar_sort_method = 'unsorted' -+ -+# -------------------------------------------------------------------------- -+# FUNCTIONS - shown with an example mapping -+# -------------------------------------------------------------------------- -+ -+# Move the highlight to the previous mailbox -+bind index,pager \Cp sidebar-prev -+ -+# Move the highlight to the next mailbox -+bind index,pager \Cn sidebar-next -+ -+# Open the highlighted mailbox -+bind index,pager \Co sidebar-open -+ -+# Move the highlight to the previous page -+# This is useful if you have a LOT of mailboxes. -+bind index,pager sidebar-page-up -+ -+# Move the highlight to the next page -+# This is useful if you have a LOT of mailboxes. -+bind index,pager sidebar-page-down -+ -+# Move the highlight to the previous mailbox containing new, or flagged, -+# mail. -+bind index,pager sidebar-prev-new -+ -+# Move the highlight to the next mailbox containing new, or flagged, mail. -+bind index,pager sidebar-next-new -+ -+# Toggle the visibility of the Sidebar. -+bind index,pager B sidebar-toggle-visible -+ -+# -------------------------------------------------------------------------- -+# COLORS - some unpleasant examples are given -+# -------------------------------------------------------------------------- -+# Note: All color operations are of the form: -+# color OBJECT FOREGROUND BACKGROUND -+ -+# Color of the current, open, mailbox -+# Note: This is a general Mutt option which colors all selected items. -+color indicator cyan black -+ -+# Color of the highlighted, but not open, mailbox. -+color sidebar_highlight black color8 -+ -+# Color of the divider separating the Sidebar from Mutt panels -+color sidebar_divider color8 black -+ -+# Color to give mailboxes containing flagged mail -+color sidebar_flagged red black -+ -+# Color to give mailboxes containing new mail -+color sidebar_new green black -+ -+# -------------------------------------------------------------------------- -+ -+# vim: syntax=muttrc -diff -urN mutt-1.6.1/doc/vimrc.sidebar mutt-1.6.1-sidebar/doc/vimrc.sidebar ---- mutt-1.6.1/doc/vimrc.sidebar 1970-01-01 01:00:00.000000000 +0100 -+++ mutt-1.6.1-sidebar/doc/vimrc.sidebar 2016-06-12 18:43:03.813500783 +0100 -@@ -0,0 +1,35 @@ -+" Vim syntax file for the mutt sidebar patch -+ -+syntax keyword muttrcVarBool skipwhite contained sidebar_folder_indent nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -+syntax keyword muttrcVarBool skipwhite contained sidebar_new_mail_only nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -+syntax keyword muttrcVarBool skipwhite contained sidebar_next_new_wrap nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -+syntax keyword muttrcVarBool skipwhite contained sidebar_short_path nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -+syntax keyword muttrcVarBool skipwhite contained sidebar_visible nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -+ -+syntax keyword muttrcVarNum skipwhite contained sidebar_refresh_time nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -+syntax keyword muttrcVarNum skipwhite contained sidebar_width nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -+ -+syntax keyword muttrcVarStr contained skipwhite sidebar_divider_char nextgroup=muttrcVarEqualsIdxFmt -+syntax keyword muttrcVarStr contained skipwhite sidebar_delim_chars nextgroup=muttrcVarEqualsIdxFmt -+syntax keyword muttrcVarStr contained skipwhite sidebar_format nextgroup=muttrcVarEqualsIdxFmt -+syntax keyword muttrcVarStr contained skipwhite sidebar_indent_string nextgroup=muttrcVarEqualsIdxFmt -+syntax keyword muttrcVarStr contained skipwhite sidebar_sort_method nextgroup=muttrcVarEqualsIdxFmt -+ -+syntax keyword muttrcCommand sidebar_whitelist -+ -+syntax match muttrcFunction contained "\" -+syntax match muttrcFunction contained "\" -+syntax match muttrcFunction contained "\" -+syntax match muttrcFunction contained "\" -+syntax match muttrcFunction contained "\" -+syntax match muttrcFunction contained "\" -+syntax match muttrcFunction contained "\" -+syntax match muttrcFunction contained "\" -+ -+syntax keyword muttrcColorField contained sidebar_divider -+syntax keyword muttrcColorField contained sidebar_flagged -+syntax keyword muttrcColorField contained sidebar_highlight -+syntax keyword muttrcColorField contained sidebar_indicator -+syntax keyword muttrcColorField contained sidebar_new -+ -+" vim: syntax=vim -diff -urN mutt-1.6.1/filter.c mutt-1.6.1-sidebar/filter.c ---- mutt-1.6.1/filter.c 2016-06-12 18:43:00.403447606 +0100 -+++ mutt-1.6.1-sidebar/filter.c 2016-06-12 18:43:03.835501127 +0100 -@@ -21,6 +21,7 @@ - #endif - - #include "mutt.h" -+#include "mutt_curses.h" - - #include - #include -@@ -34,6 +35,7 @@ - int fdin, int fdout, int fderr) - { - int pin[2], pout[2], perr[2], thepid; -+ char columns[11]; - - if (in) - { -@@ -117,6 +119,9 @@ - close (fderr); - } - -+ snprintf (columns, sizeof (columns), "%d", COLS - SidebarWidth); -+ setenv ("COLUMNS", columns, 1); -+ - execl (EXECSHELL, "sh", "-c", cmd, NULL); - _exit (127); - } -diff -urN mutt-1.6.1/flags.c mutt-1.6.1-sidebar/flags.c ---- mutt-1.6.1/flags.c 2016-06-12 18:43:00.403447606 +0100 -+++ mutt-1.6.1-sidebar/flags.c 2016-06-12 18:43:03.956503013 +0100 -@@ -25,6 +25,10 @@ - #include "sort.h" - #include "mx.h" - -+#ifdef USE_SIDEBAR -+#include "sidebar.h" -+#endif -+ - void _mutt_set_flag (CONTEXT *ctx, HEADER *h, int flag, int bf, int upd_ctx) - { - int changed = h->changed; -@@ -263,6 +267,9 @@ - */ - if (h->searched && (changed != h->changed || deleted != ctx->deleted || tagged != ctx->tagged || flagged != ctx->flagged)) - h->searched = 0; -+#ifdef USE_SIDEBAR -+ mutt_sb_draw(); -+#endif - } - - void mutt_tag_set_flag (int flag, int bf) -diff -urN mutt-1.6.1/functions.h mutt-1.6.1-sidebar/functions.h ---- mutt-1.6.1/functions.h 2016-06-12 18:43:00.403447606 +0100 -+++ mutt-1.6.1-sidebar/functions.h 2016-06-12 18:43:03.956503013 +0100 -@@ -168,6 +168,16 @@ - { "decrypt-copy", OP_DECRYPT_COPY, NULL }, - { "decrypt-save", OP_DECRYPT_SAVE, NULL }, - -+#ifdef USE_SIDEBAR -+ { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, -+ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL }, -+ { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, -+ { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL }, -+ { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL }, -+ { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, -+ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL }, -+ { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL }, -+#endif - - { NULL, 0, NULL } - }; -@@ -272,6 +282,17 @@ - - { "what-key", OP_WHAT_KEY, NULL }, - -+#ifdef USE_SIDEBAR -+ { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, -+ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL }, -+ { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, -+ { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL }, -+ { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL }, -+ { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, -+ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL }, -+ { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL }, -+#endif -+ - { NULL, 0, NULL } - }; - -diff -urN mutt-1.6.1/globals.h mutt-1.6.1-sidebar/globals.h ---- mutt-1.6.1/globals.h 2016-06-12 18:43:00.403447606 +0100 -+++ mutt-1.6.1-sidebar/globals.h 2016-06-12 18:43:03.956503013 +0100 -@@ -118,6 +118,12 @@ - WHERE char *SendCharset; - WHERE char *Sendmail; - WHERE char *Shell; -+#ifdef USE_SIDEBAR -+WHERE char *SidebarDelimChars; -+WHERE char *SidebarDividerChar; -+WHERE char *SidebarFormat; -+WHERE char *SidebarIndentString; -+#endif - WHERE char *Signature; - WHERE char *SimpleSearch; - #if USE_SMTP -@@ -214,6 +220,14 @@ - WHERE short ScoreThresholdRead; - WHERE short ScoreThresholdFlag; - -+/* This isn't excluded from the build because it's too entwined in the code. -+ * For now. */ -+WHERE short SidebarWidth; -+#ifdef USE_SIDEBAR -+WHERE short SidebarRefreshTime; -+WHERE LIST *SidebarWhitelist INITVAL(0); -+#endif -+ - #ifdef USE_IMAP - WHERE short ImapKeepalive; - WHERE short ImapPipelineDepth; -diff -urN mutt-1.6.1/imap/command.c mutt-1.6.1-sidebar/imap/command.c ---- mutt-1.6.1/imap/command.c 2016-06-12 18:43:00.405447637 +0100 -+++ mutt-1.6.1-sidebar/imap/command.c 2016-06-12 18:43:03.839501189 +0100 -@@ -1016,6 +1016,14 @@ - opened */ - status->uidnext = oldun; - -+#ifdef USE_SIDEBAR -+ /* Make the sidebar show the correct numbers */ -+ if (status->messages) { -+ inc->msg_count = status->messages; -+ inc->msg_unread = status->unseen; -+ } -+#endif -+ - FREE (&value); - return; - } -diff -urN mutt-1.6.1/imap/imap.c mutt-1.6.1-sidebar/imap/imap.c ---- mutt-1.6.1/imap/imap.c 2016-06-12 18:43:00.405447637 +0100 -+++ mutt-1.6.1-sidebar/imap/imap.c 2016-06-12 18:43:03.958503044 +0100 -@@ -1535,7 +1535,11 @@ - - imap_munge_mbox_name (idata, munged, sizeof (munged), name); - snprintf (command, sizeof (command), -+#ifdef USE_SIDEBAR -+ "STATUS %s (UIDNEXT UIDVALIDITY UNSEEN RECENT MESSAGES)", munged); -+#else - "STATUS %s (UIDNEXT UIDVALIDITY UNSEEN RECENT)", munged); -+#endif - - if (imap_exec (idata, command, IMAP_CMD_QUEUE) < 0) - { -diff -urN mutt-1.6.1/init.c mutt-1.6.1-sidebar/init.c ---- mutt-1.6.1/init.c 2016-06-12 18:43:00.406447652 +0100 -+++ mutt-1.6.1-sidebar/init.c 2016-06-12 18:43:03.959503060 +0100 -@@ -2173,6 +2173,9 @@ - case DT_SORT_AUX: - map = SortAuxMethods; - break; -+ case DT_SORT_SIDEBAR: -+ map = SortSidebarMethods; -+ break; - default: - map = SortMethods; - break; -diff -urN mutt-1.6.1/init.h mutt-1.6.1-sidebar/init.h ---- mutt-1.6.1/init.h 2016-06-12 18:43:00.408447684 +0100 -+++ mutt-1.6.1-sidebar/init.h 2016-06-12 18:43:03.960503075 +0100 -@@ -42,11 +42,12 @@ - #define DTYPE(x) ((x) & DT_MASK) - - /* subtypes */ --#define DT_SUBTYPE_MASK 0xf0 -+#define DT_SUBTYPE_MASK 0xff0 - #define DT_SORT_ALIAS 0x10 - #define DT_SORT_BROWSER 0x20 - #define DT_SORT_KEYS 0x40 - #define DT_SORT_AUX 0x80 -+#define DT_SORT_SIDEBAR 0x100 - - /* flags to parse_set() */ - #define M_SET_INV (1<<0) /* default is to invert all vars */ -@@ -2665,6 +2666,147 @@ - ** Command to use when spawning a subshell. By default, the user's login - ** shell from \fC/etc/passwd\fP is used. - */ -+#ifdef USE_SIDEBAR -+ { "sidebar_divider_char", DT_STR, R_BOTH, UL &SidebarDividerChar, UL "|" }, -+ /* -+ ** .pp -+ ** This specifies the characters to be drawn between the sidebar (when -+ ** visible) and the other Mutt panels. ASCII and Unicode line-drawing -+ ** characters are supported. -+ */ -+ { "sidebar_delim_chars", DT_STR, R_NONE, UL &SidebarDelimChars, UL "/." }, -+ /* -+ ** .pp -+ ** This contains the list of characters which you would like to treat -+ ** as folder separators for displaying paths in the sidebar. -+ ** .pp -+ ** Local mail is often arranged in directories: `dir1/dir2/mailbox'. -+ ** .ts -+ ** set sidebar_delim_chars='/' -+ ** .te -+ ** .pp -+ ** IMAP mailboxes are often named: `folder1.folder2.mailbox'. -+ ** .ts -+ ** set sidebar_delim_chars='.' -+ ** .te -+ ** .pp -+ ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_folder_indent, $$sidebar_indent_string. -+ */ -+ { "sidebar_folder_indent", DT_BOOL, R_BOTH, OPTSIDEBARFOLDERINDENT, 0 }, -+ /* -+ ** .pp -+ ** Set this to indent mailboxes in the sidebar. -+ ** .pp -+ ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_indent_string, $$sidebar_delim_chars. -+ */ -+ { "sidebar_format", DT_STR, R_NONE, UL &SidebarFormat, UL "%B%?F? [%F]?%* %?N?%N/?%S" }, -+ /* -+ ** .pp -+ ** This variable allows you to customize the sidebar display. This string is -+ ** similar to $$index_format, but has its own set of \fCprintf(3)\fP-like -+ ** sequences: -+ ** .dl -+ ** .dt %B .dd Name of the mailbox -+ ** .dt %S .dd * Size of mailbox (total number of messages) -+ ** .dt %N .dd * Number of New messages in the mailbox -+ ** .dt %F .dd * Number of Flagged messages in the mailbox -+ ** .dt %! .dd ``!'' : one flagged message; -+ ** ``!!'' : two flagged messages; -+ ** ``n!'' : n flagged messages (for n > 2). -+ ** Otherwise prints nothing. -+ ** .dt %d .dd * @ Number of deleted messages -+ ** .dt %L .dd * @ Number of messages after limiting -+ ** .dt %t .dd * @ Number of tagged messages -+ ** .dt %>X .dd right justify the rest of the string and pad with ``X'' -+ ** .dt %|X .dd pad to the end of the line with ``X'' -+ ** .dt %*X .dd soft-fill with character ``X'' as pad -+ ** .de -+ ** .pp -+ ** * = Can be optionally printed if nonzero -+ ** @ = Only applicable to the current folder -+ */ -+ { "sidebar_indent_string", DT_STR, R_BOTH, UL &SidebarIndentString, UL " " }, -+ /* -+ ** .pp -+ ** This specifies the string that is used to indent mailboxes in the sidebar. -+ ** It defaults to two spaces. -+ ** .pp -+ ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_folder_indent, $$sidebar_delim_chars. -+ */ -+ { "sidebar_new_mail_only", DT_BOOL, R_BOTH, OPTSIDEBARNEWMAILONLY, 0 }, -+ /* -+ ** .pp -+ ** When set, the sidebar will only display mailboxes containing new, or -+ ** flagged, mail. -+ ** .pp -+ ** \fBSee also:\fP $sidebar_whitelist. -+ */ -+ { "sidebar_next_new_wrap", DT_BOOL, R_BOTH, UL OPTSIDEBARNEXTNEWWRAP, 0 }, -+ /* -+ ** .pp -+ ** When set, the \fC\fP command will not stop and the end of -+ ** the list of mailboxes, but wrap around to the beginning. The -+ ** \fC\fP command is similarly affected, wrapping around to -+ ** the end of the list. -+ */ -+ { "sidebar_refresh_time", DT_NUM, R_BOTH, UL &SidebarRefreshTime, 60 }, -+ /* -+ ** .pp -+ ** Set sidebar_refresh_time to the minimum number of seconds between refreshes. -+ ** This will reduce network traffic. -+ ** .pp -+ ** \fBNote:\fP Set to 0 to disable refreshing. -+ */ -+ { "sidebar_short_path", DT_BOOL, R_BOTH, OPTSIDEBARSHORTPATH, 0 }, -+ /* -+ ** .pp -+ ** By default the sidebar will show the mailbox's path, relative to the -+ ** $$folder variable. Setting \fCsidebar_shortpath=yes\fP will shorten the -+ ** names relative to the previous name. Here's an example: -+ ** .dl -+ ** .dt \fBshortpath=no\fP .dd \fBshortpath=yes\fP .dd \fBshortpath=yes, folderindent=yes, indentstr=".."\fP -+ ** .dt \fCfruit\fP .dd \fCfruit\fP .dd \fCfruit\fP -+ ** .dt \fCfruit.apple\fP .dd \fCapple\fP .dd \fC..apple\fP -+ ** .dt \fCfruit.banana\fP .dd \fCbanana\fP .dd \fC..banana\fP -+ ** .dt \fCfruit.cherry\fP .dd \fCcherry\fP .dd \fC..cherry\fP -+ ** .de -+ ** .pp -+ ** \fBSee also:\fP $$sidebar_delim_chars, $$sidebar_folder_indent, $$sidebar_indent_string. -+ */ -+ { "sidebar_sort_method", DT_SORT|DT_SORT_SIDEBAR, R_NONE, UL &SidebarSortMethod, SORT_ORDER }, -+ /* -+ ** .pp -+ ** Specifies how to sort entries in the file browser. By default, the -+ ** entries are sorted alphabetically. Valid values: -+ ** .il -+ ** .dd alpha (alphabetically) -+ ** .dd count (all message count) -+ ** .dd date -+ ** .dd desc (description) -+ ** .dd new (new message count) -+ ** .dd size -+ ** .dd unsorted -+ ** .ie -+ ** .pp -+ ** You may optionally use the ``reverse-'' prefix to specify reverse sorting -+ ** order (example: ``\fCset sort_browser=reverse-date\fP''). -+ */ -+ { "sidebar_visible", DT_BOOL, R_BOTH, OPTSIDEBAR, 0 }, -+ /* -+ ** .pp -+ ** This specifies whether or not to show sidebar. The sidebar shows a list of -+ ** all your mailboxes. -+ ** .pp -+ ** \fBSee also:\fP $$sidebar_format, $$sidebar_width -+ */ -+ { "sidebar_width", DT_NUM, R_BOTH, UL &SidebarWidth, 0 }, -+ /* -+ ** .pp -+ ** This controls the width of the sidebar. It is measured in screen columns. -+ ** For example: sidebar_width=20 could display 20 ASCII characters, or 10 -+ ** Chinese characters. -+ */ -+#endif - { "sig_dashes", DT_BOOL, R_NONE, OPTSIGDASHES, 1 }, - /* - ** .pp -@@ -3652,6 +3794,19 @@ - { NULL, 0 } - }; - -+const struct mapping_t SortSidebarMethods[] = { -+ { "alpha", SORT_PATH }, -+ { "count", SORT_COUNT }, -+ { "desc", SORT_DESC }, -+ { "flagged", SORT_FLAGGED }, -+ { "mailbox-order", SORT_ORDER }, -+ { "name", SORT_PATH }, -+ { "new", SORT_COUNT_NEW }, -+ { "path", SORT_PATH }, -+ { "unsorted", SORT_ORDER }, -+ { NULL, 0 } -+}; -+ - - /* functions used to parse commands in a rc file */ - -@@ -3741,6 +3896,9 @@ - { "send-hook", mutt_parse_hook, M_SENDHOOK }, - { "send2-hook", mutt_parse_hook, M_SEND2HOOK }, - { "set", parse_set, 0 }, -+#ifdef USE_SIDEBAR -+ { "sidebar_whitelist",parse_list, UL &SidebarWhitelist }, -+#endif - { "source", parse_source, 0 }, - { "spam", parse_spam_list, M_SPAM }, - { "nospam", parse_spam_list, M_NOSPAM }, -diff -urN mutt-1.6.1/keymap.c mutt-1.6.1-sidebar/keymap.c ---- mutt-1.6.1/keymap.c 2016-06-12 18:43:00.408447684 +0100 -+++ mutt-1.6.1-sidebar/keymap.c 2016-06-12 18:43:03.960503075 +0100 -@@ -453,6 +453,9 @@ - } - #endif - -+ /* update sidebar stats */ -+ mutt_buffy_check(0); -+ - timeout (i * 1000); - tmp = mutt_getch(); - timeout (-1); -diff -urN mutt-1.6.1/mailbox.h mutt-1.6.1-sidebar/mailbox.h ---- mutt-1.6.1/mailbox.h 2016-06-12 18:43:00.408447684 +0100 -+++ mutt-1.6.1-sidebar/mailbox.h 2016-06-12 18:43:03.960503075 +0100 -@@ -27,6 +27,9 @@ - #define M_NEWFOLDER (1<<4) /* create a new folder - same as M_APPEND, but uses - * safe_fopen() for mbox-style folders. - */ -+#ifdef USE_SIDEBAR -+#define M_PEEK (1<<5) /* revert atime back after taking a look (if applicable) */ -+#endif - - /* mx_open_new_message() */ - #define M_ADD_FROM (1<<0) /* add a From_ line */ -diff -urN mutt-1.6.1/main.c mutt-1.6.1-sidebar/main.c ---- mutt-1.6.1/main.c 2016-06-12 18:43:00.409447699 +0100 -+++ mutt-1.6.1-sidebar/main.c 2016-06-12 18:43:03.961503091 +0100 -@@ -31,6 +31,9 @@ - #include "url.h" - #include "mutt_crypt.h" - #include "mutt_idna.h" -+#ifdef USE_SIDEBAR -+#include "sidebar.h" -+#endif - - #ifdef USE_SASL - #include "mutt_sasl.h" -@@ -485,6 +488,12 @@ - "-USE_HCACHE " - #endif - -+#ifdef USE_SIDEBAR -+ "+USE_SIDEBAR " -+#else -+ "-USE_SIDEBAR " -+#endif -+ - ); - - #ifdef ISPELL -@@ -557,7 +566,11 @@ - - int main (int argc, char **argv) - { -+#ifdef USE_SIDEBAR -+ char folder[PATH_MAX] = ""; -+#else - char folder[_POSIX_PATH_MAX] = ""; -+#endif - char *subject = NULL; - char *includeFile = NULL; - char *draftFile = NULL; -@@ -828,6 +841,9 @@ - clear (); - mutt_error = mutt_curses_error; - mutt_message = mutt_curses_message; -+#ifdef USE_SIDEBAR -+ mutt_sb_init(); -+#endif - } - - /* Create the Maildir directory if it doesn't exist. */ -@@ -1184,6 +1200,15 @@ - strfcpy (folder, NONULL(Spoolfile), sizeof (folder)); - mutt_expand_path (folder, sizeof (folder)); - -+#ifdef USE_SIDEBAR -+ { -+ char tmpfolder[PATH_MAX] = ""; -+ strfcpy (tmpfolder, folder, sizeof (tmpfolder)); -+ if (!realpath (tmpfolder, folder)) -+ strfcpy (folder, tmpfolder, sizeof (tmpfolder)); -+ } -+#endif -+ - mutt_str_replace (&CurrentFolder, folder); - mutt_str_replace (&LastFolder, folder); - -@@ -1206,6 +1231,9 @@ - if((Context = mx_open_mailbox (folder, ((flags & M_RO) || option (OPTREADONLY)) ? M_READONLY : 0, NULL)) - || !explicit_folder) - { -+#ifdef USE_SIDEBAR -+ mutt_sb_set_open_buffy (folder); -+#endif - mutt_index_menu (); - if (Context) - FREE (&Context); -diff -urN mutt-1.6.1/Makefile.am mutt-1.6.1-sidebar/Makefile.am ---- mutt-1.6.1/Makefile.am 2016-06-12 18:43:00.389447388 +0100 -+++ mutt-1.6.1-sidebar/Makefile.am 2016-06-12 18:43:03.944502826 +0100 -@@ -56,7 +56,7 @@ - mutt_idna.c mutt_sasl.c mutt_socket.c mutt_ssl.c mutt_ssl_gnutls.c \ - mutt_tunnel.c pgp.c pgpinvoke.c pgpkey.c pgplib.c pgpmicalg.c \ - pgppacket.c pop.c pop_auth.c pop_lib.c remailer.c resize.c sha1.c \ -- smime.c smtp.c utf8.c wcwidth.c \ -+ sidebar.c smime.c smtp.c utf8.c wcwidth.c \ - bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h - - EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \ -@@ -71,7 +71,7 @@ - mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \ - README.SSL smime.h group.h \ - muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \ -- ChangeLog mkchangelog.sh mutt_idna.h \ -+ ChangeLog mkchangelog.sh mutt_idna.h sidebar.h OPS.sidebar \ - snprintf.c regex.c crypt-gpgme.h hcachever.sh.in sys_socket.h \ - txt2c.c txt2c.sh version.sh check_sec.sh - -@@ -129,9 +129,9 @@ - keymap_defs.h: $(OPS) $(srcdir)/gen_defs - $(srcdir)/gen_defs $(OPS) > keymap_defs.h - --keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.PGP $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME $(srcdir)/gen_defs -+keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.SIDEBAR $(srcdir)/OPS.PGP $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME $(srcdir)/gen_defs - rm -f $@ -- $(srcdir)/gen_defs $(srcdir)/OPS $(srcdir)/OPS.PGP \ -+ $(srcdir)/gen_defs $(srcdir)/OPS $(srcdir)/OPS.SIDEBAR $(srcdir)/OPS.PGP \ - $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \ - > keymap_alldefs.h - -diff -urN mutt-1.6.1/mbox.c mutt-1.6.1-sidebar/mbox.c ---- mutt-1.6.1/mbox.c 2016-06-12 18:43:00.409447699 +0100 -+++ mutt-1.6.1-sidebar/mbox.c 2016-06-12 18:43:03.961503091 +0100 -@@ -100,6 +100,9 @@ - mutt_perror (ctx->path); - return (-1); - } -+#ifdef USE_SIDEBAR -+ ctx->atime = sb.st_atime; -+#endif - ctx->mtime = sb.st_mtime; - ctx->size = sb.st_size; - -@@ -251,6 +254,9 @@ - - ctx->size = sb.st_size; - ctx->mtime = sb.st_mtime; -+#ifdef USE_SIDEBAR -+ ctx->atime = sb.st_atime; -+#endif - - #ifdef NFS_ATTRIBUTE_HACK - if (sb.st_mtime > sb.st_atime) -diff -urN mutt-1.6.1/menu.c mutt-1.6.1-sidebar/menu.c ---- mutt-1.6.1/menu.c 2016-06-12 18:43:00.409447699 +0100 -+++ mutt-1.6.1-sidebar/menu.c 2016-06-12 18:43:03.961503091 +0100 -@@ -24,6 +24,9 @@ - #include "mutt_curses.h" - #include "mutt_menu.h" - #include "mbyte.h" -+#ifdef USE_SIDEBAR -+#include "sidebar.h" -+#endif - - char* SearchBuffers[MENU_MAX]; - -@@ -184,7 +187,7 @@ - { - char *scratch = safe_strdup (s); - int shift = option (OPTARROWCURSOR) ? 3 : 0; -- int cols = COLS - shift; -+ int cols = COLS - shift - SidebarWidth; - - mutt_format_string (s, n, cols, cols, FMT_LEFT, ' ', scratch, mutt_strlen (scratch), 1); - s[n - 1] = 0; -@@ -237,6 +240,9 @@ - int do_color; - int attr; - -+#ifdef USE_SIDEBAR -+ mutt_sb_draw(); -+#endif - for (i = menu->top; i < menu->top + menu->pagelen; i++) - { - if (i < menu->max) -@@ -247,7 +253,7 @@ - menu_pad_string (buf, sizeof (buf)); - - ATTRSET(attr); -- move(i - menu->top + menu->offset, 0); -+ move(i - menu->top + menu->offset, SidebarWidth); - do_color = 1; - - if (i == menu->current) -@@ -270,7 +276,11 @@ - else - { - NORMAL_COLOR; -+#ifdef USE_SIDEBAR -+ CLEARLINE_WIN(i - menu->top + menu->offset); -+#else - CLEARLINE(i - menu->top + menu->offset); -+#endif - } - } - NORMAL_COLOR; -@@ -287,7 +297,7 @@ - return; - } - -- move (menu->oldcurrent + menu->offset - menu->top, 0); -+ move (menu->oldcurrent + menu->offset - menu->top, SidebarWidth); - ATTRSET(menu->color (menu->oldcurrent)); - - if (option (OPTARROWCURSOR)) -@@ -299,13 +309,13 @@ - { - menu_make_entry (buf, sizeof (buf), menu, menu->oldcurrent); - menu_pad_string (buf, sizeof (buf)); -- move (menu->oldcurrent + menu->offset - menu->top, 3); -+ move (menu->oldcurrent + menu->offset - menu->top, SidebarWidth + 3); - print_enriched_string (menu->color(menu->oldcurrent), (unsigned char *) buf, 1); - } - - /* now draw it in the new location */ - SETCOLOR(MT_COLOR_INDICATOR); -- mvaddstr(menu->current + menu->offset - menu->top, 0, "->"); -+ mvaddstr(menu->current + menu->offset - menu->top, SidebarWidth, "->"); - } - else - { -@@ -318,7 +328,7 @@ - menu_make_entry (buf, sizeof (buf), menu, menu->current); - menu_pad_string (buf, sizeof (buf)); - SETCOLOR(MT_COLOR_INDICATOR); -- move(menu->current - menu->top + menu->offset, 0); -+ move(menu->current - menu->top + menu->offset, SidebarWidth); - print_enriched_string (menu->color(menu->current), (unsigned char *) buf, 0); - } - menu->redraw &= REDRAW_STATUS; -@@ -330,7 +340,7 @@ - char buf[LONG_STRING]; - int attr = menu->color (menu->current); - -- move (menu->current + menu->offset - menu->top, 0); -+ move (menu->current + menu->offset - menu->top, SidebarWidth); - menu_make_entry (buf, sizeof (buf), menu, menu->current); - menu_pad_string (buf, sizeof (buf)); - -@@ -873,7 +883,7 @@ - - - if (option (OPTARROWCURSOR)) -- move (menu->current - menu->top + menu->offset, 2); -+ move (menu->current - menu->top + menu->offset, SidebarWidth + 2); - else if (option (OPTBRAILLEFRIENDLY)) - move (menu->current - menu->top + menu->offset, 0); - else -diff -urN mutt-1.6.1/mh.c mutt-1.6.1-sidebar/mh.c ---- mutt-1.6.1/mh.c 2016-06-12 18:43:00.410447715 +0100 -+++ mutt-1.6.1-sidebar/mh.c 2016-06-12 18:43:03.962503107 +0100 -@@ -295,6 +295,48 @@ - mhs_free_sequences (&mhs); - } - -+#ifdef USE_SIDEBAR -+/** -+ * mh_buffy_update - Update messages counts for an mh mailbox -+ * @mailbox: BUFFY representing a maildir mailbox -+ * -+ * Read through an mh mailbox and count messages. Save the number of new, -+ * flagged messages and a timestamp for now. -+ */ -+void -+mh_buffy_update (BUFFY *mailbox) -+{ -+ int i; -+ struct mh_sequences mhs; -+ -+ if (!mailbox) -+ return; -+ -+ if (!option (OPTSIDEBAR)) -+ return; -+ -+ memset (&mhs, 0, sizeof (mhs)); -+ -+ if (mh_read_sequences (&mhs, mailbox->path) < 0) -+ return; -+ -+ mailbox->msg_count = 0; -+ mailbox->msg_unread = 0; -+ mailbox->msg_flagged = 0; -+ -+ for (i = 0; i <= mhs.max; i++) -+ { -+ mailbox->msg_count++; -+ if (mhs_check (&mhs, i) & MH_SEQ_UNSEEN) -+ mailbox->msg_unread++; -+ if (mhs_check (&mhs, i) & MH_SEQ_FLAGGED) -+ mailbox->msg_flagged++; -+ } -+ mhs_free_sequences (&mhs); -+ mailbox->sb_last_checked = time (NULL); -+} -+#endif -+ - static int mh_mkstemp (CONTEXT * dest, FILE ** fp, char **tgt) - { - int fd; -diff -urN mutt-1.6.1/mutt_curses.h mutt-1.6.1-sidebar/mutt_curses.h ---- mutt-1.6.1/mutt_curses.h 2016-06-12 18:43:00.410447715 +0100 -+++ mutt-1.6.1-sidebar/mutt_curses.h 2016-06-12 18:43:03.962503107 +0100 -@@ -64,6 +64,9 @@ - #undef lines - #endif /* lines */ - -+#ifdef USE_SIDEBAR -+#define CLEARLINE_WIN(x) move (x,SidebarWidth), clrtoeol() -+#endif - #define CLEARLINE(x) move(x,0), clrtoeol() - #define CENTERLINE(x,y) move(y, (COLS-strlen(x))/2), addstr(x) - #define BEEP() do { if (option (OPTBEEP)) beep(); } while (0) -@@ -124,6 +127,14 @@ - MT_COLOR_UNDERLINE, - MT_COLOR_INDEX, - MT_COLOR_PROMPT, -+#ifdef USE_SIDEBAR -+ MT_COLOR_DIVIDER, -+ MT_COLOR_FLAGGED, -+ MT_COLOR_HIGHLIGHT, -+ MT_COLOR_NEW, -+ MT_COLOR_SB_INDICATOR, -+ MT_COLOR_SB_SPOOLFILE, -+#endif - MT_COLOR_MAX - }; - -@@ -163,12 +174,16 @@ - - static inline int mutt_term_width(short wrap) - { -+ int cols = COLS; -+#ifdef USE_SIDEBAR -+ cols -= SidebarWidth; -+#endif - if (wrap < 0) -- return COLS > -wrap ? COLS + wrap : COLS; -+ return cols > -wrap ? cols + wrap : cols; - else if (wrap) -- return wrap < COLS ? wrap : COLS; -+ return wrap < cols ? wrap : cols; - else -- return COLS; -+ return cols; - } - - extern int *ColorQuote; -diff -urN mutt-1.6.1/mutt.h mutt-1.6.1-sidebar/mutt.h ---- mutt-1.6.1/mutt.h 2016-06-12 18:43:00.410447715 +0100 -+++ mutt-1.6.1-sidebar/mutt.h 2016-06-12 18:43:03.962503107 +0100 -@@ -428,6 +428,13 @@ - OPTSAVEEMPTY, - OPTSAVENAME, - OPTSCORE, -+#ifdef USE_SIDEBAR -+ OPTSIDEBAR, -+ OPTSIDEBARFOLDERINDENT, -+ OPTSIDEBARNEWMAILONLY, -+ OPTSIDEBARNEXTNEWWRAP, -+ OPTSIDEBARSHORTPATH, -+#endif - OPTSIGDASHES, - OPTSIGONTOP, - OPTSORTRE, -@@ -872,6 +879,9 @@ - { - char *path; - FILE *fp; -+#ifdef USE_SIDEBAR -+ time_t atime; -+#endif - time_t mtime; - off_t size; - off_t vsize; -@@ -906,6 +916,9 @@ - unsigned int quiet : 1; /* inhibit status messages? */ - unsigned int collapsed : 1; /* are all threads collapsed? */ - unsigned int closing : 1; /* mailbox is being closed */ -+#ifdef USE_SIDEBAR -+ unsigned int peekonly : 1; /* just taking a glance, revert atime */ -+#endif - - /* driver hooks */ - void *data; /* driver specific data */ -diff -urN mutt-1.6.1/muttlib.c mutt-1.6.1-sidebar/muttlib.c ---- mutt-1.6.1/muttlib.c 2016-06-12 18:43:00.411447731 +0100 -+++ mutt-1.6.1-sidebar/muttlib.c 2016-06-12 18:43:03.963503122 +0100 -@@ -1282,7 +1282,7 @@ - pl = pw = 1; - - /* see if there's room to add content, else ignore */ -- if ((col < COLS && wlen < destlen) || soft) -+ if ((col < (COLS - SidebarWidth) && (wlen < destlen)) || soft) - { - int pad; - -@@ -1293,7 +1293,7 @@ - - /* try to consume as many columns as we can, if we don't have - * memory for that, use as much memory as possible */ -- pad = (COLS - col - wid) / pw; -+ pad = (COLS - SidebarWidth - col - wid) / pw; - if (pad > 0 && wlen + (pad * pl) + len > destlen) - pad = ((signed)(destlen - wlen - len)) / pl; - if (pad > 0) -@@ -1312,13 +1312,13 @@ - /* \0-terminate dest for length computation in mutt_wstr_trunc() */ - *wptr = 0; - /* make sure right part is at most as wide as display */ -- len = mutt_wstr_trunc (buf, destlen, COLS-offset, &wid); -+ len = mutt_wstr_trunc (buf, destlen, COLS - offset - SidebarWidth, &wid); - /* truncate left so that right part fits completely in */ - wlen = mutt_wstr_trunc (dest, destlen - len, col + pad*pw -offset, &col); - wptr = dest + wlen; - } - if (len + wlen > destlen) -- len = mutt_wstr_trunc (buf, destlen - wlen, COLS - col, NULL); -+ len = mutt_wstr_trunc (buf, destlen - wlen, COLS - SidebarWidth - col, NULL); - memcpy (wptr, buf, len); - wptr += len; - wlen += len; -diff -urN mutt-1.6.1/mutt_menu.h mutt-1.6.1-sidebar/mutt_menu.h ---- mutt-1.6.1/mutt_menu.h 2016-06-12 18:43:00.410447715 +0100 -+++ mutt-1.6.1-sidebar/mutt_menu.h 2016-06-12 18:43:03.962503107 +0100 -@@ -34,6 +34,9 @@ - #define REDRAW_FULL (1<<5) - #define REDRAW_BODY (1<<6) - #define REDRAW_SIGWINCH (1<<7) -+#ifdef USE_SIDEBAR -+#define REDRAW_SIDEBAR (1<<8) -+#endif - - #define M_MODEFMT "-- Mutt: %s" - -diff -urN mutt-1.6.1/mx.c mutt-1.6.1-sidebar/mx.c ---- mutt-1.6.1/mx.c 2016-06-12 18:43:00.411447731 +0100 -+++ mutt-1.6.1-sidebar/mx.c 2016-06-12 18:43:03.963503122 +0100 -@@ -29,6 +29,9 @@ - #include "copy.h" - #include "keymap.h" - #include "url.h" -+#ifdef USE_SIDEBAR -+#include "sidebar.h" -+#endif - - #ifdef USE_IMAP - #include "imap.h" -@@ -580,6 +583,7 @@ - * M_APPEND open mailbox for appending - * M_READONLY open mailbox in read-only mode - * M_QUIET only print error messages -+ * M_PEEK revert atime where applicable - * ctx if non-null, context struct to use - */ - CONTEXT *mx_open_mailbox (const char *path, int flags, CONTEXT *pctx) -@@ -602,6 +606,10 @@ - ctx->quiet = 1; - if (flags & M_READONLY) - ctx->readonly = 1; -+#ifdef USE_SIDEBAR -+ if (flags & M_PEEK) -+ ctx->peekonly = 1; -+#endif - - if (flags & (M_APPEND|M_NEWFOLDER)) - { -@@ -705,8 +713,21 @@ - if(!ctx) - return; - -+#ifdef USE_SIDEBAR -+ /* fix up the times so buffy won't get confused */ -+ struct utimbuf ut; -+ if (ctx->peekonly && ctx->path && (ctx->mtime > ctx->atime)) { -+ ut.actime = ctx->atime; -+ ut.modtime = ctx->mtime; -+ utime (ctx->path, &ut); -+ } -+#endif -+ - /* never announce that a mailbox we've just left has new mail. #3290 - * XXX: really belongs in mx_close_mailbox, but this is a nice hook point */ -+#ifdef USE_SIDEBAR -+ if (!ctx->peekonly) -+#endif - mutt_buffy_setnotified(ctx->path); - - if (ctx->mx_close) -@@ -812,6 +833,12 @@ - if (!ctx->hdrs[i]->deleted && ctx->hdrs[i]->read - && !(ctx->hdrs[i]->flagged && option (OPTKEEPFLAGGED))) - read_msgs++; -+#ifdef USE_SIDEBAR -+ if (ctx->hdrs[i]->deleted && !ctx->hdrs[i]->read) -+ ctx->unread--; -+ if (ctx->hdrs[i]->deleted && ctx->hdrs[i]->flagged) -+ ctx->flagged--; -+#endif - } - - if (read_msgs && quadoption (OPT_MOVE) != M_NO) -@@ -981,6 +1008,11 @@ - !mutt_is_spool(ctx->path) && !option (OPTSAVEEMPTY)) - mx_unlink_empty (ctx->path); - -+#ifdef USE_SIDEBAR -+ ctx->msgcount -= ctx->deleted; -+ mutt_sb_set_buffystats (ctx); -+#endif -+ - mx_fastclose_mailbox (ctx); - - return 0; -diff -urN mutt-1.6.1/mx.h mutt-1.6.1-sidebar/mx.h ---- mutt-1.6.1/mx.h 2016-06-12 18:43:00.411447731 +0100 -+++ mutt-1.6.1-sidebar/mx.h 2016-06-12 18:43:03.963503122 +0100 -@@ -26,6 +26,7 @@ - #define _MX_H - - #include "mailbox.h" -+#include "buffy.h" - - /* supported mailbox formats */ - enum -@@ -57,6 +58,9 @@ - int mh_read_dir (CONTEXT *, const char *); - int mh_sync_mailbox (CONTEXT *, int *); - int mh_check_mailbox (CONTEXT *, int *); -+#ifdef USE_SIDEBAR -+void mh_buffy_update (BUFFY *mailbox); -+#endif - int mh_check_empty (const char *); - - int maildir_read_dir (CONTEXT *); -diff -urN mutt-1.6.1/OPS.SIDEBAR mutt-1.6.1-sidebar/OPS.SIDEBAR ---- mutt-1.6.1/OPS.SIDEBAR 1970-01-01 01:00:00.000000000 +0100 -+++ mutt-1.6.1-sidebar/OPS.SIDEBAR 2016-06-12 18:43:03.944502826 +0100 -@@ -0,0 +1,8 @@ -+OP_SIDEBAR_NEXT "Move the highlight to next mailbox" -+OP_SIDEBAR_NEXT_NEW "Move the highlight to next mailbox with new mail" -+OP_SIDEBAR_OPEN "Open highlighted mailbox" -+OP_SIDEBAR_PAGE_DOWN "Scroll the Sidebar down 1 page" -+OP_SIDEBAR_PAGE_UP "Scroll the Sidebar up 1 page" -+OP_SIDEBAR_PREV "Move the highlight to previous mailbox" -+OP_SIDEBAR_PREV_NEW "Move the highlight to previous mailbox with new mail" -+OP_SIDEBAR_TOGGLE_VISIBLE "Make the Sidebar (in)visible" -diff -urN mutt-1.6.1/pager.c mutt-1.6.1-sidebar/pager.c ---- mutt-1.6.1/pager.c 2016-06-12 18:43:00.412447746 +0100 -+++ mutt-1.6.1-sidebar/pager.c 2016-06-12 18:43:03.964503138 +0100 -@@ -29,6 +29,9 @@ - #include "pager.h" - #include "attach.h" - #include "mbyte.h" -+#ifdef USE_SIDEBAR -+#include "sidebar.h" -+#endif - - #include "mutt_crypt.h" - -@@ -1491,7 +1494,7 @@ - * a newline (grr!). - */ - #ifndef USE_SLANG_CURSES -- if (col < COLS) -+ if (col < (COLS - SidebarWidth)) - #endif - addch ('\n'); - -@@ -1573,6 +1576,7 @@ - - int bodyoffset = 1; /* offset of first line of real text */ - int statusoffset = 0; /* offset for the status bar */ -+ int statuswidth = COLS; - int helpoffset = LINES - 2; /* offset for the help bar. */ - int bodylen = LINES - 2 - bodyoffset; /* length of displayable area */ - -@@ -1747,7 +1751,7 @@ - if ((redraw & REDRAW_BODY) || topline != oldtopline) - { - do { -- move (bodyoffset, 0); -+ move (bodyoffset, SidebarWidth); - curline = oldtopline = topline; - lines = 0; - force_redraw = 0; -@@ -1760,6 +1764,9 @@ - &QuoteList, &q_level, &force_redraw, &SearchRE) > 0) - lines++; - curline++; -+#ifdef USE_SIDEBAR -+ move (lines + bodyoffset, SidebarWidth); -+#endif - } - last_offset = lineInfo[curline].offset; - } while (force_redraw); -@@ -1772,6 +1779,9 @@ - addch ('~'); - addch ('\n'); - lines++; -+#ifdef USE_SIDEBAR -+ move (lines + bodyoffset, SidebarWidth); -+#endif - } - NORMAL_COLOR; - -@@ -1789,29 +1799,49 @@ - hfi.ctx = Context; - hfi.pager_progress = pager_progress_str; - -+#ifdef USE_SIDEBAR -+ statuswidth = COLS; -+ if (option (OPTSTATUSONTOP) && (PagerIndexLines > 0)) -+ statuswidth -= SidebarWidth; -+#endif -+ - if (last_pos < sb.st_size - 1) - snprintf(pager_progress_str, sizeof(pager_progress_str), OFF_T_FMT "%%", (100 * last_offset / sb.st_size)); - else - strfcpy(pager_progress_str, (topline == 0) ? "all" : "end", sizeof(pager_progress_str)); - - /* print out the pager status bar */ -- move (statusoffset, 0); -+ move (statusoffset, SidebarWidth); - SETCOLOR (MT_COLOR_STATUS); -+#ifdef USE_SIDEBAR -+ short sw = SidebarWidth; -+ if (option (OPTSTATUSONTOP) && PagerIndexLines > 0) { -+ CLEARLINE_WIN (statusoffset); -+ } else { -+ CLEARLINE (statusoffset); -+ /* Temporarily lie about the sidebar width */ -+ SidebarWidth = 0; -+ } -+#endif - - if (IsHeader (extra) || IsMsgAttach (extra)) - { -- size_t l1 = COLS * MB_LEN_MAX; -+ size_t l1 = statuswidth * MB_LEN_MAX; - size_t l2 = sizeof (buffer); - hfi.hdr = (IsHeader (extra)) ? extra->hdr : extra->bdy->hdr; - mutt_make_string_info (buffer, l1 < l2 ? l1 : l2, NONULL (PagerFmt), &hfi, M_FORMAT_MAKEPRINT); -- mutt_paddstr (COLS, buffer); -+ mutt_paddstr (statuswidth, buffer); - } - else - { - char bn[STRING]; - snprintf (bn, sizeof (bn), "%s (%s)", banner, pager_progress_str); -- mutt_paddstr (COLS, bn); -+ mutt_paddstr (statuswidth, bn); - } -+#ifdef USE_SIDEBAR -+ if (!option (OPTSTATUSONTOP) || PagerIndexLines == 0) -+ SidebarWidth = sw; /* Restore the sidebar width */ -+#endif - NORMAL_COLOR; - if (option(OPTTSENABLED) && TSSupported) - { -@@ -1827,16 +1857,26 @@ - /* redraw the pager_index indicator, because the - * flags for this message might have changed. */ - menu_redraw_current (index); -+#ifdef USE_SIDEBAR -+ mutt_sb_draw(); -+#endif - - /* print out the index status bar */ - menu_status_line (buffer, sizeof (buffer), index, NONULL(Status)); - -- move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), 0); -+ move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), -+ (option(OPTSTATUSONTOP) ? 0: SidebarWidth)); - SETCOLOR (MT_COLOR_STATUS); -- mutt_paddstr (COLS, buffer); -+ mutt_paddstr (COLS - (option(OPTSTATUSONTOP) ? 0 : SidebarWidth), buffer); - NORMAL_COLOR; - } - -+#ifdef USE_SIDEBAR -+ /* if we're not using the index, update every time */ -+ if (index == 0) -+ mutt_sb_draw(); -+#endif -+ - redraw = 0; - - if (option(OPTBRAILLEFRIENDLY)) { -@@ -2498,8 +2538,12 @@ - ch = 0; - } - -- if (option (OPTFORCEREDRAWPAGER)) -+ if (option (OPTFORCEREDRAWPAGER)) { - redraw = REDRAW_FULL; -+#ifdef USE_SIDEBAR -+ mutt_sb_draw(); -+#endif -+ } - unset_option (OPTFORCEREDRAWINDEX); - unset_option (OPTFORCEREDRAWPAGER); - break; -@@ -2777,6 +2821,22 @@ - mutt_what_key (); - break; - -+#ifdef USE_SIDEBAR -+ case OP_SIDEBAR_NEXT: -+ case OP_SIDEBAR_NEXT_NEW: -+ case OP_SIDEBAR_PAGE_DOWN: -+ case OP_SIDEBAR_PAGE_UP: -+ case OP_SIDEBAR_PREV: -+ case OP_SIDEBAR_PREV_NEW: -+ mutt_sb_change_mailbox (ch); -+ break; -+ -+ case OP_SIDEBAR_TOGGLE_VISIBLE: -+ toggle_option (OPTSIDEBAR); -+ redraw = REDRAW_FULL; -+ break; -+#endif -+ - default: - ch = -1; - break; -diff -urN mutt-1.6.1/PATCHES mutt-1.6.1-sidebar/PATCHES ---- mutt-1.6.1/PATCHES 2016-06-12 18:43:00.395447481 +0100 -+++ mutt-1.6.1-sidebar/PATCHES 2016-06-12 18:43:03.949502904 +0100 -@@ -0,0 +1 @@ -+patch-sidebar-neo-20160612 -diff -urN mutt-1.6.1/README.sidebar mutt-1.6.1-sidebar/README.sidebar ---- mutt-1.6.1/README.sidebar 1970-01-01 01:00:00.000000000 +0100 -+++ mutt-1.6.1-sidebar/README.sidebar 2016-06-12 18:43:03.792500456 +0100 -@@ -0,0 +1,145 @@ -+Sidebar Patch -+============= -+ -+ Overview of mailboxes -+ -+ NOTES: -+ -+ If you haven't used the sidebar before, you might like to read the -+ Sidebar Introduction: -+ -+ http://www.neomutt.org/sidebar-intro.html -+ -+ If you have used an older version of the Sidebar, please note that some -+ of the configuration has changed. -+ -+ http://www.neomutt.org/sidebar-intro.html#intro-sidebar-config-changes -+ -+Patch -+----- -+ -+ To check if Mutt supports "Sidebar", look for "+USE_SIDEBAR" in the mutt -+ version. -+ -+ Dependencies -+ * mutt-1.6.1 -+ -+Introduction -+------------ -+ -+ The Sidebar shows a list of all your mailboxes. The list can be turned on -+ and off, it can be themed and the list style can be configured. -+ -+ This part of the manual is a reference guide. If you want a simple -+ introduction with examples see the Sidebar Howto. If you just want to get -+ started, you could use the sample Sidebar muttrc. -+ -+ This version of Sidebar is based on Terry Chan's [2015-11-11 -+ release](http://www.lunar-linux.org/mutt-sidebar/). It contains many new -+ features, lots of bugfixes. -+ -+Variables -+--------- -+ -+ Sidebar Variables -+ -+ | Name | Type | Default | -+ |-------------------------|---------|-----------------------------| -+ | 'sidebar_delim_chars' | string | '/.' | -+ | 'sidebar_divider_char' | string | '|' | -+ | 'sidebar_folder_indent' | boolean | 'no' | -+ | 'sidebar_format' | string | '%B%?F? [%F]?%* %?N?%N/?%S' | -+ | 'sidebar_indent_string' | string | '  ' (two spaces) | -+ | 'sidebar_new_mail_only' | boolean | 'no' | -+ | 'sidebar_next_new_wrap' | boolean | 'no' | -+ | 'sidebar_refresh_time' | number | '60' | -+ | 'sidebar_short_path' | boolean | 'no' | -+ | 'sidebar_sort_method' | enum | 'SORT_ORDER' | -+ | 'sidebar_visible' | boolean | 'no' | -+ | 'sidebar_whitelist' | list | (empty) | -+ | 'sidebar_width' | number | '20' | -+ -+Functions -+--------- -+ -+ Sidebar Functions -+ -+ Sidebar adds the following functions to Mutt. By default, none of them are -+ bound to keys. -+ -+ | Menus | Function | Description | -+ |-------------|----------------------------|------------------------------------------------------| -+ | index,pager | '' | Move the highlight to next mailbox | -+ | index,pager | '' | Move the highlight to next mailbox with new mail | -+ | index,pager | '' | Open highlighted mailbox | -+ | index,pager | '' | Scroll the Sidebar down 1 page | -+ | index,pager | '' | Scroll the Sidebar up 1 page | -+ | index,pager | '' | Move the highlight to previous mailbox | -+ | index,pager | '' | Move the highlight to previous mailbox with new mail | -+ | index,pager | '' | Make the Sidebar (in)visible | -+ -+Commands -+-------- -+ -+ sidebar_whitelist mailbox [ mailbox... ] -+ -+Colors -+------ -+ -+ Sidebar Colors -+ -+ | Name | Default Color | Description | -+ |---------------------|------------------|------------------------------------------------------------------| -+ | 'sidebar_divider' | default | The dividing line between the Sidebar and the Index/Pager panels | -+ | 'sidebar_flagged' | default | Mailboxes containing flagged mail | -+ | 'sidebar_highlight' | underline | Cursor to select a mailbox | -+ | 'sidebar_indicator' | mutt 'indicator' | The mailbox open in the Index panel | -+ | 'sidebar_new' | default | Mailboxes containing new mail | -+ | 'sidebar_spoolfile' | default | Mailbox that receives incoming mail | -+ -+ If the sidebar_indicator color isn't set, then the default Mutt indicator -+ color will be used (the color used in the index panel). -+ -+Sort -+---- -+ -+ Sidebar Sort -+ -+ | Sort | Description | -+ |------------|----------------------------| -+ | 'alpha' | Alphabetically by path | -+ | 'count' | Total number of messages | -+ | 'flagged' | Number of flagged messages | -+ | 'name' | Alphabetically by path | -+ | 'new' | Number of new messages | -+ | 'path' | Alphabetically by path | -+ | 'unsorted' | Do not resort the paths | -+ -+See Also -+-------- -+ -+ * Regular Expressions -+ * Patterns -+ * Color command -+ * notmuch patch -+ -+Known Bugs -+---------- -+ -+ Unsorted isn't -+ -+Credits -+------- -+ -+ * Justin Hibbits -+ * Thomer M. Gil -+ * David Sterba -+ * Evgeni Golov -+ * Fabian Groffen -+ * Jason DeTiberus -+ * Stefan Assmann -+ * Steve Kemp -+ * Terry Chan -+ * Tyler Earnest -+ * Richard Russon -+ -diff -urN mutt-1.6.1/sidebar.c mutt-1.6.1-sidebar/sidebar.c ---- mutt-1.6.1/sidebar.c 1970-01-01 01:00:00.000000000 +0100 -+++ mutt-1.6.1-sidebar/sidebar.c 2016-06-14 18:46:00.000000000 +0100 -@@ -0,0 +1,1090 @@ -+/* Copyright (C) 2004 Justin Hibbits -+ * Copyright (C) 2004 Thomer M. Gil -+ * Copyright (C) 2015-2016 Richard Russon -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. -+ */ -+ -+#if HAVE_CONFIG_H -+# include "config.h" -+#endif -+ -+#include "mutt.h" -+#include "buffy.h" -+#include "keymap.h" -+#include "mutt_curses.h" -+#include "mutt_menu.h" -+#include "sort.h" -+ -+/* Previous values for some sidebar config */ -+static short OldVisible; /* sidebar_visible */ -+static short OldWidth; /* sidebar_width */ -+static short PreviousSort; /* sidebar_sort_method */ -+static time_t LastRefresh; /* Time of last refresh */ -+ -+/* Keep track of various BUFFYs */ -+static BUFFY *TopBuffy; /* First mailbox visible in sidebar */ -+static BUFFY *OpnBuffy; /* Current (open) mailbox */ -+static BUFFY *HilBuffy; /* Highlighted mailbox */ -+static BUFFY *BotBuffy; /* Last mailbox visible in sidebar */ -+static BUFFY *Outgoing; /* Last mailbox in the linked list */ -+ -+/** -+ * struct sidebar_entry - Info about folders in the sidebar -+ * -+ * Used in the mutt_FormatString callback -+ */ -+struct sidebar_entry -+{ -+ char box[STRING]; -+ BUFFY *buffy; -+}; -+ -+ -+/** -+ * find_next_new - Find the next folder that contains new mail -+ * @wrap: Wrap around to the beginning if the end is reached -+ * -+ * Search down the list of mail folders for one containing new mail. -+ * -+ * Returns: -+ * BUFFY*: Success -+ * NULL: Failure -+ */ -+static BUFFY *find_next_new (int wrap) -+{ -+ BUFFY *b = HilBuffy; -+ if (!b) -+ return NULL; -+ -+ do -+ { -+ b = b->next; -+ if (!b && wrap) -+ b = Incoming; -+ if (!b || (b == HilBuffy)) -+ break; -+ if (b->msg_unread > 0) -+ return b; -+ } while (b); -+ -+ return NULL; -+} -+ -+/** -+ * find_prev_new - Find the previous folder that contains new mail -+ * @wrap: Wrap around to the beginning if the end is reached -+ * -+ * Search up the list of mail folders for one containing new mail. -+ * -+ * Returns: -+ * BUFFY*: Success -+ * NULL: Failure -+ */ -+static BUFFY *find_prev_new (int wrap) -+{ -+ BUFFY *b = HilBuffy; -+ if (!b) -+ return NULL; -+ -+ do -+ { -+ b = b->prev; -+ if (!b && wrap) -+ b = Outgoing; -+ if (!b || (b == HilBuffy)) -+ break; -+ if (b->msg_unread > 0) -+ return b; -+ } while (b); -+ -+ return NULL; -+} -+ -+/** -+ * cb_format_str - Create the string to show in the sidebar -+ * @dest: Buffer in which to save string -+ * @destlen: Buffer length -+ * @col: Starting column, UNUSED -+ * @op: printf-like operator, e.g. 'B' -+ * @src: printf-like format string -+ * @prefix: Field formatting string, UNUSED -+ * @ifstring: If condition is met, display this string -+ * @elsestring: Otherwise, display this string -+ * @data: Pointer to our sidebar_entry -+ * @flags: Format flags, e.g. M_FORMAT_OPTIONAL -+ * -+ * cb_format_str is a callback function for mutt_FormatString. It understands -+ * five operators. '%B' : Mailbox name, '%F' : Number of flagged messages, -+ * '%N' : Number of new messages, '%S' : Size (total number of messages), -+ * '%!' : Icon denoting number of flagged messages. -+ * -+ * Returns: src (unchanged) -+ */ -+static const char *cb_format_str(char *dest, size_t destlen, size_t col, char op, -+ const char *src, const char *prefix, const char *ifstring, -+ const char *elsestring, unsigned long data, format_flag flags) -+{ -+ struct sidebar_entry *sbe = (struct sidebar_entry *) data; -+ unsigned int optional; -+ char fmt[STRING]; -+ -+ if (!sbe || !dest) -+ return src; -+ -+ dest[0] = 0; /* Just in case there's nothing to do */ -+ -+ BUFFY *b = sbe->buffy; -+ if (!b) -+ return src; -+ -+ int c = Context && (mutt_strcmp (Context->path, b->path) == 0); -+ -+ optional = flags & M_FORMAT_OPTIONAL; -+ -+ switch (op) -+ { -+ case 'B': -+ mutt_format_s (dest, destlen, prefix, sbe->box); -+ break; -+ -+ case 'd': -+ if (!optional) -+ { -+ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); -+ snprintf (dest, destlen, fmt, c ? Context->deleted : 0); -+ } -+ else if ((c && Context->deleted == 0) || !c) -+ optional = 0; -+ break; -+ -+ case 'F': -+ if (!optional) -+ { -+ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); -+ snprintf (dest, destlen, fmt, b->msg_flagged); -+ } -+ else if (b->msg_flagged == 0) -+ optional = 0; -+ break; -+ -+ case 'L': -+ if (!optional) -+ { -+ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); -+ snprintf (dest, destlen, fmt, c ? Context->vcount : b->msg_count); -+ } -+ else if ((c && Context->vcount == b->msg_count) || !c) -+ optional = 0; -+ break; -+ -+ case 'N': -+ if (!optional) -+ { -+ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); -+ snprintf (dest, destlen, fmt, b->msg_unread); -+ } -+ else if (b->msg_unread == 0) -+ optional = 0; -+ break; -+ -+ case 'S': -+ if (!optional) -+ { -+ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); -+ snprintf (dest, destlen, fmt, b->msg_count); -+ } -+ else if (b->msg_count == 0) -+ optional = 0; -+ break; -+ -+ case 't': -+ if (!optional) -+ { -+ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); -+ snprintf (dest, destlen, fmt, c ? Context->tagged : 0); -+ } -+ else if ((c && Context->tagged == 0) || !c) -+ optional = 0; -+ break; -+ -+ case '!': -+ if (b->msg_flagged == 0) -+ mutt_format_s (dest, destlen, prefix, ""); -+ else if (b->msg_flagged == 1) -+ mutt_format_s (dest, destlen, prefix, "!"); -+ else if (b->msg_flagged == 2) -+ mutt_format_s (dest, destlen, prefix, "!!"); -+ else -+ { -+ snprintf (fmt, sizeof (fmt), "%d!", b->msg_flagged); -+ mutt_format_s (dest, destlen, prefix, fmt); -+ } -+ break; -+ } -+ -+ if (optional) -+ mutt_FormatString (dest, destlen, col, ifstring, cb_format_str, (unsigned long) sbe, flags); -+ else if (flags & M_FORMAT_OPTIONAL) -+ mutt_FormatString (dest, destlen, col, elsestring, cb_format_str, (unsigned long) sbe, flags); -+ -+ /* We return the format string, unchanged */ -+ return src; -+} -+ -+/** -+ * make_sidebar_entry - Turn mailbox data into a sidebar string -+ * @buf: Buffer in which to save string -+ * @buflen: Buffer length -+ * @width: Desired width in screen cells -+ * @box: Mailbox name -+ * @size: Size (total number of messages) -+ * @new: Number of new messages -+ * @flagged: Number of flagged messages -+ * -+ * Take all the relevant mailbox data and the desired screen width and then get -+ * mutt_FormatString to do the actual work. mutt_FormatString will callback to -+ * us using cb_format_str() for the sidebar specific formatting characters. -+ */ -+static void make_sidebar_entry (char *buf, unsigned int buflen, int width, char *box, -+ BUFFY *b) -+{ -+ struct sidebar_entry sbe; -+ -+ if (!buf || !box || !b) -+ return; -+ -+ sbe.buffy = b; -+ strfcpy (sbe.box, box, sizeof (sbe.box)); -+ -+ /* Temporarily lie about the screen width */ -+ int oc = COLS; -+ COLS = width + SidebarWidth; -+ mutt_FormatString (buf, buflen, 0, NONULL(SidebarFormat), cb_format_str, (unsigned long) &sbe, 0); -+ COLS = oc; -+ -+ /* Force string to be exactly the right width */ -+ int w = mutt_strwidth (buf); -+ int s = strlen (buf); -+ width = MIN(buflen, width); -+ if (w < width) -+ { -+ /* Pad with spaces */ -+ memset (buf + s, ' ', width - w); -+ buf[s + width - w] = 0; -+ } -+ else if (w > width) -+ { -+ /* Truncate to fit */ -+ int len = mutt_wstr_trunc (buf, buflen, width, NULL); -+ buf[len] = 0; -+ } -+} -+ -+/** -+ * cb_qsort_buffy - qsort callback to sort BUFFYs -+ * @a: First BUFFY to compare -+ * @b: Second BUFFY to compare -+ * -+ * Compare the paths of two BUFFYs taking the locale into account. -+ * -+ * Returns: -+ * -1: a precedes b -+ * 0: a and b are identical -+ * 1: b precedes a -+ */ -+static int cb_qsort_buffy (const void *a, const void *b) -+{ -+ const BUFFY *b1 = *(const BUFFY **) a; -+ const BUFFY *b2 = *(const BUFFY **) b; -+ -+ /* Special case -- move hidden BUFFYs to the end */ -+ if (b1->is_hidden != b2->is_hidden) -+ { -+ if (b1->is_hidden) -+ return 1; -+ else -+ return -1; -+ } -+ -+ int result = 0; -+ -+ switch ((SidebarSortMethod & SORT_MASK)) -+ { -+ case SORT_COUNT: -+ result = (b2->msg_count - b1->msg_count); -+ break; -+ case SORT_COUNT_NEW: -+ result = (b2->msg_unread - b1->msg_unread); -+ break; -+ case SORT_FLAGGED: -+ result = (b2->msg_flagged - b1->msg_flagged); -+ break; -+ case SORT_PATH: -+ result = mutt_strcasecmp (b1->path, b2->path); -+ break; -+ } -+ -+ if (SidebarSortMethod & SORT_REVERSE) -+ result = -result; -+ -+ return result; -+} -+ -+/** -+ * buffy_going - Prevent our pointers becoming invalid -+ * @b: BUFFY about to be deleted -+ * -+ * If we receive a delete-notification for a BUFFY, we need to change any -+ * pointers we have to reference a different BUFFY, or set them to NULL. -+ * -+ * We don't update the prev/next pointers, they'll be fixed on the next -+ * call to prepare_sidebar(). -+ * -+ * Returns: -+ * A valid alternative BUFFY, or NULL -+ */ -+static BUFFY *buffy_going (const BUFFY *b) -+{ -+ if (!b) -+ return NULL; -+ -+ if (b->prev) -+ { -+ b->prev->next = NULL; -+ } -+ -+ if (b->next) -+ { -+ b->next->prev = NULL; -+ return b->next; -+ } -+ -+ return b->prev; -+} -+ -+/** -+ * update_buffy_visibility - Should a BUFFY be displayed in the sidebar -+ * @arr: array of BUFFYs -+ * @arr_len: number of BUFFYs in array -+ * -+ * For each BUFFY in the array, check whether we should display it. -+ * This is determined by several criteria. If the BUFFY: -+ * is the currently open mailbox -+ * is the currently highlighted mailbox -+ * has unread messages -+ * has flagged messages -+ * is whitelisted -+ */ -+static void update_buffy_visibility (BUFFY **arr, int arr_len) -+{ -+ if (!arr) -+ return; -+ -+ short new_only = option (OPTSIDEBARNEWMAILONLY); -+ -+ BUFFY *b; -+ int i; -+ for (i = 0; i < arr_len; i++) -+ { -+ b = arr[i]; -+ -+ b->is_hidden = 0; -+ -+ if (!new_only) -+ continue; -+ -+ if ((b == OpnBuffy) || (b->msg_unread > 0) || -+ (b == HilBuffy) || (b->msg_flagged > 0)) -+ continue; -+ -+ if (Context && (strcmp (b->path, Context->path) == 0)) -+ /* Spool directory */ -+ continue; -+ -+ if (mutt_find_list (SidebarWhitelist, b->path)) -+ /* Explicitly asked to be visible */ -+ continue; -+ -+ b->is_hidden = 1; -+ } -+} -+ -+/** -+ * sort_buffy_array - Sort an array of BUFFY pointers -+ * @arr: array of BUFFYs -+ * @arr_len: number of BUFFYs in array -+ * -+ * Sort an array of BUFFY pointers according to the current sort config -+ * option "sidebar_sort_method". This calls qsort to do the work which calls our -+ * callback function "cb_qsort_buffy". -+ * -+ * Once sorted, the prev/next links will be reconstructed. -+ */ -+static void sort_buffy_array (BUFFY **arr, int arr_len) -+{ -+ if (!arr) -+ return; -+ -+ /* These are the only sort methods we understand */ -+ short ssm = (SidebarSortMethod & SORT_MASK); -+ if ((ssm == SORT_COUNT) || -+ (ssm == SORT_COUNT_NEW) || -+ (ssm == SORT_DESC) || -+ (ssm == SORT_FLAGGED) || -+ (ssm == SORT_PATH)) -+ qsort (arr, arr_len, sizeof (*arr), cb_qsort_buffy); -+ -+ int i; -+ for (i = 0; i < (arr_len - 1); i++) -+ arr[i]->next = arr[i + 1]; -+ arr[arr_len - 1]->next = NULL; -+ -+ for (i = 1; i < arr_len; i++) -+ arr[i]->prev = arr[i - 1]; -+ arr[0]->prev = NULL; -+} -+ -+/** -+ * prepare_sidebar - Prepare the list of BUFFYs for the sidebar display -+ * @page_size: The number of lines on a page -+ * -+ * Before painting the sidebar, we count the BUFFYs, determine which are -+ * visible, sort them and set up our page pointers. -+ * -+ * This is a lot of work to do each refresh, but there are many things that -+ * can change outside of the sidebar that we don't hear about. -+ * -+ * Returns: -+ * 0: No, don't draw the sidebar -+ * 1: Yes, draw the sidebar -+ */ -+static int prepare_sidebar (int page_size) -+{ -+ BUFFY *b = Incoming; -+ if (!b) -+ return 0; -+ -+ int count = 0; -+ for (; b; b = b->next) -+ count++; -+ -+ BUFFY **arr = safe_malloc (count * sizeof (*arr)); -+ -+ int i = 0; -+ for (b = Incoming; b; b = b->next, i++) -+ arr[i] = b; -+ -+ update_buffy_visibility (arr, count); -+ sort_buffy_array (arr, count); -+ -+ Incoming = arr[0]; -+ -+ int top_index = 0; -+ int opn_index = -1; -+ int hil_index = -1; -+ int bot_index = -1; -+ -+ for (i = 0; i < count; i++) -+ { -+ if (OpnBuffy == arr[i]) -+ opn_index = i; -+ if (HilBuffy == arr[i]) -+ hil_index = i; -+ } -+ -+ if (!HilBuffy || (SidebarSortMethod != PreviousSort)) -+ { -+ if (OpnBuffy) -+ { -+ HilBuffy = OpnBuffy; -+ hil_index = opn_index; -+ } -+ else -+ { -+ HilBuffy = arr[0]; -+ hil_index = 0; -+ } -+ } -+ if (TopBuffy) -+ top_index = (hil_index / page_size) * page_size; -+ else -+ top_index = hil_index; -+ TopBuffy = arr[top_index]; -+ -+ bot_index = top_index + page_size - 1; -+ if (bot_index > (count - 1)) -+ bot_index = count - 1; -+ BotBuffy = arr[bot_index]; -+ -+ Outgoing = arr[count - 1]; -+ -+ PreviousSort = SidebarSortMethod; -+ FREE (&arr); -+ return 1; -+} -+ -+/** -+ * visible - Should we display the sidebar? -+ * -+ * After validating the config options "sidebar_visible" and "sidebar_width", -+ * determine whether we should should display the sidebar. -+ * -+ * When not visible, set the global SidebarWidth to 0. -+ * -+ * Returns: -+ * Boolean -+ */ -+static short -+visible (void) -+{ -+ short new_visible = option (OPTSIDEBAR); -+ short new_width = SidebarWidth; -+ -+ if (OldWidth != new_width) -+ { -+ if (new_width > 0) -+ { -+ OldWidth = new_width; -+ } -+ } -+ -+ if (OldVisible != new_visible) -+ { -+ if (new_visible) -+ { -+ set_option (OPTSIDEBAR); -+ } -+ else -+ { -+ unset_option (OPTSIDEBAR); -+ } -+ OldVisible = new_visible; -+ } -+ else if (new_width == 0) -+ { -+ unset_option (OPTSIDEBAR); -+ OldVisible = 0; -+ } -+ -+ if (!option (OPTSIDEBAR)) -+ { -+ SidebarWidth = 0; -+ } -+ else if (new_width == 0) -+ { -+ SidebarWidth = OldWidth; -+ } -+ else -+ { -+ SidebarWidth = new_width; -+ } -+ -+ return new_visible; -+} -+ -+/** -+ * draw_divider - Draw a line between the sidebar and the rest of mutt -+ * @first_row: Screen line to start (0-based) -+ * @num_rows: Number of rows to fill -+ * -+ * Draw a divider using characters from the config option "sidebar_divider_char". -+ * This can be an ASCII or Unicode character. First we calculate this -+ * characters' width in screen columns, then subtract that from the config -+ * option "sidebar_width". -+ * -+ * Returns: -+ * -1: Error: bad character, etc -+ * 0: Error: 0 width character -+ * n: Success: character occupies n screen columns -+ */ -+static int draw_divider (int first_row, int num_rows) -+{ -+ /* Calculate the width of the delimiter in screen cells */ -+ int delim_len = mutt_strwidth (SidebarDividerChar); -+ -+ if (delim_len < 1) -+ return delim_len; -+ -+ if ((SidebarWidth + delim_len) > (COLS + 1)) -+ return 0; -+ -+ if (delim_len > SidebarWidth) -+ return -1; -+ -+ SETCOLOR(MT_COLOR_DIVIDER); -+ -+ int i; -+ for (i = 0; i < num_rows; i++) -+ { -+ move (first_row + i, SidebarWidth - delim_len); -+ addstr (NONULL(SidebarDividerChar)); -+ } -+ -+ return delim_len; -+} -+ -+/** -+ * fill_empty_space - Wipe the remaining Sidebar space -+ * @first_row: Screen line to start (0-based) -+ * @num_rows: Number of rows to fill -+ * @width: Width of the Sidebar (minus the divider) -+ * -+ * Write spaces over the area the sidebar isn't using. -+ */ -+static void fill_empty_space (int first_row, int num_rows, int width) -+{ -+ /* Fill the remaining rows with blank space */ -+ SETCOLOR(MT_COLOR_NORMAL); -+ -+ int r; -+ for (r = 0; r < num_rows; r++) -+ { -+ int i = 0; -+ move (first_row + r, 0); -+ for (; i < width; i++) -+ addch (' '); -+ } -+} -+ -+/** -+ * draw_sidebar - Write out a list of mailboxes, on the left -+ * @first_row: Screen line to start (0-based) -+ * @num_rows: Number of rows to fill -+ * @div_width: Width in screen characters taken by the divider -+ * -+ * Display a list of mailboxes in a panel on the left. What's displayed will -+ * depend on our index markers: TopBuffy, OpnBuffy, HilBuffy, BotBuffy. -+ * On the first run they'll be NULL, so we display the top of Mutt's list -+ * (Incoming). -+ * -+ * TopBuffy - first visible mailbox -+ * BotBuffy - last visible mailbox -+ * OpnBuffy - mailbox shown in Mutt's Index Panel -+ * HilBuffy - Unselected mailbox (the paging follows this) -+ * -+ * The entries are formatted using "sidebar_format" and may be abbreviated: -+ * "sidebar_short_path", indented: "sidebar_folder_indent", -+ * "sidebar_indent_string" and sorted: "sidebar_sort_method". Finally, they're -+ * trimmed to fit the available space. -+ */ -+static void draw_sidebar (int first_row, int num_rows, int div_width) -+{ -+ BUFFY *b = TopBuffy; -+ if (!b) -+ return; -+ -+ int w = MIN(COLS, (SidebarWidth - div_width)); -+ int row = 0; -+ for (b = TopBuffy; b && (row < num_rows); b = b->next) -+ { -+ if (b->is_hidden) -+ continue; -+ -+ if (b == OpnBuffy) -+ { -+ if ((ColorDefs[MT_COLOR_SB_INDICATOR] != 0)) -+ SETCOLOR(MT_COLOR_SB_INDICATOR); -+ else -+ SETCOLOR(MT_COLOR_INDICATOR); -+ } -+ else if (b == HilBuffy) -+ SETCOLOR(MT_COLOR_HIGHLIGHT); -+ else if ((ColorDefs[MT_COLOR_SB_SPOOLFILE] != 0) && -+ (mutt_strcmp (b->path, Spoolfile) == 0)) -+ SETCOLOR(MT_COLOR_SB_SPOOLFILE); -+ else if (b->msg_unread > 0) -+ SETCOLOR(MT_COLOR_NEW); -+ else if (b->msg_flagged > 0) -+ SETCOLOR(MT_COLOR_FLAGGED); -+ else -+ SETCOLOR(MT_COLOR_NORMAL); -+ -+ move (first_row + row, 0); -+ if (Context && Context->path && -+ (!strcmp (b->path, Context->path)|| -+ !strcmp (b->realpath, Context->path))) -+ { -+ b->msg_unread = Context->unread; -+ b->msg_count = Context->msgcount; -+ b->msg_flagged = Context->flagged; -+ } -+ -+ /* compute length of Maildir without trailing separator */ -+ size_t maildirlen = strlen (Maildir); -+ if (SidebarDelimChars && strchr (SidebarDelimChars, Maildir[maildirlen - 1])) -+ maildirlen--; -+ -+ /* check whether Maildir is a prefix of the current folder's path */ -+ short maildir_is_prefix = 0; -+ if ((strlen (b->path) > maildirlen) && (strncmp (Maildir, b->path, maildirlen) == 0)) -+ maildir_is_prefix = 1; -+ -+ /* calculate depth of current folder and generate its display name with indented spaces */ -+ int sidebar_folder_depth = 0; -+ char *sidebar_folder_name; -+ int i; -+ if (option (OPTSIDEBARSHORTPATH)) -+ { -+ /* disregard a trailing separator, so strlen() - 2 */ -+ sidebar_folder_name = b->path; -+ for (i = strlen (sidebar_folder_name) - 2; i >= 0; i--) -+ { -+ if (SidebarDelimChars && -+ strchr (SidebarDelimChars, sidebar_folder_name[i])) -+ { -+ sidebar_folder_name += (i + 1); -+ break; -+ } -+ } -+ } -+ else -+ sidebar_folder_name = b->path + maildir_is_prefix * (maildirlen + 1); -+ -+ if (maildir_is_prefix && option (OPTSIDEBARFOLDERINDENT)) -+ { -+ const char *tmp_folder_name; -+ int lastsep = 0; -+ tmp_folder_name = b->path + maildirlen + 1; -+ int tmplen = (int) strlen (tmp_folder_name) - 1; -+ for (i = 0; i < tmplen; i++) -+ { -+ if (SidebarDelimChars && strchr (SidebarDelimChars, tmp_folder_name[i])) -+ { -+ sidebar_folder_depth++; -+ lastsep = i + 1; -+ } -+ } -+ if (sidebar_folder_depth > 0) -+ { -+ if (option (OPTSIDEBARSHORTPATH)) -+ tmp_folder_name += lastsep; /* basename */ -+ sidebar_folder_name = malloc (strlen (tmp_folder_name) + sidebar_folder_depth*strlen (NONULL(SidebarIndentString)) + 1); -+ sidebar_folder_name[0]=0; -+ for (i=0; i < sidebar_folder_depth; i++) -+ strncat (sidebar_folder_name, NONULL(SidebarIndentString), strlen (NONULL(SidebarIndentString))); -+ strncat (sidebar_folder_name, tmp_folder_name, strlen (tmp_folder_name)); -+ } -+ } -+ char str[STRING]; -+ make_sidebar_entry (str, sizeof (str), w, sidebar_folder_name, b); -+ printw ("%s", str); -+ if (sidebar_folder_depth > 0) -+ FREE (&sidebar_folder_name); -+ row++; -+ } -+ -+ fill_empty_space (first_row + row, num_rows - row, w); -+} -+ -+ -+/** -+ * mutt_sb_init - Set some default values for the sidebar. -+ */ -+void -+mutt_sb_init (void) -+{ -+ OldVisible = option (OPTSIDEBAR); -+ if (SidebarWidth > 0) -+ { -+ OldWidth = SidebarWidth; -+ } -+ else -+ { -+ OldWidth = 20; -+ if (OldVisible) -+ { -+ SidebarWidth = OldWidth; -+ } -+ } -+} -+ -+/** -+ * mutt_sb_draw - Completely redraw the sidebar -+ * -+ * Completely refresh the sidebar region. First draw the divider; then, for -+ * each BUFFY, call make_sidebar_entry; finally blank out any remaining space. -+ */ -+void mutt_sb_draw (void) -+{ -+ if (!visible()) -+ return; -+ -+ /* XXX - if transitioning from invisible to visible */ -+ /* if (OldVisible == 0) */ -+ /* mutt_buffy_check (1); we probably have bad or no numbers */ -+ -+ int x = getcurx (stdscr); -+ int y = getcury (stdscr); -+ -+ int first_row = 0; -+ int num_rows = LINES - 2; -+ -+ if (option (OPTHELP) || option (OPTSTATUSONTOP)) -+ first_row++; -+ -+ if (option (OPTHELP)) -+ num_rows--; -+ -+ int div_width = draw_divider (first_row, num_rows); -+ if (div_width < 0) -+ return; -+ -+ if (!Incoming) -+ { -+ int w = MIN(COLS, (SidebarWidth - div_width)); -+ fill_empty_space (first_row, num_rows, w); -+ return; -+ } -+ -+ if (!prepare_sidebar (num_rows)) -+ return; -+ -+ draw_sidebar (first_row, num_rows, div_width); -+ move (y, x); -+} -+ -+/** -+ * mutt_sb_should_refresh - Check if the sidebar is due to be refreshed -+ * -+ * The "sidebar_refresh_time" config option allows the user to limit the frequency -+ * with which the sidebar is refreshed. -+ * -+ * Returns: -+ * 1 Yes, refresh is due -+ * 0 No, refresh happened recently -+ */ -+int mutt_sb_should_refresh (void) -+{ -+ if (!option (OPTSIDEBAR)) -+ return 0; -+ -+ if (SidebarRefreshTime == 0) -+ return 0; -+ -+ time_t diff = (time (NULL) - LastRefresh); -+ -+ return (diff >= SidebarRefreshTime); -+} -+ -+/** -+ * mutt_sb_change_mailbox - Change the selected mailbox -+ * @op: Operation code -+ * -+ * Change the selected mailbox, e.g. "Next mailbox", "Previous Mailbox -+ * with new mail". The operations are listed OPS.SIDEBAR which is built -+ * into an enum in keymap_defs.h. -+ * -+ * If the operation is successful, HilBuffy will be set to the new mailbox. -+ * This function only *selects* the mailbox, doesn't *open* it. -+ * -+ * Allowed values are: OP_SIDEBAR_NEXT, OP_SIDEBAR_NEXT_NEW, -+ * OP_SIDEBAR_PAGE_DOWN, OP_SIDEBAR_PAGE_UP, OP_SIDEBAR_PREV, -+ * OP_SIDEBAR_PREV_NEW. -+ */ -+void mutt_sb_change_mailbox (int op) -+{ -+ BUFFY *b; -+ if (!HilBuffy) /* It'll get reset on the next draw */ -+ return; -+ -+ switch (op) -+ { -+ case OP_SIDEBAR_NEXT: -+ if (!HilBuffy->next) -+ return; -+ if (HilBuffy->next->is_hidden) -+ return; -+ HilBuffy = HilBuffy->next; -+ break; -+ case OP_SIDEBAR_NEXT_NEW: -+ b = find_next_new (option (OPTSIDEBARNEXTNEWWRAP)); -+ if (!b) -+ return; -+ else -+ HilBuffy = b; -+ break; -+ case OP_SIDEBAR_PAGE_DOWN: -+ HilBuffy = BotBuffy; -+ if (HilBuffy->next) -+ HilBuffy = HilBuffy->next; -+ break; -+ case OP_SIDEBAR_PAGE_UP: -+ HilBuffy = TopBuffy; -+ if (HilBuffy != Incoming) -+ HilBuffy = HilBuffy->prev; -+ break; -+ case OP_SIDEBAR_PREV: -+ if (!HilBuffy->prev) -+ return; -+ if (HilBuffy->prev->is_hidden) /* Can't happen, we've sorted the hidden to the end */ -+ return; -+ HilBuffy = HilBuffy->prev; -+ break; -+ case OP_SIDEBAR_PREV_NEW: -+ b = find_prev_new (option (OPTSIDEBARNEXTNEWWRAP)); -+ if (!b) -+ return; -+ else -+ HilBuffy = b; -+ break; -+ default: -+ return; -+ } -+ -+ /* We can change folder even if the sidebar is hidden */ -+ if (option (OPTSIDEBAR)) -+ mutt_sb_draw(); -+} -+ -+/** -+ * mutt_sb_set_buffystats - Update the BUFFY's message counts from the CONTEXT -+ * @ctx: A mailbox CONTEXT -+ * -+ * Given a mailbox CONTEXT, find a matching mailbox BUFFY and copy the message -+ * counts into it. -+ */ -+void mutt_sb_set_buffystats (const CONTEXT *ctx) -+{ -+ /* Even if the sidebar's hidden, -+ * we should take note of the new data. */ -+ BUFFY *b = Incoming; -+ if (!ctx || !b) -+ return; -+ -+ for (; b; b = b->next) -+ { -+ if (!strcmp (b->path, ctx->path) || -+ !strcmp (b->realpath, ctx->path)) -+ { -+ b->msg_unread = ctx->unread; -+ b->msg_count = ctx->msgcount; -+ b->msg_flagged = ctx->flagged; -+ break; -+ } -+ } -+} -+ -+/** -+ * mutt_sb_get_highlight - Get the BUFFY that's highlighted in the sidebar -+ * -+ * Get the path of the mailbox that's highlighted in the sidebar. -+ * -+ * Returns: -+ * Mailbox path -+ */ -+const char *mutt_sb_get_highlight (void) -+{ -+ if (!HilBuffy) -+ return NULL; -+ -+ return HilBuffy->path; -+} -+ -+/** -+ * mutt_sb_set_open_buffy - Set the OpnBuffy based on a mailbox path -+ * @path: Mailbox path -+ * -+ * Search through the list of mailboxes. If a BUFFY has a matching path, set -+ * OpnBuffy to it. -+ */ -+BUFFY *mutt_sb_set_open_buffy (const char *path) -+{ -+ /* Even if the sidebar is hidden */ -+ -+ BUFFY *b = Incoming; -+ -+ if (!path || !b) -+ return NULL; -+ -+ OpnBuffy = NULL; -+ -+ for (; b; b = b->next) -+ { -+ if (!strcmp (b->path, path) || -+ !strcmp (b->realpath, path)) -+ { -+ OpnBuffy = b; -+ HilBuffy = b; -+ break; -+ } -+ } -+ -+ return OpnBuffy; -+} -+ -+/** -+ * mutt_sb_set_update_time - Note the time that the sidebar was updated -+ * -+ * Update the timestamp representing the last sidebar update. If the user -+ * configures "sidebar_refresh_time", this will help to reduce traffic. -+ */ -+void mutt_sb_set_update_time (void) -+{ -+ /* XXX - should this be public? */ -+ -+ LastRefresh = time (NULL); -+} -+ -+/** -+ * mutt_sb_notify_mailbox - The state of a BUFFY is about to change -+ * -+ * We receive a notification: -+ * After a new BUFFY has been created -+ * Before a BUFFY is deleted -+ * -+ * Before a deletion, check that our pointers won't be invalidated. -+ */ -+void mutt_sb_notify_mailbox (BUFFY *b, int created) -+{ -+ if (!b) -+ return; -+ -+ /* Any new/deleted mailboxes will cause a refresh. As long as -+ * they're valid, our pointers will be updated in prepare_sidebar() */ -+ -+ if (created) -+ { -+ if (!TopBuffy) -+ TopBuffy = b; -+ if (!HilBuffy) -+ HilBuffy = b; -+ if (!BotBuffy) -+ BotBuffy = b; -+ if (!Outgoing) -+ Outgoing = b; -+ if (!OpnBuffy && Context) -+ { -+ /* This might happen if the user "unmailboxes *", then -+ * "mailboxes" our current mailbox back again */ -+ if (mutt_strcmp (b->path, Context->path) == 0) -+ OpnBuffy = b; -+ } -+ } -+ else -+ { -+ BUFFY *replacement = buffy_going (b); -+ if (TopBuffy == b) -+ TopBuffy = replacement; -+ if (OpnBuffy == b) -+ OpnBuffy = NULL; -+ if (HilBuffy == b) -+ HilBuffy = replacement; -+ if (BotBuffy == b) -+ BotBuffy = replacement; -+ if (Outgoing == b) -+ Outgoing = replacement; -+ } -+} -diff -urN mutt-1.6.1/sidebar.h mutt-1.6.1-sidebar/sidebar.h ---- mutt-1.6.1/sidebar.h 1970-01-01 01:00:00.000000000 +0100 -+++ mutt-1.6.1-sidebar/sidebar.h 2016-06-12 18:43:03.967503185 +0100 -@@ -0,0 +1,36 @@ -+/* Copyright (C) 2004 Justin Hibbits -+ * Copyright (C) 2004 Thomer M. Gil -+ * Copyright (C) 2015-2016 Richard Russon -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. -+ */ -+ -+#ifndef SIDEBAR_H -+#define SIDEBAR_H -+ -+#include "mutt.h" -+#include "buffy.h" -+ -+void mutt_sb_change_mailbox (int op); -+void mutt_sb_draw (void); -+const char * mutt_sb_get_highlight (void); -+void mutt_sb_init (void); -+void mutt_sb_notify_mailbox (BUFFY *b, int created); -+void mutt_sb_set_buffystats (const CONTEXT *ctx); -+BUFFY * mutt_sb_set_open_buffy (const char *path); -+void mutt_sb_set_update_time (void); -+int mutt_sb_should_refresh (void); -+ -+#endif /* SIDEBAR_H */ -diff -urN mutt-1.6.1/sort.h mutt-1.6.1-sidebar/sort.h ---- mutt-1.6.1/sort.h 2016-06-12 18:43:00.415447793 +0100 -+++ mutt-1.6.1-sidebar/sort.h 2016-06-12 18:43:03.968503200 +0100 -@@ -31,6 +31,12 @@ - #define SORT_KEYID 12 - #define SORT_TRUST 13 - #define SORT_SPAM 14 -+#define SORT_COUNT 15 -+#define SORT_COUNT_NEW 16 -+#define SORT_DESC 17 -+#define SORT_FLAGGED 18 -+#define SORT_PATH 19 -+ - /* dgc: Sort & SortAux are shorts, so I'm bumping these bitflags up from - * bits 4 & 5 to bits 8 & 9 to make room for more sort keys in the future. */ - #define SORT_MASK 0xff -@@ -50,6 +56,7 @@ - WHERE short Sort INITVAL (SORT_DATE); - WHERE short SortAux INITVAL (SORT_DATE); /* auxiliary sorting method */ - WHERE short SortAlias INITVAL (SORT_ALIAS); -+WHERE short SidebarSortMethod INITVAL (SORT_ORDER); - - /* FIXME: This one does not belong to here */ - WHERE short PgpSortKeys INITVAL (SORT_ADDRESS); diff --git a/pkgs/applications/networking/mailreaders/mutt/trash.patch b/pkgs/applications/networking/mailreaders/mutt/trash.patch deleted file mode 100644 index a7bda4c4c8b..00000000000 --- a/pkgs/applications/networking/mailreaders/mutt/trash.patch +++ /dev/null @@ -1,797 +0,0 @@ -diff -urN mutt-1.6.1/commands.c mutt-1.6.1-trash/commands.c ---- mutt-1.6.1/commands.c 2016-06-12 18:43:00.397447512 +0100 -+++ mutt-1.6.1-trash/commands.c 2016-06-12 18:43:04.892517610 +0100 -@@ -720,6 +720,7 @@ - if (option (OPTDELETEUNTAG)) - mutt_set_flag (Context, h, M_TAG, 0); - } -+ mutt_set_flag (Context, h, M_APPENDED, 1); - - return 0; - } -diff -urN mutt-1.6.1/curs_main.c mutt-1.6.1-trash/curs_main.c ---- mutt-1.6.1/curs_main.c 2016-06-12 18:43:00.399447544 +0100 -+++ mutt-1.6.1-trash/curs_main.c 2016-06-12 18:43:04.895517656 +0100 -@@ -1919,6 +1919,7 @@ - MAYBE_REDRAW (menu->redraw); - break; - -+ case OP_PURGE_MESSAGE: - case OP_DELETE: - - CHECK_MSGCOUNT; -@@ -1930,6 +1931,7 @@ - if (tag) - { - mutt_tag_set_flag (M_DELETE, 1); -+ mutt_tag_set_flag (M_PURGED, (op != OP_PURGE_MESSAGE) ? 0 : 1); - if (option (OPTDELETEUNTAG)) - mutt_tag_set_flag (M_TAG, 0); - menu->redraw = REDRAW_INDEX; -@@ -1937,6 +1939,8 @@ - else - { - mutt_set_flag (Context, CURHDR, M_DELETE, 1); -+ mutt_set_flag (Context, CURHDR, M_PURGED, -+ (op != OP_PURGE_MESSAGE) ? 0 : 1); - if (option (OPTDELETEUNTAG)) - mutt_set_flag (Context, CURHDR, M_TAG, 0); - if (option (OPTRESOLVE)) -@@ -2242,11 +2246,13 @@ - if (tag) - { - mutt_tag_set_flag (M_DELETE, 0); -+ mutt_tag_set_flag (M_PURGED, 0); - menu->redraw = REDRAW_INDEX; - } - else - { - mutt_set_flag (Context, CURHDR, M_DELETE, 0); -+ mutt_set_flag (Context, CURHDR, M_PURGED, 0); - if (option (OPTRESOLVE) && menu->current < Context->vcount - 1) - { - menu->current++; -@@ -2268,9 +2274,11 @@ - CHECK_ACL(M_ACL_DELETE, _("Cannot undelete message(s)")); - - rc = mutt_thread_set_flag (CURHDR, M_DELETE, 0, -- op == OP_UNDELETE_THREAD ? 0 : 1); -+ op == OP_UNDELETE_THREAD ? 0 : 1) -+ + mutt_thread_set_flag (CURHDR, M_PURGED, 0, -+ (op == OP_UNDELETE_THREAD) ? 0 : 1); - -- if (rc != -1) -+ if (rc > -1) - { - if (option (OPTRESOLVE)) - { -diff -urN mutt-1.6.1/doc/manual.xml.head mutt-1.6.1-trash/doc/manual.xml.head ---- mutt-1.6.1/doc/manual.xml.head 2016-06-12 18:43:00.402447590 +0100 -+++ mutt-1.6.1-trash/doc/manual.xml.head 2016-06-12 18:43:04.901517750 +0100 -@@ -7467,6 +7467,16 @@ - -
- -+ -+Mutt Patches -+ -+Mutt may also be patched to support smaller features. -+These patches should add a free-form string to the end Mutt's version string. -+Running mutt -v might show: -+patch-1.6.1.sidebar.20160502 -+ -+ -+ - - URL Syntax - -@@ -8081,6 +8091,175 @@ - - - -+ -+ Trash Folder Patch -+ Automatically move "deleted" emails to a trash bin -+ -+ -+ Patch -+ -+ -+ To check if Mutt supports Trash Folder, look for -+ patch-trash in the mutt version. -+ See: . -+ -+ -+ If IMAP is enabled, this patch will use it -+ -+ -+ Dependencies: -+ mutt-1.6.1 -+ IMAP support -+ -+ -+ This patch is part of the NeoMutt Project. -+ -+ -+ -+ Introduction -+ -+ -+ In Mutt, when you delete an email it is first marked -+ deleted. The email isn't really gone until -+ <sync-mailbox> is called. -+ This happens when the user leaves the folder, or the function is called -+ manually. -+ -+ -+ -+ After <sync-mailbox> has been called the email is gone forever. -+ -+ -+ -+ The $trash variable defines a folder in -+ which to keep old emails. As before, first you mark emails for -+ deletion. When <sync-mailbox> is called the emails are moved to -+ the trash folder. -+ -+ -+ -+ The $trash path can be either a full directory, -+ or be relative to the $folder -+ variable, like the mailboxes command. -+ -+ -+ -+ Emails deleted from the trash folder are gone forever. -+ -+ -+ -+ -+ Variables -+ -+ Trash Variables -+ -+ -+ -+ Name -+ Type -+ Default -+ -+ -+ -+ -+ trash -+ string -+ (none) -+ -+ -+ -+
-+
-+ -+ -+ Functions -+ -+ Trash Functions -+ -+ -+ -+ Menus -+ Default Key -+ Function -+ Description -+ -+ -+ -+ -+ index,pager -+ (none) -+ <purge-message> -+ really delete the current entry, bypassing the trash folder -+ -+ -+ -+
-+
-+ -+ -+ -+ -+ Muttrc -+ -+# Example Mutt config file for the 'trash' feature. -+ -+# This feature defines a new 'trash' folder. -+# When mail is deleted it will be moved to this folder. -+ -+# Folder in which to put deleted emails -+set trash='+Trash' -+set trash='/home/flatcap/Mail/Trash' -+ -+# The default delete key 'd' will move an email to the 'trash' folder -+# Bind 'D' to REALLY delete an email -+bind index D purge-message -+ -+# Note: Deleting emails from the 'trash' folder will REALLY delete them. -+ -+# vim: syntax=muttrc -+ -+ -+ -+ -+ See Also -+ -+ -+ NeoMutt Project -+ folder-hook -+ -+ -+ -+ -+ Known Bugs -+ None -+ -+ -+ -+ Credits -+ -+ Cedric Duval cedricduval@free.fr -+ Benjamin Kuperman kuperman@acm.org -+ Paul Miller paul@voltar.org -+ Richard Russon rich@flatcap.org -+ -+ -+
-+ - - - -diff -urN mutt-1.6.1/doc/muttrc.trash mutt-1.6.1-trash/doc/muttrc.trash ---- mutt-1.6.1/doc/muttrc.trash 1970-01-01 01:00:00.000000000 +0100 -+++ mutt-1.6.1-trash/doc/muttrc.trash 2016-06-12 18:43:04.768515676 +0100 -@@ -0,0 +1,16 @@ -+# Example Mutt config file for the 'trash' feature. -+ -+# This feature defines a new 'trash' folder. -+# When mail is deleted it will be moved to this folder. -+ -+# Folder in which to put deleted emails -+set trash='+Trash' -+set trash='/home/flatcap/Mail/Trash' -+ -+# The default delete key 'd' will move an email to the 'trash' folder -+# Bind 'D' to REALLY delete an email -+bind index D purge-message -+ -+# Note: Deleting emails from the 'trash' folder will REALLY delete them. -+ -+# vim: syntax=muttrc -diff -urN mutt-1.6.1/doc/vimrc.trash mutt-1.6.1-trash/doc/vimrc.trash ---- mutt-1.6.1/doc/vimrc.trash 1970-01-01 01:00:00.000000000 +0100 -+++ mutt-1.6.1-trash/doc/vimrc.trash 2016-06-12 18:43:04.769515692 +0100 -@@ -0,0 +1,7 @@ -+" Vim syntax file for the mutt trash patch -+ -+syntax keyword muttrcVarStr contained skipwhite trash nextgroup=muttrcVarEqualsIdxFmt -+ -+syntax match muttrcFunction contained "\" -+ -+" vim: syntax=vim -diff -urN mutt-1.6.1/flags.c mutt-1.6.1-trash/flags.c ---- mutt-1.6.1/flags.c 2016-06-12 18:43:00.403447606 +0100 -+++ mutt-1.6.1-trash/flags.c 2016-06-12 18:43:04.902517766 +0100 -@@ -65,7 +65,13 @@ - { - h->deleted = 0; - update = 1; -- if (upd_ctx) ctx->deleted--; -+ if (upd_ctx) { -+ ctx->deleted--; -+ if (h->appended) { -+ ctx->appended--; -+ } -+ } -+ h->appended = 0; /* when undeleting, also reset the appended flag */ - #ifdef USE_IMAP - /* see my comment above */ - if (ctx->magic == M_IMAP) -@@ -87,6 +93,27 @@ - } - break; - -+ case M_APPENDED: -+ if (bf) { -+ if (!h->appended) { -+ h->appended = 1; -+ if (upd_ctx) { -+ ctx->appended++; -+ } -+ } -+ } -+ break; -+ -+ case M_PURGED: -+ if (bf) { -+ if (!h->purged) { -+ h->purged = 1; -+ } -+ } else if (h->purged) { -+ h->purged = 0; -+ } -+ break; -+ - case M_NEW: - - if (!mutt_bit_isset(ctx->rights,M_ACL_SEEN)) -diff -urN mutt-1.6.1/functions.h mutt-1.6.1-trash/functions.h ---- mutt-1.6.1/functions.h 2016-06-12 18:43:00.403447606 +0100 -+++ mutt-1.6.1-trash/functions.h 2016-06-12 18:43:04.902517766 +0100 -@@ -121,6 +121,7 @@ - { "toggle-write", OP_TOGGLE_WRITE, "%" }, - { "next-thread", OP_MAIN_NEXT_THREAD, "\016" }, - { "next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n" }, -+ { "purge-message", OP_PURGE_MESSAGE, NULL }, - { "query", OP_QUERY, "Q" }, - { "quit", OP_QUIT, "q" }, - { "reply", OP_REPLY, "r" }, -@@ -213,6 +214,7 @@ - { "print-message", OP_PRINT, "p" }, - { "previous-thread", OP_MAIN_PREV_THREAD, "\020" }, - { "previous-subthread",OP_MAIN_PREV_SUBTHREAD, "\033p" }, -+ { "purge-message", OP_PURGE_MESSAGE, NULL }, - { "quit", OP_QUIT, "Q" }, - { "exit", OP_EXIT, "q" }, - { "reply", OP_REPLY, "r" }, -diff -urN mutt-1.6.1/globals.h mutt-1.6.1-trash/globals.h ---- mutt-1.6.1/globals.h 2016-06-12 18:43:00.403447606 +0100 -+++ mutt-1.6.1-trash/globals.h 2016-06-12 18:43:04.903517781 +0100 -@@ -141,6 +141,7 @@ - WHERE char *Status; - WHERE char *Tempdir; - WHERE char *Tochars; -+WHERE char *TrashPath; - WHERE char *TSStatusFormat; - WHERE char *TSIconFormat; - WHERE short TSSupported; -diff -urN mutt-1.6.1/imap/imap.c mutt-1.6.1-trash/imap/imap.c ---- mutt-1.6.1/imap/imap.c 2016-06-12 18:43:00.405447637 +0100 -+++ mutt-1.6.1-trash/imap/imap.c 2016-06-12 18:43:04.905517812 +0100 -@@ -888,6 +888,12 @@ - if (hdrs[n]->deleted != HEADER_DATA(hdrs[n])->deleted) - match = invert ^ hdrs[n]->deleted; - break; -+ case M_EXPIRED: /* imap_fast_trash version of M_DELETED */ -+ if (hdrs[n]->purged) -+ break; -+ if (hdrs[n]->deleted != HEADER_DATA(hdrs[n])->deleted) -+ match = invert ^ (hdrs[n]->deleted && !hdrs[n]->appended); -+ break; - case M_FLAG: - if (hdrs[n]->flagged != HEADER_DATA(hdrs[n])->flagged) - match = invert ^ hdrs[n]->flagged; -@@ -2038,3 +2044,53 @@ - - return -1; - } -+ -+/** -+ * imap_fast_trash - XXX -+ */ -+int -+imap_fast_trash (void) -+{ -+ if ((Context->magic == M_IMAP) && mx_is_imap (TrashPath)) { -+ IMAP_MBOX mx; -+ IMAP_DATA *idata = (IMAP_DATA *) Context->data; -+ char mbox[LONG_STRING]; -+ char mmbox[LONG_STRING]; -+ int rc; -+ dprint (1, (debugfile, "[itf] trashcan seems to be on imap.\n")); -+ -+ if (imap_parse_path (TrashPath, &mx) == 0) { -+ if (mutt_account_match (&(idata->conn->account), &(mx.account))) { -+ dprint (1, (debugfile, "[itf] trashcan seems to be on the same account.\n")); -+ -+ imap_fix_path (idata, mx.mbox, mbox, sizeof (mbox)); -+ if (!*mbox) -+ strfcpy (mbox, "INBOX", sizeof (mbox)); -+ imap_munge_mbox_name (idata, mmbox, sizeof (mmbox), mbox); -+ -+ rc = imap_exec_msgset (idata, "UID COPY", mmbox, M_EXPIRED, 0, 0); -+ if (rc == 0) { -+ dprint (1, (debugfile, "imap_copy_messages: No messages del-tagged\n")); -+ rc = -1; -+ goto old_way; -+ } else if (rc < 0) { -+ dprint (1, (debugfile, "could not queue copy\n")); -+ goto old_way; -+ } else { -+ mutt_message (_("Copying %d messages to %s..."), rc, mbox); -+ return 0; -+ } -+ } else { -+ dprint (1, (debugfile, "[itf] trashcan seems to be on a different account.\n")); -+ } -+old_way: -+ FREE(&mx.mbox); /* we probably only need to free this when the parse works */ -+ } else { -+ dprint (1, (debugfile, "[itf] failed to parse TrashPath.\n")); -+ } -+ -+ dprint (1, (debugfile, "[itf] giving up and trying old fasioned way.\n")); -+ } -+ -+ return 1; -+} -diff -urN mutt-1.6.1/imap/imap.h mutt-1.6.1-trash/imap/imap.h ---- mutt-1.6.1/imap/imap.h 2016-06-12 18:43:00.405447637 +0100 -+++ mutt-1.6.1-trash/imap/imap.h 2016-06-12 18:43:04.774515769 +0100 -@@ -72,4 +72,7 @@ - - int imap_account_match (const ACCOUNT* a1, const ACCOUNT* a2); - -+/* trash */ -+int imap_fast_trash (void); -+ - #endif -diff -urN mutt-1.6.1/imap/message.c mutt-1.6.1-trash/imap/message.c ---- mutt-1.6.1/imap/message.c 2016-06-12 18:43:00.406447652 +0100 -+++ mutt-1.6.1-trash/imap/message.c 2016-06-12 18:43:04.906517828 +0100 -@@ -886,6 +886,7 @@ - if (ctx->hdrs[n]->tagged) - { - mutt_set_flag (ctx, ctx->hdrs[n], M_DELETE, 1); -+ mutt_set_flag (ctx, ctx->hdrs[n], M_APPENDED, 1); - if (option (OPTDELETEUNTAG)) - mutt_set_flag (ctx, ctx->hdrs[n], M_TAG, 0); - } -@@ -893,6 +894,7 @@ - else - { - mutt_set_flag (ctx, h, M_DELETE, 1); -+ mutt_set_flag (ctx, h, M_APPENDED, 1); - if (option (OPTDELETEUNTAG)) - mutt_set_flag (ctx, h, M_TAG, 0); - } -diff -urN mutt-1.6.1/init.h mutt-1.6.1-trash/init.h ---- mutt-1.6.1/init.h 2016-06-12 18:43:00.408447684 +0100 -+++ mutt-1.6.1-trash/init.h 2016-06-12 18:43:04.909517875 +0100 -@@ -3419,6 +3419,16 @@ - ** provided that ``$$ts_enabled'' has been set. This string is identical in - ** formatting to the one used by ``$$status_format''. - */ -+ { "trash", DT_PATH, R_NONE, UL &TrashPath, 0 }, -+ /* -+ ** .pp -+ ** If set, this variable specifies the path of the trash folder where the -+ ** mails marked for deletion will be moved, instead of being irremediably -+ ** purged. -+ ** .pp -+ ** NOTE: When you delete a message in the trash folder, it is really -+ ** deleted, so that you have a way to clean the trash. -+ */ - #ifdef USE_SOCKET - { "tunnel", DT_STR, R_NONE, UL &Tunnel, UL 0 }, - /* -diff -urN mutt-1.6.1/mutt.h mutt-1.6.1-trash/mutt.h ---- mutt-1.6.1/mutt.h 2016-06-12 18:43:00.410447715 +0100 -+++ mutt-1.6.1-trash/mutt.h 2016-06-12 18:43:04.912517922 +0100 -@@ -182,6 +182,8 @@ - M_DELETE, - M_UNDELETE, - M_DELETED, -+ M_APPENDED, -+ M_PURGED, - M_FLAG, - M_TAG, - M_UNTAG, -@@ -719,6 +721,8 @@ - unsigned int mime : 1; /* has a MIME-Version header? */ - unsigned int flagged : 1; /* marked important? */ - unsigned int tagged : 1; -+ unsigned int appended : 1; /* has been saved */ -+ unsigned int purged : 1; /* bypassing the trash folder */ - unsigned int deleted : 1; - unsigned int changed : 1; - unsigned int attach_del : 1; /* has an attachment marked for deletion */ -@@ -891,6 +895,7 @@ - int new; /* how many new messages? */ - int unread; /* how many unread messages? */ - int deleted; /* how many deleted messages */ -+ int appended; /* how many saved messages? */ - int flagged; /* how many flagged messages */ - int msgnotreadyet; /* which msg "new" in pager, -1 if none */ - -diff -urN mutt-1.6.1/muttlib.c mutt-1.6.1-trash/muttlib.c ---- mutt-1.6.1/muttlib.c 2016-06-12 18:43:00.411447731 +0100 -+++ mutt-1.6.1-trash/muttlib.c 2016-06-12 18:43:04.913517937 +0100 -@@ -1511,7 +1511,9 @@ - - if (magic > 0 && !mx_access (s, W_OK)) - { -- if (option (OPTCONFIRMAPPEND)) -+ if (option (OPTCONFIRMAPPEND) && -+ (!TrashPath || (mutt_strcmp (s, TrashPath) != 0))) -+ /* if we're appending to the trash, there's no point in asking */ - { - snprintf (tmp, sizeof (tmp), _("Append messages to %s?"), s); - if ((rc = mutt_yesorno (tmp, M_YES)) == M_NO) -diff -urN mutt-1.6.1/mx.c mutt-1.6.1-trash/mx.c ---- mutt-1.6.1/mx.c 2016-06-12 18:43:00.411447731 +0100 -+++ mutt-1.6.1-trash/mx.c 2016-06-12 18:43:04.914517953 +0100 -@@ -776,6 +776,62 @@ - return rc; - } - -+/** -+ * trash_append - XXX -+ * -+ * move deleted mails to the trash folder -+ */ -+static int trash_append (CONTEXT *ctx) -+{ -+ CONTEXT *ctx_trash; -+ int i = 0; -+ struct stat st, stc; -+ -+ if (!TrashPath || !ctx->deleted || -+ ((ctx->magic == M_MAILDIR) && option (OPTMAILDIRTRASH))) { -+ return 0; -+ } -+ -+ for (; i < ctx->msgcount && (!ctx->hdrs[i]->deleted || ctx->hdrs[i]->appended); i++); -+ /* nothing */ -+ -+ if (i == ctx->msgcount) -+ return 0; /* nothing to be done */ -+ -+ if (mutt_save_confirm (TrashPath, &st) != 0) { -+ mutt_error _("message(s) not deleted"); -+ return -1; -+ } -+ -+ if (lstat (ctx->path, &stc) == 0 && stc.st_ino == st.st_ino -+ && stc.st_dev == st.st_dev && stc.st_rdev == st.st_rdev) { -+ return 0; /* we are in the trash folder: simple sync */ -+ } -+ -+#ifdef USE_IMAP -+ if (!imap_fast_trash()) -+ return 0; -+#endif -+ -+ if ((ctx_trash = mx_open_mailbox (TrashPath, M_APPEND, NULL)) != NULL) { -+ for (i = 0 ; i < ctx->msgcount ; i++) { -+ if (ctx->hdrs[i]->deleted && !ctx->hdrs[i]->appended -+ && !ctx->hdrs[i]->purged -+ && mutt_append_message (ctx_trash, ctx, ctx->hdrs[i], 0, 0) == -1) { -+ mx_close_mailbox (ctx_trash, NULL); -+ return -1; -+ } -+ } -+ -+ mx_close_mailbox (ctx_trash, NULL); -+ } else { -+ mutt_error _("Can't open trash folder"); -+ return -1; -+ } -+ -+ return 0; -+} -+ - /* save changes and close mailbox */ - int mx_close_mailbox (CONTEXT *ctx, int *index_hint) - { -@@ -912,6 +968,7 @@ - if (mutt_append_message (&f, ctx, ctx->hdrs[i], 0, CH_UPDATE_LEN) == 0) - { - mutt_set_flag (ctx, ctx->hdrs[i], M_DELETE, 1); -+ mutt_set_flag (ctx, ctx->hdrs[i], M_APPENDED, 1); - } - else - { -@@ -936,6 +993,14 @@ - return 0; - } - -+ /* copy mails to the trash before expunging */ -+ if (purge && ctx->deleted && mutt_strcmp (ctx->path, TrashPath)) { -+ if (trash_append (ctx) != 0) { -+ ctx->closing = 0; -+ return -1; -+ } -+ } -+ - #ifdef USE_IMAP - /* allow IMAP to preserve the deleted flag across sessions */ - if (ctx->magic == M_IMAP) -@@ -1140,6 +1205,12 @@ - msgcount = ctx->msgcount; - deleted = ctx->deleted; - -+ if (purge && ctx->deleted && mutt_strcmp (ctx->path, TrashPath)) { -+ if (trash_append (ctx) == -1) { -+ return -1; -+ } -+ } -+ - #ifdef USE_IMAP - if (ctx->magic == M_IMAP) - rc = imap_sync_mailbox (ctx, purge, index_hint); -diff -urN mutt-1.6.1/OPS mutt-1.6.1-trash/OPS ---- mutt-1.6.1/OPS 2016-06-12 18:43:00.389447388 +0100 -+++ mutt-1.6.1-trash/OPS 2016-06-12 18:43:04.883517469 +0100 -@@ -142,6 +142,7 @@ - OP_PREV_LINE "scroll up one line" - OP_PREV_PAGE "move to the previous page" - OP_PRINT "print the current entry" -+OP_PURGE_MESSAGE "really delete the current entry, bypassing the trash folder" - OP_QUERY "query external program for addresses" - OP_QUERY_APPEND "append new query results to current results" - OP_QUIT "save changes to mailbox and quit" -diff -urN mutt-1.6.1/pager.c mutt-1.6.1-trash/pager.c ---- mutt-1.6.1/pager.c 2016-06-12 18:43:00.412447746 +0100 -+++ mutt-1.6.1-trash/pager.c 2016-06-12 18:43:04.915517968 +0100 -@@ -2351,6 +2351,7 @@ - MAYBE_REDRAW (redraw); - break; - -+ case OP_PURGE_MESSAGE: - case OP_DELETE: - CHECK_MODE(IsHeader (extra)); - CHECK_READONLY; -@@ -2358,6 +2359,8 @@ - CHECK_ACL(M_ACL_DELETE, _("Cannot delete message")); - - mutt_set_flag (Context, extra->hdr, M_DELETE, 1); -+ mutt_set_flag (Context, extra->hdr, M_PURGED, -+ ch != OP_PURGE_MESSAGE ? 0 : 1); - if (option (OPTDELETEUNTAG)) - mutt_set_flag (Context, extra->hdr, M_TAG, 0); - redraw = REDRAW_STATUS | REDRAW_INDEX; -@@ -2688,6 +2691,7 @@ - CHECK_ACL(M_ACL_DELETE, _("Cannot undelete message")); - - mutt_set_flag (Context, extra->hdr, M_DELETE, 0); -+ mutt_set_flag (Context, extra->hdr, M_PURGED, 0); - redraw = REDRAW_STATUS | REDRAW_INDEX; - if (option (OPTRESOLVE)) - { -@@ -2704,9 +2708,11 @@ - CHECK_ACL(M_ACL_DELETE, _("Cannot undelete message(s)")); - - r = mutt_thread_set_flag (extra->hdr, M_DELETE, 0, -+ ch == OP_UNDELETE_THREAD ? 0 : 1) -+ + mutt_thread_set_flag (extra->hdr, M_PURGED, 0, - ch == OP_UNDELETE_THREAD ? 0 : 1); - -- if (r != -1) -+ if (r > -1) - { - if (option (OPTRESOLVE)) - { -diff -urN mutt-1.6.1/PATCHES mutt-1.6.1-trash/PATCHES ---- mutt-1.6.1/PATCHES 2016-06-12 18:43:00.395447481 +0100 -+++ mutt-1.6.1-trash/PATCHES 2016-06-12 18:43:04.889517563 +0100 -@@ -0,0 +1 @@ -+patch-trash-neo-20160612 -diff -urN mutt-1.6.1/pattern.c mutt-1.6.1-trash/pattern.c ---- mutt-1.6.1/pattern.c 2016-06-12 18:43:00.413447762 +0100 -+++ mutt-1.6.1-trash/pattern.c 2016-06-12 18:43:04.916517984 +0100 -@@ -1367,8 +1367,9 @@ - { - switch (op) - { -- case M_DELETE: - case M_UNDELETE: -+ mutt_set_flag (Context, Context->hdrs[Context->v2r[i]], M_PURGED, 0); -+ case M_DELETE: - mutt_set_flag (Context, Context->hdrs[Context->v2r[i]], M_DELETE, - (op == M_DELETE)); - break; -diff -urN mutt-1.6.1/postpone.c mutt-1.6.1-trash/postpone.c ---- mutt-1.6.1/postpone.c 2016-06-12 18:43:00.414447777 +0100 -+++ mutt-1.6.1-trash/postpone.c 2016-06-12 18:43:04.917518000 +0100 -@@ -277,6 +277,9 @@ - /* finished with this message, so delete it. */ - mutt_set_flag (PostContext, h, M_DELETE, 1); - -+ /* and consider it saved, so that it won't be moved to the trash folder */ -+ mutt_set_flag (PostContext, h, M_APPENDED, 1); -+ - /* update the count for the status display */ - PostCount = PostContext->msgcount - PostContext->deleted; - -diff -urN mutt-1.6.1/README.trash mutt-1.6.1-trash/README.trash ---- mutt-1.6.1/README.trash 1970-01-01 01:00:00.000000000 +0100 -+++ mutt-1.6.1-trash/README.trash 2016-06-12 18:43:04.748515364 +0100 -@@ -0,0 +1,74 @@ -+Trash Folder Patch -+================== -+ -+ Automatically move "deleted" emails to a trash bin -+ -+Patch -+----- -+ -+ To check if Mutt supports "Trash Folder", look for "patch-trash" in the -+ mutt version. -+ -+ If IMAP is enabled, this patch will use it -+ -+ Dependencies -+ * mutt-1.6.1 -+ * IMAP support -+ -+Introduction -+------------ -+ -+ In Mutt, when you "delete" an email it is first marked deleted. The email -+ isn't really gone until is called. This happens when the -+ user leaves the folder, or the function is called manually. -+ -+ After '' has been called the email is gone forever. -+ -+ The $trash variable defines a folder in which to keep old emails. As -+ before, first you mark emails for deletion. When is called -+ the emails are moved to the trash folder. -+ -+ The '$trash' path can be either a full directory, or be relative to the -+ $folder variable, like the 'mailboxes' command. -+ -+ > Note -+ > -+ > Emails deleted from the trash folder are gone forever. -+ -+Variables -+--------- -+ -+ Trash Variables -+ -+ | Name | Type | Default | -+ |-------|--------|---------| -+ | trash | string | (none) | -+ -+Functions -+--------- -+ -+ Trash Functions -+ -+ | Menus | Default Key | Function | Description | -+ |-------------|-------------|-------------------|-------------------------------------------------------------| -+ | index,pager | (none) | '' | really delete the current entry, bypassing the trash folder | -+ -+See Also -+-------- -+ -+ * NeoMutt project -+ * folder-hook -+ -+Known Bugs -+---------- -+ -+ None -+ -+Credits -+------- -+ -+ * Cedric Duval -+ * Benjamin Kuperman -+ * Paul Miller -+ * Richard Russon -+ From 018f4eb164633a0912097065f6413c40575a67c0 Mon Sep 17 00:00:00 2001 From: mimadrid Date: Sat, 16 Jul 2016 14:02:08 +0200 Subject: [PATCH 078/222] ethtool: 4.5 -> 4.6 --- pkgs/tools/misc/ethtool/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix index 9ffc4723dfd..363aaf3f389 100644 --- a/pkgs/tools/misc/ethtool/default.nix +++ b/pkgs/tools/misc/ethtool/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "ethtool-4.5"; + name = "ethtool-${version}"; + version = "4.6"; src = fetchurl { url = "mirror://kernel/software/network/ethtool/${name}.tar.xz"; - sha256 = "0fyakzpcrjb7hkaj9ccpcgza7r2im17qzxy9w6xzbiss5hrk8a5v"; + sha256 = "e90589a9349d008cce8c0510ac4e8878efdc0ddb1b732a9a4cc333b101313415"; }; meta = with stdenv.lib; { From 16cc4dd3a3cde61c3dd66f96d27f6a699188ee01 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sat, 16 Jul 2016 21:07:21 +0800 Subject: [PATCH 079/222] vtun: add debian gcc5 fix --- pkgs/tools/networking/vtun/default.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/vtun/default.nix b/pkgs/tools/networking/vtun/default.nix index b0397149e60..09f48d9fa1a 100644 --- a/pkgs/tools/networking/vtun/default.nix +++ b/pkgs/tools/networking/vtun/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, lzo, zlib, yacc, flex }: +{ stdenv, fetchurl, fetchpatch, openssl, lzo, zlib, yacc, flex }: stdenv.mkDerivation rec { name = "vtun-3.0.3"; @@ -8,7 +8,13 @@ stdenv.mkDerivation rec { sha256 = "1jxrxp3klhc8az54d5qn84cbc0vdafg319jh84dxkrswii7vxp39"; }; - patchPhase = '' + patches = [ + (fetchpatch { url = http://sources.debian.net/data/main/v/vtun/3.0.3-2.2/debian/patches/08-gcc5-inline.patch; + sha256 = "18sys97v2hx6vac5zp3ld7sa6kz4izv3g9dnkm0lflbaxhym2vs1"; + }) + ]; + + postPatch = '' sed -i -e 's/-m 755//' -e 's/-o root -g 0//' Makefile.in sed -i '/strip/d' Makefile.in ''; From eb34cf1b6dec5017d719e5318e3aea42a1cd9cf5 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sat, 16 Jul 2016 21:57:23 +0800 Subject: [PATCH 080/222] lightum: fix build against systemd-230 --- pkgs/os-specific/linux/lightum/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/os-specific/linux/lightum/default.nix b/pkgs/os-specific/linux/lightum/default.nix index 0ef447ed924..3eaf4363195 100644 --- a/pkgs/os-specific/linux/lightum/default.nix +++ b/pkgs/os-specific/linux/lightum/default.nix @@ -18,6 +18,11 @@ stdenv.mkDerivation { systemd ]; + patchPhase = '' + substituteInPlace Makefile \ + --replace "libsystemd-login" "libsystemd" + ''; + installPhase = '' make install prefix=$out bindir=$out/bin docdir=$out/share/doc \ mandir=$out/share/man INSTALL="install -c" INSTALLDATA="install -c -m 644" From a306cbf86f7bfc889b53240546b528936a5341cc Mon Sep 17 00:00:00 2001 From: Jookia <166291@gmail.com> Date: Mon, 11 Jul 2016 10:43:06 +1000 Subject: [PATCH 081/222] dxx_rebirth: Mark license as nonfree. The actual license prohibits commercial use. --- pkgs/games/d1x-rebirth/default.nix | 2 +- pkgs/games/d2x-rebirth/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/d1x-rebirth/default.nix b/pkgs/games/d1x-rebirth/default.nix index ab8c76680d4..1b587331371 100644 --- a/pkgs/games/d1x-rebirth/default.nix +++ b/pkgs/games/d1x-rebirth/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.dxx-rebirth.com/; description = "Source Port of the Descent 1 engine"; - license = stdenv.lib.licenses.mit; + license = stdenv.lib.licenses.unfree; platforms = with stdenv.lib.platforms; linux; maintainers = with stdenv.lib.maintainers; [viric]; }; diff --git a/pkgs/games/d2x-rebirth/default.nix b/pkgs/games/d2x-rebirth/default.nix index 58df972257e..05d73a4eafe 100644 --- a/pkgs/games/d2x-rebirth/default.nix +++ b/pkgs/games/d2x-rebirth/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.dxx-rebirth.com/; description = "Source Port of the Descent 2 engine"; - license = stdenv.lib.licenses.mit; + license = stdenv.lib.licenses.unfree; platforms = with stdenv.lib.platforms; linux; maintainers = with stdenv.lib.maintainers; [viric]; }; From 5e5165ec6f9171ea831b4f05c141ad74d888a5f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sat, 16 Jul 2016 17:05:56 +0200 Subject: [PATCH 082/222] platinum-searcher: 2.1.1 -> 2.1.3 --- pkgs/tools/text/platinum-searcher/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/text/platinum-searcher/default.nix b/pkgs/tools/text/platinum-searcher/default.nix index 9eae37c6d1a..21a49d493aa 100644 --- a/pkgs/tools/text/platinum-searcher/default.nix +++ b/pkgs/tools/text/platinum-searcher/default.nix @@ -2,8 +2,8 @@ buildGoPackage rec { name = "the_platinum_searcher-${version}"; - version = "2.1.1"; - rev = "v2.1.1"; + version = "2.1.3"; + rev = "v2.1.3"; goPackagePath = "github.com/monochromegane/the_platinum_searcher"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "monochromegane"; repo = "the_platinum_searcher"; - sha256 = "06cs936w3l64ikszcysdm9ijn52kwgi1ffjxkricxbdb677gsk23"; + sha256 = "09pkdfh7fqn3x4l9zaw5wzk20k7nfdwry7br9vfy3vv3fwv61ynp"; }; goDeps = ./deps.json; From d19dc420d250fd115693724af543a3082175b5c0 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 15 Jul 2016 07:37:38 -0500 Subject: [PATCH 083/222] qt56.qtbase: don't use propagatedUserEnvPkgs Fixes #15498. --- pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh index 8d1a453787f..6d8989281eb 100644 --- a/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh +++ b/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh @@ -28,7 +28,6 @@ _qtPropagate() { for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do if [ -d "$1/$dir" ]; then propagateOnce propagatedBuildInputs "$1" - propagateOnce propagatedUserEnvPkgs "$1" break fi done @@ -43,9 +42,6 @@ _qtPropagateNative() { for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do if [ -d "$1/$dir" ]; then propagateOnce propagatedNativeBuildInputs "$1" - if [ -z "$crossConfig" ]; then - propagateOnce propagatedUserEnvPkgs "$1" - fi break fi done From 766ea7c4ca6dc54bd26a28f67a99257bde2ff331 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 15 Jul 2016 07:57:18 -0500 Subject: [PATCH 084/222] qt55.qtbase: update setup hook --- .../libraries/qt-5/5.5/qtbase/setup-hook.sh | 125 +++++++++++++++++- 1 file changed, 122 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh index a9c4fbc855f..6d8989281eb 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh @@ -24,11 +24,10 @@ propagateOnce() { addToSearchPathOnceWithCustomDelimiter ' ' "$@" } -_qtPropagateRuntimeDependencies() { +_qtPropagate() { for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do if [ -d "$1/$dir" ]; then propagateOnce propagatedBuildInputs "$1" - propagateOnce propagatedUserEnvPkgs "$1" break fi done @@ -37,7 +36,23 @@ _qtPropagateRuntimeDependencies() { addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" } -envHooks+=(_qtPropagateRuntimeDependencies) +crossEnvHooks+=(_qtPropagate) + +_qtPropagateNative() { + for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do + if [ -d "$1/$dir" ]; then + propagateOnce propagatedNativeBuildInputs "$1" + break + fi + done + if [ -z "$crossConfig" ]; then + addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins" + addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports" + addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" + fi +} + +envHooks+=(_qtPropagateNative) _qtMultioutDevs() { # This is necessary whether the package is a Qt module or not @@ -50,3 +65,107 @@ if [[ -z "$NIX_QT_PIC" ]]; then export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC" export NIX_QT_PIC=1 fi + +_qtSetCMakePrefix() { + export CMAKE_PREFIX_PATH="$NIX_QT5_TMP${CMAKE_PREFIX_PATH:+:}${CMAKE_PREFIX_PATH}" +} + +_qtRmTmp() { + if [ -z "$NIX_QT_SUBMODULE" ]; then + rm -fr "$NIX_QT5_TMP" + else + cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read file; do + if [ ! -d "$NIX_QT5_TMP/$file" ]; then + rm -f "$NIX_QT5_TMP/$file" + fi + done + + cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read dir; do + if [ -d "$NIX_QT5_TMP/$dir" ]; then + rmdir --ignore-fail-on-non-empty -p "$NIX_QT5_TMP/$dir" + fi + done + + rm "$NIX_QT5_TMP/nix-support/qt-inputs" + fi +} + +_qtSetQmakePath() { + export PATH="$NIX_QT5_TMP/bin${PATH:+:}$PATH" +} + +if [ -z "$NIX_QT5_TMP" ]; then + if [ -z "$NIX_QT_SUBMODULE" ]; then + NIX_QT5_TMP=$(mktemp -d) + else + NIX_QT5_TMP=$out + fi + postInstallHooks+=(_qtRmTmp) + + mkdir -p "$NIX_QT5_TMP/nix-support" + for subdir in bin include lib mkspecs share; do + mkdir "$NIX_QT5_TMP/$subdir" + echo "$subdir/" >> "$NIX_QT5_TMP/nix-support/qt-inputs" + done + + postHooks+=(_qtSetCMakePrefix) + + cp "@dev@/bin/qmake" "$NIX_QT5_TMP/bin" + echo "bin/qmake" >> "$NIX_QT5_TMP/nix-support/qt-inputs" + + cat >"$NIX_QT5_TMP/bin/qt.conf" <> "$NIX_QT5_TMP/nix-support/qt-inputs" + + export QMAKE="$NIX_QT5_TMP/bin/qmake" + + # Set PATH to find qmake first in a preConfigure hook + # It must run after all the envHooks! + preConfigureHooks+=(_qtSetQmakePath) +fi + +qt5LinkModuleDir() { + if [ -d "$1/$2" ]; then + @lndir@/bin/lndir -silent "$1/$2" "$NIX_QT5_TMP/$2" + find "$1/$2" -printf "$2/%P\n" >> "$NIX_QT5_TMP/nix-support/qt-inputs" + fi +} + +NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" +NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@" + +_qtLinkAllModules() { + IFS=: read -a modules <<< $NIX_QT5_MODULES + for module in ${modules[@]}; do + qt5LinkModuleDir "$module" "lib" + done + + IFS=: read -a modules <<< $NIX_QT5_MODULES_DEV + for module in ${modules[@]}; do + qt5LinkModuleDir "$module" "bin" + qt5LinkModuleDir "$module" "include" + qt5LinkModuleDir "$module" "lib" + qt5LinkModuleDir "$module" "mkspecs" + qt5LinkModuleDir "$module" "share" + done +} + +preConfigureHooks+=(_qtLinkAllModules) + +_qtFixCMakePaths() { + find "${!outputLib}" -name "*.cmake" | while read file; do + substituteInPlace "$file" \ + --subst-var-by NIX_OUT "${!outputLib}" \ + --subst-var-by NIX_DEV "${!outputDev}" + done +} + +if [ -n "$NIX_QT_SUBMODULE" ]; then + postInstallHooks+=(_qtFixCMakePaths) +fi From 1cb4aacf180cf2e087f59f8810caf405f101839e Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 15 Jul 2016 09:37:11 -0500 Subject: [PATCH 085/222] nixos/kde5: fix paths to setuid programs --- nixos/modules/services/x11/desktop-managers/kde5.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index 060dda1a70a..312e4d72585 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -50,13 +50,13 @@ in security.setuidOwners = [ { program = "kcheckpass"; - source = "${kde5.plasma-workspace}/lib/libexec/kcheckpass"; + source = "${kde5.plasma-workspace.out}/lib/libexec/kcheckpass"; owner = "root"; setuid = true; } { program = "start_kdeinit_wrapper"; - source = "${kde5.plasma-workspace}/lib/libexec/kf5/start_kdeinit_wrapper"; + source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit_wrapper"; owner = "root"; setuid = true; } From 949277ed0a2d772476f83a108783c2ff1af68342 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 15 Jul 2016 09:43:35 -0500 Subject: [PATCH 086/222] kde5.startkde: append extra PATH elements; set Qt search paths --- .../kde-5/plasma/startkde/default.nix | 48 ++++++++++++++----- .../kde-5/plasma/startkde/startkde.sh | 6 ++- 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/pkgs/desktops/kde-5/plasma/startkde/default.nix b/pkgs/desktops/kde-5/plasma/startkde/default.nix index 30e986c21b4..516d651cec2 100644 --- a/pkgs/desktops/kde-5/plasma/startkde/default.nix +++ b/pkgs/desktops/kde-5/plasma/startkde/default.nix @@ -1,16 +1,15 @@ -{ stdenv, lib, runCommand -, dbus, qttools, socat -, gnugrep, gnused -, kconfig, kinit, kservice -, plasma-workspace -, xmessage, xprop, xsetroot +{ + stdenv, lib, runCommand, dbus, qttools, socat, gnugrep, gnused, kconfig, + kinit, kservice, plasma-workspace, xmessage, xprop, xsetroot, qtbase, + qtdeclarative, qtgraphicaleffects, qtquickcontrols, qtscript, qtsvg, + qtx11extras, qtxmlpatterns }: let env = { inherit (stdenv) shell; - paths = builtins.map (pkg: pkg.out or pkg) + bins = builtins.map (pkg: pkg.out or pkg) [ dbus qttools socat gnugrep gnused @@ -18,15 +17,38 @@ let plasma-workspace xmessage xprop xsetroot ]; + libs = builtins.map (pkg: pkg.out or pkg) + [ + qtbase qtdeclarative qtgraphicaleffects qtquickcontrols + qtscript qtsvg qtx11extras qtxmlpatterns + ]; }; in runCommand "startkde" env '' - prefix_PATH= - for pkg in $paths; do - addToSearchPath prefix_PATH "$pkg/bin" - addToSearchPath prefix_PATH "$pkg/lib/libexec" - addToSearchPath prefix_PATH "$pkg/lib/libexec/kf5" + + # Configure PATH variable + suffixPATH= + for p in $bins; do + addToSearchPath suffixPATH "$p/bin" + addToSearchPath suffixPATH "$p/lib/libexec" + addToSearchPath suffixPATH "$p/lib/libexec/kf5" done - substitute ${./startkde.sh} "$out" --subst-var shell --subst-var prefix_PATH + + # Configure Qt search paths + QT_PLUGIN_PATH= + QML_IMPORT_PATH= + QML2_IMPORT_PATH= + for p in $libs; do + addToSearchPath QT_PLUGIN_PATH "$p/lib/qt5/plugins" + addToSearchPath QML_IMPORT_PATH "$p/lib/qt5/imports" + addToSearchPath QML2_IMPORT_PATH "$p/lib/qt5/qml" + done + + substitute ${./startkde.sh} "$out" \ + --subst-var shell \ + --subst-var suffixPATH \ + --subst-var QT_PLUGIN_PATH \ + --subst-var QML_IMPORT_PATH \ + --subst-var QML2_IMPORT_PATH chmod +x "$out" '' diff --git a/pkgs/desktops/kde-5/plasma/startkde/startkde.sh b/pkgs/desktops/kde-5/plasma/startkde/startkde.sh index d839226a456..a626fdc2b5a 100755 --- a/pkgs/desktops/kde-5/plasma/startkde/startkde.sh +++ b/pkgs/desktops/kde-5/plasma/startkde/startkde.sh @@ -1,6 +1,10 @@ #!@shell@ -PATH="@prefix_PATH@:$PATH" +PATH="$PATH${PATH:+:}@suffixPATH@" + +export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}@QT_PLUGIN_PATH@" +export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}@QML_IMPORT_PATH@" +export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}@QML2_IMPORT_PATH@" # The KDE icon cache is supposed to update itself # automatically, but it uses the timestamp on the icon From 888c66f97d592ebb2579527da722843a5e99a5b8 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 15 Jul 2016 09:52:40 -0500 Subject: [PATCH 087/222] nixos/kde5: disable setuid wrapper for kdeinit We need to pass certain environment variables through the wrapper, but I don't know how to do that yet. The setuid-root feature serves only to hide kdeinit from the OOM killer, so this is not critical. --- nixos/modules/services/x11/desktop-managers/kde5.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index 312e4d72585..f94e1b6559a 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -54,12 +54,16 @@ in owner = "root"; setuid = true; } + # ttuegel: Disabled until I can figure out how to propagate the + # necessary environment variables. + /* { program = "start_kdeinit_wrapper"; source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit_wrapper"; owner = "root"; setuid = true; } + */ ]; environment.systemPackages = From 512212db36b3a3afec6ae38081028e51927ad3bc Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 15 Jul 2016 09:59:21 -0500 Subject: [PATCH 088/222] kde5.frameworks: unwrap all frameworks --- .../kde-5/applications/ark/default.nix | 51 ++++++++----------- pkgs/desktops/kde-5/frameworks/baloo.nix | 11 +--- pkgs/desktops/kde-5/frameworks/kconfig.nix | 11 +--- .../frameworks/kconfigwidgets/default.nix | 5 +- .../desktops/kde-5/frameworks/kcoreaddons.nix | 7 +-- .../desktops/kde-5/frameworks/kdbusaddons.nix | 10 +--- .../kde-5/frameworks/kdeclarative.nix | 7 +-- .../kde-5/frameworks/kdesignerplugin.nix | 7 +-- .../kde-5/frameworks/kdoctools/default.nix | 4 +- .../kde-5/frameworks/kglobalaccel.nix | 6 +-- .../kde-5/frameworks/kiconthemes/default.nix | 7 +-- .../desktops/kde-5/frameworks/kio/default.nix | 10 +--- pkgs/desktops/kde-5/frameworks/kjs.nix | 6 +-- pkgs/desktops/kde-5/frameworks/kjsembed.nix | 8 +-- .../kde-5/frameworks/kpackage/default.nix | 6 +-- .../kde-5/frameworks/ktexteditor/default.nix | 4 +- pkgs/desktops/kde-5/frameworks/kwallet.nix | 8 +-- .../kde-5/frameworks/plasma-framework.nix | 7 +-- pkgs/desktops/kde-5/frameworks/solid.nix | 6 +-- .../kde-5/plasma/plasma-workspace/default.nix | 39 +++++--------- 20 files changed, 64 insertions(+), 156 deletions(-) diff --git a/pkgs/desktops/kde-5/applications/ark/default.nix b/pkgs/desktops/kde-5/applications/ark/default.nix index 331c8c647ca..0af13b645e1 100644 --- a/pkgs/desktops/kde-5/applications/ark/default.nix +++ b/pkgs/desktops/kde-5/applications/ark/default.nix @@ -1,44 +1,33 @@ -{ kdeApp -, lib -, extra-cmake-modules -, kdoctools -, karchive -, kconfig -, kcrash -, kdbusaddons -, ki18n -, kiconthemes -, khtml -, kio -, kservice -, kpty -, kwidgetsaddons -, libarchive -, p7zip -, unrar -, unzipNLS -, zip -}: +{ + kdeApp, lib, -let PATH = lib.makeBinPath [ - p7zip unrar unzipNLS zip - ]; -in + extra-cmake-modules, kdoctools, makeQtWrapper, + + karchive, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, khtml, kio, + kservice, kpty, kwidgetsaddons, libarchive, + + # Archive tools + p7zip, unrar, unzipNLS, zip +}: kdeApp { name = "ark"; nativeBuildInputs = [ - extra-cmake-modules - kdoctools + extra-cmake-modules kdoctools makeQtWrapper ]; propagatedBuildInputs = [ khtml ki18n kio karchive kconfig kcrash kdbusaddons kiconthemes kservice kpty kwidgetsaddons libarchive ]; - postInstall = '' - wrapQtProgram "$out/bin/ark" \ - --prefix PATH : "${PATH}" - ''; + postInstall = + let + PATH = lib.makeBinPath [ + p7zip unrar unzipNLS zip + ]; + in '' + wrapQtProgram "$out/bin/ark" \ + --prefix PATH : "${PATH}" + ''; meta = { license = with lib.licenses; [ gpl2 lgpl3 ]; maintainers = [ lib.maintainers.ttuegel ]; diff --git a/pkgs/desktops/kde-5/frameworks/baloo.nix b/pkgs/desktops/kde-5/frameworks/baloo.nix index f676da0f4c8..825a125c8a7 100644 --- a/pkgs/desktops/kde-5/frameworks/baloo.nix +++ b/pkgs/desktops/kde-5/frameworks/baloo.nix @@ -1,22 +1,15 @@ { kdeFramework, lib, extra-cmake-modules, kauth, kconfig , kcoreaddons, kcrash, kdbusaddons, kfilemetadata, ki18n, kidletime -, kio, lmdb, makeQtWrapper, qtbase, solid +, kio, lmdb, qtbase, solid }: kdeFramework { name = "baloo"; - nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules ]; propagatedBuildInputs = [ kauth kconfig kcoreaddons kcrash kdbusaddons kfilemetadata ki18n kio kidletime lmdb qtbase solid ]; - postInstall = '' - wrapQtProgram "$out/bin/baloo_file" - wrapQtProgram "$out/bin/baloo_file_extractor" - wrapQtProgram "$out/bin/balooctl" - wrapQtProgram "$out/bin/baloosearch" - wrapQtProgram "$out/bin/balooshow" - ''; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; diff --git a/pkgs/desktops/kde-5/frameworks/kconfig.nix b/pkgs/desktops/kde-5/frameworks/kconfig.nix index e132afe5988..154329d0e98 100644 --- a/pkgs/desktops/kde-5/frameworks/kconfig.nix +++ b/pkgs/desktops/kde-5/frameworks/kconfig.nix @@ -1,16 +1,9 @@ { kdeFramework, lib , extra-cmake-modules -, makeQtWrapper }: kdeFramework { name = "kconfig"; - nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; - postInstall = '' - wrapQtProgram "$out/bin/kreadconfig5" - wrapQtProgram "$out/bin/kwriteconfig5" - ''; - meta = { - maintainers = [ lib.maintainers.ttuegel ]; - }; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ extra-cmake-modules ]; } diff --git a/pkgs/desktops/kde-5/frameworks/kconfigwidgets/default.nix b/pkgs/desktops/kde-5/frameworks/kconfigwidgets/default.nix index 1e6976113de..f507abe2991 100644 --- a/pkgs/desktops/kde-5/frameworks/kconfigwidgets/default.nix +++ b/pkgs/desktops/kde-5/frameworks/kconfigwidgets/default.nix @@ -1,15 +1,14 @@ { kdeFramework, lib, extra-cmake-modules, kauth, kcodecs, kconfig -, kdoctools, kguiaddons, ki18n, kwidgetsaddons, makeQtWrapper +, kdoctools, kguiaddons, ki18n, kwidgetsaddons }: kdeFramework { name = "kconfigwidgets"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedBuildInputs = [ kauth kconfig kcodecs kguiaddons ki18n kwidgetsaddons ]; patches = [ ./0001-qdiriterator-follow-symlinks.patch ]; postInstall = '' moveToOutput "bin/preparetips5" "$dev" - wrapQtProgram "$dev/bin/preparetips5" ''; } diff --git a/pkgs/desktops/kde-5/frameworks/kcoreaddons.nix b/pkgs/desktops/kde-5/frameworks/kcoreaddons.nix index 846b187c866..94b4136df3d 100644 --- a/pkgs/desktops/kde-5/frameworks/kcoreaddons.nix +++ b/pkgs/desktops/kde-5/frameworks/kcoreaddons.nix @@ -1,4 +1,4 @@ -{ kdeFramework, lib, makeQtWrapper +{ kdeFramework, lib , extra-cmake-modules , shared_mime_info }: @@ -6,9 +6,6 @@ kdeFramework { name = "kcoreaddons"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules ]; propagatedBuildInputs = [ shared_mime_info ]; - postInstall = '' - wrapQtProgram "$out/bin/desktoptojson" - ''; } diff --git a/pkgs/desktops/kde-5/frameworks/kdbusaddons.nix b/pkgs/desktops/kde-5/frameworks/kdbusaddons.nix index d2ceab31d14..eadd645fb99 100644 --- a/pkgs/desktops/kde-5/frameworks/kdbusaddons.nix +++ b/pkgs/desktops/kde-5/frameworks/kdbusaddons.nix @@ -1,17 +1,11 @@ { kdeFramework, lib , extra-cmake-modules -, makeQtWrapper , qtx11extras }: kdeFramework { name = "kdbusaddons"; - nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ extra-cmake-modules ]; propagatedBuildInputs = [ qtx11extras ]; - postInstall = '' - wrapQtProgram "$out/bin/kquitapp5" - ''; - meta = { - maintainers = [ lib.maintainers.ttuegel ]; - }; } diff --git a/pkgs/desktops/kde-5/frameworks/kdeclarative.nix b/pkgs/desktops/kde-5/frameworks/kdeclarative.nix index af9a009b82e..8db1b73c91a 100644 --- a/pkgs/desktops/kde-5/frameworks/kdeclarative.nix +++ b/pkgs/desktops/kde-5/frameworks/kdeclarative.nix @@ -1,18 +1,15 @@ { kdeFramework, lib, extra-cmake-modules, epoxy, kconfig , kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kpackage -, kwidgetsaddons, kwindowsystem, makeQtWrapper, pkgconfig +, kwidgetsaddons, kwindowsystem, pkgconfig , qtdeclarative }: kdeFramework { name = "kdeclarative"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules ]; propagatedBuildInputs = [ epoxy kconfig kglobalaccel kguiaddons ki18n kiconthemes kio kpackage kwidgetsaddons kwindowsystem qtdeclarative ]; - postInstall = '' - wrapQtProgram "$out/bin/kpackagelauncherqml" - ''; } diff --git a/pkgs/desktops/kde-5/frameworks/kdesignerplugin.nix b/pkgs/desktops/kde-5/frameworks/kdesignerplugin.nix index a99587bbf04..8e17a1a60c8 100644 --- a/pkgs/desktops/kde-5/frameworks/kdesignerplugin.nix +++ b/pkgs/desktops/kde-5/frameworks/kdesignerplugin.nix @@ -1,4 +1,4 @@ -{ kdeFramework, lib, makeQtWrapper +{ kdeFramework, lib , extra-cmake-modules , kcompletion , kconfig @@ -18,12 +18,9 @@ kdeFramework { name = "kdesignerplugin"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedBuildInputs = [ kcompletion kconfig kconfigwidgets kcoreaddons kiconthemes kio kitemviews kplotting ktextwidgets kwidgetsaddons kxmlgui sonnet ]; - postInstall = '' - wrapQtProgram "$out/bin/kgendesignerplugin" - ''; } diff --git a/pkgs/desktops/kde-5/frameworks/kdoctools/default.nix b/pkgs/desktops/kde-5/frameworks/kdoctools/default.nix index 0ed249da9a4..99fc4c7d023 100644 --- a/pkgs/desktops/kde-5/frameworks/kdoctools/default.nix +++ b/pkgs/desktops/kde-5/frameworks/kdoctools/default.nix @@ -1,5 +1,5 @@ { kdeFramework, lib, extra-cmake-modules, docbook_xml_dtd_45 -, docbook5_xsl, karchive, ki18n, makeQtWrapper, perl, perlPackages +, docbook5_xsl, karchive, ki18n, perl, perlPackages }: kdeFramework { @@ -7,7 +7,7 @@ kdeFramework { meta = { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; propagatedBuildInputs = [ karchive ki18n ]; - propagatedNativeBuildInputs = [ makeQtWrapper perl perlPackages.URI ]; + propagatedNativeBuildInputs = [ perl perlPackages.URI ]; cmakeFlags = [ "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook" "-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook" diff --git a/pkgs/desktops/kde-5/frameworks/kglobalaccel.nix b/pkgs/desktops/kde-5/frameworks/kglobalaccel.nix index 79db990f191..4743d0b8f1b 100644 --- a/pkgs/desktops/kde-5/frameworks/kglobalaccel.nix +++ b/pkgs/desktops/kde-5/frameworks/kglobalaccel.nix @@ -5,18 +5,14 @@ , kcrash , kdbusaddons , kwindowsystem -, makeQtWrapper , qtx11extras }: kdeFramework { name = "kglobalaccel"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules ]; propagatedBuildInputs = [ kconfig kcoreaddons kcrash kdbusaddons kwindowsystem qtx11extras ]; - postInstall = '' - wrapQtProgram "$out/bin/kglobalaccel5" - ''; } diff --git a/pkgs/desktops/kde-5/frameworks/kiconthemes/default.nix b/pkgs/desktops/kde-5/frameworks/kiconthemes/default.nix index 825b15c8177..6102bb0d4b5 100644 --- a/pkgs/desktops/kde-5/frameworks/kiconthemes/default.nix +++ b/pkgs/desktops/kde-5/frameworks/kiconthemes/default.nix @@ -1,5 +1,5 @@ { kdeFramework, lib, copyPathsToStore -, extra-cmake-modules, makeQtWrapper +, extra-cmake-modules , karchive, kconfigwidgets, ki18n, breeze-icons, kitemviews, qtsvg }: @@ -7,9 +7,6 @@ kdeFramework { name = "kiconthemes"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); - nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules ]; propagatedBuildInputs = [ breeze-icons kconfigwidgets karchive ki18n kitemviews qtsvg ]; - postInstall = '' - wrapQtProgram "$out/bin/kiconfinder5" - ''; } diff --git a/pkgs/desktops/kde-5/frameworks/kio/default.nix b/pkgs/desktops/kde-5/frameworks/kio/default.nix index 7e4317a3f09..cb67c845903 100644 --- a/pkgs/desktops/kde-5/frameworks/kio/default.nix +++ b/pkgs/desktops/kde-5/frameworks/kio/default.nix @@ -3,14 +3,14 @@ , kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes, kitemviews , kjobwidgets, knotifications, kservice, ktextwidgets, kwallet -, kwidgetsaddons, kwindowsystem, kxmlgui, makeQtWrapper +, kwidgetsaddons, kwindowsystem, kxmlgui , qtscript, qtx11extras, solid }: kdeFramework { name = "kio"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedBuildInputs = [ acl karchive kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons ki18n kiconthemes kitemviews kjobwidgets knotifications kservice @@ -18,10 +18,4 @@ kdeFramework { qtx11extras ]; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); - postInstall = '' - wrapQtProgram "$out/bin/kcookiejar5" - wrapQtProgram "$out/bin/ktelnetservice5" - wrapQtProgram "$out/bin/ktrash5" - wrapQtProgram "$out/bin/protocoltojson" - ''; } diff --git a/pkgs/desktops/kde-5/frameworks/kjs.nix b/pkgs/desktops/kde-5/frameworks/kjs.nix index 1a8750ea74f..abdc15ce8df 100644 --- a/pkgs/desktops/kde-5/frameworks/kjs.nix +++ b/pkgs/desktops/kde-5/frameworks/kjs.nix @@ -1,14 +1,10 @@ { kdeFramework, lib , extra-cmake-modules , kdoctools -, makeQtWrapper }: kdeFramework { name = "kjs"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; - postInstall = '' - wrapQtProgram "$out/bin/kjs5" - ''; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; } diff --git a/pkgs/desktops/kde-5/frameworks/kjsembed.nix b/pkgs/desktops/kde-5/frameworks/kjsembed.nix index 7611b831007..95bc02422f1 100644 --- a/pkgs/desktops/kde-5/frameworks/kjsembed.nix +++ b/pkgs/desktops/kde-5/frameworks/kjsembed.nix @@ -1,14 +1,10 @@ { kdeFramework, lib, extra-cmake-modules, kdoctools, ki18n, kjs -, makeQtWrapper, qtsvg +, qtsvg }: kdeFramework { name = "kjsembed"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedBuildInputs = [ ki18n kjs qtsvg ]; - postInstall = '' - wrapQtProgram "$out/bin/kjscmd5" - wrapQtProgram "$out/bin/kjsconsole" - ''; } diff --git a/pkgs/desktops/kde-5/frameworks/kpackage/default.nix b/pkgs/desktops/kde-5/frameworks/kpackage/default.nix index 874bb380d73..a39a672574b 100644 --- a/pkgs/desktops/kde-5/frameworks/kpackage/default.nix +++ b/pkgs/desktops/kde-5/frameworks/kpackage/default.nix @@ -5,16 +5,12 @@ , kcoreaddons , kdoctools , ki18n -, makeQtWrapper }: kdeFramework { name = "kpackage"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedBuildInputs = [ karchive kconfig kcoreaddons ki18n ]; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); - postInstall = '' - wrapQtProgram "$out/bin/kpackagetool5" - ''; } diff --git a/pkgs/desktops/kde-5/frameworks/ktexteditor/default.nix b/pkgs/desktops/kde-5/frameworks/ktexteditor/default.nix index e1a5e8b2339..a35af2e7fbf 100644 --- a/pkgs/desktops/kde-5/frameworks/ktexteditor/default.nix +++ b/pkgs/desktops/kde-5/frameworks/ktexteditor/default.nix @@ -1,5 +1,5 @@ { kdeFramework, lib, copyPathsToStore -, extra-cmake-modules, makeQtWrapper, perl +, extra-cmake-modules, perl , karchive, kconfig, kguiaddons, kiconthemes, kparts , libgit2 , qtscript, qtxmlpatterns @@ -9,7 +9,7 @@ kdeFramework { name = "ktexteditor"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules makeQtWrapper perl ]; + nativeBuildInputs = [ extra-cmake-modules perl ]; propagatedBuildInputs = [ karchive kconfig kguiaddons ki18n kiconthemes kio kparts libgit2 qtscript qtxmlpatterns sonnet diff --git a/pkgs/desktops/kde-5/frameworks/kwallet.nix b/pkgs/desktops/kde-5/frameworks/kwallet.nix index 3bb99df39a7..f02c6138df7 100644 --- a/pkgs/desktops/kde-5/frameworks/kwallet.nix +++ b/pkgs/desktops/kde-5/frameworks/kwallet.nix @@ -1,18 +1,14 @@ { kdeFramework, lib, extra-cmake-modules, kconfig, kconfigwidgets , kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes , knotifications , kservice, kwidgetsaddons, kwindowsystem, libgcrypt -, makeQtWrapper }: +}: kdeFramework { name = "kwallet"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedBuildInputs = [ kconfig kconfigwidgets kcoreaddons kdbusaddons ki18n kiconthemes knotifications kservice kwidgetsaddons kwindowsystem libgcrypt ]; - postInstall = '' - wrapQtProgram "$out/bin/kwalletd5" - wrapQtProgram "$out/bin/kwallet-query" - ''; } diff --git a/pkgs/desktops/kde-5/frameworks/plasma-framework.nix b/pkgs/desktops/kde-5/frameworks/plasma-framework.nix index 2a8762c814f..a4138148653 100644 --- a/pkgs/desktops/kde-5/frameworks/plasma-framework.nix +++ b/pkgs/desktops/kde-5/frameworks/plasma-framework.nix @@ -2,19 +2,16 @@ , kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative , kdoctools, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio , knotifications, kpackage, kservice, kwindowsystem, kxmlgui -, makeQtWrapper, qtscript, qtx11extras +, qtscript, qtx11extras }: kdeFramework { name = "plasma-framework"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedBuildInputs = [ kactivities karchive kconfig kconfigwidgets kcoreaddons kdbusaddons kdeclarative kglobalaccel kguiaddons ki18n kiconthemes kio knotifications kpackage kservice kwindowsystem kxmlgui qtscript qtx11extras ]; - postInstall = '' - wrapQtProgram "$out/bin/plasmapkg2" - ''; } diff --git a/pkgs/desktops/kde-5/frameworks/solid.nix b/pkgs/desktops/kde-5/frameworks/solid.nix index f1db5c35c10..c4f580fe1c2 100644 --- a/pkgs/desktops/kde-5/frameworks/solid.nix +++ b/pkgs/desktops/kde-5/frameworks/solid.nix @@ -1,15 +1,11 @@ { kdeFramework, lib , extra-cmake-modules -, makeQtWrapper , qtdeclarative }: kdeFramework { name = "solid"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + nativeBuildInputs = [ extra-cmake-modules ]; propagatedBuildInputs = [ qtdeclarative ]; - postInstall = '' - wrapQtProgram "$out/bin/solid-hardware5" - ''; } diff --git a/pkgs/desktops/kde-5/plasma/plasma-workspace/default.nix b/pkgs/desktops/kde-5/plasma/plasma-workspace/default.nix index bb65e1af937..190003ca5c7 100644 --- a/pkgs/desktops/kde-5/plasma/plasma-workspace/default.nix +++ b/pkgs/desktops/kde-5/plasma/plasma-workspace/default.nix @@ -1,19 +1,21 @@ -{ plasmaPackage, lib, copyPathsToStore -, extra-cmake-modules, kdoctools -, baloo, kactivities, kcmutils, kconfig, kcrash, kdbusaddons, kdeclarative -, kdelibs4support, kdesu, kglobalaccel, kidletime, kjsembed, knewstuff -, knotifyconfig, kpackage, krunner, ktexteditor, ktextwidgets, kwallet, kwayland -, kwin, kxmlrpcclient, libkscreen, libksysguard, networkmanager-qt, phonon -, plasma-framework, qtquickcontrols, qtscript, qtx11extras, solid -, isocodes, libdbusmenu, libSM, libXcursor, pam, wayland +{ + plasmaPackage, lib, copyPathsToStore, + + extra-cmake-modules, kdoctools, + + baloo, kactivities, kcmutils, kconfig, kcrash, kdbusaddons, kdeclarative, + kdelibs4support, kdesu, kglobalaccel, kidletime, kjsembed, knewstuff, + knotifyconfig, kpackage, krunner, ktexteditor, ktextwidgets, kwallet, kwayland, + kwin, kxmlrpcclient, libkscreen, libksysguard, networkmanager-qt, phonon, + plasma-framework, qtquickcontrols, qtscript, qtx11extras, solid, isocodes, + libdbusmenu, libSM, libXcursor, pam, wayland }: plasmaPackage { name = "plasma-workspace"; nativeBuildInputs = [ - extra-cmake-modules - kdoctools + extra-cmake-modules kdoctools ]; buildInputs = [ baloo kactivities kcmutils kconfig kcrash kdbusaddons kdeclarative @@ -37,21 +39,4 @@ plasmaPackage { rm "$out/lib/libexec/startplasma" rm -r "$out/share/wayland-sessions" ''; - - preFixup = '' - wrapQtProgram $out/bin/kcheckrunning - wrapQtProgram $out/bin/kcminit - wrapQtProgram $out/bin/kcminit_startup - wrapQtProgram $out/bin/kdostartupconfig5 - wrapQtProgram $out/bin/klipper - wrapQtProgram $out/bin/krunner - wrapQtProgram $out/bin/ksmserver - wrapQtProgram $out/bin/ksplashqml - wrapQtProgram $out/bin/kstartupconfig5 - wrapQtProgram $out/bin/kuiserver5 - wrapQtProgram $out/bin/plasmashell - wrapQtProgram $out/bin/plasmawindowed - wrapQtProgram $out/bin/systemmonitor - wrapQtProgram $out/bin/xembedsniproxy - ''; } From d3747a2261515c1463517cd5963e7ab73fbd7fbf Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 15 Jul 2016 12:10:54 -0500 Subject: [PATCH 089/222] kinit: use a setuid wrapper for start_kdeinit --- .../modules/services/x11/desktop-managers/kde5.nix | 8 ++------ pkgs/desktops/kde-5/frameworks/kinit/default.nix | 10 ++++++---- .../kde-5/frameworks/kinit/kinit-libpath.patch | 8 ++++---- pkgs/desktops/kde-5/frameworks/kinit/series | 1 + .../kde-5/frameworks/kinit/start_kdeinit-path.patch | 13 +++++++++++++ 5 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 pkgs/desktops/kde-5/frameworks/kinit/start_kdeinit-path.patch diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index f94e1b6559a..9b07dfed3bd 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -54,16 +54,12 @@ in owner = "root"; setuid = true; } - # ttuegel: Disabled until I can figure out how to propagate the - # necessary environment variables. - /* { - program = "start_kdeinit_wrapper"; - source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit_wrapper"; + program = "start_kdeinit"; + source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit"; owner = "root"; setuid = true; } - */ ]; environment.systemPackages = diff --git a/pkgs/desktops/kde-5/frameworks/kinit/default.nix b/pkgs/desktops/kde-5/frameworks/kinit/default.nix index 08901010de8..b965f761e92 100644 --- a/pkgs/desktops/kde-5/frameworks/kinit/default.nix +++ b/pkgs/desktops/kde-5/frameworks/kinit/default.nix @@ -1,13 +1,15 @@ -{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules, kconfig, kcrash -, kdoctools, ki18n, kio, kservice, kwindowsystem, libcap +{ + kdeFramework, lib, copyPathsToStore, + extra-cmake-modules, kdoctools, + kconfig, kcrash, ki18n, kio, kservice, kwindowsystem }: kdeFramework { name = "kinit"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools libcap.out ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedBuildInputs = [ - kconfig kcrash ki18n kio kservice kwindowsystem libcap + kconfig kcrash ki18n kio kservice kwindowsystem ]; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); } diff --git a/pkgs/desktops/kde-5/frameworks/kinit/kinit-libpath.patch b/pkgs/desktops/kde-5/frameworks/kinit/kinit-libpath.patch index 47538fbe456..a5c76fca248 100644 --- a/pkgs/desktops/kde-5/frameworks/kinit/kinit-libpath.patch +++ b/pkgs/desktops/kde-5/frameworks/kinit/kinit-libpath.patch @@ -1,8 +1,8 @@ -Index: kinit-5.21.0/src/kdeinit/kinit.cpp +Index: kinit-5.24.0/src/kdeinit/kinit.cpp =================================================================== ---- kinit-5.21.0.orig/src/kdeinit/kinit.cpp -+++ kinit-5.21.0/src/kdeinit/kinit.cpp -@@ -657,19 +657,16 @@ static pid_t launch(int argc, const char +--- kinit-5.24.0.orig/src/kdeinit/kinit.cpp ++++ kinit-5.24.0/src/kdeinit/kinit.cpp +@@ -672,19 +672,16 @@ static pid_t launch(int argc, const char if (!libpath.isEmpty()) { if (libpath_relative) { diff --git a/pkgs/desktops/kde-5/frameworks/kinit/series b/pkgs/desktops/kde-5/frameworks/kinit/series index 5faa456366b..576b8a935bf 100644 --- a/pkgs/desktops/kde-5/frameworks/kinit/series +++ b/pkgs/desktops/kde-5/frameworks/kinit/series @@ -1 +1,2 @@ kinit-libpath.patch +start_kdeinit-path.patch diff --git a/pkgs/desktops/kde-5/frameworks/kinit/start_kdeinit-path.patch b/pkgs/desktops/kde-5/frameworks/kinit/start_kdeinit-path.patch new file mode 100644 index 00000000000..fbecf9433f6 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks/kinit/start_kdeinit-path.patch @@ -0,0 +1,13 @@ +Index: kinit-5.24.0/src/start_kdeinit/start_kdeinit_wrapper.c +=================================================================== +--- kinit-5.24.0.orig/src/start_kdeinit/start_kdeinit_wrapper.c ++++ kinit-5.24.0/src/start_kdeinit/start_kdeinit_wrapper.c +@@ -23,7 +23,7 @@ + #include + #include + +-#define EXECUTE CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit" ++#define EXECUTE "/var/setuid-wrappers/start_kdeinit" + + #if KDEINIT_OOM_PROTECT + From 32c1f05aedb978e6b9ea643e8a41f5776414272f Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 15 Jul 2016 17:59:17 -0500 Subject: [PATCH 090/222] nixos/kde5: install missing frameworks --- .../services/x11/desktop-managers/kde5.nix | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index 9b07dfed3bd..d8697238ee5 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -65,7 +65,45 @@ in environment.systemPackages = [ kde5.frameworkintegration + kde5.kactivities + kde5.kauth + kde5.kcmutils + kde5.kconfig + kde5.kconfigwidgets + kde5.kcoreaddons + kde5.kdbusaddons + kde5.kdeclarative + kde5.kded + kde5.kdesu + kde5.kdnssd + kde5.kemoticons + kde5.kfilemetadata + kde5.kglobalaccel + kde5.kguiaddons + kde5.kiconthemes + kde5.kidletime + kde5.kimageformats kde5.kinit + kde5.kio + kde5.kjobwidgets + kde5.knewstuff + kde5.knotifications + kde5.knotifyconfig + kde5.kpackage + kde5.kparts + kde5.kpeople + kde5.krunner + kde5.kservice + kde5.ktextwidgets + kde5.kwallet + kde5.kwayland + kde5.kwidgetsaddons + kde5.kxmlgui + kde5.kxmlrpcclient + kde5.plasma-framework + kde5.solid + kde5.sonnet + kde5.threadweaver kde5.breeze kde5.kde-cli-tools From 475ad4c7c3e458480bf4fa562eb4b3add5b710d7 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 15 Jul 2016 18:25:15 -0500 Subject: [PATCH 091/222] kde5.startkde: update script based on plasma-workspace-5.7.1 --- .../kde-5/plasma/startkde/startkde.sh | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/pkgs/desktops/kde-5/plasma/startkde/startkde.sh b/pkgs/desktops/kde-5/plasma/startkde/startkde.sh index a626fdc2b5a..18cf08081c4 100755 --- a/pkgs/desktops/kde-5/plasma/startkde/startkde.sh +++ b/pkgs/desktops/kde-5/plasma/startkde/startkde.sh @@ -77,7 +77,7 @@ kcminputrc Mouse cursorTheme 'breeze_cursors' kcminputrc Mouse cursorSize '' ksplashrc KSplash Theme Breeze ksplashrc KSplash Engine KSplashQML -kdeglobals KScreen ScaleFactor 1 +kdeglobals KScreen ScreenScaleFactors '' kcmfonts General forceFontDPI 0 EOF @@ -157,20 +157,6 @@ xsetroot -cursor_name left_ptr dl=$DESKTOP_LOCKED unset DESKTOP_LOCKED # Don't want it in the environment -# Make sure that D-Bus is running -# D-Bus autolaunch is broken -if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then - eval $(dbus-launch --sh-syntax --exit-with-session) -fi -if qdbus >/dev/null 2>/dev/null; then - : # ok -else - echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2 - test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null - xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?" - exit 1 -fi - ksplash_pid= if test -z "$dl"; then # the splashscreen and progress indicator @@ -209,6 +195,16 @@ done echo 'startkde: Starting up...' 1>&2 +# Make sure that D-Bus is running +if $qdbus >/dev/null 2>/dev/null; then + : # ok +else + echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2 + test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null + xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?" + exit 1 +fi + # Mark that full KDE session is running (e.g. Konqueror preloading works only # with full KDE running). The KDE_FULL_SESSION property can be detected by # any X client connected to the same X session, even if not launched @@ -255,7 +251,7 @@ if test -n "$PAM_KWALLET5_LOGIN" ; then fi # At this point all environment variables are set, let's send it to the DBus session server to update the activation environment -ksyncdbusenv +dbus-update-activation-environment --systemd --all if test $? -ne 0; then # Startup error echo 'startkde: Could not sync environment to dbus.' 1>&2 @@ -275,6 +271,8 @@ if test $? -ne 0; then exit 1 fi +qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit + # (NixOS) Run kbuildsycoca5 before starting the user session because things # may be missing or moved if they have run nixos-rebuild and it may not be # possible for them to start Konsole to run it manually! From b2cf5aabb0df860e5eff4e9692e2239b9c94b2cf Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 15 Jul 2016 18:27:00 -0500 Subject: [PATCH 092/222] nixos/kde5: add missing Plasma packages --- nixos/modules/services/x11/desktop-managers/kde5.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index d8697238ee5..9f9bbe24623 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -106,7 +106,9 @@ in kde5.threadweaver kde5.breeze + kde5.kactivitymanagerd kde5.kde-cli-tools + kde5.kdecoration kde5.kdeplasma-addons kde5.kgamma5 kde5.khelpcenter @@ -114,12 +116,16 @@ in kde5.kinfocenter kde5.kmenuedit kde5.kscreen + kde5.kscreenlocker kde5.ksysguard kde5.kwayland kde5.kwin kde5.kwrited + kde5.libkscreen + kde5.libksysguard kde5.milou kde5.oxygen + kde5.plasma-integration kde5.polkit-kde-agent kde5.systemsettings From 78e7f444886379607b29cf27ae6ac7bd84ed6d20 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sat, 16 Jul 2016 08:59:43 -0500 Subject: [PATCH 093/222] qt5.makeQtWrapper: do not inherit Qt search paths --- .../extra-cmake-modules/setup-hook.sh | 27 ++++++++----- .../libraries/qt-5/5.5/make-qt-wrapper.sh | 39 +------------------ .../libraries/qt-5/5.6/make-qt-wrapper.sh | 26 ++++++------- 3 files changed, 31 insertions(+), 61 deletions(-) mode change 100644 => 120000 pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh diff --git a/pkgs/desktops/kde-5/frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/desktops/kde-5/frameworks/extra-cmake-modules/setup-hook.sh index aab0625bf61..6c8199f17d4 100644 --- a/pkgs/desktops/kde-5/frameworks/extra-cmake-modules/setup-hook.sh +++ b/pkgs/desktops/kde-5/frameworks/extra-cmake-modules/setup-hook.sh @@ -1,22 +1,31 @@ _ecmSetXdgDirs() { addToSearchPathOnce XDG_DATA_DIRS "$1/share" addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg" - addToSearchPathOnce NIX_WRAP_XDG_CONFIG_DIRS "$1/etc/xdg" + addToSearchPathOnce RUNTIME_XDG_CONFIG_DIRS "$1/etc/xdg" } _ecmSharePaths=( \ + "appdata" \ + "applications" \ "config.cfg" \ + "dbus-1" \ + "desktop-directories" \ + "doc" \ + "icons" \ + "info" \ "kconf_update" \ "kservices5" \ "kservicetypes5" \ "knotifications5" \ - "applications" \ - "desktop-directories" \ + "kxmlgui5" \ + "locale" \ + "man" \ "mime" \ - "dbus-1" \ - "interfaces" \ - "services" \ - "system-services" ) + "polkit-1" \ + "sounds" \ + "templates" \ + "wallpapers" \ + ) _ecmPropagateNative() { for dir in ${_ecmSharePaths[@]}; do @@ -24,7 +33,7 @@ _ecmPropagateNative() { propagateOnce propagatedNativeBuildInputs "$1" if [ -z "$crossConfig" ]; then propagateOnce propagatedUserEnvPkgs "$1" - addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share" + addToSearchPathOnce RUNTIME_XDG_DATA_DIRS "$1/share" fi break fi @@ -38,7 +47,7 @@ _ecmPropagate() { if [ -d "$1/share/$dir" ]; then propagateOnce propagatedBuildInputs "$1" propagateOnce propagatedUserEnvPkgs "$1" - addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share" + addToSearchPathOnce RUNTIME_XDG_DATA_DIRS "$1/share" break fi done diff --git a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh deleted file mode 100644 index 3b537430371..00000000000 --- a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh +++ /dev/null @@ -1,38 +0,0 @@ -wrapQtProgram() { - local prog="$1" - shift - wrapProgram "$prog" \ - --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \ - --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \ - --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \ - --prefix XDG_CONFIG_DIRS : "$NIX_WRAP_XDG_CONFIG_DIRS" \ - --prefix XDG_DATA_DIRS : "$NIX_WRAP_XDG_DATA_DIRS" \ - "$@" -} - -makeQtWrapper() { - local old="$1" - local new="$2" - shift - shift - makeWrapper "$old" "$new" \ - --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \ - --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \ - --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \ - --prefix XDG_CONFIG_DIRS : "$NIX_WRAP_XDG_CONFIG_DIRS" \ - --prefix XDG_DATA_DIRS : "$NIX_WRAP_XDG_DATA_DIRS" \ - "$@" -} - -_makeQtWrapperSetup() { - # cannot use addToSearchPath because these directories may not exist yet - export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins" - export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports" - export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml" - export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg" - export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputLib}/share" - export NIX_WRAP_XDG_CONFIG_DIRS="$NIX_WRAP_XDG_CONFIG_DIRS${NIX_WRAP_XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg" - export NIX_WRAP_XDG_DATA_DIRS="$NIX_WRAP_XDG_DATA_DIRS${NIX_WRAP_XDG_DATA_DIRS:+:}${!outputLib}/share" -} - -prePhases+=(_makeQtWrapperSetup) diff --git a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh new file mode 120000 index 00000000000..90d9b349fed --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh @@ -0,0 +1 @@ +../5.6/make-qt-wrapper.sh \ No newline at end of file diff --git a/pkgs/development/libraries/qt-5/5.6/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.6/make-qt-wrapper.sh index 3b537430371..b0d0bec9e3f 100644 --- a/pkgs/development/libraries/qt-5/5.6/make-qt-wrapper.sh +++ b/pkgs/development/libraries/qt-5/5.6/make-qt-wrapper.sh @@ -2,11 +2,11 @@ wrapQtProgram() { local prog="$1" shift wrapProgram "$prog" \ - --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \ - --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \ - --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \ - --prefix XDG_CONFIG_DIRS : "$NIX_WRAP_XDG_CONFIG_DIRS" \ - --prefix XDG_DATA_DIRS : "$NIX_WRAP_XDG_DATA_DIRS" \ + --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ + --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ + --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ + --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ + --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ "$@" } @@ -16,11 +16,11 @@ makeQtWrapper() { shift shift makeWrapper "$old" "$new" \ - --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \ - --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \ - --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \ - --prefix XDG_CONFIG_DIRS : "$NIX_WRAP_XDG_CONFIG_DIRS" \ - --prefix XDG_DATA_DIRS : "$NIX_WRAP_XDG_DATA_DIRS" \ + --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ + --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ + --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ + --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ + --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ "$@" } @@ -29,10 +29,8 @@ _makeQtWrapperSetup() { export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins" export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports" export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml" - export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg" - export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputLib}/share" - export NIX_WRAP_XDG_CONFIG_DIRS="$NIX_WRAP_XDG_CONFIG_DIRS${NIX_WRAP_XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg" - export NIX_WRAP_XDG_DATA_DIRS="$NIX_WRAP_XDG_DATA_DIRS${NIX_WRAP_XDG_DATA_DIRS:+:}${!outputLib}/share" + export RUNTIME_XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputBin}/share" + export RUNTIME_XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputBin}/etc/xdg" } prePhases+=(_makeQtWrapperSetup) From 560c4a59275c237b64158bff7f6cfa66883204d3 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sat, 16 Jul 2016 10:01:38 -0500 Subject: [PATCH 094/222] kde5.kservice: remove unused setup hook --- .../kde-5/frameworks/kservice/setup-hook.sh | 43 ------------------- 1 file changed, 43 deletions(-) delete mode 100644 pkgs/desktops/kde-5/frameworks/kservice/setup-hook.sh diff --git a/pkgs/desktops/kde-5/frameworks/kservice/setup-hook.sh b/pkgs/desktops/kde-5/frameworks/kservice/setup-hook.sh deleted file mode 100644 index c28e862ff8a..00000000000 --- a/pkgs/desktops/kde-5/frameworks/kservice/setup-hook.sh +++ /dev/null @@ -1,43 +0,0 @@ -addServicePkg() { - local propagated - for dir in "share/kservices5" "share/kservicetypes5"; do - if [[ -d "$1/$dir" ]]; then - propagated= - for pkg in $propagatedBuildInputs; do - if [[ "z$pkg" == "z$1" ]]; then - propagated=1 - break - fi - done - if [[ -z $propagated ]]; then - propagatedBuildInputs="$propagatedBuildInputs $1" - fi - - propagated= - for pkg in $propagatedUserEnvPkgs; do - if [[ "z$pkg" == "z$1" ]]; then - propagated=1 - break - fi - done - if [[ -z $propagated ]]; then - propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1" - fi - - break - fi - done -} - -envHooks+=(addServicePkg) - -local propagated -for pkg in $propagatedBuildInputs; do - if [[ "z$pkg" == "z@out@" ]]; then - propagated=1 - break - fi -done -if [[ -z $propagated ]]; then - propagatedBuildInputs="$propagatedBuildInputs @out@" -fi From 5d8005b1ef65129d5e4b571ac372f4d9ada1b4e9 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sat, 16 Jul 2016 23:39:03 +0800 Subject: [PATCH 095/222] qt3: fix build after multiple-outputs change also updated source tarball path --- pkgs/development/libraries/qt-3/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix index 40fa63d75ca..3b6d2a3cc69 100644 --- a/pkgs/development/libraries/qt-3/default.nix +++ b/pkgs/development/libraries/qt-3/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation { setupHook = ./setup-hook.sh; src = fetchurl { - url = ftp://ftp.trolltech.com/qt/source/qt-x11-free-3.3.8.tar.bz2; + url = http://download.qt.io/archive/qt/3/qt-x11-free-3.3.8.tar.bz2; sha256 = "0jd4g3bwkgk2s4flbmgisyihm7cam964gzb3pawjlkhas01zghz8"; }; @@ -39,14 +39,14 @@ stdenv.mkDerivation { -I${xextproto}/include ${if openglSupport then "-dlopen-opengl -L${mesa}/lib -I${mesa}/include - -L${libXmu}/lib -I${libXmu}/include" else ""} + -L${libXmu.out}/lib -I${libXmu.dev}/include" else ""} ${if threadSupport then "-thread" else "-no-thread"} - ${if xrenderSupport then "-xrender -L${libXrender}/lib -I${libXrender}/include" else "-no-xrender"} + ${if xrenderSupport then "-xrender -L${libXrender.out}/lib -I${libXrender.dev}/include" else "-no-xrender"} ${if xrandrSupport then "-xrandr - -L${libXrandr}/lib -I${libXrandr}/include + -L${libXrandr.out}/lib -I${libXrandr.dev}/include -I${randrproto}/include" else "-no-xrandr"} - ${if xineramaSupport then "-xinerama -L${libXinerama}/lib -I${libXinerama}/include" else "-no-xinerama"} - ${if cursorSupport then "-L${libXcursor}/lib -I${libXcursor}/include" else ""} + ${if xineramaSupport then "-xinerama -L${libXinerama.out}/lib -I${libXinerama.dev}/include" else "-no-xinerama"} + ${if cursorSupport then "-L${libXcursor.out}/lib -I${libXcursor.dev}/include" else ""} ${if mysqlSupport then "-qt-sql-mysql -L${mysql.lib}/lib/mysql -I${mysql.lib}/include/mysql" else ""} ${if xftSupport then "-xft -L${libXft.out}/lib -I${libXft.dev}/include From 3634e8ac3eb176a3636dd56f0901115ad658858a Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sat, 16 Jul 2016 20:08:06 +0200 Subject: [PATCH 096/222] vimPlugins: update existing plugins and added 3 more - github:sbdchd/neoformat - github:elmcast/elm-vim - github:sheerun/vim-polyglot --- pkgs/misc/vim-plugins/default.nix | 129 ++++++++++++++++--------- pkgs/misc/vim-plugins/vim-plugin-names | 3 + 2 files changed, 84 insertions(+), 48 deletions(-) diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index 3134aa0eeba..6c20cd66df1 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -173,11 +173,11 @@ rec { }; Syntastic = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "Syntastic-2016-07-08"; + name = "Syntastic-2016-07-16"; src = fetchgit { url = "git://github.com/scrooloose/syntastic"; - rev = "87f3e80b443870ce821f82dd1b3dba5bd66b51b2"; - sha256 = "09prhzp58470naj8ws2m1pjgj1h675jsiyc6vmfdjsqk6ly2ypg0"; + rev = "8ab7705b21cbe5f1c70750dee89bf8b711890a82"; + sha256 = "1gk12lzyqgjh4qzq46m3i70h4xzf9whgdahigf6nr0yqxd6w90rw"; }; dependencies = []; @@ -206,11 +206,11 @@ rec { }; The_NERD_Commenter = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "The_NERD_Commenter-2016-06-10"; + name = "The_NERD_Commenter-2016-07-14"; src = fetchgit { url = "git://github.com/scrooloose/nerdcommenter"; - rev = "e2d47bec2662d5fcd324d17e22dc37f38c97bf2d"; - sha256 = "099i7jksdp4c4m7imv96xji4lbjscdns37fsr2qgn7zw5pjgjbw4"; + rev = "c3d6a2069bb0286c9633fbbffb4983797f7b8822"; + sha256 = "0xwnx8ggqpik9jnyb4a69v7z789ffrfnxc3frl644x7bhndgaa1v"; }; dependencies = []; @@ -365,11 +365,11 @@ rec { }; deoplete-nvim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "deoplete-nvim-2016-07-10"; + name = "deoplete-nvim-2016-07-14"; src = fetchgit { url = "git://github.com/Shougo/deoplete.nvim"; - rev = "8102bbb73f942b232b6bcc00b8699fbe3b3f370c"; - sha256 = "083056maiscxyyln09659qv3c7kayps2vm697p459yyhfyir742f"; + rev = "e3cb71b4053041dffb250733bd9531814bfa4af9"; + sha256 = "1wz3q1020f8vb7s9nncdgji045iz2nlqp59j06gbli9cjvgfhg60"; }; dependencies = []; @@ -398,22 +398,22 @@ rec { }; vim-css-color = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-css-color-2016-06-12"; + name = "vim-css-color-2016-07-14"; src = fetchgit { url = "git://github.com/ap/vim-css-color"; - rev = "ba98bd138ee15dbf6b6dc3b7080c0e65e0657c76"; - sha256 = "0l76yqd3cvdm41dx720skbphwqsza51xaf7vi8jlknsqnrb6z1kf"; + rev = "86dff1b9c2a549994042c4548a47514350c25b6d"; + sha256 = "1wzkcprn6sky03v6yg0dkijmdva3jszrpwzbld1744m8ylbdgf0i"; }; dependencies = []; }; neomake = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "neomake-2016-07-11"; + name = "neomake-2016-07-16"; src = fetchgit { url = "git://github.com/benekastah/neomake"; - rev = "14e894edc35d17b927e5540ceb6d101bbda9f51c"; - sha256 = "1ccgfvvxsl213zlgf801yxwg51kpi5z37z175w4gh9cj8953mgxh"; + rev = "5560a4dd58a47a0af2ae128d707e822b54c55c72"; + sha256 = "01l7ws2m3pm90q5985rrpc7rqcgv93ypg3swy1n1sfn0m0vm1a4l"; }; dependencies = []; @@ -485,6 +485,17 @@ rec { }; + elm-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "elm-vim-2016-06-22"; + src = fetchgit { + url = "git://github.com/elmcast/elm-vim"; + rev = "6527c8a9e1d1af31c81e60b6b40bf3316c7fbdf2"; + sha256 = "0aj1cd5dy7z48lf6vzg76r787hgs4z5f11bczvvs1h99qik1rgbc"; + }; + dependencies = []; + + }; + vim-localvimrc = buildVimPluginFrom2Nix { # created by nix#NixDerivation name = "vim-localvimrc-2016-06-06"; src = fetchgit { @@ -519,11 +530,11 @@ rec { }; vim-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-go-2016-07-07"; + name = "vim-go-2016-07-14"; src = fetchgit { url = "git://github.com/fatih/vim-go"; - rev = "ab01e7e5a6bf858c1f519a831a4db1d978b92298"; - sha256 = "1g76hasdyncjds6yl38dkb5nwp6sb8aqzp9d7xxhwarlnnihj1la"; + rev = "789de8e4e8c505c3058f407750165f0148ea1d02"; + sha256 = "0hnq3abl6qvwk9rynk8pmi8slfikdaxf5irrx0xvddp38giydws1"; }; dependencies = []; @@ -585,11 +596,11 @@ rec { }; idris-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "idris-vim-2016-01-29"; + name = "idris-vim-2016-07-15"; src = fetchgit { url = "git://github.com/idris-hackers/idris-vim"; - rev = "e1711749f5078f5a9fa53cd15a37627ea9d239f2"; - sha256 = "0mbywk1mwbx3hjzrv7ypp5m800xjj08hxlfmd0piljg41xwkgk5q"; + rev = "aeca73e9432c21da6eb35fceaef957f191b3d56a"; + sha256 = "1q38sf4dabirhrr3i89p271ixap90im0x3pf39s3fc9jmb3m2jm8"; }; dependencies = []; @@ -651,11 +662,11 @@ rec { }; vim-orgmode = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-orgmode-2016-07-08"; + name = "vim-orgmode-2016-07-12"; src = fetchgit { url = "git://github.com/jceb/vim-orgmode"; - rev = "54057d58888ad29672cd0cd782be5fc8b1a3a709"; - sha256 = "134dsnfpkzq9gd3d8b9pvy7c5yvy9yxjyvidg927ha1lpilf4kp9"; + rev = "e76c0f07e9193e08df2b8eeb95ef6240b494797f"; + sha256 = "00ys1qf8hbigrdxshs5xvg662xcd6qaiw2g1nr21pfs682qdjsyf"; }; dependencies = []; @@ -794,11 +805,11 @@ rec { }; vimtex = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vimtex-2016-07-10"; + name = "vimtex-2016-07-16"; src = fetchgit { url = "git://github.com/lervag/vimtex"; - rev = "c16bd147092bfe7ac63f39cd449f36e14e42e948"; - sha256 = "18p7vmas0754r9n227v68wry285vr4y90v3kxcnn9hl60xxb3ba9"; + rev = "8dd4ed77dbd547a819b1220aa2e298e0ae6e5643"; + sha256 = "0n5zbhgf0ks0b166p94m7i3cfkh6v2zc6srci0rp45byi4mwpddz"; }; dependencies = []; @@ -908,11 +919,11 @@ rec { }; vim-racer = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-racer-2016-06-27"; + name = "vim-racer-2016-07-14"; src = fetchgit { url = "git://github.com/racer-rust/vim-racer"; - rev = "a72b26bb25cb65be29fd1912e9344eaa860fce5e"; - sha256 = "01xg6mmnlx5l37rsb7w0dbgy36pd6zyq7gcigdbj0pgqd39w30fv"; + rev = "ea2a41ddc3e1e504a542f6add0f6f2c10d97a099"; + sha256 = "1vwxs9mqcvp3haqyx0si5hiw61vg2s2hm1alipb5s69sb38f047s"; }; dependencies = []; @@ -930,11 +941,33 @@ rec { }; rust-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "rust-vim-2016-06-21"; + name = "rust-vim-2016-07-16"; src = fetchgit { url = "git://github.com/rust-lang/rust.vim"; - rev = "5dd7ab99103c05a56e059b39ad9f63274d2ae72e"; - sha256 = "0az35kfcpavz6sbh6mf0mmv7mp5zbnqmnljpmlm1srn6rr9rah2q"; + rev = "a4d6fb2ab526ccc93a6a321a2425a234f9f7665f"; + sha256 = "1i2sf5p4d9gfr3hk6nrjar0rz85dmhwgf82d5yfqqmlgil0bljds"; + }; + dependencies = []; + + }; + + neoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "neoformat-2016-05-25"; + src = fetchgit { + url = "git://github.com/sbdchd/neoformat"; + rev = "d74e8d5b338219fe2ab6e8b5bfdaaf653101ed21"; + sha256 = "0yiq519x99vhl217504pv57lpfwz916r1fq0m3mr33pv0g1kx6c5"; + }; + dependencies = []; + + }; + + vim-polyglot = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "vim-polyglot-2016-07-05"; + src = fetchgit { + url = "git://github.com/sheerun/vim-polyglot"; + rev = "1422f7a75ce0b382d601238c5979b04473b9021e"; + sha256 = "0jqb75lrf75br9wg95cxcy3aal1bk929881gy4ly1n0r6fv96yz1"; }; dependencies = []; @@ -952,11 +985,11 @@ rec { }; neosnippet-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "neosnippet-snippets-2016-06-26"; + name = "neosnippet-snippets-2016-07-14"; src = fetchgit { url = "git://github.com/shougo/neosnippet-snippets"; - rev = "17219351bcbec3708295c72c8280471eed12b8fe"; - sha256 = "08lrqsl9cqkx42llgv0mc54nsmdrv68bpzip2snr58klaj444nir"; + rev = "4d25b4352738ecf34e56701d0172d80daa3bd287"; + sha256 = "01lai1gvf30iagh9f7av69ywfzw43vy2igwil882rgnri84y4zjb"; }; dependencies = []; @@ -1113,11 +1146,11 @@ rec { }; youcompleteme = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "youcompleteme-2016-07-11"; + name = "youcompleteme-2016-07-12"; src = fetchgit { url = "git://github.com/valloric/youcompleteme"; - rev = "c44489af16de6ae86294de7dd194bd6e53adaf1e"; - sha256 = "1m8m6wyics1mlxcxzq83ql8l4vd16cfbhc418vmxflx3178ifr36"; + rev = "d5610e577c0f1f0bb8bb22d8bbbd25be11327391"; + sha256 = "1c2001ywj0zczhpzm5iahyb6rg7yjbgljqpnwfr9f7fa3y363cgk"; }; dependencies = []; buildInputs = [ @@ -1302,11 +1335,11 @@ rec { }; deoplete-jedi = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "deoplete-jedi-2016-07-10"; + name = "deoplete-jedi-2016-07-12"; src = fetchgit { url = "git://github.com/zchee/deoplete-jedi"; - rev = "e7f0a94ea64b86d2b4946d30b6cedb38133d6603"; - sha256 = "05j1lfqxagndglyh337b6v2l4zmpa9fwrkgr0g4kk1s6f0lmla2b"; + rev = "3eee7e801723d9c174d801b94b2c2ddcee43ac56"; + sha256 = "0z8766wgam2s2vwp9a3xi9cl5c3sb99iadinzy7c348wx004nkxq"; }; dependencies = []; @@ -1499,11 +1532,11 @@ rec { }; vim-addon-async = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-addon-async-2016-06-15"; + name = "vim-addon-async-2016-07-12"; src = fetchgit { url = "git://github.com/MarcWeber/vim-addon-async"; - rev = "4fcdf0c8a0da8b9dc2d5ad25e2cf7692cfbc10f3"; - sha256 = "1qa8ivh93ln30jbdwm9xg50yinvysvhricrkfjgg4v5nvk5sxj5n"; + rev = "b14414215b394a0ef887ea301085ae4b80012e38"; + sha256 = "1gr0rjn1vwqv4p51yb0s65gnpy1r0533lfy5nqbg20j4687yxls5"; }; dependencies = ["vim-addon-signs"]; @@ -1741,11 +1774,11 @@ rec { }; vim-gitgutter = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-gitgutter-2016-06-27"; + name = "vim-gitgutter-2016-07-12"; src = fetchgit { url = "git://github.com/airblade/vim-gitgutter"; - rev = "b5f23e986747a6f4b1dc1196d2a5bd3dc7c8c2b6"; - sha256 = "0z3f4yamkv3fmqnrr00j86xwrrfv199fiabpjqnk583b5kcbn90j"; + rev = "26c6b549f287b8ae348eda083e7c77f79f4de28b"; + sha256 = "1jrz0vqd580y7psszq31jk4v4jdh2cvqvxgcy347simpc5ap16hs"; }; dependencies = []; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index b2a2a542bf5..bc040271cd9 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -21,6 +21,7 @@ "ghcmod" "github:Chiel92/vim-autoformat" "github:LnL7/vim-nix" +"github:sbdchd/neoformat" "github:Shougo/deoplete.nvim" "github:ajh17/Spacegray.vim" "github:alvan/vim-closetag" @@ -32,6 +33,7 @@ "github:ctrlpvim/ctrlp.vim" "github:digitaltoad/vim-jade" "github:eagletmt/neco-ghc" +"github:elmcast/elm-vim" "github:embear/vim-localvimrc" "github:enomsg/vim-haskellConcealPlus" "github:esneider/YUNOcommit.vim" @@ -73,6 +75,7 @@ "github:racer-rust/vim-racer" "github:raichoo/purescript-vim" "github:rust-lang/rust.vim" +"github:sheerun/vim-polyglot" "github:shougo/neocomplete.vim" "github:shougo/neosnippet-snippets" "github:shougo/neosnippet.vim" From 343415e02e990f4c5acfe81d9d84c960ee124a52 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sat, 16 Jul 2016 15:01:35 -0500 Subject: [PATCH 097/222] qt55.qtbase: fix setup hook and QMake hook --- .../libraries/qt-5/5.5/make-qt-wrapper.sh | 37 +++++- .../libraries/qt-5/5.5/qmake-hook.sh | 106 +++--------------- .../libraries/qt-5/5.5/qtbase/default.nix | 1 + 3 files changed, 51 insertions(+), 93 deletions(-) mode change 120000 => 100644 pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh diff --git a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh deleted file mode 120000 index 90d9b349fed..00000000000 --- a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh +++ /dev/null @@ -1 +0,0 @@ -../5.6/make-qt-wrapper.sh \ No newline at end of file diff --git a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh new file mode 100644 index 00000000000..b0d0bec9e3f --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh @@ -0,0 +1,36 @@ +wrapQtProgram() { + local prog="$1" + shift + wrapProgram "$prog" \ + --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ + --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ + --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ + --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ + --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ + "$@" +} + +makeQtWrapper() { + local old="$1" + local new="$2" + shift + shift + makeWrapper "$old" "$new" \ + --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ + --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ + --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ + --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ + --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ + "$@" +} + +_makeQtWrapperSetup() { + # cannot use addToSearchPath because these directories may not exist yet + export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins" + export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports" + export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml" + export RUNTIME_XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputBin}/share" + export RUNTIME_XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputBin}/etc/xdg" +} + +prePhases+=(_makeQtWrapperSetup) diff --git a/pkgs/development/libraries/qt-5/5.5/qmake-hook.sh b/pkgs/development/libraries/qt-5/5.5/qmake-hook.sh index 5401a71bc4c..696b4ea8dad 100644 --- a/pkgs/development/libraries/qt-5/5.5/qmake-hook.sh +++ b/pkgs/development/libraries/qt-5/5.5/qmake-hook.sh @@ -1,50 +1,16 @@ -if [[ -z "$QMAKE" ]]; then +qmakeConfigurePhase() { + runHook preConfigure -_qtLinkDependencyDir() { - @lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2" - if [ -n "$NIX_QT_SUBMODULE" ]; then - find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs" - fi + qmake PREFIX=$out $qmakeFlags + + runHook postConfigure } -_qtLinkModule() { - if [ -d "$1/mkspecs" ]; then - # $1 is a Qt module - _qtLinkDependencyDir "$1" mkspecs +if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then + configurePhase=qmakeConfigurePhase +fi - for dir in bin include lib share; do - if [ -d "$1/$dir" ]; then - _qtLinkDependencyDir "$1" "$dir" - fi - done - fi -} - -_qtRmModules() { - cat "$out/nix-support/qt-inputs" | while read file; do - if [ -h "$out/$file" ]; then - rm "$out/$file" - fi - done - - cat "$out/nix-support/qt-inputs" | while read file; do - if [ -d "$out/$file" ]; then - rmdir --ignore-fail-on-non-empty -p "$out/$file" - fi - done - - rm "$out/nix-support/qt-inputs" -} - -_qtRmQmake() { - rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf" -} - -_qtSetQmakePath() { - export PATH="$qtOut/bin${PATH:+:}$PATH" -} - -_qtMultioutModuleDevs() { +_qtModuleMultioutDevsPre() { # We cannot simply set these paths in configureFlags because libQtCore retains # references to the paths it was built with. moveToOutput "bin" "${!outputDev}" @@ -53,12 +19,14 @@ _qtMultioutModuleDevs() { # The destination directory must exist or moveToOutput will do nothing mkdir -p "${!outputDev}/share" moveToOutput "share/doc" "${!outputDev}" +} +_qtModuleMultioutDevsPost() { # Move libtool archives and qmake project files to $dev/lib if [ "z${!outputLib}" != "z${!outputDev}" ]; then pushd "${!outputLib}" if [ -d "lib" ]; then - find lib \( -name '*.a' -o -name '*.la' -o -name '*.prl' -print0 \) | \ + find lib \( -name '*.a' -o -name '*.la' -o -name '*.prl' \) -print0 | \ while read -r -d $'\0' file; do mkdir -p "${!outputDev}/$(dirname "$file")" mv "${!outputLib}/$file" "${!outputDev}/$file" @@ -68,53 +36,7 @@ _qtMultioutModuleDevs() { fi } -_qtRmQtOut() { - rm -fr "$qtOut" -} - -qmakeConfigurePhase() { - runHook preConfigure - - qmake PREFIX=$out $qmakeFlags - - runHook postConfigure -} - -qtOut="" -if [[ -z "$NIX_QT_SUBMODULE" ]]; then - qtOut=`mktemp -d` -else - qtOut=$out -fi - -mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share" - -cp "@qt_dev@/bin/qmake" "$qtOut/bin" -cat >"$qtOut/bin/qt.conf" < Date: Sat, 16 Jul 2016 15:01:49 -0500 Subject: [PATCH 098/222] kde5.kate: require makeQtWrapper --- pkgs/desktops/kde-5/applications/kate.nix | 35 +++++------------------ 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/pkgs/desktops/kde-5/applications/kate.nix b/pkgs/desktops/kde-5/applications/kate.nix index e368483771f..94faa065592 100644 --- a/pkgs/desktops/kde-5/applications/kate.nix +++ b/pkgs/desktops/kde-5/applications/kate.nix @@ -1,29 +1,9 @@ -{ kdeApp -, lib -, extra-cmake-modules -, kdoctools -, qtscript -, kactivities -, kconfig -, kcrash -, kguiaddons -, kiconthemes -, ki18n -, kinit -, kjobwidgets -, kio -, kparts -, ktexteditor -, kwindowsystem -, kxmlgui -, kdbusaddons -, kwallet -, plasma-framework -, kitemmodels -, knotifications -, threadweaver -, knewstuff -, libgit2 +{ + kdeApp, lib, makeQtWrapper, extra-cmake-modules, kdoctools, + kactivities, kconfig, kcrash, kguiaddons, kiconthemes, ki18n, kinit, + kjobwidgets, kio, kparts, ktexteditor, kwindowsystem, kxmlgui, kdbusaddons, + kwallet, plasma-framework, kitemmodels, knotifications, qtscript, threadweaver, + knewstuff, libgit2 }: kdeApp { @@ -33,8 +13,7 @@ kdeApp { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ - extra-cmake-modules - kdoctools + extra-cmake-modules kdoctools makeQtWrapper ]; propagatedBuildInputs = [ kactivities ki18n kio ktexteditor kwindowsystem plasma-framework qtscript From b4bae44f13ba9598209ae9e6a0bb5d4194bf79aa Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 16 Jul 2016 22:42:16 +0200 Subject: [PATCH 099/222] pythonPackages.jupyterlab: init at 0.1.1 Note that this is still a pre-alpha release. --- pkgs/top-level/python-packages.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 04dc7a26ac0..45aabf63691 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7056,6 +7056,27 @@ in modules // { }; }; + jupyterlab = buildPythonPackage rec { + name = "jupyterlab-${version}"; + version = "0.1.1"; + + src = pkgs.fetchurl { + url = "mirror://pypi/j/jupyterlab/${name}.tar.gz"; + sha256 = "c1a08f4d1b2bb1bf06db090db30df988a22ffbfa05606e7eb026e364969388da"; + }; + + propagatedBuildInputs = with self; [ notebook ]; + + # No tests in archive + doCheck = false; + + meta = { + description = "Jupyter lab environment notebook server extension."; + license = with licenses; [ bsd3 ]; + homepage = "http://jupyter.org/"; + }; + }; + lti = let self' = (self.override {self = self';}) // {pytest = self.pytest_27;}; mock_1_0_1 = self'.mock.overrideDerivation (_: rec { From b0cc1cd729ad22d6aeac00c0f2bd5209dd833cb4 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sat, 16 Jul 2016 23:29:30 +0300 Subject: [PATCH 100/222] ncurses: Add explicit 'ncurses5' and 'ncurses6' attrs Also reinstate the gcc5 patch to make it build on Linux. --- .../development/libraries/ncurses/default.nix | 9 ++-- .../development/libraries/ncurses/gcc-5.patch | 46 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +- 3 files changed, 53 insertions(+), 6 deletions(-) create mode 100644 pkgs/development/libraries/ncurses/gcc-5.patch diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 7133634f2eb..c1037a81c85 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -1,15 +1,14 @@ { lib, stdenv, fetchurl, pkgconfig +, abiVersion , mouseSupport ? false , unicode ? true , gpm }: let - inherit (stdenv) isDarwin; - abiVersion = if isDarwin then "5" else "6"; - version = if isDarwin then "5.9" else "6.0"; - sha256 = if isDarwin + version = if abiVersion == "5" then "5.9" else "6.0"; + sha256 = if abiVersion == "5" then "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh" else "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm"; in @@ -21,7 +20,7 @@ stdenv.mkDerivation rec { inherit sha256; }; - patches = [ ./clang.patch ]; + patches = [ ./clang.patch ] ++ lib.optional (abiVersion == "5" && stdenv.cc.isGNU) ./gcc-5.patch; outputs = [ "dev" "out" "man" ]; setOutputFlags = false; # some aren't supported diff --git a/pkgs/development/libraries/ncurses/gcc-5.patch b/pkgs/development/libraries/ncurses/gcc-5.patch new file mode 100644 index 00000000000..2448229b88e --- /dev/null +++ b/pkgs/development/libraries/ncurses/gcc-5.patch @@ -0,0 +1,46 @@ +https://bugs.gentoo.org/545114 + +extracted from the upstream change (which had many unrelated commits in one) + +From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001 +From: "Thomas E. Dickey" +Date: Sun, 7 Dec 2014 03:10:09 +0000 +Subject: [PATCH] ncurses 5.9 - patch 20141206 + ++ modify MKlib_gen.sh to work around change in development version of + gcc introduced here: + https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html + https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html + (reports by Marcus Shawcroft, Maohui Lei). + +diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh +index d8cc3c9..b91398c 100755 +--- a/ncurses/base/MKlib_gen.sh ++++ b/ncurses/base/MKlib_gen.sh +@@ -474,11 +474,22 @@ sed -n -f $ED1 \ + -e 's/gen_$//' \ + -e 's/ / /g' >>$TMP + ++cat >$ED1 < $ED2 ++cat $ED2 >$TMP ++ + $preprocessor $TMP 2>/dev/null \ +-| sed \ +- -e 's/ / /g' \ +- -e 's/^ //' \ +- -e 's/_Bool/NCURSES_BOOL/g' \ ++| sed -f $ED1 \ + | $AWK -f $AW2 \ + | sed -f $ED3 \ + | sed \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 800e159558e..1363c9a25ae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8714,7 +8714,9 @@ in notify-sharp = callPackage ../development/libraries/notify-sharp { }; - ncurses = callPackage ../development/libraries/ncurses { }; + ncurses5 = callPackage ../development/libraries/ncurses { abiVersion = "5"; }; + ncurses6 = callPackage ../development/libraries/ncurses { abiVersion = "6"; }; + ncurses = if stdenv.isDarwin then ncurses5 else ncurses6; neardal = callPackage ../development/libraries/neardal { }; From 8ee0e105c99a1086daa6d1f13ef0dce585a1fe4f Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sat, 16 Jul 2016 23:41:28 +0300 Subject: [PATCH 101/222] ghc: Make various binary GHCs use ncurses5 Fixes #17008: GHC bootstrapping broken by ncurses update. --- pkgs/development/compilers/ghc/6.10.2-binary.nix | 4 ++-- pkgs/development/compilers/ghc/7.0.4-binary.nix | 4 ++-- pkgs/development/compilers/ghc/7.4.2-binary.nix | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/ghc/6.10.2-binary.nix b/pkgs/development/compilers/ghc/6.10.2-binary.nix index 81bdebdcbd4..2df019bd7f1 100644 --- a/pkgs/development/compilers/ghc/6.10.2-binary.nix +++ b/pkgs/development/compilers/ghc/6.10.2-binary.nix @@ -1,4 +1,4 @@ -{stdenv, lib, fetchurl, perl, libedit, ncurses, gmp}: +{stdenv, lib, fetchurl, perl, libedit, ncurses5, gmp}: stdenv.mkDerivation rec { version = "6.10.2"; @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { (if stdenv.isLinux then '' find . -type f -perm -0100 \ -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libedit}/lib:${ncurses.out}/lib:${gmp.out}/lib" {} \; + --set-rpath "${libedit}/lib:${ncurses5.out}/lib:${gmp.out}/lib" {} \; for prog in ld ar gcc strip ranlib; do find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \; done diff --git a/pkgs/development/compilers/ghc/7.0.4-binary.nix b/pkgs/development/compilers/ghc/7.0.4-binary.nix index f0f54252b3f..9b9da4d4f78 100644 --- a/pkgs/development/compilers/ghc/7.0.4-binary.nix +++ b/pkgs/development/compilers/ghc/7.0.4-binary.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, perl, ncurses, gmp, libiconv}: +{stdenv, fetchurl, perl, ncurses5, gmp, libiconv}: stdenv.mkDerivation rec { version = "7.0.4"; @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { stdenv.lib.optionalString stdenv.isLinux '' find . -type f -perm -0100 \ -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${ncurses.out}/lib:${gmp.out}/lib" {} \; + --set-rpath "${ncurses5.out}/lib:${gmp.out}/lib" {} \; sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 for prog in ld ar gcc strip ranlib; do diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix index 07137578585..5faae118d8c 100644 --- a/pkgs/development/compilers/ghc/7.4.2-binary.nix +++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, perl, ncurses, gmp, libiconv, makeWrapper}: +{stdenv, fetchurl, perl, ncurses5, gmp, libiconv, makeWrapper}: stdenv.mkDerivation rec { version = "7.4.2"; @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { # find editline/gmp. stdenv.lib.optionalString stdenv.isLinux '' mkdir -p "$out/lib" - ln -sv "${ncurses.out}/lib/libncurses.so" "$out/lib/libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5" + ln -sv "${ncurses5.out}/lib/libncurses.so" "$out/lib/libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5" find . -type f -perm -0100 \ -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "$out/lib:${gmp.out}/lib" {} \; From a311b069196363184fe1a81632de929b6073cceb Mon Sep 17 00:00:00 2001 From: mimadrid Date: Sat, 16 Jul 2016 23:46:42 +0200 Subject: [PATCH 102/222] sudo: 1.8.16 -> 1.8.17p1 --- 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 b2af5451b8b..e2c69377df5 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.16"; + name = "sudo-1.8.17p1"; src = fetchurl { urls = [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz" "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz" ]; - sha256 = "0k86sm9ilhxhvnfwq3092zhfxazj3kddn0y2mirz0nqjqmpq50rd"; + sha256 = "c690d707fb561b3ecdf6a6de5563bc0b769388eff201c851edbace408bb155cc"; }; configureFlags = [ From 47f59a51e4e1d276f78f79e5b7cd668bc10f050e Mon Sep 17 00:00:00 2001 From: Michele Guerini Rocco Date: Sun, 17 Jul 2016 02:25:38 +0200 Subject: [PATCH 103/222] nixos/compton: add user service (#16652) --- nixos/modules/module-list.nix | 1 + nixos/modules/services/x11/compton.nix | 225 +++++++++++++++++++++++++ 2 files changed, 226 insertions(+) create mode 100644 nixos/modules/services/x11/compton.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 667d013e210..70963991986 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -477,6 +477,7 @@ ./services/web-servers/winstone.nix ./services/web-servers/zope2.nix ./services/x11/colord.nix + ./services/x11/compton.nix ./services/x11/unclutter.nix ./services/x11/desktop-managers/default.nix ./services/x11/display-managers/auto.nix diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix new file mode 100644 index 00000000000..bda4eec0102 --- /dev/null +++ b/nixos/modules/services/x11/compton.nix @@ -0,0 +1,225 @@ +{ config, lib, pkgs, ... }: + +with lib; +with builtins; + +let + + cfg = config.services.compton; + + configFile = pkgs.writeText "compton.conf" + (optionalString cfg.fade '' + # fading + fading = true; + fade-delta = ${toString cfg.fadeDelta}; + fade-in-step = ${elemAt cfg.fadeSteps 0}; + fade-out-step = ${elemAt cfg.fadeSteps 1}; + fade-exclude = ${toJSON cfg.fadeExclude}; + '' + + optionalString cfg.shadow '' + + # shadows + shadow = true; + shadow-offset-x = ${toString (elemAt cfg.shadowOffsets 0)}; + shadow-offset-y = ${toString (elemAt cfg.shadowOffsets 1)}; + shadow-opacity = ${cfg.shadowOpacity}; + shadow-exclude = ${toJSON cfg.shadowExclude}; + '' + '' + + # opacity + active-opacity = ${cfg.activeOpacity}; + inactive-opacity = ${cfg.inactiveOpacity}; + menu-opacity = ${cfg.menuOpacity}; + + # other options + backend = ${toJSON cfg.backend}; + vsync = ${toJSON cfg.vSync}; + refresh-rate = ${toString cfg.refreshRate}; + '' + cfg.extraOptions); + +in { + + options.services.compton = { + enable = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + Whether of not to enable Compton as the X.org composite manager. + ''; + }; + + fade = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + Fade windows in and out. + ''; + }; + + fadeDelta = mkOption { + type = types.int; + default = 10; + example = 5; + description = '' + Time between fade animation step (in ms). + ''; + }; + + fadeSteps = mkOption { + type = types.listOf types.str; + default = [ "0.028" "0.03" ]; + example = [ "0.04" "0.04" ]; + description = '' + Opacity change between fade steps (in and out). + ''; + }; + + fadeExclude = mkOption { + type = types.listOf types.str; + default = []; + example = [ + "window_type *= 'menu'" + "name ~= 'Firefox$'" + "focused = 1" + ]; + description = '' + List of condition of windows that should have no shadow. + See compton(1) man page for more examples. + ''; + }; + + shadow = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + Draw window shadows. + ''; + }; + + shadowOffsets = mkOption { + type = types.listOf types.int; + default = [ (-15) (-15) ]; + example = [ (-10) (-15) ]; + description = '' + Left and right offset for shadows (in pixels). + ''; + }; + + shadowOpacity = mkOption { + type = types.str; + default = "0.75"; + example = "0.8"; + description = '' + Window shadows opacity (number in range 0 - 1). + ''; + }; + + shadowExclude = mkOption { + type = types.listOf types.str; + default = []; + example = [ + "window_type *= 'menu'" + "name ~= 'Firefox$'" + "focused = 1" + ]; + description = '' + List of condition of windows that should have no shadow. + See compton(1) man page for more examples. + ''; + }; + + activeOpacity = mkOption { + type = types.str; + default = "1.0"; + example = "0.8"; + description = '' + Opacity of active windows. + ''; + }; + + inactiveOpacity = mkOption { + type = types.str; + default = "1.0"; + example = "0.8"; + description = '' + Opacity of inactive windows. + ''; + }; + + menuOpacity = mkOption { + type = types.str; + default = "1.0"; + example = "0.8"; + description = '' + Opacity of dropdown and popup menu. + ''; + }; + + backend = mkOption { + type = types.str; + default = "glx"; + description = '' + Backend to use: glx or xrender. + ''; + }; + + vSync = mkOption { + type = types.str; + default = "none"; + example = "opengl-swc"; + description = '' + Enable vertical synchronization using the specified method. + See compton(1) man page available methods. + ''; + }; + + refreshRate = mkOption { + type = types.int; + default = 0; + example = 60; + description = '' + Screen refresh rate (0 = automatically detect). + ''; + }; + + package = mkOption { + type = types.package; + default = pkgs.compton; + example = literalExample "pkgs.compton"; + description = '' + Compton derivation to use. + ''; + }; + + extraOptions = mkOption { + type = types.str; + default = ""; + example = '' + unredir-if-possible = true; + dbe = true; + ''; + description = '' + Additional Compton configuration. + ''; + }; + }; + + config = mkIf cfg.enable { + systemd.user.services.compton = { + description = "Compton composite manager"; + wantedBy = [ "default.target" ]; + serviceConfig = { + ExecStart = "${cfg.package}/bin/compton --config ${configFile}"; + RestartSec = 3; + Restart = "always"; + }; + environment.DISPLAY = ":0"; + }; + + environment.systemPackages = [ cfg.package ]; + }; + +} From ec4ae7c8b6e8ae2f55f2595264a3b7c2f11cabc2 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sun, 17 Jul 2016 04:32:48 +0200 Subject: [PATCH 104/222] teamspeak_client: specify a custom, nonfree license The licensing terms depend on use [1], but the software is clearly nonfree. Previously, the package would happily build even with allowUnfree = false. [1]: http://sales.teamspeakusa.com/licensing.php --- .../networking/instant-messengers/teamspeak/client.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix index 17fdb2061dd..fb5d0eab183 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix @@ -101,7 +101,11 @@ stdenv.mkDerivation rec { meta = { description = "The TeamSpeak voice communication tool"; homepage = http://teamspeak.com/; - license = "http://www.teamspeak.com/?page=downloads&type=ts3_linux_client_latest"; + license = { + fullName = "Teamspeak client license"; + url = http://sales.teamspeakusa.com/licensing.php; + free = false; + }; maintainers = [ stdenv.lib.maintainers.lhvwb ]; platforms = stdenv.lib.platforms.linux; }; From 3c9788e1ce4022ff19a62b8de3989247d64c477e Mon Sep 17 00:00:00 2001 From: Nathaniel Baxter Date: Sun, 17 Jul 2016 16:58:30 +1000 Subject: [PATCH 105/222] teamspeak_client: 3.0.19.1 -> 3.0.19.3 --- .../networking/instant-messengers/teamspeak/client.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix index 17fdb2061dd..6ca9e5719e6 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix @@ -31,7 +31,7 @@ in stdenv.mkDerivation rec { name = "teamspeak-client-${version}"; - version = "3.0.19.1"; + version = "3.0.19.3"; src = fetchurl { urls = [ @@ -39,8 +39,8 @@ stdenv.mkDerivation rec { "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run" ]; sha256 = if stdenv.is64bit - then "173mcvrckia0mming1v9nzi0bllr4m430y9swl9kyfsvp44f5n5h" - else "1iansjlbalwil0nlrlxfl70zzbx009c4rccf4va0kq097rqhgznx"; + then "05620qqi8plxsrzj92g306a0l8wg1pd2l66vpmj71vs0f5lms6p4" + else "07b2120pa8nyvnvh48vp5vqq7xlxg6vrrx67azz9kfcdzbbarcv9"; }; # grab the plugin sdk for the desktop icon From 6aa50f169b9eaecdc44c5f73d0588f1783d9c2da Mon Sep 17 00:00:00 2001 From: Langston Barrett Date: Sun, 17 Jul 2016 09:31:41 +0200 Subject: [PATCH 106/222] sway: 0.7 -> 0.8 (#17026) --- .../window-managers/sway/default.nix | 60 ++++++++++--------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix index 81fbedc4917..62b0b9c11ea 100644 --- a/pkgs/applications/window-managers/sway/default.nix +++ b/pkgs/applications/window-managers/sway/default.nix @@ -3,39 +3,41 @@ , wayland, wlc, libxkbcommon, pixman, fontconfig, pcre, json_c, dbus_libs }: -stdenv.mkDerivation rec { - name = "sway-${version}"; - version = "0.7"; +let + version = "0.8"; +in + stdenv.mkDerivation rec { + name = "sway-${version}"; - src = fetchFromGitHub { - owner = "Sircmpwn"; - repo = "sway"; - rev = "0.7"; - sha256 = "05mn68brqz7j3a1sb5xd3pxzzdd8swnhw2g7cc9f7rdjr5dlrjip"; - }; + src = fetchFromGitHub { + owner = "Sircmpwn"; + repo = "sway"; + rev = "${version}"; + sha256 = "10i62cn1z7fwg0jwkskmzcaha39lprkl4zvkp59jr5wvpjligdq3"; + }; - nativeBuildInputs = [ makeWrapper cmake pkgconfig asciidoc libxslt docbook_xsl ]; + nativeBuildInputs = [ makeWrapper cmake pkgconfig asciidoc libxslt docbook_xsl ]; - buildInputs = [ wayland wlc libxkbcommon pixman fontconfig pcre json_c dbus_libs pango cairo libinput ]; + buildInputs = [ wayland wlc libxkbcommon pixman fontconfig pcre json_c dbus_libs pango cairo libinput ]; - patchPhase = '' - sed -i s@/etc/sway@$out/etc/sway@g CMakeLists.txt; - ''; + patchPhase = '' + sed -i s@/etc/sway@$out/etc/sway@g CMakeLists.txt; + ''; - makeFlags = "PREFIX=$(out)"; - installPhase = "PREFIX=$out make install"; + makeFlags = "PREFIX=$(out)"; + installPhase = "PREFIX=$out make install"; - LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ wlc dbus_libs ]; - preFixup = '' - wrapProgram $out/bin/sway \ - --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"; - ''; + LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ wlc dbus_libs ]; + preFixup = '' + wrapProgram $out/bin/sway \ + --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"; + ''; - meta = with stdenv.lib; { - description = "i3-compatible window manager for Wayland"; - homepage = "http://swaywm.org"; - license = licenses.mit; - platforms = platforms.linux; - maintainers = with maintainers; [ ]; - }; -} + meta = with stdenv.lib; { + description = "i3-compatible window manager for Wayland"; + homepage = "http://swaywm.org"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ ]; + }; + } From b5cfb7b0012f97cbd2dd6333b611bbda4473995e Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sun, 17 Jul 2016 10:36:21 +0200 Subject: [PATCH 107/222] evolution: 3.20.2 -> 3.20.4 --- pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix b/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix index c68ee65cb8b..9c55a6b60e2 100644 --- a/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix +++ b/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix @@ -1,10 +1,11 @@ # Autogenerated by maintainers/scripts/gnome.sh update -fetchurl: { - name = "evolution-3.20.2"; +fetchurl: rec { + major = "3.20"; + name = "evolution-${major}.4"; src = fetchurl { - url = mirror://gnome/sources/evolution/3.20/evolution-3.20.2.tar.xz; - sha256 = "66fa6e18c4e6a29c44870d5786e4dbb82507a8254bca9e27e802625081fca630"; + url = "mirror://gnome/sources/evolution/${major}/${name}.tar.xz"; + sha256 = "1g1nai6jz0irz94d06vx8gbwbzdp7r53qjxvjfhdqhlhnhy76a9c"; }; } From e14181ab17098d8c57fb89e795ffcab48d4e0978 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sun, 17 Jul 2016 10:36:34 +0200 Subject: [PATCH 108/222] evolution-data-server: 3.20.2 -> 3.20.4 --- .../gnome-3/3.20/core/evolution-data-server/src.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix b/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix index 82ea796c3b0..cdb3dacf7ab 100644 --- a/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix +++ b/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix @@ -1,10 +1,11 @@ # Autogenerated by maintainers/scripts/gnome.sh update -fetchurl: { - name = "evolution-data-server-3.20.2"; +fetchurl: rec { + major = "3.20"; + name = "evolution-data-server-${major}.4"; src = fetchurl { - url = mirror://gnome/sources/evolution-data-server/3.20/evolution-data-server-3.20.2.tar.xz; - sha256 = "8cdc74b08f1404f5df4b8cf5ccc4999a3e70a1db9ce472f71b623266941ffad9"; + url = "mirror://gnome/sources/evolution-data-server/${major}/${name}.tar.xz"; + sha256 = "03h81dnk34b3xf2065rymr1jd7as4dmpd89hyf380c5np36f6l7j"; }; } From 20f2e6e75b6a8b4b22ec7a8bc061fb8ab4d499e8 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sun, 17 Jul 2016 10:36:44 +0200 Subject: [PATCH 109/222] gnome-online-accounts: 3.20.1 -> 3.20.2 --- .../gnome-3/3.20/core/gnome-online-accounts/src.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix index 7680208c27a..4c263d9d2d6 100644 --- a/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix +++ b/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix @@ -1,10 +1,11 @@ # Autogenerated by maintainers/scripts/gnome.sh update -fetchurl: { - name = "gnome-online-accounts-3.20.1"; +fetchurl: rec { + major = "3.20"; + name = "gnome-online-accounts-${major}.2"; src = fetchurl { - url = mirror://gnome/sources/gnome-online-accounts/3.20/gnome-online-accounts-3.20.1.tar.xz; - sha256 = "c37aebc1e12f31f5516d33a354181e4d202a07da4f7d3a95b0da8cf0028c0c93"; + url = "mirror://gnome/sources/gnome-online-accounts/${major}/${name}.tar.xz"; + sha256 = "1pf1rn1i7dqll9ph6scg2g281njx5pq6z0wyj9493m474nfmsmab"; }; } From 975851d9b13abc0d222c69fabea0a7943856f703 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sun, 17 Jul 2016 10:37:04 +0200 Subject: [PATCH 110/222] gnome-session: 3.20.1 -> 3.20.2 --- pkgs/desktops/gnome-3/3.20/core/gnome-session/src.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-session/src.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-session/src.nix index 28d8496a354..06c40b6c2cf 100644 --- a/pkgs/desktops/gnome-3/3.20/core/gnome-session/src.nix +++ b/pkgs/desktops/gnome-3/3.20/core/gnome-session/src.nix @@ -1,10 +1,11 @@ # Autogenerated by maintainers/scripts/gnome.sh update -fetchurl: { - name = "gnome-session-3.20.1"; +fetchurl: rec { + major = "3.20"; + name = "gnome-session-${major}.2"; src = fetchurl { - url = mirror://gnome/sources/gnome-session/3.20/gnome-session-3.20.1.tar.xz; - sha256 = "2ae9f53dc74f851222fbefbe0dc08db0a78cc76ceeb156f92ebd4d40fd038913"; + url = "mirror://gnome/sources/gnome-session/${major}/${name}.tar.xz"; + sha256 = "1npnjm6wirz2v0liv7n23ivp2w0y1q230qcdb681hhzmp7h9fpq2"; }; } From 0ee1b5eb5bf44a8559ab6313070ccf42431f41ed Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sun, 17 Jul 2016 10:37:16 +0200 Subject: [PATCH 111/222] gnome-sudoku: 3.20.2 -> 3.20.4 --- pkgs/desktops/gnome-3/3.20/games/gnome-sudoku/src.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.20/games/gnome-sudoku/src.nix b/pkgs/desktops/gnome-3/3.20/games/gnome-sudoku/src.nix index 2a83f89bb9b..8cc9731e370 100644 --- a/pkgs/desktops/gnome-3/3.20/games/gnome-sudoku/src.nix +++ b/pkgs/desktops/gnome-3/3.20/games/gnome-sudoku/src.nix @@ -1,10 +1,11 @@ # Autogenerated by maintainers/scripts/gnome.sh update -fetchurl: { - name = "gnome-sudoku-3.20.2"; +fetchurl: rec { + major = "3.20"; + name = "gnome-sudoku-${major}.4"; src = fetchurl { - url = mirror://gnome/sources/gnome-sudoku/3.20/gnome-sudoku-3.20.2.tar.xz; - sha256 = "9c7e737686e88c20e83ca366bfc0a20194b7fe4af7c74ab752d98f0af1df3553"; + url = "mirror://gnome/sources/gnome-sudoku/${major}/${name}.tar.xz"; + sha256 = "1hw6r0yfg60ynp4gxnqm6zrsklzn0d6lb88vybdbifzrlaww8xwh"; }; } From b9db4405169e07215d5466cda64ceea9eeb5ae44 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sun, 17 Jul 2016 10:37:40 +0200 Subject: [PATCH 112/222] gspell: 1.0.0 -> 1.0.3 --- pkgs/desktops/gnome-3/3.20/misc/gspell/src.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.20/misc/gspell/src.nix b/pkgs/desktops/gnome-3/3.20/misc/gspell/src.nix index 3758936d175..248e3915152 100644 --- a/pkgs/desktops/gnome-3/3.20/misc/gspell/src.nix +++ b/pkgs/desktops/gnome-3/3.20/misc/gspell/src.nix @@ -1,10 +1,10 @@ fetchurl: rec { major = "1.0"; - minor = "0"; + minor = "3"; name = "gspell-${major}.${minor}"; src = fetchurl { url = "mirror://gnome/sources/gspell/${major}/${name}.tar.xz"; - sha256 = "1nkpy005qyrfdklrjnvx5xksd3dv27fmn48wi12q8c8whxy2al3a"; + sha256 = "1m8v4rqaxjsblccc3nnirkbkzgqm90vfpzp3x08lkqriqvk0anfr"; }; } From ec072cbc4c87edd4ece210121dba83abeff0a018 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 16 Jul 2016 21:55:46 +0200 Subject: [PATCH 113/222] nixos/tests/installer: Fix matching LUKS prompt The LUKS passphrase prompt has changed from "Enter passphrase" to "Enter LUKS Passphrase" in c69c76ca7efecba24aba555c2a03f933997d1fd5, so the OCR detection of the test fails indefinitely. Unfortunately, this doesn't fix the test because we have a real problem here: Enter LUKS Passphrase: killall: cryptsetup: no process killed Enter LUKS Passphrase: Signed-off-by: aszlig Cc: @abbradar --- nixos/tests/installer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 4a30cc18b02..95fd4d5f2c2 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -365,7 +365,7 @@ in { enableOCR = true; preBootCommands = '' $machine->start; - $machine->waitForText(qr/Enter passphrase/); + $machine->waitForText(qr/Enter LUKS Passphrase/i); $machine->sendChars("supersecret\n"); ''; }; From 6d35e0259c1e18fc25a406b862b304102ec16509 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 16 Jul 2016 16:35:51 +0200 Subject: [PATCH 114/222] minisign: use fetchFromGitHub and set meta.platforms --- pkgs/tools/security/minisign/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/security/minisign/default.nix b/pkgs/tools/security/minisign/default.nix index 373ebc1e6ff..1a573048aa4 100644 --- a/pkgs/tools/security/minisign/default.nix +++ b/pkgs/tools/security/minisign/default.nix @@ -1,12 +1,14 @@ -{ stdenv, fetchurl, cmake, libsodium }: +{ stdenv, fetchFromGitHub, cmake, libsodium }: stdenv.mkDerivation rec { name = "minisign-${version}"; version = "0.6"; - src = fetchurl { - url = "https://github.com/jedisct1/minisign/archive/${version}.tar.gz"; - sha256 = "029g8ian72fy07k73nf451dw1yggav6crjjc2x6kv4nfpq3pl9pj"; + src = fetchFromGitHub { + repo = "minisign"; + owner = "jedisct1"; + rev = version; + sha256 = "1m71ngxaij3q1dw602kjgj22y5xfjlxrrkjdmx1v4p36y0n6wl92"; }; nativeBuildInputs = [ cmake ]; @@ -22,5 +24,6 @@ stdenv.mkDerivation rec { homepage = https://jedisct1.github.io/minisign/; license = licenses.isc; maintainers = with maintainers; [ joachifm ]; + platforms = platforms.unix; }; } From ce103cae38c996f6620a931be89e2a40d174cdb9 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sun, 17 Jul 2016 11:52:13 +0200 Subject: [PATCH 115/222] cppcheck: 1.73 -> 1.74 --- pkgs/development/tools/analysis/cppcheck/default.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix index 778aaa90cbe..31d62bdae19 100644 --- a/pkgs/development/tools/analysis/cppcheck/default.nix +++ b/pkgs/development/tools/analysis/cppcheck/default.nix @@ -1,15 +1,13 @@ { stdenv, fetchurl, libxslt, docbook_xsl, docbook_xml_dtd_45 }: -let - pname = "cppcheck"; -in stdenv.mkDerivation rec { + pname = "cppcheck"; + version = "1.74"; name = "${pname}-${version}"; - version = "1.73"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.bz2"; - sha256 = "0l7yslf311h3kidi91q4zhqj3f3vsjp1gb2z50y20423fda87xin"; + sha256 = "0m62byiprabm1m3mc4r2w54p7qyhgi8msipnpm66ychr8rz2yny0"; }; nativeBuildInputs = [ libxslt docbook_xsl docbook_xml_dtd_45 ]; @@ -27,8 +25,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A static analysis tool for C/C++ code"; longDescription = '' - Check C/C++ code for memory leaks, mismatching - allocation-deallocation, buffer overruns and more. + Check C/C++ code for memory leaks, mismatching allocation-deallocation, + buffer overruns and more. ''; homepage = http://cppcheck.sourceforge.net/; license = licenses.gpl3Plus; From 17627eac657ae9c4b3246a7e7a4727bf892c0dd6 Mon Sep 17 00:00:00 2001 From: Jos van den Oever Date: Sun, 17 Jul 2016 10:42:45 +0200 Subject: [PATCH 116/222] kde5.spectacle: use postInstall instead of postFixup The other KDE applications run wrapQtProgram in postInstall. --- pkgs/desktops/kde-5/applications/spectacle.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/kde-5/applications/spectacle.nix b/pkgs/desktops/kde-5/applications/spectacle.nix index 7e324f2b3fc..867c0b53b1e 100644 --- a/pkgs/desktops/kde-5/applications/spectacle.nix +++ b/pkgs/desktops/kde-5/applications/spectacle.nix @@ -29,7 +29,7 @@ kdeApp { kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi xcb-util-cursor ]; - postFixup = '' + postInstall = '' wrapQtProgram "$out/bin/spectacle" ''; } From 52896c8c8641c2305dd7fb9b0c551839c16d1fa3 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sun, 17 Jul 2016 12:01:42 +0200 Subject: [PATCH 117/222] pythonPackages.rpy2: 2.5.6 -> 2.8.2 readline issue still exists. ``` ImportError: libreadline.so.6: cannot open shared object file: No such file or directory ``` --- pkgs/top-level/python-packages.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 45aabf63691..4d012da4f90 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -20492,14 +20492,19 @@ in modules // { }); rpy2 = buildPythonPackage rec { - name = "rpy2-2.5.6"; + name = "rpy2-2.8.2"; disabled = isPyPy; src = pkgs.fetchurl { url = "mirror://pypi/r/rpy2/${name}.tar.gz"; - sha256 = "d0d584c435b5ed376925a95a4525dbe87de7fa9260117e9f208029e0c919ad06"; + sha256 = "2c1a313df4e64236dcfe1078ce847b8e3c180656c894928d3a4b391aacb9b24c"; }; buildInputs = with pkgs; [ readline R pcre lzma bzip2 zlib icu ]; - propagatedBuildInputs = [ self.singledispatch ]; + propagatedBuildInputs = with self; [ singledispatch six ]; + + # According to manual this is how the testsuite should be invoked + checkPhase = '' + ${python.interpreter} -m rpy2.tests + ''; meta = { homepage = http://rpy.sourceforge.net/rpy2; description = "Python interface to R"; From 957a0f65995960f3909885c80b6f27d74b6f6a87 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sun, 17 Jul 2016 06:52:29 -0500 Subject: [PATCH 118/222] kde5.extra-cmake-modules: do not propagate for man and info pages --- .../desktops/kde-5/frameworks/extra-cmake-modules/setup-hook.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/desktops/kde-5/frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/desktops/kde-5/frameworks/extra-cmake-modules/setup-hook.sh index 6c8199f17d4..5363f4e30fd 100644 --- a/pkgs/desktops/kde-5/frameworks/extra-cmake-modules/setup-hook.sh +++ b/pkgs/desktops/kde-5/frameworks/extra-cmake-modules/setup-hook.sh @@ -12,14 +12,12 @@ _ecmSharePaths=( \ "desktop-directories" \ "doc" \ "icons" \ - "info" \ "kconf_update" \ "kservices5" \ "kservicetypes5" \ "knotifications5" \ "kxmlgui5" \ "locale" \ - "man" \ "mime" \ "polkit-1" \ "sounds" \ From 6dc6ae0ebe500d45b1ef7a3bac85aad2ef2820ab Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sun, 17 Jul 2016 06:57:47 -0500 Subject: [PATCH 119/222] qt55.qtlocation: don't try to wrap missing module --- pkgs/development/libraries/qt-5/5.5/qtlocation.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/libraries/qt-5/5.5/qtlocation.nix b/pkgs/development/libraries/qt-5/5.5/qtlocation.nix index 0e2ad8bafb3..bd11d4816ff 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtlocation.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtlocation.nix @@ -4,7 +4,6 @@ qtSubmodule { name = "qtlocation"; qtInputs = [ qtbase qtmultimedia ]; postFixup = '' - fixQtModuleCMakeConfig "Location" fixQtModuleCMakeConfig "Positioning" ''; } From 193ab8be67ef941321e6b079db7e73b1d04cf9a8 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 17 Jul 2016 13:25:34 +0300 Subject: [PATCH 120/222] Revert "nixos stage-1: try to quit plymouth if started on failure" This reverts commit c69c76ca7efecba24aba555c2a03f933997d1fd5. This patch was messed up during a rebase -- the commit title doesn't match what it really does at all (it is actually a broken attempt to get LUKS passphrase prompts in Plymouth). --- nixos/modules/system/boot/luksroot.nix | 26 ++++------------------- nixos/modules/system/boot/stage-1-init.sh | 3 --- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index 15881b6d371..8dad09c8920 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -36,7 +36,7 @@ let ${optionalString (header != null) "--header=${header}"} \ ${optionalString (keyFile != null) "--key-file=${keyFile} ${optionalString (keyFileSize != null) "--keyfile-size=${toString keyFileSize}"}"} \ > /.luksopen_args - get_password "Enter LUKS Passphrase" cryptsetup-askpass + cryptsetup-askpass rm /.luksopen_args } @@ -78,7 +78,9 @@ let for try in $(seq 3); do ${optionalString yubikey.twoFactor '' - k_user="$(get_password "Enter two-factor passphrase" cat)" + echo -n "Enter two-factor passphrase: " + read -s k_user + echo ''} if [ ! -z "$k_user" ]; then @@ -461,26 +463,6 @@ in ''} ''; - boot.initrd.preDeviceCommands = '' - get_password() { - local ret - local reply - local tty_stat - - tty_stat="$(stty -g)" - stty -echo - for i in `seq 1 3`; do - echo -n "$1: " - read reply - echo "$reply" | "$2" - if [ "$?" = "0" ]; then - break - fi - done - stty "$tty_stat" - } - ''; - boot.initrd.preLVMCommands = concatStrings (mapAttrsToList openCommand preLVM); boot.initrd.postDeviceCommands = concatStrings (mapAttrsToList openCommand postLVM); diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index 6b1bf0b3e02..d4277ebd80c 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -14,9 +14,6 @@ export LVM_SUPPRESS_FD_WARNINGS=true fail() { if [ -n "$panicOnFail" ]; then exit 1; fi - # If we have a splash screen started, quit it. - command -v plymouth >/dev/null 2>&1 && plymouth quit - # If starting stage 2 failed, allow the user to repair the problem # in an interactive shell. cat < Date: Fri, 15 Jul 2016 18:47:46 +0200 Subject: [PATCH 121/222] plugin-torture: git 2013-10-03 -> 5 --- .../audio/plugin-torture/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/audio/plugin-torture/default.nix b/pkgs/applications/audio/plugin-torture/default.nix index cca4538422f..e4fb83439e0 100644 --- a/pkgs/applications/audio/plugin-torture/default.nix +++ b/pkgs/applications/audio/plugin-torture/default.nix @@ -1,13 +1,14 @@ -{ stdenv, fetchgit, boost, ladspaH, lilv, lv2, pkgconfig, serd, sord, sratom }: +{ stdenv, fetchFromGitHub, boost, ladspaH, lilv, lv2, pkgconfig, serd, sord, sratom }: stdenv.mkDerivation rec { - name = "plugin-torture-git-${version}"; - version = "2013-10-03"; + name = "plugin-torture-${version}"; + version = "5"; - src = fetchgit { - url = "https://github.com/cth103/plugin-torture"; - rev = "9ee06016982bdfbaa215cd0468cc6ada6367462a"; - sha256 = "0ynzfs3z95lbw4l1w276as2a37zxp0cw6pi3lbikr0qk0r7j5j10"; + src = fetchFromGitHub { + owner = "cth103"; + repo = "plugin-torture"; + rev = "v${version}"; + sha256 = "1mlgxjsyaz86wm4k32ll2w5nghjffnsdqlm6kjv02a4dpb2bfrih"; }; buildInputs = [ boost ladspaH lilv lv2 pkgconfig serd sord sratom ]; @@ -15,7 +16,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cp plugin-torture $out/bin/ - cp README $out/bin/ + cp find-safe-plugins $out/bin/ ''; meta = with stdenv.lib; { From 76e41640070feda4ff343dec1d9c0aa2ccc8921c Mon Sep 17 00:00:00 2001 From: Tristan Helmich Date: Sun, 17 Jul 2016 15:55:53 +0200 Subject: [PATCH 122/222] emby: 3.0.5985 -> 3.0.5986 (#17007) --- pkgs/servers/emby/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix index b9cc038479d..1d9d9772706 100644 --- a/pkgs/servers/emby/default.nix +++ b/pkgs/servers/emby/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "emby-${version}"; - version = "3.0.5985"; + version = "3.0.5986"; src = fetchurl { url = "https://github.com/MediaBrowser/Emby/archive/${version}.tar.gz"; - sha256 = "16p8qr9pf6ww6xdfbsqamnpk70i4dadz30lnvliyxaaslggjbh4b"; + sha256 = "0lccyvwk9pm9vn3fg4pa9956f4xn6fcqzlyj8rkxgwf7avzibxix"; }; propagatedBuildInputs = with pkgs; [ From 00a61a420fe6db169871a136b45f0a441e77e847 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Sun, 17 Jul 2016 09:32:10 +0200 Subject: [PATCH 123/222] zexy: don't patchShebangs, breaks build --- pkgs/applications/audio/pd-plugins/zexy/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/applications/audio/pd-plugins/zexy/default.nix b/pkgs/applications/audio/pd-plugins/zexy/default.nix index 68996e9e6e4..7cd244c9ea4 100644 --- a/pkgs/applications/audio/pd-plugins/zexy/default.nix +++ b/pkgs/applications/audio/pd-plugins/zexy/default.nix @@ -16,7 +16,6 @@ stdenv.mkDerivation rec { for i in ${puredata}/include/pd/*; do ln -s $i . done - patchShebangs ./bootstrap.sh ./configure --enable-lpt=no --prefix=$out ''; From dd778f175671d295d98231109917cb12e8de3594 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sun, 17 Jul 2016 22:40:27 +0800 Subject: [PATCH 124/222] fritzing: fix qmake4Hook build pass phoenix.pro and return unpack logic which were removed in 0b88755 --- .../science/electronics/fritzing/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix index 110759ea292..3f80ed2866d 100644 --- a/pkgs/applications/science/electronics/fritzing/default.nix +++ b/pkgs/applications/science/electronics/fritzing/default.nix @@ -9,8 +9,18 @@ stdenv.mkDerivation rec { sha256 = "181qnknq1j5x075icpw2qk0sc4wcj9f2hym533vs936is0wxp2gk"; }; + unpackPhase = '' + tar xjf ${src} + ''; + buildInputs = [ qtbase qtsvg boost qmakeHook ]; + qmakeFlags = [ "phoenix.pro" ]; + + preConfigure = '' + cd fritzing-${version}.source + ''; + meta = { description = "An open source prototyping tool for Arduino-based projects"; homepage = http://fritzing.org/; From 2d529cfebb720ebdbc4ca9b794887940c5ef0f5f Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sun, 17 Jul 2016 22:41:34 +0800 Subject: [PATCH 125/222] guitone: fix qmake4Hook build pass guitone.pro which was removed in 9a8a4b6 --- pkgs/applications/version-management/guitone/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/version-management/guitone/default.nix b/pkgs/applications/version-management/guitone/default.nix index 8731cbfde19..8f8750b98c2 100644 --- a/pkgs/applications/version-management/guitone/default.nix +++ b/pkgs/applications/version-management/guitone/default.nix @@ -18,6 +18,8 @@ stdenv.mkDerivation rec { buildInputs = [ qt4 qmake4Hook pkgconfig graphviz ]; + qmakeFlags = [ "guitone.pro" ]; + meta = { description = "Qt4 based GUI for monotone"; homepage = http://guitone.thomaskeller.biz; From 5609e0daa293573c0d2f27c541fbca7d345e6942 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sun, 17 Jul 2016 22:42:08 +0800 Subject: [PATCH 126/222] multimon-ng: fix qmake4Hook build pass multimon-ng.pro which was removed in fbb9263 --- pkgs/applications/misc/multimon-ng/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/misc/multimon-ng/default.nix b/pkgs/applications/misc/multimon-ng/default.nix index a9f0cb2511a..8e39c258333 100644 --- a/pkgs/applications/misc/multimon-ng/default.nix +++ b/pkgs/applications/misc/multimon-ng/default.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation { nativeBuildInputs = [ qmake4Hook ]; + qmakeFlags = [ "multimon-ng.pro" ]; + installPhase = '' mkdir -p $out/bin cp multimon-ng $out/bin From 615d818964e9401726890c85735739742cd979af Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sun, 17 Jul 2016 22:42:46 +0800 Subject: [PATCH 127/222] ppsspp: fix qmake4Hook build pass PPSSPPQt.pro which was removed in 34625f6 --- pkgs/misc/emulators/ppsspp/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/misc/emulators/ppsspp/default.nix index 68fb7105078..3f02304c0d4 100644 --- a/pkgs/misc/emulators/ppsspp/default.nix +++ b/pkgs/misc/emulators/ppsspp/default.nix @@ -22,6 +22,8 @@ stdenv.mkDerivation rec{ buildInputs = [ zlib libpng pkgconfig qt4 qmake4Hook ] ++ (if withGamepads then [ SDL ] else [ ]); + qmakeFlags = [ "PPSSPPQt.pro" ]; + preConfigure = "cd Qt"; installPhase = "mkdir -p $out/bin && cp ppsspp $out/bin"; From a6a0b092da7c10cc8506aa91892c8d3161ef9fb3 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Fri, 15 Jul 2016 22:41:03 +0200 Subject: [PATCH 128/222] pythonPackages.m2crypto: 0.23.0 -> 0.24.0 Fixes libressl compatibility. --- 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 4d012da4f90..e8d3b13d98a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12454,12 +12454,12 @@ in modules // { m2crypto = buildPythonPackage rec { - version = "0.23.0"; + version = "0.24.0"; name = "m2crypto-${version}"; src = pkgs.fetchurl { url = "mirror://pypi/M/M2Crypto/M2Crypto-${version}.tar.gz"; - sha256 = "1ac3b6eafa5ff7e2a0796675316d7569b28aada45a7ab74042ad089d15a9567f"; + sha256 = "1s2y0pf2zg7xf4nfwrw7zhwbk615r5a7bgi5wwkwzh6jl50n99c0"; }; buildInputs = with self; [ pkgs.swig2 pkgs.openssl ]; From 8a6fce54315ce4094ea7891ad99f2c7f7d10d0dc Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sat, 16 Jul 2016 21:53:15 +0200 Subject: [PATCH 129/222] ndjbdns: 1.05.9 -> 1.06 --- pkgs/tools/networking/ndjbdns/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/ndjbdns/default.nix b/pkgs/tools/networking/ndjbdns/default.nix index 2a7e996f8db..256f50e5c54 100644 --- a/pkgs/tools/networking/ndjbdns/default.nix +++ b/pkgs/tools/networking/ndjbdns/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, systemd, pkgconfig }: stdenv.mkDerivation rec { - version = "1.05.9"; + version = "1.06"; name = "ndjbdns-${version}"; + src = fetchurl { url = "http://pjp.dgplug.org/ndjbdns/${name}.tar.gz"; - sha256 = "0gf3hlmr6grcn6dzflf83lqqfp6hk3ldhbc7z0a1rrh059m93ap5"; + sha256 = "09qi5a9abqm08iqmxj74fzzq9x1w5lzr1jlbzj2hl8hz0g2sgraw"; }; buildInputs = [ pkgconfig systemd ]; @@ -21,4 +22,4 @@ stdenv.mkDerivation rec { platforms = platforms.linux; }; -} \ No newline at end of file +} From eacabb99930621bd1f04beeb1c701ec82ca96978 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 17 Jul 2016 04:23:45 +0200 Subject: [PATCH 130/222] shncpd: init at 2016-06-22 --- pkgs/tools/networking/shncpd/default.nix | 27 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/tools/networking/shncpd/default.nix diff --git a/pkgs/tools/networking/shncpd/default.nix b/pkgs/tools/networking/shncpd/default.nix new file mode 100644 index 00000000000..be2bc6a75a1 --- /dev/null +++ b/pkgs/tools/networking/shncpd/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "shncpd-${version}"; + version = "2016-06-22"; + + src = fetchFromGitHub { + owner = "jech"; + repo = "shncpd"; + rev = "62ef688db7a6535ce11e66c8c93ab64a1bb09484"; + sha256 = "1sj7a77isc2jmh7gw2naw9l9366kjx6jb909h7spj7daxdwvji8f"; + }; + + hardeningEnable = [ "pie" ]; + + preConfigure = '' + makeFlags=( "PREFIX=$out" ) + ''; + + meta = with stdenv.lib; { + description = "Simple, stupid and slow HNCP daemon"; + homepage = https://www.irif.univ-paris-diderot.fr/~jch/software/homenet/shncpd.html; + license = licenses.mit; + platforms = platforms.linux; + maintainers = [ maintainers.fpletz ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 88ca78fa308..611fa4306ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6601,6 +6601,8 @@ in shellcheck = self.haskellPackages.ShellCheck; + shncpd = callPackage ../tools/networking/shncpd { }; + sigrok-cli = callPackage ../development/tools/sigrok-cli { }; simpleTpmPk11 = callPackage ../tools/security/simple-tpm-pk11 { }; From 08c65bc68b5bb3b63cfca6672b650c00113d3c3f Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 17 Jul 2016 15:07:44 +0200 Subject: [PATCH 131/222] gti: Fix build on darwin --- pkgs/tools/misc/gti/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/tools/misc/gti/default.nix b/pkgs/tools/misc/gti/default.nix index 39e28073abc..3705dd832e9 100644 --- a/pkgs/tools/misc/gti/default.nix +++ b/pkgs/tools/misc/gti/default.nix @@ -11,6 +11,10 @@ stdenv.mkDerivation rec { sha256 = "1wki7d61kcmv9s3xayky9cz84qa773x3y1z88y768hq8ifwadcbn"; }; + prePatch = '' + substituteInPlace Makefile --replace gcc cc + ''; + installPhase = '' mkdir -p $out/bin $out/share/man/man6 cp gti $out/bin From 727eb19a812ccf34d8b6e79ef398a9b5bf80e0b2 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 17 Jul 2016 16:36:06 +0200 Subject: [PATCH 132/222] jenkins: 2.3 -> 2.13 --- .../tools/continuous-integration/jenkins/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix index e7355d167d9..01d1c97ba96 100644 --- a/pkgs/development/tools/continuous-integration/jenkins/default.nix +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "jenkins-${version}"; - version = "2.3"; + version = "2.13"; src = fetchurl { url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; - sha256 = "0x59dbvh6y25ki5jy51djbfbhf8g2j3yd9f3n66f7bkdfw8p78g1"; + sha256 = "0rb3spml2c7cd34zjjc5mwsdcnwmcbcdc784nl8cczayiwz8nq3p"; }; buildCommand = '' @@ -19,6 +19,6 @@ stdenv.mkDerivation rec { homepage = http://jenkins-ci.org; license = licenses.mit; platforms = platforms.all; - maintainers = [ maintainers.coconnor ]; + maintainers = with maintainers; [ coconnor fpletz ]; }; } From 9117d20b451b49787353c4cb72a2ffab6e16a999 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 17 Jul 2016 17:12:23 +0200 Subject: [PATCH 133/222] sslscan: 1.11.5 -> 1.11.7, fixes darwin build --- pkgs/tools/security/sslscan/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/sslscan/default.nix b/pkgs/tools/security/sslscan/default.nix index 50cc380b970..f6777a0e979 100644 --- a/pkgs/tools/security/sslscan/default.nix +++ b/pkgs/tools/security/sslscan/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sslscan-${version}"; - version = "1.11.5"; + version = "1.11.7"; src = fetchurl { url = "https://github.com/rbsec/sslscan/archive/${version}-rbsec.tar.gz"; - sha256 = "0mcg8hyx1r9sq716bw1r554fcsf512khgcms2ixxb1c31ng6lhq6"; + sha256 = "0wygz2gm9asvhpfy44333y4pkdja1sbr41hc6mhkxg7a4ys8f9qs"; }; buildInputs = [ openssl ]; From f6529d96409aaf777a47227b1d00098f618b184d Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Sun, 17 Jul 2016 17:27:57 +0200 Subject: [PATCH 134/222] eq10q: 2.0-beta7 -> 2.0 (#17041) --- pkgs/applications/audio/eq10q/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/audio/eq10q/default.nix b/pkgs/applications/audio/eq10q/default.nix index e2adf9e131c..0ff83a9023e 100644 --- a/pkgs/applications/audio/eq10q/default.nix +++ b/pkgs/applications/audio/eq10q/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, cmake, fftw, gtkmm, libxcb, lv2, pkgconfig, xorg }: stdenv.mkDerivation rec { - name = "eq10q-2-${version}"; - version = "beta7.1"; + name = "eq10q-${version}"; + version = "2.0"; src = fetchurl { url = "mirror://sourceforge/project/eq10q/${name}.tar.gz"; - sha256 = "1jmrcx4jlx8kgsy5n4jcxa6qkjqvx7d8l2p7dsmw4hj20s39lgyi"; + sha256 = "08vlfly0qqrfqiwpn5g5php680icpk97pwnwjadmj5syhgvi0i3h"; }; buildInputs = [ cmake fftw gtkmm libxcb lv2 pkgconfig xorg.libpthreadstubs xorg.libXdmcp xorg.libxshmfence ]; From 1b9f6732c7988d13554e72f5c54bffe0b310268a Mon Sep 17 00:00:00 2001 From: Miguel Madrid Date: Sun, 17 Jul 2016 17:53:51 +0200 Subject: [PATCH 135/222] diff-so-fancy: 0.10.0 -> 0.10.1 (#17033) --- .../git-and-tools/diff-so-fancy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix index 8f96f36cf86..a3881baf1e7 100644 --- a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix +++ b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "diff-so-fancy-${version}"; - version = "0.10.0"; + version = "0.10.1"; # perl is needed here so patchShebangs can do its job buildInputs = [perl makeWrapper]; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { owner = "so-fancy"; repo = "diff-so-fancy"; rev = "v${version}"; - sha256 = "08dv9xlrsyjr1ylm83lbsv2p5asfia4ib97bwgcacsdxxh5zyqh9"; + sha256 = "0wp5civn70jzil1gbygx6ccrxfrmc8xx90v7zgf36rqi2yhvv64m"; }; buildPhase = null; From be625ad36be481e4d0274b489066fe18c147376c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sun, 17 Jul 2016 18:29:46 +0200 Subject: [PATCH 136/222] xsession: fix multiple arguments with logToJournal KDM and LightDM (at least with autologin) call the xsession-script with two arguments: the first is the path of the xsession script itself, while the second one are the actual arguments. The line to re-exec the script under systemd-cat only forwarded a single argument, therefore breaking LightDM and KDM login. This commit fixes the issue by always forwarding all the arguments. --- nixos/modules/services/x11/display-managers/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 862ddc1d13f..83d679ebe01 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -34,7 +34,7 @@ let ${optionalString cfg.displayManager.logToJournal '' if [ -z "$_DID_SYSTEMD_CAT" ]; then - _DID_SYSTEMD_CAT=1 exec ${config.systemd.package}/bin/systemd-cat -t xsession -- "$0" "$1" + _DID_SYSTEMD_CAT=1 exec ${config.systemd.package}/bin/systemd-cat -t xsession -- "$0" "$@" fi ''} From 8881f940a90e1087a5c895e58d267d527a2c57cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sun, 17 Jul 2016 18:37:43 +0200 Subject: [PATCH 137/222] nixos/sddm: options documentation improvements --- nixos/modules/services/x11/display-managers/sddm.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 7a17a222bca..16d1e89e8d9 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -27,6 +27,7 @@ let ${cfg.stopScript} ''; + cfgFile = pkgs.writeText "sddm.conf" '' [General] HaltCommand=${pkgs.systemd}/bin/systemctl poweroff @@ -154,7 +155,7 @@ in type = types.bool; default = false; description = '' - Automatically log in as the sepecified . + Automatically log in as . ''; }; @@ -162,7 +163,7 @@ in type = types.nullOr types.str; default = null; description = '' - User to be used for the autologin. + User to be used for the automatic login. ''; }; @@ -170,8 +171,8 @@ in type = types.bool; default = false; description = '' - If true automatic login will kick in again on session exit, otherwise it - will work only the first time. + If true automatic login will kick in again on session exit (logout), otherwise it + will only log in automatically when the display-manager is started. ''; }; }; From 336786addc53a20bd757f415b9d560b107cd7c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sun, 17 Jul 2016 18:51:55 +0200 Subject: [PATCH 138/222] nixos/lightdm: support greeter-less auto login This adds configuration options for automatic login and disabling the greeter (this should avoid the dependency on gtk). --- .../services/x11/display-managers/lightdm.nix | 100 +++++++++++++++++- 1 file changed, 96 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index ac7db3d9adc..47786f0a432 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -4,7 +4,8 @@ with lib; let - dmcfg = config.services.xserver.displayManager; + xcfg = config.services.xserver; + dmcfg = xcfg.displayManager; xEnv = config.systemd.services."display-manager".environment; cfg = dmcfg.lightdm; @@ -36,16 +37,31 @@ let lightdmConf = writeText "lightdm.conf" '' [LightDM] - greeter-user = ${config.users.extraUsers.lightdm.name} - greeters-directory = ${cfg.greeter.package} + ${optionalString cfg.greeter.enable '' + greeter-user = ${config.users.extraUsers.lightdm.name} + greeters-directory = ${cfg.greeter.package} + ''} sessions-directory = ${dmcfg.session.desktops} [Seat:*] xserver-command = ${xserverWrapper} session-wrapper = ${dmcfg.session.script} - greeter-session = ${cfg.greeter.name} + ${optionalString cfg.greeter.enable '' + greeter-session = ${cfg.greeter.name} + ''} + ${optionalString cfg.autoLogin.enable '' + autologin-user = ${cfg.autoLogin.user} + autologin-user-timeout = ${toString cfg.autoLogin.timeout} + autologin-session = ${defaultSessionName} + ''} ${cfg.extraSeatDefaults} ''; + + defaultSessionName = + let + dm = xcfg.desktopManager.default; + wm = xcfg.windowManager.default; + in dm + optionalString (wm != "none") (" + " + wm); in { # Note: the order in which lightdm greeter modules are imported @@ -68,6 +84,14 @@ in }; greeter = { + enable = mkOption { + type = types.bool; + default = true; + description = '' + If set to false, run lightdm in greeterless mode. This only works if autologin + is enabled and autoLogin.timeout is zero. + ''; + }; package = mkOption { type = types.package; description = '' @@ -102,10 +126,67 @@ in description = "Extra lines to append to SeatDefaults section."; }; + autoLogin = mkOption { + default = {}; + description = '' + Configuration for automatic login. + ''; + + type = types.submodule { + options = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Automatically log in as the specified . + ''; + }; + + user = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + User to be used for the automatic login. + ''; + }; + + timeout = mkOption { + type = types.int; + default = 0; + description = '' + Show the greeter for this many seconds before automatic login occurs. + ''; + }; + }; + }; + }; + }; }; config = mkIf cfg.enable { + + assertions = [ + { assertion = cfg.autoLogin.enable -> cfg.autoLogin.user != null; + message = '' + LightDM auto-login requires services.xserver.displayManager.lightdm.autoLogin.user to be set + ''; + } + { assertion = cfg.autoLogin.enable -> elem defaultSessionName dmcfg.session.names; + message = '' + LightDM auto-login requires that services.xserver.desktopManager.default and + services.xserver.windowMananger.default are set to valid values. The current + default session: ${defaultSessionName} is not valid. + ''; + } + { assertion = !cfg.greeter.enable -> (cfg.autoLogin.enable && cfg.autoLogin.timeout == 0); + message = '' + LightDM can only run without greeter if automatic login is enabled and the timeout for it + is set to zero. + ''; + } + ]; + services.xserver.displayManager.slim.enable = false; services.xserver.displayManager.job = { @@ -144,6 +225,17 @@ in session optional ${pkgs.systemd}/lib/security/pam_systemd.so ''; }; + security.pam.services.lightdm-autologin.text = '' + auth requisite pam_nologin.so + auth required pam_succeed_if.so uid >= 1000 quiet + auth required pam_permit.so + + account include lightdm + + password include lightdm + + session include lightdm + ''; users.extraUsers.lightdm = { createHome = true; From 800a379cb317182722c8cbfe1a9716cd454c32cd Mon Sep 17 00:00:00 2001 From: Tomas Hlavaty Date: Sun, 17 Jul 2016 17:20:23 +0200 Subject: [PATCH 139/222] unittest-cpp: init at 1.6.1 --- .../libraries/unittest-cpp/default.nix | 26 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/libraries/unittest-cpp/default.nix diff --git a/pkgs/development/libraries/unittest-cpp/default.nix b/pkgs/development/libraries/unittest-cpp/default.nix new file mode 100644 index 00000000000..e0ce2ab224e --- /dev/null +++ b/pkgs/development/libraries/unittest-cpp/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchFromGitHub, cmake}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "unittest-cpp-${version}"; + version = "1.6.1"; + + src = fetchFromGitHub { + owner = "unittest-cpp"; + repo = "unittest-cpp"; + rev = "v${version}"; + sha256 = "1sva2bm90z4vmwwvp0af82f7p4sdq5j2jjqzhs2ppihdkggn62d1"; + }; + + buildInputs = [cmake]; + + doCheck = false; + + meta = { + homepage = "https://github.com/unittest-cpp/unittest-cpp"; + description = "Lightweight unit testing framework for C++"; + license = licenses.mit; + maintainers = [maintainers.tohl]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 611fa4306ec..711a389cb8c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3941,6 +3941,8 @@ in units = callPackage ../tools/misc/units { }; + unittest-cpp = callPackage ../development/libraries/unittest-cpp { }; + unrar = callPackage ../tools/archivers/unrar { }; xar = callPackage ../tools/compression/xar { }; From 16ad19887a74fc63e20690eea6c6d4a65208278a Mon Sep 17 00:00:00 2001 From: Tomas Hlavaty Date: Sun, 17 Jul 2016 17:39:15 +0200 Subject: [PATCH 140/222] openshot-qt: init at 2.0.7 --- .../video/openshot-qt/default.nix | 48 +++++++++++++++++++ .../video/openshot-qt/libopenshot-audio.nix | 31 ++++++++++++ .../video/openshot-qt/libopenshot.nix | 46 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 127 insertions(+) create mode 100644 pkgs/applications/video/openshot-qt/default.nix create mode 100644 pkgs/applications/video/openshot-qt/libopenshot-audio.nix create mode 100644 pkgs/applications/video/openshot-qt/libopenshot.nix diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix new file mode 100644 index 00000000000..5f142d715f5 --- /dev/null +++ b/pkgs/applications/video/openshot-qt/default.nix @@ -0,0 +1,48 @@ +{stdenv, fetchurl, fetchFromGitHub, callPackage, makeWrapper, doxygen +, ffmpeg, python3Packages, qt55}: + +with stdenv.lib; + +let + libopenshot = callPackage ./libopenshot.nix {}; +in +stdenv.mkDerivation rec { + name = "openshot-qt-${version}"; + version = "2.0.7"; + + src = fetchFromGitHub { + owner = "OpenShot"; + repo = "openshot-qt"; + rev = "v${version}"; + sha256 = "1s4b61fd8cyjy8kvc25mqd97dkxx6gqmz02i42rrcriz51pw8wgh"; + }; + + buildInputs = [doxygen python3Packages.python makeWrapper ffmpeg]; + + propagatedBuildInputs = [ + qt55.qtbase + qt55.qtmultimedia + libopenshot + ]; + + installPhase = '' + mkdir -p $(toPythonPath $out) + cp -r src/* $(toPythonPath $out) + mkdir -p $out/bin + echo "#/usr/bin/env sh" >$out/bin/openshot-qt + echo "exec ${python3Packages.python.interpreter} $(toPythonPath $out)/launch.py" >>$out/bin/openshot-qt + chmod +x $out/bin/openshot-qt + wrapProgram $out/bin/openshot-qt \ + --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${libopenshot}):$(toPythonPath ${python3Packages.pyqt5}):$(toPythonPath ${python3Packages.sip_4_16}):$(toPythonPath ${python3Packages.httplib2}):$PYTHONPATH" + ''; + + doCheck = false; + + meta = { + homepage = "http://openshot.org/"; + description = "Free, open-source video editor"; + license = licenses.gpl3Plus; + maintainers = [maintainers.tohl]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix new file mode 100644 index 00000000000..8b583d4ec5c --- /dev/null +++ b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix @@ -0,0 +1,31 @@ +{stdenv, fetchurl, fetchFromGitHub, cmake, doxygen +, libX11, libXft, libXrandr, libXinerama, libXext, libXcursor, alsaLib}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "libopenshot-audio-${version}"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "OpenShot"; + repo = "libopenshot-audio"; + rev = "v${version}"; + sha256 = "0pgw7vzx3znglwm58187ybhg5maa13n4xcy5hrhzfsp8bqhrwkc7"; + }; + + buildInputs = [ + cmake doxygen + libX11 libXft libXrandr libXinerama libXext libXcursor alsaLib + ]; + + doCheck = false; + + meta = { + homepage = "http://openshot.org/"; + description = "Free, open-source video editor"; + license = licenses.gpl3Plus; + maintainers = [maintainers.tohl]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix new file mode 100644 index 00000000000..2737c48ec83 --- /dev/null +++ b/pkgs/applications/video/openshot-qt/libopenshot.nix @@ -0,0 +1,46 @@ +{stdenv, fetchurl, fetchFromGitHub, callPackage, cmake, doxygen +, imagemagick, ffmpeg, qt55, swig, python3, ruby, unittest-cpp}: + +with stdenv.lib; + +let + libopenshot_audio = callPackage ./libopenshot-audio.nix {}; +in +stdenv.mkDerivation rec { + name = "libopenshot-${version}"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "OpenShot"; + repo = "libopenshot"; + rev = "v${version}"; + sha256 = "12nfkris7spn8n4s8fvy2f6yk1hqh97wzh1z3fsdxldg4gppi903"; + }; + + patchPhase = '' + sed -i 's/{UNITTEST++_INCLUDE_DIR}/ENV{UNITTEST++_INCLUDE_DIR}/g' tests/CMakeLists.txt + sed -i 's/{_REL_PYTHON_MODULE_PATH}/ENV{_REL_PYTHON_MODULE_PATH}/g' src/bindings/python/CMakeLists.txt + sed -i 's/{RUBY_VENDOR_ARCH_DIR}/ENV{RUBY_VENDOR_ARCH_DIR}/g' src/bindings/ruby/CMakeLists.txt + export _REL_PYTHON_MODULE_PATH=$(toPythonPath $out) + export RUBY_VENDOR_ARCH_DIR=$out/lib/ruby/site-packages + ''; + + buildInputs = [ + cmake doxygen + imagemagick ffmpeg qt55.qtbase qt55.qtmultimedia swig python3 ruby + unittest-cpp + ]; + + LIBOPENSHOT_AUDIO_DIR = "${libopenshot_audio}"; + "UNITTEST++_INCLUDE_DIR" = "${unittest-cpp}/include/UnitTest++"; + + doCheck = false; + + meta = { + homepage = "http://openshot.org/"; + description = "Free, open-source video editor"; + license = licenses.gpl3Plus; + maintainers = [maintainers.tohl]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 711a389cb8c..93ab72fbb73 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4753,6 +4753,8 @@ in jdk = if stdenv.isDarwin then self.jdk7 else self.jdk8; jre = if stdenv.isDarwin then self.jre7 else self.jre8; + openshot-qt = callPackage ../applications/video/openshot-qt { }; + oraclejdk = self.jdkdistro true false; oraclejdk7 = self.oraclejdk7distro true false; From d078844ca62c669468b818fbe59b8ac6c5d2aab3 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Sun, 17 Jul 2016 09:04:30 +0200 Subject: [PATCH 141/222] update puredata --- pkgs/applications/audio/puredata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/puredata/default.nix b/pkgs/applications/audio/puredata/default.nix index 8fddcccd51c..8ad982880ef 100644 --- a/pkgs/applications/audio/puredata/default.nix +++ b/pkgs/applications/audio/puredata/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "puredata-${version}"; - version = "0.45-4"; + version = "0.47-1"; src = fetchurl { url = "mirror://sourceforge/pure-data/pd-${version}.src.tar.gz"; - sha256 = "1ls2ap5yi2zxvmr247621g4jx0hhfds4j5704a050bn2n3l0va2p"; + sha256 = "0k5s949kqd7yw97h3m8z81bjz32bis9m4ih8df1z0ymipnafca67"; }; patchPhase = '' From 5431ffee4c5de99ab583686b0e13b22183d17adf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 17 Jul 2016 18:54:29 +0200 Subject: [PATCH 142/222] puredata: fix url Downloads have been moved from sourceforge to msp.ucsd.edu --- pkgs/applications/audio/puredata/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/audio/puredata/default.nix b/pkgs/applications/audio/puredata/default.nix index 8ad982880ef..daa017d1ccb 100644 --- a/pkgs/applications/audio/puredata/default.nix +++ b/pkgs/applications/audio/puredata/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { version = "0.47-1"; src = fetchurl { - url = "mirror://sourceforge/pure-data/pd-${version}.src.tar.gz"; + url = "http://msp.ucsd.edu/Software/pd-${version}.src.tar.gz"; sha256 = "0k5s949kqd7yw97h3m8z81bjz32bis9m4ih8df1z0ymipnafca67"; }; From 23c1d17e9d555a2855fc000e3458e05c0991832f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 17 Jul 2016 19:08:07 +0200 Subject: [PATCH 143/222] puremapping: update 1.01 -> 20160130 --- pkgs/applications/audio/pd-plugins/puremapping/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/audio/pd-plugins/puremapping/default.nix b/pkgs/applications/audio/pd-plugins/puremapping/default.nix index 2e9a37a2f0d..4f285552576 100644 --- a/pkgs/applications/audio/pd-plugins/puremapping/default.nix +++ b/pkgs/applications/audio/pd-plugins/puremapping/default.nix @@ -1,12 +1,13 @@ { stdenv, fetchurl, unzip, puredata }: stdenv.mkDerivation rec { - name = "puremapping-1.01"; + name = "puremapping-${version}"; + version = "20160130"; src = fetchurl { - url = "http://www.chnry.net/ch/IMG/zip/puremapping-libdir-generic.zip"; + url = "http://www.chnry.net/data/puremapping-${version}-generic.zip"; name = "puremapping"; - sha256 = "1ygzxsfj3rnzjkpmgi4wch810q8s5vm1gdam6a938hbbvamafgvc"; + sha256 = "1h7qgqd8srrxw2y1rkdw5js4k6f5vc8x6nlm2mq9mq9vjck7n1j7"; }; buildInputs = [ unzip puredata ]; From f4ea97ae90c86f715f18579d823b2bb42cb6c28c Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 17 Jul 2016 22:44:54 +0300 Subject: [PATCH 144/222] Revert "nixos/tests/installer: Fix matching LUKS prompt" This reverts commit ec072cbc4c87edd4ece210121dba83abeff0a018. See also 193ab8be67ef941321e6b079db7e73b1d04cf9a8 --- nixos/tests/installer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 95fd4d5f2c2..4a30cc18b02 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -365,7 +365,7 @@ in { enableOCR = true; preBootCommands = '' $machine->start; - $machine->waitForText(qr/Enter LUKS Passphrase/i); + $machine->waitForText(qr/Enter passphrase/); $machine->sendChars("supersecret\n"); ''; }; From 540f4a8eab0718d3c8a19c827669e676fa97300e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 17 Jul 2016 21:49:41 +0200 Subject: [PATCH 145/222] gimp: security 2.8.16 -> 2.8.18 Fixes CVE-2016-4994 and some bugs: http://www.gimp.org/news/2016/07/14/gimp-2-8-18-released/ --- pkgs/applications/graphics/gimp/2.8.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix index 5943cb9cdac..27d7376fe52 100644 --- a/pkgs/applications/graphics/gimp/2.8.nix +++ b/pkgs/applications/graphics/gimp/2.8.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { name = "gimp-${version}"; - version = "2.8.16"; + version = "2.8.18"; # This declarations for `gimp-with-plugins` wrapper, # (used for determining $out/lib/gimp/${majorVersion}/ paths) @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2"; - sha256 = "1dsgazia9hmab8cw3iis7s69dvqyfj5wga7ds7w2q5mms1xqbqwm"; + sha256 = "0halh6sl3d2j9gahyabj6h6r3yyldcy7sfb4qrfazpkqqr3j5p9r"; }; buildInputs = From 08fe3950745412b79af0452133eea111c8cd2621 Mon Sep 17 00:00:00 2001 From: obadz Date: Sun, 17 Jul 2016 21:16:58 +0100 Subject: [PATCH 146/222] nixos/tests/installer.nix: add curl on host machine add curl so that rather than seeing the test attempt to download curl's tarball, we see what it's trying to download. --- nixos/tests/installer.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 4a30cc18b02..e71168a7366 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -210,6 +210,10 @@ let pkgs.nixos-artwork pkgs.perlPackages.XMLLibXML pkgs.perlPackages.ListCompare + + # add curl so that rather than seeing the test attempt to download + # curl's tarball, we see what it's trying to download + pkgs.curl ] ++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub ++ optionals (bootLoader == "grub" && grubVersion == 2) [ pkgs.grub2 pkgs.grub2_efi ]; From 1df37fe7a888836dc683cc24d57759147921a7f7 Mon Sep 17 00:00:00 2001 From: Rahul Gopinath Date: Sun, 17 Jul 2016 13:22:56 -0700 Subject: [PATCH 147/222] mendeley: fix sha --- pkgs/applications/office/mendeley/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix index 529c41ec899..5ad6df96325 100644 --- a/pkgs/applications/office/mendeley/default.nix +++ b/pkgs/applications/office/mendeley/default.nix @@ -19,7 +19,7 @@ let url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb"; sha256 = if stdenv.system == arch32 then "0lsmaw8zzyfvndsz1awz3vl5cdvsik9wc3ck8983y20awh7r9f4m" - else "12p6rgxiqajnfgd8nmknyb8icdkln727sshba8x1xlxakxg5c4q4"; + else "0q11v6dv7z5q4s9hlr1hmsd73nmkp8l0sj0b3hjxfblx4mqk6wl7"; deps = [ gcc.cc From a93c6b628d5a318899733a3734d173645e15ae90 Mon Sep 17 00:00:00 2001 From: Tomas Hlavaty Date: Sun, 17 Jul 2016 22:00:11 +0200 Subject: [PATCH 148/222] sbcl: 1.3.6 -> 1.3.7 --- pkgs/development/compilers/sbcl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index e9a1624df1d..296f81d271d 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { name = "sbcl-${version}"; - version = "1.3.6"; + version = "1.3.7"; src = fetchurl { url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; - sha256 = "1ndha72ji30qkq3rq76sp0yrka0679agg97x9imda2pyv0dsq5zh"; + sha256 = "0fjdqnb2rsm2vi9794ywp27jr239ddvzc4xfr0dk49jd4v7p2kc5"; }; patchPhase = '' From 9ff51cc3c424b814c38961cc7c69351de4051b48 Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Mon, 18 Jul 2016 07:12:17 +0300 Subject: [PATCH 149/222] imagemagick: 6.9.3-9 -> 6.9.5-2 (#16958) --- .../graphics/ImageMagick/default.nix | 4 ++-- .../graphics/ImageMagick/imagetragick.patch | 19 ++++++------------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index e73cc9024c6..fd218f99a30 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -11,7 +11,7 @@ let else throw "ImageMagick is not supported on this platform."; cfg = { - version = "6.9.3-9"; + version = "6.9.5-2"; sha256 = "0q19jgn1iv7zqrw8ibxp4z57iihrc9kyb09k2wnspcacs6vrvinf"; patches = []; } @@ -23,7 +23,7 @@ let name = "mingw-build.patch"; url = "https://raw.githubusercontent.com/Alexpux/MINGW-packages/" + "01ca03b2a4ef/mingw-w64-imagemagick/002-build-fixes.patch"; - sha256 = "1pypszlcx2sf7wfi4p37w1y58ck2r8cd5b2wrrwr9rh87p7fy1c0"; + sha256 = "09h3rpr1jnzd7ipy5d16r2gi0bwg4hk5khwzv4cyhv1xzs8pk7pj"; })]; }; in diff --git a/pkgs/applications/graphics/ImageMagick/imagetragick.patch b/pkgs/applications/graphics/ImageMagick/imagetragick.patch index bdb152dd23a..1b2de5e7350 100644 --- a/pkgs/applications/graphics/ImageMagick/imagetragick.patch +++ b/pkgs/applications/graphics/ImageMagick/imagetragick.patch @@ -1,15 +1,8 @@ -diff --git a/config/policy.xml b/config/policy.xml -index ca3b022..b058c05 100644 --- a/config/policy.xml +++ b/config/policy.xml -@@ -58,4 +58,10 @@ - - - -+ -+ -+ -+ -+ -+ - +67a68,72 +> +> +> +> +> From b1ff7f83ef5c8a72a4a9009be3efdf93d939743b Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Mon, 18 Jul 2016 06:18:44 +0200 Subject: [PATCH 150/222] imagemagick: fix hashes See #16958. --- 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 fd218f99a30..793940a8878 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -12,7 +12,7 @@ let cfg = { version = "6.9.5-2"; - sha256 = "0q19jgn1iv7zqrw8ibxp4z57iihrc9kyb09k2wnspcacs6vrvinf"; + sha256 = "09h3rpr1jnzd7ipy5d16r2gi0bwg4hk5khwzv4cyhv1xzs8pk7pj"; patches = []; } # Freeze version on mingw so we don't need to port the patch too often. @@ -23,7 +23,7 @@ let name = "mingw-build.patch"; url = "https://raw.githubusercontent.com/Alexpux/MINGW-packages/" + "01ca03b2a4ef/mingw-w64-imagemagick/002-build-fixes.patch"; - sha256 = "09h3rpr1jnzd7ipy5d16r2gi0bwg4hk5khwzv4cyhv1xzs8pk7pj"; + sha256 = "1pypszlcx2sf7wfi4p37w1y58ck2r8cd5b2wrrwr9rh87p7fy1c0"; })]; }; in From dc05af3284ef5fab3bf0e57f2358e12aaa5d4a19 Mon Sep 17 00:00:00 2001 From: Miguel Madrid Date: Mon, 18 Jul 2016 06:36:35 +0200 Subject: [PATCH 151/222] fzf: 0.13.2 -> 0.13.3 (#17013) --- pkgs/tools/misc/fzf/default.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix index e8c8d9830c7..6ba2b881784 100644 --- a/pkgs/tools/misc/fzf/default.nix +++ b/pkgs/tools/misc/fzf/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "fzf-${version}"; - version = "0.13.2"; + version = "0.13.3"; rev = "${version}"; goPackagePath = "github.com/junegunn/fzf"; @@ -11,13 +11,13 @@ buildGoPackage rec { inherit rev; owner = "junegunn"; repo = "fzf"; - sha256 = "12dr0wib2ajs64a8d3l3zmgj2y8rklkc3xrvgscxgiv29lrlmvfz"; + sha256 = "0mfrlb91akzrj0qpjpaa9bkp6m9z95z56glamry73qy21vbnj58m"; }; buildInputs = [ ncurses ]; goDeps = ./deps.json; - + patchPhase = '' sed -i -e "s|expand(':h:h').'/bin/fzf'|'$bin/bin/fzf'|" plugin/fzf.vim sed -i -e "s|expand(':h:h').'/bin/fzf-tmux'|'$bin/bin/fzf-tmux'|" plugin/fzf.vim @@ -28,4 +28,11 @@ buildGoPackage rec { mkdir -p $out/share/vim-plugins ln -s $out/share/go/src/github.com/junegunn/fzf $out/share/vim-plugins/${name} ''; + + meta = with stdenv.lib; { + homepage = https://github.com/junegunn/fzf; + description = "A command-line fuzzy finder written in Go"; + license = licenses.mit; + platforms = platforms.unix; + }; } From afba229b20f3dc12c7e6ee4461b2b8777f53639e Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Wed, 6 Jul 2016 09:44:18 +0200 Subject: [PATCH 152/222] pidgin-im-gnome-shell-extension: 1.0 -> 1.0.1 --- pkgs/desktops/gnome-3/3.20/misc/pidgin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.20/misc/pidgin/default.nix b/pkgs/desktops/gnome-3/3.20/misc/pidgin/default.nix index 64f7920d9af..e3f6bca10a4 100644 --- a/pkgs/desktops/gnome-3/3.20/misc/pidgin/default.nix +++ b/pkgs/desktops/gnome-3/3.20/misc/pidgin/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, glib }: stdenv.mkDerivation rec { - version = "1.0"; + version = "1.0.1"; basename = "pidgin-im-gnome-shell-extension"; name = "${basename}-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { owner = "muffinmad"; repo = "${basename}"; rev = "v${version}"; - sha256 = "0vj4w9qqx9gads24w3f6v6mfh5va28bp8rc4w7lz0vhp7njmy1yy"; + sha256 = "1567s2sfqig4jw0nrn134f5vkx0yq31q044grv3xk4vpl1f3z2lr"; }; buildInputs = [ glib ]; From 1c0465828c7e762d512774ecea814b7cb61c6b9a Mon Sep 17 00:00:00 2001 From: "Rommel M. Martinez" Date: Mon, 18 Jul 2016 13:01:34 +0800 Subject: [PATCH 153/222] emem: 0.2.16 -> 0.2.18 --- pkgs/applications/misc/emem/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/emem/default.nix b/pkgs/applications/misc/emem/default.nix index 27736713024..b1ba9831c63 100644 --- a/pkgs/applications/misc/emem/default.nix +++ b/pkgs/applications/misc/emem/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "emem"; - version = "0.2.16"; + version = "0.2.18"; name = "${pname}-${version}"; inherit jdk; src = fetchurl { url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar"; - sha256 = "1j6i40mcfwcx85zv0pxpwrqj0zy9s5qd7j63zdqf0lckkjvyrih9"; + sha256 = "090sd1q345xlari267j4k27lglnch26dkwa9pibb1q70hdygv0w8"; }; buildInputs = [ ]; From 60232e6c947e30afd4b367780cba18e4d67790c5 Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Sun, 17 Jul 2016 23:57:32 +0300 Subject: [PATCH 154/222] vis: 2016-04-15 -> 2016-07-15 --- pkgs/applications/editors/vis/default.nix | 35 ++++++++++++++--------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/pkgs/applications/editors/vis/default.nix b/pkgs/applications/editors/vis/default.nix index 8c7cf73f432..496f04142e1 100644 --- a/pkgs/applications/editors/vis/default.nix +++ b/pkgs/applications/editors/vis/default.nix @@ -1,12 +1,18 @@ -{ stdenv, fetchFromGitHub, unzip, pkgconfig, makeWrapper, ncurses, libtermkey, lpeg, lua }: +{ stdenv, fetchFromGitHub, unzip, pkgconfig, makeWrapper +, ncurses, libtermkey, lpeg, lua +, acl ? null, libselinux ? null +, version ? "2016-07-15" +, rev ? "5c2cee9461ef1199f2e80ddcda699595b11fdf08" +, sha256 ? "1jmsv72hq0c2f2rnpllvd70cmxbjwfhynzwaxx24f882zlggwsnd" +}: stdenv.mkDerivation rec { name = "vis-nightly-${version}"; - version = "2016-04-15"; + inherit version; src = fetchFromGitHub { - sha256 = "0a4gpwniy5r9dpfq51fxjxxnxavdjv8x76w9bbjnbnh8n63p3sj7"; - rev = "472c559a273d3c7b0f5ee92260c5544bc3d74576"; + inherit sha256; + inherit rev; repo = "vis"; owner = "martanne"; }; @@ -14,12 +20,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ - unzip - pkgconfig - ncurses - libtermkey - lua - lpeg + unzip pkgconfig + ncurses + libtermkey + lua + lpeg + ] ++ stdenv.lib.optional stdenv.isLinux [ + acl + libselinux ]; LUA_CPATH="${lpeg}/lib/lua/${lua.luaversion}/?.so;"; @@ -33,11 +41,10 @@ stdenv.mkDerivation rec { --prefix VIS_PATH : "$out/share/vis" ''; - meta = { + meta = with stdenv.lib; { description = "A vim like editor"; homepage = http://github.com/martanne/vis; - license = stdenv.lib.licenses.isc; - maintainers = [ stdenv.lib.maintainers.vrthra ]; + license = licenses.isc; + maintainers = [ maintainers.vrthra ]; }; } - From d7cfdc581ca6e6e1bd671d5e2da04e4db6257ca5 Mon Sep 17 00:00:00 2001 From: vbgl Date: Mon, 18 Jul 2016 11:33:51 +0200 Subject: [PATCH 155/222] coq: 8.5pl1 -> 8.5pl2 (#16863) --- 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 1485626125d..eb74891f511 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.5pl1"; + version = "8.5pl2"; coq-version = "8.5"; buildIde = lablgtk != null; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; @@ -24,7 +24,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz"; - sha256 = "1w2xvm6w16khfn63bp95s25hnkn2ny3w0yqg3lq63gp11aqpbyjb"; + sha256 = "0wyywia0darak2zmc5v0ra9rn0b9whwdfiahralm8v5za499s8w3"; }; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; @@ -34,7 +34,7 @@ stdenv.mkDerivation { RM=$(type -tp rm) substituteInPlace configure --replace "/bin/uname" "$UNAME" substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM" - substituteInPlace configure.ml --replace "if arch = \"Darwin\" then \"md5" "if arch = \"Darwinx\" then \"md5" + substituteInPlace configure.ml --replace "if arch = \"Darwin\" || arch = \"FreeBSD\" then \"md5" "if arch = \"Darwinx\" then \"md5" ${csdpPatch} ''; From 01753f247052ba83e4be8df8c8af662ce9993979 Mon Sep 17 00:00:00 2001 From: Wayne Scott Date: Mon, 18 Jul 2016 04:49:16 -0500 Subject: [PATCH 156/222] nixpkgs: update libtomcrypt url Signed-off-by: Austin Seipp --- pkgs/development/libraries/libtomcrypt/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libtomcrypt/default.nix b/pkgs/development/libraries/libtomcrypt/default.nix index e960f5ef57f..896c907bbc8 100644 --- a/pkgs/development/libraries/libtomcrypt/default.nix +++ b/pkgs/development/libraries/libtomcrypt/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation { name = "libtomcrypt-1.17"; src = fetchurl { - url = "http://libtom.org/files/crypt-1.17.tar.bz2"; + url = "https://github.com/libtom/libtomcrypt/releases/download/1.17/crypt-1.17.tar.bz2"; sha256 = "e33b47d77a495091c8703175a25c8228aff043140b2554c08a3c3cd71f79d116"; }; From a05e51d17aa75bde7038035606d2f9a33476271a Mon Sep 17 00:00:00 2001 From: Wayne Scott Date: Mon, 18 Jul 2016 04:49:44 -0500 Subject: [PATCH 157/222] nixpkgs: libtommath 0.39 -> 1.0 Signed-off-by: Austin Seipp --- pkgs/development/libraries/libtommath/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libtommath/default.nix b/pkgs/development/libraries/libtommath/default.nix index d76237e141d..8e9b79b39d3 100644 --- a/pkgs/development/libraries/libtommath/default.nix +++ b/pkgs/development/libraries/libtommath/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, libtool}: stdenv.mkDerivation { - name = "libtommath-0.39"; + name = "libtommath-1.0"; src = fetchurl { - url = http://math.libtomcrypt.com/files/ltm-0.39.tar.bz2; - sha256 = "1kjx8rrw62nanzc5qp8fj6r3ybhw8ca60ahkyb70f10aiij49zs2"; + url = https://github.com/libtom/libtommath/releases/download/v1.0/ltm-1.0.tar.xz; + sha256 = "0v5mpd8zqjfs2hr900w1mxifz23xylyjdqyx1i1wl7q9xvwpsflr"; }; buildInputs = [libtool]; From af056de900b82d7406925df13af9c87f3e4c49ae Mon Sep 17 00:00:00 2001 From: Wayne Scott Date: Mon, 18 Jul 2016 04:58:59 -0500 Subject: [PATCH 158/222] nixpkgs: add bitkeeper-7.3ce Closes #16928. Signed-off-by: Austin Seipp --- .../version-management/bitkeeper/default.nix | 52 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 54 insertions(+) create mode 100644 pkgs/applications/version-management/bitkeeper/default.nix diff --git a/pkgs/applications/version-management/bitkeeper/default.nix b/pkgs/applications/version-management/bitkeeper/default.nix new file mode 100644 index 00000000000..9b487643910 --- /dev/null +++ b/pkgs/applications/version-management/bitkeeper/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchurl, perl, gperf, bison, groff +, pkgconfig, libXft, fontconfig, pcre +, libtomcrypt, libtommath, lz4, zlib }: + +stdenv.mkDerivation rec { + name = "bitkeeper-${version}"; + version = "7.3ce"; + + src = fetchurl { + url = "https://www.bitkeeper.org/downloads/${version}/bk-${version}.tar.gz"; + sha256 = "0lk4vydpq5bi52m81h327gvzdzybf8kkak7yjwmpj6kg1jn9blaz"; + }; + + enableParallelBuilding = true; + + buildInputs = [ + perl gperf bison groff libXft pkgconfig + pcre libtomcrypt libtommath lz4 + ]; + + postPatch = '' + substituteInPlace port/unix_platform.sh \ + --replace /bin/rm rm + substituteInPlace ./undo.c \ + --replace /bin/cat cat + ''; + + sourceRoot = "bk-${version}/src"; + buildPhase = '' + make -j6 V=1 p + make image + ''; + + installPhase = '' + ./utils/bk-* $out/bitkeeper + mkdir -p $out/bin + $out/bitkeeper/bk links $out/bin + chmod g-w $out + ''; + + meta = { + description = "A distributed version control system"; + longDescription = '' + BitKeeper is a fast, enterprise-ready, distributed SCM that + scales up to very large projects and down to tiny ones. + ''; + homepage = https://www.bitkeeper.org/; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.unix; + maintainers = with stdenv.lib.maintainers; [ wscott thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5205492796d..6e7779bdd0d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12241,6 +12241,8 @@ in bibletime = callPackage ../applications/misc/bibletime { }; + bitkeeper = callPackage ../applications/version-management/bitkeeper { }; + bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { }; bitlbee-plugins = callPackage ../applications/networking/instant-messengers/bitlbee/plugins.nix { }; From 36459f19777c788ee4bdc0506aba713ff650815e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gammels=C3=A6ter?= Date: Mon, 18 Jul 2016 12:35:13 +0200 Subject: [PATCH 159/222] mypy-lang: 0.4.2 -> 0.4.3 (#17058) --- pkgs/development/tools/mypy-lang/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/mypy-lang/default.nix b/pkgs/development/tools/mypy-lang/default.nix index d5baf994944..ebce2b86c1f 100644 --- a/pkgs/development/tools/mypy-lang/default.nix +++ b/pkgs/development/tools/mypy-lang/default.nix @@ -2,14 +2,14 @@ python35Packages.buildPythonApplication rec { name = "mypy-lang-${version}"; - version = "0.4.2"; + version = "0.4.3"; # Tests not included in pip package. doCheck = false; src = fetchurl { url = "mirror://pypi/m/mypy-lang/${name}.tar.gz"; - sha256 = "12vwgzbpv0n403dvzas5ckw0f62slqk5j3024y65hi9n95r34rws"; + sha256 = "11d8195xg8hksyh2qapbv66jvjgfpjwkc61nwljcfq9si144f2nb"; }; propagatedBuildInputs = with python35Packages; [ lxml ]; From 86ad25625f7fb6867e515cb09d1da40834f75a9a Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Thu, 7 Jul 2016 00:44:02 +0300 Subject: [PATCH 160/222] nixos stage-1: add custom pre failure dialog commands --- nixos/modules/system/boot/stage-1-init.sh | 2 ++ nixos/modules/system/boot/stage-1.nix | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index d4277ebd80c..7705dcb2d12 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -14,6 +14,8 @@ export LVM_SUPPRESS_FD_WARNINGS=true fail() { if [ -n "$panicOnFail" ]; then exit 1; fi + @preFailCommands@ + # If starting stage 2 failed, allow the user to repair the problem # in an interactive shell. cat < Date: Mon, 18 Jul 2016 13:42:26 +0300 Subject: [PATCH 161/222] plymouth service: style fixes --- nixos/modules/system/boot/plymouth.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 82c1032937c..1d4d52750e0 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -112,6 +112,7 @@ in sed -i '/loginctl/d' $out/71-seat.rules ''; + # We use `mkAfter` to ensure that LUKS password prompt would be shown earlier than the splash screen. boot.initrd.preLVMCommands = mkAfter '' mkdir -p /etc/plymouth ln -s ${configFile} /etc/plymouth/plymouthd.conf @@ -121,7 +122,7 @@ in ln -s $extraUtils/lib/plymouth /etc/plymouth/plugins plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session - plymouth --show-splash + plymouth show-splash ''; }; From 7513a1d2f5b85d75e1d57bd18feb29a90a2f6f5d Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 18 Jul 2016 13:40:41 +0300 Subject: [PATCH 162/222] plymouth service: update root fs before stage 2 --- nixos/modules/system/boot/plymouth.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 1d4d52750e0..0552338bd2a 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -125,6 +125,10 @@ in plymouth show-splash ''; + boot.initrd.postMountCommands = '' + plymouth update-root-fs --new-root-dir="$targetRoot" + ''; + }; } From 3d69653d6b698928f225418e4a5e1b4f621b4dbe Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 18 Jul 2016 13:43:38 +0300 Subject: [PATCH 163/222] plymouth service: stop splash screen before a failure prompt --- nixos/modules/system/boot/plymouth.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 0552338bd2a..60a587af8e9 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -129,6 +129,11 @@ in plymouth update-root-fs --new-root-dir="$targetRoot" ''; + # `mkBefore` to ensure that any custom prompts would be visible. + boot.initrd.preFailCommands = mkBefore '' + plymouth quit --wait + ''; + }; } From 05274e53f8fc84df77ee64e853e73bd925eca819 Mon Sep 17 00:00:00 2001 From: kc1212 Date: Mon, 18 Jul 2016 22:46:47 +1200 Subject: [PATCH 164/222] syncthing: 0.13.9 -> 0.13.10 (#16912) --- pkgs/applications/networking/syncthing/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 87d74aeafd8..b6d318011aa 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchgit, go }: stdenv.mkDerivation rec { - version = "0.13.9"; + version = "0.13.10"; name = "syncthing-${version}"; src = fetchgit { url = https://github.com/syncthing/syncthing; rev = "refs/tags/v${version}"; - sha256 = "1ah3a86rjfqlx4mqyvn8j3r806i65mzhs5xnfg4aakzmwpr5zpx0"; + sha256 = "07q3j6mnrza719rnvbkdsmvlkyr2pch5sj2l204m5iy5mxaghpx7"; }; buildInputs = [ go ]; From f976ba1b88fc46ed55ded7026855d635a58baa4c Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 18 Jul 2016 03:49:08 -0700 Subject: [PATCH 165/222] etcd: 2.3.0 -> 2.3.7 (#16896) --- pkgs/servers/etcd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/etcd/default.nix b/pkgs/servers/etcd/default.nix index 782d7001dee..2c76dfc8e31 100644 --- a/pkgs/servers/etcd/default.nix +++ b/pkgs/servers/etcd/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "etcd-${version}"; - version = "2.3.0"; + version = "2.3.7"; rev = "v${version}"; goPackagePath = "github.com/coreos/etcd"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "coreos"; repo = "etcd"; - sha256 = "1cchlhsdbbqal145cvdiq7rzqqi131iq7z0r2hmzwx414k04wyn7"; + sha256 = "07rdnhcpnvnkxj5pqacxz669rzn5vw2i1zmf6dd4nv7wpfscdw9f"; }; goDeps = ./deps.json; From a89623339654e3ed316308043dbce086fad4d153 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Mon, 18 Jul 2016 07:11:18 -0400 Subject: [PATCH 166/222] jags: 3.4.0 -> 4.1.0 (#16804) * jags: 3.4.0 -> 4.1.0 * unbreak rjags and dependent packages --- .../science/math/jags/default.nix | 4 +-- pkgs/development/r-modules/default.nix | 27 +++---------------- 2 files changed, 5 insertions(+), 26 deletions(-) diff --git a/pkgs/applications/science/math/jags/default.nix b/pkgs/applications/science/math/jags/default.nix index 9d70d268691..ceebfa458a8 100644 --- a/pkgs/applications/science/math/jags/default.nix +++ b/pkgs/applications/science/math/jags/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, gfortran, openblas}: stdenv.mkDerivation rec { - name = "JAGS-3.4.0"; + name = "JAGS-4.1.0"; src = fetchurl { url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz"; - sha256 = "0ayqsz9kkmbss7mxlwr34ch2z1vsb65lryjzqpprab1ccyiaksib"; + sha256 = "08pmrnbwibc0brgn5cx860jcl0s2xaw4amw7g45649r1bcdz7v25"; }; buildInputs = [gfortran openblas]; configureFlags = [ "--with-blas=-lopenblas" "--with-lapack=-lopenblas" ]; diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index c7eeb431bb6..92b3dc3c71c 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -1137,18 +1137,7 @@ let "choroplethr" # depends on broken package acs "acs" # broken build "spray" # depends on broken package partitions - "simmr" # depends on broken package rjags - "morse" # depends on broken package rjags - "gemtc" # depends on broken package rjags - "EasyMARK" # depends on broken package rjags - "PVAClone" # depends on broken package rjags - "sharx" # depends on broken package rjags - "dcmle" # depends on broken package rjags - "dclone" # depends on broken package rjags - "CNVrd2" # depends on broken package rjags - "bayescount" # depends on broken package rjags - "BANOVA" # depends on broken package rjags - "rjags" # broken build + "CNVrd2" # broken build "proteoQC" # depends on broken package rTANDEM "PGA" # depends on broken package rTANDEM "MBESS" # depends on broken package OpenMx @@ -1211,13 +1200,11 @@ let "ARTool" # depends on broken package nlopt "AssetPricing" # broken build "AtelieR" # broken build - "auRoc" # depends on broken package rjags + "auRoc" # depends on broken package MBESS "AutoModel" # depends on broken package car "bamdit" # broken build - "BANOVA" # broken build "bapred" # depends on broken package lme4 "bartMachine" # depends on broken package nlopt - "bayescount" # broken build "bayesDem" # depends on broken package nlopt "bayesLife" # depends on broken package nlopt "BayesMed" # broken build @@ -1283,7 +1270,6 @@ let "covmat" # depends on broken package VIM "cplexAPI" # build is broken "cquad" # depends on broken package car - "crmPack" # depends on broken package rjags "CrypticIBDcheck" # depends on broken package nlopt "ctsem" # depends on broken package OpenMx "cudaBayesreg" # build is broken @@ -1293,7 +1279,7 @@ let "datafsm" # depends on broken package caret "dbConnect" # broken build "DBKGrad" # depends on broken package rpanel - "dcmle" # broken build + #"dcmle" # broken build "ddst" # broken build "Deducer" # depends on broken package nlopt "DeducerExtras" # depends on broken package nlopt @@ -1318,7 +1304,6 @@ let "drsmooth" # depends on broken package nlopt "dynlm" # depends on broken package nlopt "easyanova" # depends on broken package nlopt - "EasyMARK" # broken build "ecd" # depends on broken package polynom "edge" # depends on broken package nlopt "eeptools" # depends on broken package nlopt @@ -1370,7 +1355,6 @@ let "gcmr" # depends on broken package nlopt "GDAtools" # depends on broken package nlopt "gdtools" # broken build - "gemtc" # broken build "GENE_E" # depends on broken package rhdf5 "GENESIS" # broken build "genridge" # depends on broken package nlopt @@ -1499,7 +1483,6 @@ let "mlVAR" # depends on broken package nlopt "MM" # broken build "mongolite" # build is broken - "morse" # broken build "mosaic" # depends on broken package nlopt "mpoly" # broken build "mRMRe" # broken build @@ -1577,7 +1560,6 @@ let "PSAboot" # depends on broken package nlopt "ptw" # depends on broken nloptr "PurBayes" # broken build - "PVAClone" # broken build "pvca" # depends on broken package nlopt "PythonInR" # broken build "QFRM" # broken build @@ -1664,7 +1646,6 @@ let "Rgnuplot" # broken build "rhdf5" # build is broken "rjade" # depends on broken package V8 - "rjags" # broken build "rJPSGCS" # build is broken "rLindo" # build is broken "RLRsim" # depends on broken package lme4 @@ -1724,10 +1705,8 @@ let "seqHMM" # depends on broken package nloptr "seqTools" # build is broken "SharpeR" # broken build - "sharx" # broken build "shinyTANDEM" # depends on broken package rTANDEM "SIBER" # broken build - "simmr" # broken build "simPop" # depends on broken package VIM "simr" # depends on broken package lme4 "SJava" # broken build From b18dde4593fcf2789031ca185e4fe7e55670cb55 Mon Sep 17 00:00:00 2001 From: Johannes Bornhold Date: Mon, 18 Jul 2016 13:35:20 +0200 Subject: [PATCH 167/222] s3cmd: Fix file library path for darwin --- pkgs/top-level/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4d012da4f90..f1f4866e67a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12417,7 +12417,7 @@ in modules // { propagatedBuildInputs = with self; [ pkgs.file ]; patchPhase = '' - substituteInPlace magic.py --replace "ctypes.util.find_library('magic')" "'${pkgs.file}/lib/libmagic.so'" + substituteInPlace magic.py --replace "ctypes.util.find_library('magic')" "'${pkgs.file}/lib/libmagic.${if stdenv.isDarwin then "dylib" else "so"}'" ''; doCheck = false; From 32744b72e5a048fea7250c444e73d2c0b605d50b Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Tue, 21 Jun 2016 20:19:13 -0500 Subject: [PATCH 168/222] disper: repair missing libXrandr and libX11 dependencies --- pkgs/tools/misc/disper/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/disper/default.nix b/pkgs/tools/misc/disper/default.nix index 777f7b48675..449f0f20b80 100644 --- a/pkgs/tools/misc/disper/default.nix +++ b/pkgs/tools/misc/disper/default.nix @@ -1,14 +1,19 @@ -{stdenv, fetchurl, python}: +{stdenv, fetchurl, python, xorg, makeWrapper}: stdenv.mkDerivation rec { name = "disper-0.3.1"; - buildInputs = [python]; + buildInputs = [python makeWrapper]; preConfigure = '' export makeFlags="PREFIX=$out" ''; + postInstall = '' + wrapProgram $out/bin/disper \ + --prefix "LD_LIBRARY_PATH" : "${xorg.libXrandr.out}/lib:${xorg.libX11.out}/lib" + ''; + src = fetchurl { url = http://ppa.launchpad.net/disper-dev/ppa/ubuntu/pool/main/d/disper/disper_0.3.1.tar.gz; sha256 = "1l8brcpfn4iascb454ym0wrv5kqyz4f0h8k6db54nc3zhfwy7vvw"; From 4063834f92c6fa1ce6063c789ed33ba3a3d7b839 Mon Sep 17 00:00:00 2001 From: Langston Barrett Date: Mon, 18 Jul 2016 15:40:05 +0200 Subject: [PATCH 169/222] vagrant: 1.8.1 -> 1.8.4 --- pkgs/development/tools/vagrant/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index c970b319a94..6dfbb6978db 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -4,7 +4,7 @@ assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"; let - version = "1.8.1"; + version = "1.8.4"; rake = buildRubyGem { inherit ruby; gemName = "rake"; @@ -20,12 +20,12 @@ stdenv.mkDerivation rec { if stdenv.system == "x86_64-linux" then fetchurl { url = "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_x86_64.deb"; - sha256 = "0gb999ql4kfxd9473cx3xn6a11094dm4iyrx1dzd9v2sygh1l3pd"; + sha256 = "fd38d8e00e494a617201facb42fc2cac627e5021db15e91c2a041eac6a2d8208"; } else fetchurl { url = "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_i686.deb"; - sha256 = "1nzg6i9i270xgaih381q096lb23rwxkif4ba9j62y3zjmj6az4xf"; + sha256 = "555351717cacaa8660821df8988cc40a39923b06b698fca6bb90621008aab06f"; }; meta = with stdenv.lib; { @@ -97,12 +97,12 @@ stdenv.mkDerivation rec { preFixup = '' # 'hide' the template file from shebang-patching - chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.10.6/lib/bundler/templates/Executable + chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.12.5/lib/bundler/templates/Executable chmod -x $out/opt/vagrant/embedded/gems/gems/vagrant-${version}/plugins/provisioners/salt/bootstrap-salt.sh ''; postFixup = '' - chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.10.6/lib/bundler/templates/Executable + chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.12.5/lib/bundler/templates/Executable chmod +x $out/opt/vagrant/embedded/gems/gems/vagrant-${version}/plugins/provisioners/salt/bootstrap-salt.sh ''; } From e90ab768ce10bca72215de95edaf71cdb5b645ae Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Fri, 27 May 2016 14:17:11 +0200 Subject: [PATCH 170/222] libinput: Use absolute paths in udev rules. Closes #17054 --- pkgs/development/libraries/libinput/default.nix | 6 +++++- .../libraries/libinput/udev-absolute-path.patch | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/libinput/udev-absolute-path.patch diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index a8dc8f357a7..0efee5b94f7 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -3,6 +3,7 @@ , documentationSupport ? false, doxygen ? null, graphviz ? null # Documentation , eventGUISupport ? false, cairo ? null, glib ? null, gtk3 ? null # GUI event viewer support , testsSupport ? false, check ? null, valgrind ? null +, autoconf, automake }: assert documentationSupport -> doxygen != null && graphviz != null; @@ -32,13 +33,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libevdev mtdev libwacom ] + buildInputs = [ libevdev mtdev libwacom autoconf automake ] ++ optionals eventGUISupport [ cairo glib gtk3 ] ++ optionals documentationSupport [ doxygen graphviz ] ++ optionals testsSupport [ check valgrind ]; propagatedBuildInputs = [ udev ]; + patches = [ ./udev-absolute-path.patch ]; + patchFlags = [ "-p0" ]; + meta = { description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver"; homepage = http://www.freedesktop.org/wiki/Software/libinput; diff --git a/pkgs/development/libraries/libinput/udev-absolute-path.patch b/pkgs/development/libraries/libinput/udev-absolute-path.patch new file mode 100644 index 00000000000..2d3fa966b29 --- /dev/null +++ b/pkgs/development/libraries/libinput/udev-absolute-path.patch @@ -0,0 +1,12 @@ +--- configure.ac 2016-05-27 14:00:25.248388226 +0200 ++++ configure.ac 2016-05-27 14:01:28.228943416 +0200 +@@ -214,7 +214,8 @@ AM_CONDITIONAL(BUILD_DOCS, [test "x$buil + # Used by the udev rules so we can use callouts during testing without + # installing everything first. Default is the empty string so the installed + # rule will use udev's default path. Override is in udev/Makefile.am +-AC_SUBST(UDEV_TEST_PATH, "") ++UDEV_TEST_PATH="${UDEV_DIR}/" ++AC_SUBST(UDEV_TEST_PATH) + AC_PATH_PROG(SED, [sed]) + + AC_CONFIG_FILES([Makefile From 6f893694401fa3048eed94c865ed3f0038deac44 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 18 Jul 2016 15:27:08 +0300 Subject: [PATCH 171/222] libinput service: add libinput to udev packages See #17054 --- nixos/modules/services/x11/hardware/libinput.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/services/x11/hardware/libinput.nix b/nixos/modules/services/x11/hardware/libinput.nix index 12cc1e7e646..14c7131e611 100644 --- a/nixos/modules/services/x11/hardware/libinput.nix +++ b/nixos/modules/services/x11/hardware/libinput.nix @@ -198,6 +198,8 @@ in { environment.systemPackages = [ pkgs.xorg.xf86inputlibinput ]; + services.udev.packages = [ pkgs.libinput ]; + services.xserver.config = '' # Automatically enable the libinput driver for all touchpads. From 1e510fd87c792e3228cd7025139dcb92fac195f2 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 18 Jul 2016 10:55:02 -0400 Subject: [PATCH 172/222] oh-my-zsh: 2016-07-05 -> 2016-07-15 --- pkgs/shells/oh-my-zsh/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/shells/oh-my-zsh/default.nix b/pkgs/shells/oh-my-zsh/default.nix index 5a1c74fe442..5bb3b1de7ed 100644 --- a/pkgs/shells/oh-my-zsh/default.nix +++ b/pkgs/shells/oh-my-zsh/default.nix @@ -7,12 +7,12 @@ stdenv.mkDerivation rec { name = "oh-my-zsh-git-${version}"; - version = "2016-07-05"; + version = "2016-07-15"; src = fetchgit { url = "https://github.com/robbyrussell/oh-my-zsh"; - rev = "644bc641ad48c74c88631d79d48ec9b6f3f5a3e5"; - sha256 = "1lmblfcd68pnc38bn6yjqs7sap5qinj37xv881a1rx4q0w38an07"; + rev = "96a2092e377139fbcd95d7b7ac703b740daa22f6"; + sha256 = "0v3hzpfj98mfz0y06qch2hf14iz0vpb9pfysw8hc4mnp0jzh5vz1"; }; phases = "installPhase"; From d8516b0fe3396f5c18f00a81108957b4a872e737 Mon Sep 17 00:00:00 2001 From: Stephen Whitmore Date: Mon, 18 Jul 2016 09:50:51 -0700 Subject: [PATCH 173/222] youtube-dl: 2016.07.09.2 -> 2016.07.17 --- pkgs/tools/misc/youtube-dl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index b6f55bdcc20..12ecf11517c 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.07.09.2"; + version = "2016.07.16"; src = fetchurl { url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz"; - sha256 = "0qs99ss1w22apx3n2173j5mly7h0ngfgkkgz07bn30235saf0fd3"; + sha256 = "017x2hqc2bacypjmn9ac9f91y9y6afydl0z7dich5l627494hvfg"; }; buildInputs = [ makeWrapper zip pandoc ]; From 0ca5879b5a9c28bfe4c2bce1559b94995ee6b5f0 Mon Sep 17 00:00:00 2001 From: Brandon Kase Date: Sat, 9 Jul 2016 17:26:19 -0700 Subject: [PATCH 174/222] vimPlugins: fix youcompleteme on darwin --- pkgs/misc/vim-plugins/default.nix | 7 ++-- .../patches/youcompleteme/1-top-cmake.patch | 14 ++++++++ .../patches/youcompleteme/2-ycm-cmake.patch | 36 +++++++++++++++++++ .../vim2nix/additional-nix-code/youcompleteme | 7 ++-- 4 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 pkgs/misc/vim-plugins/patches/youcompleteme/1-top-cmake.patch create mode 100644 pkgs/misc/vim-plugins/patches/youcompleteme/2-ycm-cmake.patch diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index 6c20cd66df1..b06f609bffa 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -1159,8 +1159,11 @@ rec { llvmPackages.llvm ] ++ stdenv.lib.optional stdenv.isDarwin Cocoa; - propagatedBuildInputs = [ - rustracerd + propagatedBuildInputs = stdenv.lib.optional (!stdenv.isDarwin) rustracerd; + + patches = [ + ./patches/youcompleteme/1-top-cmake.patch + ./patches/youcompleteme/2-ycm-cmake.patch ]; buildPhase = '' diff --git a/pkgs/misc/vim-plugins/patches/youcompleteme/1-top-cmake.patch b/pkgs/misc/vim-plugins/patches/youcompleteme/1-top-cmake.patch new file mode 100644 index 00000000000..fddf91b1c57 --- /dev/null +++ b/pkgs/misc/vim-plugins/patches/youcompleteme/1-top-cmake.patch @@ -0,0 +1,14 @@ + +--- ./third_party/ycmd/cpp/CMakeLists.txt ++++ ./third_party/ycmd/cpp/CMakeLists.txt +@@ -121,8 +121,8 @@ + set( CPP11_AVAILABLE true ) + endif() + elseif( COMPILER_IS_CLANG ) +- set( CPP11_AVAILABLE true ) +- set( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11" ) ++ #set( CPP11_AVAILABLE true ) ++ # set( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11" ) + set( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++" ) + endif() + diff --git a/pkgs/misc/vim-plugins/patches/youcompleteme/2-ycm-cmake.patch b/pkgs/misc/vim-plugins/patches/youcompleteme/2-ycm-cmake.patch new file mode 100644 index 00000000000..a1c4b1b39a4 --- /dev/null +++ b/pkgs/misc/vim-plugins/patches/youcompleteme/2-ycm-cmake.patch @@ -0,0 +1,36 @@ +--- ./third_party/ycmd/cpp/ycm/CMakeLists.txt ++++ ./third_party/ycmd/cpp/ycm/CMakeLists.txt +@@ -335,7 +335,7 @@ + COMMAND ${CMAKE_COMMAND} -E copy "${LIBCLANG_TARGET}" "$" + ) + +- if( APPLE ) ++ #if( APPLE ) + # In OS X El Capitan, Apple introduced System Integrity Protection. + # Amongst other things, this introduces features to the dynamic loader + # (dyld) which cause it to "sanitise" (and complain about) embedded +@@ -354,15 +354,15 @@ + # simply strip the rpath entry from the dylib. There's no way any + # @executable_path that python might have could be in any way useful to + # libclang.dylib, so this seems perfectly safe. +- get_filename_component( LIBCLANG_TAIL ${LIBCLANG_TARGET} NAME ) +- add_custom_command( TARGET ${PROJECT_NAME} +- POST_BUILD +- COMMAND install_name_tool +- "-delete_rpath" +- "@executable_path/../lib" +- "$/${LIBCLANG_TAIL}" +- ) +- endif() ++ # get_filename_component( LIBCLANG_TAIL ${LIBCLANG_TARGET} NAME ) ++ #add_custom_command( TARGET ${PROJECT_NAME} ++ # POST_BUILD ++ # COMMAND install_name_tool ++ # "-delete_rpath" ++ # "@executable_path/../lib" ++ # "$/${LIBCLANG_TAIL}" ++ # ) ++ # endif() + endif() + endif() + diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme index eb7f6bedf49..4b81be5205b 100644 --- a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme +++ b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/youcompleteme @@ -4,8 +4,11 @@ llvmPackages.llvm ] ++ stdenv.lib.optional stdenv.isDarwin Cocoa; - propagatedBuildInputs = [ - rustracerd + propagatedBuildInputs = stdenv.lib.optional (!stdenv.isDarwin) rustracerd; + + patches = [ + ./patches/youcompleteme/1-top-cmake.patch + ./patches/youcompleteme/2-ycm-cmake.patch ]; buildPhase = '' From cb40b4aafdd6593b9cddbd1b11c3d89ac2a7096f Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Mon, 18 Jul 2016 19:11:51 +0200 Subject: [PATCH 175/222] pythonPackages: dulwich disable tests on darwin --- pkgs/top-level/python-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b8eefafa4ad..7bdf5491746 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9359,6 +9359,8 @@ in modules // { # Only test dependencies buildInputs = with self; [ pkgs.git gevent geventhttpclient pkgs.glibcLocales mock fastimport ]; + doCheck = !stdenv.isDarwin; + meta = { description = "Simple Python implementation of the Git file formats and protocols"; homepage = http://samba.org/~jelmer/dulwich/; From 028e3d82df2255f08161b9a3647617d68767b861 Mon Sep 17 00:00:00 2001 From: Anthony Cowley Date: Thu, 14 Jul 2016 14:47:23 -0400 Subject: [PATCH 176/222] qrupdate: fix installation (darwin) The issue is that the library files were not copied to $out with the existing `installTargets` definition. I noticed this problem on darwin, but I do not know if it is a darwin-only problem. --- pkgs/development/libraries/qrupdate/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/qrupdate/default.nix b/pkgs/development/libraries/qrupdate/default.nix index aaa9ab8a61a..89cf865be25 100644 --- a/pkgs/development/libraries/qrupdate/default.nix +++ b/pkgs/development/libraries/qrupdate/default.nix @@ -28,7 +28,9 @@ stdenv.mkDerivation { buildFlags = [ "lib" "solib" ]; - installTargets = "install"; + installTargets = if stdenv.isDarwin + then ["install-staticlib" "install-shlib"] + else "install"; buildInputs = [ gfortran openblas ]; } From 31a8eee841ba85d05ebfdb286cfad6a8de948d6c Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Tue, 28 Jun 2016 14:32:22 +0100 Subject: [PATCH 177/222] prometheus: Bump all to newest Disable tests for prometheus-node-exporter because one megacli test fails. Closes #16575. --- .../monitoring/prometheus/alertmanager.nix | 4 ++-- pkgs/servers/monitoring/prometheus/default.nix | 4 ++-- .../monitoring/prometheus/haproxy-exporter.nix | 4 ++-- .../monitoring/prometheus/mysqld-exporter.nix | 4 ++-- .../monitoring/prometheus/nginx-exporter.nix | 2 +- .../monitoring/prometheus/node-exporter.nix | 11 +++++------ .../prometheus/node-exporter_deps.json | 18 ------------------ .../monitoring/prometheus/pushgateway.nix | 6 +++--- .../monitoring/prometheus/statsd-bridge.nix | 8 ++++---- 9 files changed, 21 insertions(+), 40 deletions(-) delete mode 100644 pkgs/servers/monitoring/prometheus/node-exporter_deps.json diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix index 330a528ef2f..9af52e08375 100644 --- a/pkgs/servers/monitoring/prometheus/alertmanager.nix +++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "alertmanager-${version}"; - version = "0.1.0"; + version = "0.2.1"; rev = "${version}"; goPackagePath = "github.com/prometheus/alertmanager"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "prometheus"; repo = "alertmanager"; - sha256 = "1ya465bns6cj2lqbipmfm13wz8kxii5h9mm7lc0ba1xv26xx5zs7"; + sha256 = "11gas19k4m483rvnfhzmcbkzzs7cfrn9cw7n7aa0g9yxdk91a1cx"; }; # Tests exist, but seem to clash with the firewall. diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix index 1fbcd50d733..1fd12f84e9f 100644 --- a/pkgs/servers/monitoring/prometheus/default.nix +++ b/pkgs/servers/monitoring/prometheus/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "prometheus-${version}"; - version = "0.17.0"; + version = "0.20.0"; rev = "${version}"; goPackagePath = "github.com/prometheus/prometheus"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "prometheus"; repo = "prometheus"; - sha256 = "176198krna2i37dfhwsqi7m36sqn175yiny6n52vj27mc9s8ggzx"; + sha256 = "1w3249kvh0ps8hlxw93q4bmn2g76hvl0ynlra2pzkw2drk34xd06"; }; docheck = true; diff --git a/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix b/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix index 7de99ecd395..f2afd2aa273 100644 --- a/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "haproxy_exporter-${version}"; - version = "0.4.0"; + version = "0.7.0"; rev = version; goPackagePath = "github.com/prometheus/haproxy_exporter"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "prometheus"; repo = "haproxy_exporter"; - sha256 = "0cwls1d4hmzjkwc50mjkxjb4sa4q6yq581wlc5sg9mdvl6g91zxr"; + sha256 = "1jkijdawmnj5yps0yaj47nyfmcah0krwmqsjvicm3sl0dhwmac4w"; }; goDeps = ./haproxy-exporter_deps.json; diff --git a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix b/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix index f7256287955..64a9e6cc28e 100644 --- a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "mysqld_exporter-${version}"; - version = "0.1.0"; + version = "0.8.1"; rev = version; goPackagePath = "github.com/prometheus/mysqld_exporter"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "prometheus"; repo = "mysqld_exporter"; - sha256 = "10xnyxyb6saz8pq3ijp424hxy59cvm1b5c9zcbw7ddzzkh1f6jd9"; + sha256 = "0pwf2vii9n9zgad1lxgw28c2743yc9c3qc03516fiwvlqc1cpddr"; }; goDeps = ./mysqld-exporter_deps.json; diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix index c3b25e2fcc5..9adfdda1d07 100644 --- a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix @@ -4,7 +4,7 @@ buildGoPackage rec { name = "nginx_exporter-${version}"; version = "20160524-${stdenv.lib.strings.substring 0 7 rev}"; rev = "2cf16441591f6b6e58a8c0439dcaf344057aea2b"; - + goPackagePath = "github.com/discordianfish/nginx_exporter"; src = fetchgit { diff --git a/pkgs/servers/monitoring/prometheus/node-exporter.nix b/pkgs/servers/monitoring/prometheus/node-exporter.nix index a5dd161b55e..161b56c1d2d 100644 --- a/pkgs/servers/monitoring/prometheus/node-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/node-exporter.nix @@ -2,21 +2,20 @@ buildGoPackage rec { name = "node_exporter-${version}"; - version = "0.11.0"; + version = "0.12.0"; rev = version; - + goPackagePath = "github.com/prometheus/node_exporter"; src = fetchFromGitHub { inherit rev; owner = "prometheus"; repo = "node_exporter"; - sha256 = "149fs9yxnbiyd4ww7bxsv730mcskblpzb3cs4v12jnq2v84a4kk4"; + sha256 = "0ih8w9ji0fw1smsi45jgvrpqfzm3f5bvk9q3nwrl0my5xkksnr8g"; }; - goDeps = ./node-exporter_deps.json; - - doCheck = true; + # FIXME: megacli test fails + doCheck = false; meta = with stdenv.lib; { description = "Prometheus exporter for machine metrics"; diff --git a/pkgs/servers/monitoring/prometheus/node-exporter_deps.json b/pkgs/servers/monitoring/prometheus/node-exporter_deps.json deleted file mode 100644 index 68020e73b1c..00000000000 --- a/pkgs/servers/monitoring/prometheus/node-exporter_deps.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "include": "../../libs.json", - "packages": [ - "github.com/soundcloud/go-runit", - "github.com/beevik/ntp", - "github.com/prometheus/client_golang", - "github.com/prometheus/client_model", - "bitbucket.org/ww/goautoneg", - "github.com/Sirupsen/logrus", - "github.com/beorn7/perks", - "github.com/matttproud/golang_protobuf_extensions", - "github.com/prometheus/log", - "github.com/golang/protobuf", - "github.com/prometheus/procfs" - ] - } -] diff --git a/pkgs/servers/monitoring/prometheus/pushgateway.nix b/pkgs/servers/monitoring/prometheus/pushgateway.nix index a1944608ce0..65dda2403fc 100644 --- a/pkgs/servers/monitoring/prometheus/pushgateway.nix +++ b/pkgs/servers/monitoring/prometheus/pushgateway.nix @@ -2,16 +2,16 @@ buildGoPackage rec { name = "pushgateway-${version}"; - version = "0.1.1"; + version = "0.3.0"; rev = version; - + goPackagePath = "github.com/prometheus/pushgateway"; src = fetchFromGitHub { inherit rev; owner = "prometheus"; repo = "pushgateway"; - sha256 = "17q5z9msip46wh3vxcsq9lvvhbxg75akjjcr2b29zrky8bp2m230"; + sha256 = "1bj0s4s3gbcnlp2z2yx7jf3jx14cdg2v4pr0yciai0g6jwwg63hd"; }; goDeps = ./pushgateway_deps.json; diff --git a/pkgs/servers/monitoring/prometheus/statsd-bridge.nix b/pkgs/servers/monitoring/prometheus/statsd-bridge.nix index 0d9f0bb9885..935692bfa2e 100644 --- a/pkgs/servers/monitoring/prometheus/statsd-bridge.nix +++ b/pkgs/servers/monitoring/prometheus/statsd-bridge.nix @@ -2,16 +2,16 @@ buildGoPackage rec { name = "statsd_bridge-${version}"; - version = "0.1.0"; + version = "0.3.0"; rev = version; - + goPackagePath = "github.com/prometheus/statsd_bridge"; src = fetchFromGitHub { inherit rev; owner = "prometheus"; - repo = "statsd_bridge"; - sha256 = "1fndpmd1k0a3ar6f7zpisijzc60f2dng5399nld1i1cbmd8jybjr"; + repo = "statsd_exporter"; + sha256 = "1gg9v224n05khcwy27637w3rwh0cymm7hx6bginfxd7730rmpp2r"; }; goDeps = ./statsd-bridge_deps.json; From 5647521a2a619a310906821e3481d59850230507 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Mon, 18 Jul 2016 20:25:17 +0200 Subject: [PATCH 178/222] prometheus-alertmanager: 0.2.1 -> 0.3.0 --- pkgs/servers/monitoring/prometheus/alertmanager.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix index 9af52e08375..55ac38f2e37 100644 --- a/pkgs/servers/monitoring/prometheus/alertmanager.nix +++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix @@ -2,8 +2,8 @@ buildGoPackage rec { name = "alertmanager-${version}"; - version = "0.2.1"; - rev = "${version}"; + version = "0.3.0"; + rev = "v${version}"; goPackagePath = "github.com/prometheus/alertmanager"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "prometheus"; repo = "alertmanager"; - sha256 = "11gas19k4m483rvnfhzmcbkzzs7cfrn9cw7n7aa0g9yxdk91a1cx"; + sha256 = "0ychc2qvn3lzs4rg5f5sslil7clvcpzclcmfj83qjqp8krpg72b5"; }; # Tests exist, but seem to clash with the firewall. From d9f9711f9f093026a02e6da1500bf5818d61c6d0 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Mon, 18 Jul 2016 20:25:35 +0200 Subject: [PATCH 179/222] prometheus-collectd-exporter: 0.1.0 -> 0.3.1 --- pkgs/servers/monitoring/prometheus/collectd-exporter.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/collectd-exporter.nix b/pkgs/servers/monitoring/prometheus/collectd-exporter.nix index bcb1889224c..dc9b6fd843e 100644 --- a/pkgs/servers/monitoring/prometheus/collectd-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/collectd-exporter.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "collectd-exporter-${version}"; - version = "0.1.0"; + version = "0.3.1"; rev = version; goPackagePath = "github.com/prometheus/collectd_exporter"; @@ -11,14 +11,14 @@ buildGoPackage rec { inherit rev; owner = "prometheus"; repo = "collectd_exporter"; - sha256 = "165zsdn0lffb6fvxz75szmm152a6wmia5skb96k1mv59qbmn9fi1"; + sha256 = "1p0kb7c8g0r0sp5a6xrx8vnwbw14hhwlqzk4n2xx2y8pvnbivajz"; }; goDeps = ./collectd-exporter_deps.json; meta = with stdenv.lib; { description = "Relay server for exporting metrics from collectd to Prometheus"; - homepage = https://github.com/prometheus/alertmanager; + homepage = https://github.com/prometheus/collectd_exporter; license = licenses.asl20; maintainers = with maintainers; [ benley ]; platforms = platforms.unix; From 328a77f60b3aee558407d08525db34e06fbfafd7 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Mon, 18 Jul 2016 20:25:58 +0200 Subject: [PATCH 180/222] prometheus: 0.20.0 -> 1.0.0 --- pkgs/servers/monitoring/prometheus/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix index 1fd12f84e9f..ad9143ec33f 100644 --- a/pkgs/servers/monitoring/prometheus/default.nix +++ b/pkgs/servers/monitoring/prometheus/default.nix @@ -2,8 +2,8 @@ buildGoPackage rec { name = "prometheus-${version}"; - version = "0.20.0"; - rev = "${version}"; + version = "1.0.0"; + rev = "v${version}"; goPackagePath = "github.com/prometheus/prometheus"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "prometheus"; repo = "prometheus"; - sha256 = "1w3249kvh0ps8hlxw93q4bmn2g76hvl0ynlra2pzkw2drk34xd06"; + sha256 = "0wb6aj2019b2bkaai94mxdy8gr6gs7jpkm7ms8h9n2ms041gdsff"; }; docheck = true; From f303a072c02d5659abc8b03e69f98f789745b4ab Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Mon, 18 Jul 2016 11:58:58 -0700 Subject: [PATCH 181/222] slic3r: Add LWP for "Send to printer" This patch adds a dependency on the LWP perl module so that Slic3r can make HTTP connections to Octoprint and send G-code to a remote printer. --- pkgs/applications/misc/slic3r/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix index 6d7ec762e77..64bcb0e1921 100644 --- a/pkgs/applications/misc/slic3r/default.nix +++ b/pkgs/applications/misc/slic3r/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { EncodeLocale MathClipper ExtUtilsXSpp threads MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus ImportInto XMLSAX - ExtUtilsMakeMaker OpenGL WxGLCanvas ModuleBuild + ExtUtilsMakeMaker OpenGL WxGLCanvas ModuleBuild LWP ]; desktopItem = makeDesktopItem { From cf63016f0631de2c0e0564c29effe7e4d22f913d Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Mon, 18 Jul 2016 19:59:16 +0000 Subject: [PATCH 182/222] nixpkgs: build bitkeeper only on linux The OS X build fails due to the dependency on 'crypt' failing. Perhaps in future versions of BitKeeper this build can be re-enabled. Signed-off-by: Austin Seipp --- pkgs/applications/version-management/bitkeeper/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/version-management/bitkeeper/default.nix b/pkgs/applications/version-management/bitkeeper/default.nix index 9b487643910..76083292482 100644 --- a/pkgs/applications/version-management/bitkeeper/default.nix +++ b/pkgs/applications/version-management/bitkeeper/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { ''; homepage = https://www.bitkeeper.org/; license = stdenv.lib.licenses.asl20; - platforms = stdenv.lib.platforms.unix; + platforms = stdenv.lib.platforms.linux; maintainers = with stdenv.lib.maintainers; [ wscott thoughtpolice ]; }; } From 50b690fd03dabb5c3e21c31e59ab2187d4b5f8a7 Mon Sep 17 00:00:00 2001 From: Christian Richter Date: Wed, 13 Jul 2016 18:00:45 +0200 Subject: [PATCH 183/222] kmymoney: 4.7.2 -> 4.8.0 --- pkgs/applications/office/kmymoney/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix index 8884c78e883..2516cfd4597 100644 --- a/pkgs/applications/office/kmymoney/default.nix +++ b/pkgs/applications/office/kmymoney/default.nix @@ -3,11 +3,12 @@ , doxygen, aqbanking, gwenhywfar }: stdenv.mkDerivation rec { - name = "kmymoney-4.7.2"; + name = "kmymoney-${version}"; + version = "4.8.0"; src = fetchurl { - url = "mirror://sourceforge/kmymoney2/${name}.tar.xz"; - sha256 = "0g9rakjx7zmw4bf7m5516rrx0n3bl2by3nn24iiz9209yfgw5cmz"; + url = "mirror://kde/stable/kmymoney/${version}/src/${name}.tar.xz"; + sha256 = "1hlayhcmdfayma4hchv2bfyg82ry0h74hg4095d959mg19qkb9n2"; }; cmakeFlags = [ From 07fe6fa90e3ba01c415b3ff776c5399744845645 Mon Sep 17 00:00:00 2001 From: cransom Date: Mon, 18 Jul 2016 18:14:40 -0400 Subject: [PATCH 184/222] grafana: 3.0.1 -> 3.1.0 (#17084) --- pkgs/servers/monitoring/grafana/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index 28bf83a247f..30b540c1d83 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -1,7 +1,8 @@ { lib, buildGoPackage, fetchurl, fetchFromGitHub }: buildGoPackage rec { - version = "3.0.1"; + version = "3.1.0"; + ts = "1468321182"; name = "grafana-v${version}"; goPackagePath = "github.com/grafana/grafana"; @@ -9,12 +10,12 @@ buildGoPackage rec { rev = "v${version}"; owner = "grafana"; repo = "grafana"; - sha256 = "1zykgf8xq7m040d4yljcbz23gh8ppaqnxj50ncj1cjyi5k88i3i9"; + sha256 = "1p3qp3p4wsb7m2lvdcrc1wz5mxqwqsj5xfqp28hkbfdqh3lblh42"; }; srcStatic = fetchurl { - url = "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}-.linux-x64.tar.gz"; - sha256 = "14wq2cbf4djnwbbyfbhnwmwqpfh5g4yp1dckg5zzf2109ymkjrqd"; + url = "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}-${ts}.linux-x64.tar.gz"; + sha256 = "174w0bx5cqriy77dyk9xsnmdskykzmgbyjczwb5kkp6j8vp7b0fs"; }; preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace"; From febcd39afa6dff017290d3c56b7c545c8e05659b Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Fri, 15 Jul 2016 15:26:31 +0200 Subject: [PATCH 185/222] nixos/grafana: set plugins path, fix image generation Also add options to configure which organization should have anonymous access. --- nixos/modules/services/monitoring/grafana.nix | 17 +++++++++++++++++ pkgs/servers/monitoring/grafana/default.nix | 5 +++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix index 0b7f3ce0a29..b9e4015c238 100644 --- a/nixos/modules/services/monitoring/grafana.nix +++ b/nixos/modules/services/monitoring/grafana.nix @@ -9,6 +9,7 @@ let envOptions = { PATHS_DATA = cfg.dataDir; + PATHS_PLUGINS = "${cfg.dataDir}/plugins"; PATHS_LOGS = "${cfg.dataDir}/log"; SERVER_PROTOCOL = cfg.protocol; @@ -37,6 +38,8 @@ let USERS_AUTO_ASSIGN_ORG_ROLE = cfg.users.autoAssignOrgRole; AUTH_ANONYMOUS_ENABLED = b2s cfg.auth.anonymous.enable; + AUTH_ANONYMOUS_ORG_NAME = cfg.auth.anonymous.org_name; + AUTH_ANONYMOUS_ORG_ROLE = cfg.auth.anonymous.org_role; ANALYTICS_REPORTING_ENABLED = b2s cfg.analytics.reporting.enable; } // cfg.extraOptions; @@ -196,6 +199,17 @@ in { default = false; type = types.bool; }; + org_name = mkOption { + description = "Which organization to allow anonymous access to"; + default = "Main Org."; + type = types.str; + }; + org_role = mkOption { + description = "Which role anonymous users have in the organization"; + default = "Viewer"; + type = types.str; + }; + }; analytics.reporting = { @@ -222,6 +236,8 @@ in { "Grafana passwords will be stored as plaintext in the Nix store!" ]; + environment.systemPackages = [ cfg.package ]; + systemd.services.grafana = { description = "Grafana Service Daemon"; wantedBy = ["multi-user.target"]; @@ -234,6 +250,7 @@ in { }; preStart = '' ln -fs ${cfg.package}/share/grafana/conf ${cfg.dataDir} + ln -fs ${cfg.package}/share/grafana/vendor ${cfg.dataDir} ''; }; diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index 30b540c1d83..884785699a6 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoPackage, fetchurl, fetchFromGitHub }: +{ lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }: buildGoPackage rec { version = "3.1.0"; @@ -22,7 +22,8 @@ buildGoPackage rec { postInstall = '' tar -xvf $srcStatic mkdir -p $bin/share/grafana - mv grafana-*/{public,conf} $bin/share/grafana/ + mv grafana-*/{public,conf,vendor} $bin/share/grafana/ + ln -sf ${phantomjs2}/bin/phantomjs $bin/share/grafana/vendor/phantomjs/phantomjs ''; meta = with lib; { From b5daad4268e487fdb2aaf2979667b56b99901bcd Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 19 Jul 2016 01:16:51 +0200 Subject: [PATCH 186/222] nginx: refactor and add mainline version Upstream calls the unstable version mainline. --- pkgs/servers/http/nginx/{default.nix => generic.nix} | 6 +++--- pkgs/servers/http/nginx/mainline.nix | 6 ++++++ .../nginx/{unstable.upstream => mainline.upstream} | 0 pkgs/servers/http/nginx/stable.nix | 6 ++++++ .../http/nginx/{default.upstream => stable.upstream} | 0 pkgs/top-level/all-packages.nix | 12 +++++++++--- 6 files changed, 24 insertions(+), 6 deletions(-) rename pkgs/servers/http/nginx/{default.nix => generic.nix} (94%) create mode 100644 pkgs/servers/http/nginx/mainline.nix rename pkgs/servers/http/nginx/{unstable.upstream => mainline.upstream} (100%) create mode 100644 pkgs/servers/http/nginx/stable.nix rename pkgs/servers/http/nginx/{default.upstream => stable.upstream} (100%) diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/generic.nix similarity index 94% rename from pkgs/servers/http/nginx/default.nix rename to pkgs/servers/http/nginx/generic.nix index 394a20420c7..6817f18bd1d 100644 --- a/pkgs/servers/http/nginx/default.nix +++ b/pkgs/servers/http/nginx/generic.nix @@ -3,17 +3,17 @@ , withStream ? false , modules ? [] , hardening ? true +, version, sha256, ... }: with stdenv.lib; -stdenv.mkDerivation rec { +stdenv.mkDerivation { name = "nginx-${version}"; - version = "1.10.1"; src = fetchurl { url = "http://nginx.org/download/nginx-${version}.tar.gz"; - sha256 = "00d8hxj8453c7989qd7z4f1mjp0k3ib8k29i1qyf11b4ar35ilqz"; + inherit sha256; }; diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix new file mode 100644 index 00000000000..6e4c49abc5b --- /dev/null +++ b/pkgs/servers/http/nginx/mainline.nix @@ -0,0 +1,6 @@ +{ callPackage, ... }@args: + +callPackage ./generic.nix (args // { + version = "1.11.2"; + sha256 = "02khwad28ar2jjdfssysx262bgwgirm9967gnfhw9ga7wvipncm0"; +}) diff --git a/pkgs/servers/http/nginx/unstable.upstream b/pkgs/servers/http/nginx/mainline.upstream similarity index 100% rename from pkgs/servers/http/nginx/unstable.upstream rename to pkgs/servers/http/nginx/mainline.upstream diff --git a/pkgs/servers/http/nginx/stable.nix b/pkgs/servers/http/nginx/stable.nix new file mode 100644 index 00000000000..e677b181bb5 --- /dev/null +++ b/pkgs/servers/http/nginx/stable.nix @@ -0,0 +1,6 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix (args // { + version = "1.10.1"; + sha256 = "00d8hxj8453c7989qd7z4f1mjp0k3ib8k29i1qyf11b4ar35ilqz"; +}) diff --git a/pkgs/servers/http/nginx/default.upstream b/pkgs/servers/http/nginx/stable.upstream similarity index 100% rename from pkgs/servers/http/nginx/default.upstream rename to pkgs/servers/http/nginx/stable.upstream diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7b12f240938..eabc04a72f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10208,13 +10208,19 @@ in neard = callPackage ../servers/neard { }; - nginx = callPackage ../servers/http/nginx { + nginx = callPackage ../servers/http/nginx/stable.nix { # We don't use `with` statement here on purpose! # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334 modules = [ nginxModules.rtmp nginxModules.dav nginxModules.moreheaders ]; }; - # nginxUnstable currently points to stable because that's newest: - nginxUnstable = nginx; + + nginxMainline = callPackage ../servers/http/nginx/mainline.nix { + # We don't use `with` statement here on purpose! + # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334 + modules = [ nginxModules.dav nginxModules.moreheaders ]; + }; + + nginxUnstable = nginxMainline; nginxModules = callPackage ../servers/http/nginx/modules.nix { }; From 0dee86279d1aeeb8d9ca839355f5ff9d9d03819d Mon Sep 17 00:00:00 2001 From: Alexey Shmalko Date: Tue, 19 Jul 2016 02:27:21 +0300 Subject: [PATCH 187/222] gnome-software: propogated -> propagated (#17086) --- pkgs/desktops/gnome-3/3.18/misc/gnome-software/default.nix | 2 +- pkgs/desktops/gnome-3/3.20/core/gnome-software/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.18/misc/gnome-software/default.nix b/pkgs/desktops/gnome-3/3.18/misc/gnome-software/default.nix index 424f6a4f541..51efc0446ef 100644 --- a/pkgs/desktops/gnome-3/3.18/misc/gnome-software/default.nix +++ b/pkgs/desktops/gnome-3/3.18/misc/gnome-software/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ gnome3.gtk packagekit appstream-glib libsoup gnome3.gsettings_desktop_schemas gnome3.gnome_desktop polkit attr acl libyaml ]; - propogatedBuildInputs = [ isocodes ]; + propagatedBuildInputs = [ isocodes ]; postInstall = '' mkdir -p $out/share/xml/ diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-software/default.nix index e05a28fcd8d..7c258e9cf21 100644 --- a/pkgs/desktops/gnome-3/3.20/core/gnome-software/default.nix +++ b/pkgs/desktops/gnome-3/3.20/core/gnome-software/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { gnome3.gsettings_desktop_schemas gnome3.gnome_desktop gtkspell3 json_glib polkit attr acl libyaml ]; - propogatedBuildInputs = [ isocodes ]; + propagatedBuildInputs = [ isocodes ]; postInstall = '' mkdir -p $out/share/xml/ From 60d32ff6cca3a19d1fb1565b07d948c3de45779e Mon Sep 17 00:00:00 2001 From: Alexey Shmalko Date: Tue, 19 Jul 2016 02:36:33 +0300 Subject: [PATCH 188/222] planner: init at 0.14.6 (#17078) --- pkgs/applications/office/planner/default.nix | 45 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/applications/office/planner/default.nix diff --git a/pkgs/applications/office/planner/default.nix b/pkgs/applications/office/planner/default.nix new file mode 100644 index 00000000000..9222ed5757c --- /dev/null +++ b/pkgs/applications/office/planner/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl +, pkgconfig +, intltool +, gnome +, libxslt +, python +}: + +let + version = "${major}.${minor}.${patch}"; + major = "0"; + minor = "14"; + patch = "6"; + +in stdenv.mkDerivation { + name = "planner-${version}"; + + src = fetchurl { + url = "http://ftp.gnome.org/pub/GNOME/sources/planner/${major}.${minor}/planner-${version}.tar.xz"; + sha256 = "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"; + }; + + buildInputs = [ + pkgconfig + intltool + gnome.GConf + gnome.gtk + gnome.libgnomecanvas + gnome.libgnomeui + gnome.libglade + gnome.scrollkeeper + libxslt + python + ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Planner/; + description = "Project management application for GNOME"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.rasendubi ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eabc04a72f1..a1074ce7dbd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13869,6 +13869,8 @@ in pijul = callPackage ../applications/version-management/pijul { }; + planner = callPackage ../applications/office/planner { }; + playonlinux = callPackage ../applications/misc/playonlinux { stdenv = stdenv_32bit; }; From 60624a4625f8b191960b62518eac45cb912bbb4e Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Tue, 19 Jul 2016 07:47:33 +0800 Subject: [PATCH 189/222] nasty: add large file support (#17011) also fixes i686 build as a side-effect --- pkgs/tools/security/nasty/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/tools/security/nasty/default.nix b/pkgs/tools/security/nasty/default.nix index 35bbb3bae48..fb078674ea7 100644 --- a/pkgs/tools/security/nasty/default.nix +++ b/pkgs/tools/security/nasty/default.nix @@ -9,6 +9,10 @@ stdenv.mkDerivation rec { sha256 = "1dznlxr728k1pgy1kwmlm7ivyl3j3rlvkmq34qpwbwbj8rnja1vn"; }; + # does not apply cleanly with patchPhase/fetchpatch + # https://sources.debian.net/src/nasty/0.6-3/debian/patches/02_add_largefile_support.patch + CFLAGS = "-D_FILE_OFFSET_BITS=64"; + buildInputs = [ gpgme ]; installPhase = '' From 28740462e7c03b607e5ea06c3acf5a2da772fb01 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 19 Jul 2016 04:37:14 +0300 Subject: [PATCH 190/222] busybox: fix static build --- pkgs/os-specific/linux/busybox/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index b04f7855fef..92f24b9e9ae 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, musl +{ stdenv, lib, fetchurl, glibc, musl , enableStatic ? false , enableMinimal ? false , useMusl ? false @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { CONFIG_LFS y - ${stdenv.lib.optionalString enableStatic '' + ${lib.optionalString enableStatic '' CONFIG_STATIC y ''} @@ -64,10 +64,12 @@ stdenv.mkDerivation rec { EOF make oldconfig - '' + stdenv.lib.optionalString useMusl '' + '' + lib.optionalString useMusl '' makeFlagsArray+=("CC=gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib") ''; + buildInputs = lib.optionals (enableStatic && !useMusl) [ glibc glibc.static ]; + crossAttrs = { extraCrossConfig = '' CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cross.config}-" From 399db54e3514ceaee82ec217140975d77963359f Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Thu, 5 Mar 2015 17:21:57 +0300 Subject: [PATCH 191/222] nixos/qemu: don't recreate extra disks --- nixos/modules/virtualisation/qemu-vm.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 9d9b725a805..b77b319f4a2 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -62,7 +62,9 @@ let idx=2 extraDisks="" ${flip concatMapStrings cfg.emptyDiskImages (size: '' - ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M" + if ! test -e "empty$idx.qcow2"; then + ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M" + fi extraDisks="$extraDisks -drive index=$idx,file=$(pwd)/empty$idx.qcow2,if=${cfg.qemu.diskInterface},werror=report" idx=$((idx + 1)) '')} From 9cc70b419cc75bbf7f3224ad9f6848760adac1fd Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Thu, 5 Mar 2015 17:21:27 +0300 Subject: [PATCH 192/222] nixos/tests: add hibernation test --- nixos/release.nix | 1 + nixos/tests/hibernate.nix | 42 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 nixos/tests/hibernate.nix diff --git a/nixos/release.nix b/nixos/release.nix index 1800122fa2e..184e340341f 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -231,6 +231,7 @@ in rec { tests.gnome3 = callTest tests/gnome3.nix {}; tests.gnome3-gdm = callTest tests/gnome3-gdm.nix {}; tests.grsecurity = callTest tests/grsecurity.nix {}; + tests.hibernate = callTest tests/hibernate.nix {}; tests.i3wm = callTest tests/i3wm.nix {}; tests.installer = callSubTests tests/installer.nix {}; tests.influxdb = callTest tests/influxdb.nix {}; diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix new file mode 100644 index 00000000000..787929f8904 --- /dev/null +++ b/nixos/tests/hibernate.nix @@ -0,0 +1,42 @@ +# Test whether hibernation from partition works. + +import ./make-test.nix (pkgs: { + name = "hibernate"; + + nodes = { + machine = { config, lib, pkgs, ... }: with lib; { + virtualisation.emptyDiskImages = [ config.virtualisation.memorySize ]; + + systemd.services.backdoor.conflicts = [ "sleep.target" ]; + + swapDevices = mkOverride 0 [ { device = "/dev/vdb"; } ]; + + networking.firewall.allowedTCPPorts = [ 4444 ]; + + systemd.services.listener.serviceConfig.ExecStart = "${pkgs.netcat}/bin/nc -l -p 4444"; + }; + + probe = { config, lib, pkgs, ...}: { + environment.systemPackages = [ pkgs.netcat ]; + }; + }; + + # 9P doesn't support reconnection to virtio transport after a hibernation. + # Therefore, machine just hangs on any Nix store access. + # To work around it we run a daemon which listens to a TCP connection and + # try to connect to it as a test. + + testScript = + '' + $machine->waitForUnit("multi-user.target"); + $machine->succeed("mkswap /dev/vdb"); + $machine->succeed("swapon -a"); + $machine->startJob("listener"); + $machine->succeed("systemctl hibernate &"); + $machine->waitForShutdown; + $machine->start; + $probe->waitForUnit("network.target"); + $probe->waitUntilSucceeds("echo test | nc -c machine 4444"); + ''; + +}) From 039f0e5cb044a3610252f139283cef32850091e2 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 19 Jul 2016 07:54:30 +0200 Subject: [PATCH 193/222] firmwareLinuxNonfree: 2016-05-18 -> 2016-07-12 --- .../linux/firmware/firmware-linux-nonfree/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index 992d42e2e12..8e0f807e08e 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "firmware-linux-nonfree-${version}"; - version = "2016-05-18"; + version = "2016-07-12"; # This repo is built by merging the latest versions of # http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ @@ -14,8 +14,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "wkennington"; repo = "linux-firmware"; - rev = "19495832c6899bd811874439376d513290773c31"; - sha256 = "1700a24sfw6xa3q3r8aa5wfhydgix83m57plpfirdmc9qr4isrr0"; + rev = "cccb6a0da98372bd66787710249727ad6b0aaf72"; + sha256 = "1c7h8i37nbyy37zqhybxd3y6aqabfv4nrdkjg789w67mdnn6hka0"; }; preInstall = '' @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { homepage = http://packages.debian.org/sid/firmware-linux-nonfree; license = licenses.unfreeRedistributableFirmware; platforms = platforms.linux; - maintainers = with maintainers; [ wkennington ]; + maintainers = with maintainers; [ wkennington fpletz ]; priority = 6; # give precedence to kernel firmware }; From ba0224fa17c0520555ffde9d1c540c4623d22e6a Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Tue, 19 Jul 2016 09:07:44 +0300 Subject: [PATCH 194/222] geany-with-vte: fix desktop shortcut and man pages (#16759) --- pkgs/applications/editors/geany/with-vte.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/editors/geany/with-vte.nix b/pkgs/applications/editors/geany/with-vte.nix index ffffed1b853..679125b5ec4 100644 --- a/pkgs/applications/editors/geany/with-vte.nix +++ b/pkgs/applications/editors/geany/with-vte.nix @@ -2,5 +2,7 @@ let name = builtins.replaceStrings ["geany-"] ["geany-with-vte-"] geany.name; in runCommand "${name}" { nativeBuildInputs = [ makeWrapper ]; } " + mkdir -p $out + ln -s ${geany}/share $out makeWrapper ${geany}/bin/geany $out/bin/geany --prefix LD_LIBRARY_PATH : ${gnome.vte}/lib " From e2199205c7012fc9cfeaf89e85fe3bb8084b82a4 Mon Sep 17 00:00:00 2001 From: Miguel Madrid Date: Tue, 19 Jul 2016 08:10:13 +0200 Subject: [PATCH 195/222] libmsgpack: 1.1.0 -> 2.0.0 (#16722) --- pkgs/development/libraries/libmsgpack/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libmsgpack/default.nix b/pkgs/development/libraries/libmsgpack/default.nix index 5b2c7902c3c..2af7e31c889 100644 --- a/pkgs/development/libraries/libmsgpack/default.nix +++ b/pkgs/development/libraries/libmsgpack/default.nix @@ -1,12 +1,12 @@ { callPackage, fetchFromGitHub, ... } @ args: callPackage ./generic.nix (args // rec { - version = "1.1.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "msgpack"; repo = "msgpack-c"; rev = "cpp-${version}"; - sha256 = "1hnpnin6gjiilbzfd75871kamfn9grrf53qpbs061sflvz56fddq"; + sha256 = "189m44pwpcpf7g4yhzfla4djqyp2kl54wxmwfaj94gwgj5s370i7"; }; }) From eb92804f914a8a40339473ebd641f0a93d8576b9 Mon Sep 17 00:00:00 2001 From: Eric Merritt Date: Mon, 18 Jul 2016 23:13:06 -0700 Subject: [PATCH 196/222] nixos-containers: init package (#16959) This moves nixos-containers into its own package so that it can be relied upon by other packages/systems. This should make development using dynamic containers much easier. --- nixos/modules/virtualisation/containers.nix | 20 ++----------------- .../nixos-container/default.nix | 17 ++++++++++++++++ .../nixos-container-completion.sh | 0 .../nixos-container}/nixos-container.pl | 0 pkgs/top-level/all-packages.nix | 2 ++ 5 files changed, 21 insertions(+), 18 deletions(-) create mode 100644 pkgs/tools/virtualization/nixos-container/default.nix rename {nixos/modules/virtualisation => pkgs/tools/virtualization/nixos-container}/nixos-container-completion.sh (100%) rename {nixos/modules/virtualisation => pkgs/tools/virtualization/nixos-container}/nixos-container.pl (100%) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 13ecb8e25ed..b3870caece0 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -4,22 +4,6 @@ with lib; let - nixos-container = pkgs.substituteAll { - name = "nixos-container"; - dir = "bin"; - isExecutable = true; - src = ./nixos-container.pl; - perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; - su = "${pkgs.shadow.su}/bin/su"; - inherit (pkgs) utillinux; - - postInstall = '' - t=$out/etc/bash_completion.d - mkdir -p $t - cp ${./nixos-container-completion.sh} $t/nixos-container - ''; - }; - # The container's init script, a small wrapper around the regular # NixOS stage-2 init script. containerInit = pkgs.writeScript "container-init" @@ -410,7 +394,7 @@ in ExecReload = pkgs.writeScript "reload-container" '' #! ${pkgs.stdenv.shell} -e - ${nixos-container}/bin/nixos-container run "$INSTANCE" -- \ + ${pkgs.nixos-container}/bin/nixos-container run "$INSTANCE" -- \ bash --login -c "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/bin/switch-to-configuration test" ''; @@ -498,6 +482,6 @@ in networking.dhcpcd.denyInterfaces = [ "ve-*" ]; - environment.systemPackages = [ nixos-container ]; + environment.systemPackages = [ pkgs.nixos-container ]; }); } diff --git a/pkgs/tools/virtualization/nixos-container/default.nix b/pkgs/tools/virtualization/nixos-container/default.nix new file mode 100644 index 00000000000..0763536533f --- /dev/null +++ b/pkgs/tools/virtualization/nixos-container/default.nix @@ -0,0 +1,17 @@ +{ substituteAll, perl, perlPackages, shadow, utillinux }: + +substituteAll { + name = "nixos-container"; + dir = "bin"; + isExecutable = true; + src = ./nixos-container.pl; + perl = "${perl}/bin/perl -I${perlPackages.FileSlurp}/lib/perl5/site_perl"; + su = "${shadow.su}/bin/su"; + inherit utillinux; + + postInstall = '' + t=$out/etc/bash_completion.d + mkdir -p $t + cp ${./nixos-container-completion.sh} $t/nixos-container + ''; +} diff --git a/nixos/modules/virtualisation/nixos-container-completion.sh b/pkgs/tools/virtualization/nixos-container/nixos-container-completion.sh similarity index 100% rename from nixos/modules/virtualisation/nixos-container-completion.sh rename to pkgs/tools/virtualization/nixos-container/nixos-container-completion.sh diff --git a/nixos/modules/virtualisation/nixos-container.pl b/pkgs/tools/virtualization/nixos-container/nixos-container.pl similarity index 100% rename from nixos/modules/virtualisation/nixos-container.pl rename to pkgs/tools/virtualization/nixos-container/nixos-container.pl diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a1074ce7dbd..6ef41432b18 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16979,6 +16979,8 @@ in nixos-artwork = callPackage ../data/misc/nixos-artwork { }; + nixos-container = callPackage ../tools/virtualization/nixos-container { }; + norwester-font = callPackage ../data/fonts/norwester {}; nut = callPackage ../applications/misc/nut { }; From 77fcccf7d70636c1aede4907e308a1a7b03ce120 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 19 Jul 2016 08:47:43 +0200 Subject: [PATCH 197/222] wikicurses: init at 1.3 (#16916) --- pkgs/applications/misc/wikicurses/default.nix | 22 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/applications/misc/wikicurses/default.nix diff --git a/pkgs/applications/misc/wikicurses/default.nix b/pkgs/applications/misc/wikicurses/default.nix new file mode 100644 index 00000000000..54e56785071 --- /dev/null +++ b/pkgs/applications/misc/wikicurses/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pythonPackages }: + +pythonPackages.buildPythonApplication rec { + version = "1.3"; + name = "wikicurses-${version}"; + + src = fetchurl { + url = "http://github.com/ids1024/wikicurses/archive/v${version}.tar.gz"; + sha256 = "1yxgafk1sczg1xi2p6nhrvr3hchp7ydw98n48lp3qzwnryn1kxv8"; + }; + + propagatedBuildInputs = with pythonPackages; [ urwid beautifulsoup4 lxml ]; + + meta = { + description = "A simple curses interface for MediaWiki sites such as Wikipedia"; + homepage = "https://github.com/ids1024/wikicurses/"; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.unix; + }; + +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6ef41432b18..6c76d75c7fd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17251,6 +17251,10 @@ in webfs = callPackage ../servers/http/webfs { }; + wikicurses = callPackage ../applications/misc/wikicurses { + pythonPackages = python3Packages; + }; + wineMinimal = callPackage ../misc/emulators/wine { wineRelease = config.wine.release or "stable"; wineBuild = config.wine.build or "wine32"; From 5c534b2186ce08c7e3ea9dc25d7b7d435904b668 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 19 Jul 2016 09:02:14 +0200 Subject: [PATCH 198/222] phpPackages.composer: 1.0.0-alpha11 -> 1.2.0 --- pkgs/top-level/php-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index f08117903be..1e042bedb4f 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -209,11 +209,11 @@ let composer = pkgs.stdenv.mkDerivation rec { name = "composer-${version}"; - version = "1.0.0-alpha11"; + version = "1.2.0"; src = pkgs.fetchurl { url = "https://getcomposer.org/download/${version}/composer.phar"; - sha256 = "1b41ad352p4296c2j7cdq27wp06w28080bjxnjpmw536scb7yd27"; + sha256 = "15chwfsqmwmhry3bv13a5y4ih1vzb0j8h1dfd49pnzzd8lai706w"; }; phases = [ "installPhase" ]; From c09338d037002c769b03950c22d744b5a1593fe2 Mon Sep 17 00:00:00 2001 From: Miguel Madrid Date: Tue, 19 Jul 2016 09:25:35 +0200 Subject: [PATCH 199/222] p7zip: 15.14.1 -> 16.02 (#17025) --- pkgs/tools/archivers/p7zip/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix index 63487b46034..7c952a8f729 100644 --- a/pkgs/tools/archivers/p7zip/default.nix +++ b/pkgs/tools/archivers/p7zip/default.nix @@ -1,14 +1,12 @@ { stdenv, fetchurl }: -let - version = "15.14.1"; -in stdenv.mkDerivation rec { name = "p7zip-${version}"; + version = "16.02"; src = fetchurl { url = "mirror://sourceforge/p7zip/p7zip_${version}_src_all.tar.bz2"; - sha256 = "1m15iwglyjpiw82m7dbpykz8s55imch34w20w09l34116vdb97b9"; + sha256 = "5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f"; }; preConfigure = '' From c6ba4cbde90ce7198ab5b0de06f25fc2d6014e9d Mon Sep 17 00:00:00 2001 From: Andrew Jamison Date: Tue, 19 Jul 2016 03:31:09 -0400 Subject: [PATCH 200/222] compton: add xwininfo dependency for compton-trans; clean up (#16877) --- .../window-managers/compton/default.nix | 38 +++++++++++++------ .../window-managers/compton/git.nix | 6 ++- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/window-managers/compton/default.nix b/pkgs/applications/window-managers/compton/default.nix index 7efacafd6a1..5a79c0829b5 100644 --- a/pkgs/applications/window-managers/compton/default.nix +++ b/pkgs/applications/window-managers/compton/default.nix @@ -1,10 +1,8 @@ -{ stdenv, fetchurl, pkgconfig -, dbus, libconfig, libdrm, libxml2, mesa, pcre -, libXcomposite, libXfixes, libXdamage, libXinerama -, libXrandr, libXrender, libXext }: +{ stdenv, fetchurl, pkgconfig, dbus, libconfig, libdrm, libxml2, mesa, pcre, + libXcomposite, libXfixes, libXdamage, libXinerama, libXrandr, libXrender, + libXext, xwininfo }: stdenv.mkDerivation rec { - name = "compton-0.1_beta2"; src = fetchurl { @@ -12,18 +10,36 @@ stdenv.mkDerivation rec { sha256 = "1mpgn1d98dv66xs2j8gaxjiw26nzwl9a641lrday7h40g3k45g9v"; }; - buildInputs = [ pkgconfig dbus libconfig libdrm libxml2 mesa pcre - libXcomposite libXfixes libXdamage libXinerama libXrandr libXrender libXext ]; + buildInputs = [ + pkgconfig + dbus + libconfig + libdrm + libxml2 + mesa + pcre + libXcomposite + libXfixes + libXdamage + libXinerama + libXrandr + libXrender + libXext + ]; + + propagatedBuildInputs = [ xwininfo ]; + installFlags = "PREFIX=$(out)"; meta = with stdenv.lib; { homepage = https://github.com/chjj/compton/; description = "A fork of XCompMgr, a sample compositing manager for X servers"; longDescription = '' - A fork of XCompMgr, which is a sample compositing manager for X servers - supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE extensions. It enables - basic eye-candy effects. This fork adds additional features, such as additional - effects, and a fork at a well-defined and proper place. + A fork of XCompMgr, which is a sample compositing manager for X + servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE + extensions. It enables basic eye-candy effects. This fork adds + additional features, such as additional effects, and a fork at a + well-defined and proper place. ''; license = licenses.mit; platforms = platforms.linux; diff --git a/pkgs/applications/window-managers/compton/git.nix b/pkgs/applications/window-managers/compton/git.nix index f4907f881af..afa7d123107 100644 --- a/pkgs/applications/window-managers/compton/git.nix +++ b/pkgs/applications/window-managers/compton/git.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, asciidoc, dbus, docbook_xml_dtd_45, docbook_xml_xslt, libconfig, libdrm, libxml2, libxslt, mesa, pcre, pkgconfig, libXcomposite, libXdamage, libXext, libXfixes, libXinerama, - libXrandr, libXrender }: + libXrandr, libXrender, xwininfo }: stdenv.mkDerivation { name = "compton-git-2015-09-21"; @@ -37,6 +37,8 @@ stdenv.mkDerivation { pcre ]; + propagatedBuildInputs = [ xwininfo ]; + installFlags = "PREFIX=$(out)"; meta = with stdenv.lib; { @@ -47,7 +49,7 @@ stdenv.mkDerivation { longDescription = '' A fork of XCompMgr, which is a sample compositing manager for X servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE - extensions. It enables basic eye-candy effects. This fork adds + extensions. It enables basic eye-candy effects. This fork adds additional features, such as additional effects, and a fork at a well-defined and proper place. ''; From a9728c279659ea5f9c2674373dcec4ac2ae615c1 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 19 Jul 2016 00:31:52 -0700 Subject: [PATCH 201/222] rkt: install stage1 ACIs to expected path (#17079) Makes rkt's `--stage1-from-dir` CLI argument work. --- pkgs/applications/virtualization/rkt/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/rkt/default.nix b/pkgs/applications/virtualization/rkt/default.nix index 17c7f7e2928..18e5d6dd4db 100644 --- a/pkgs/applications/virtualization/rkt/default.nix +++ b/pkgs/applications/virtualization/rkt/default.nix @@ -50,7 +50,11 @@ in stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin - cp -Rv $BUILDDIR/target/bin/* $out/bin + cp -Rv $BUILDDIR/target/bin/rkt $out/bin + + mkdir -p $out/lib/rkt/stage1-images/ + cp -Rv $BUILDDIR/target/bin/stage1-*.aci $out/lib/rkt/stage1-images/ + wrapProgram $out/bin/rkt \ --prefix LD_LIBRARY_PATH : ${systemd}/lib \ --prefix PATH : ${iptables}/bin From a6e3a53229ae8e4e4008feb04eeb91be6852d436 Mon Sep 17 00:00:00 2001 From: Matthew Maurer Date: Tue, 19 Jul 2016 03:36:34 -0400 Subject: [PATCH 202/222] ocaml-bitstring: git -> 2.0.4 (#17002) Google Code no longer supports git cloning. We could restore this revision by exporting the repository to github and working from there, but barring a request for it, we can just use the released version. --- .../ocaml-modules/bitstring/camlp4-git.patch | 44 ------------------- .../ocaml-modules/bitstring/default.nix | 28 ------------ pkgs/top-level/all-packages.nix | 8 +--- 3 files changed, 1 insertion(+), 79 deletions(-) delete mode 100644 pkgs/development/ocaml-modules/bitstring/camlp4-git.patch delete mode 100644 pkgs/development/ocaml-modules/bitstring/default.nix diff --git a/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch b/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch deleted file mode 100644 index 24d2e362dfa..00000000000 --- a/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/Makefile.in b/Makefile.in -index d040f4c..cc1a8f5 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -40,7 +40,7 @@ pkg_extlib = @OCAML_PKG_extlib@ - enable_coverage = @enable_coverage@ - - OCAMLCFLAGS = -g --OCAMLCPACKAGES = -+OCAMLCPACKAGES = -package camlp4 - OCAMLCLIBS = -linkpkg - OCAMLOPTFLAGS = $(OCAMLCFLAGS) - OCAMLOPTPACKAGES = $(OCAMLCPACKAGES) -@@ -110,12 +110,13 @@ bitstring_persistent.cmi: bitstring_persistent.mli - -I +camlp4 -pp camlp4of -c $< - - pa_bitstring.cmo: pa_bitstring.ml bitstring.cma bitstring_persistent.cma -- $(OCAMLFIND) ocamlc bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \ -+ $(OCAMLFIND) ocamlc $(OCAMLCPACKAGES) \ -+ bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \ - -pp camlp4of -c $< -o $@ - - bitstring-objinfo: bitstring_objinfo.cmo bitstring.cma bitstring_persistent.cma - $(OCAMLFIND) ocamlc -I +camlp4 unix.cma dynlink.cma camlp4lib.cma \ -- $(OCAMLCFLAGS) $(OCAMLCLIBS) \ -+ $(OCAMLCFLAGS) $(OCAMLCLIBS) $(OCAMLCPACKAGES) \ - bitstring.cma bitstring_persistent.cma \ - $< -o $@ - -@@ -158,12 +159,13 @@ tests/test.bmpp: create_test_pattern - - create_test_pattern: create_test_pattern.cmo - $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \ -- unix.cma -I +camlp4 dynlink.cma camlp4lib.cma \ -+ unix.cma -I `ocamlfind query camlp4` dynlink.cma camlp4lib.cma \ - $(OCAMLCLIBS) \ - -I . bitstring.cma bitstring_persistent.cma $< -o $@ - - create_test_pattern.cmo: create_test_pattern.ml - $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \ -+ $(OCAMLCPACKAGES) \ - unix.cma -I +camlp4 \ - -I . -c $< -o $@ - diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix deleted file mode 100644 index 2dc1b515c03..00000000000 --- a/pkgs/development/ocaml-modules/bitstring/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{stdenv, fetchgit, buildOcaml, time, autoconf, automake}: - -buildOcaml rec { - name = "bitstring"; - version = "f1673f8"; - src = fetchgit { - url = "https://code.google.com/p/bitstring/"; - rev = "f1673f8"; - sha256 = "1lh97qf1b7mq64pxkphr2w91ri5hfwg58cpjb2xd8a453c9jylw4"; - }; - - patches = [ ./camlp4-git.patch ./meta.patch ./srcdir.patch ]; - - buildInputs = [time autoconf automake]; - doCheck = true; - - createFindlibDestdir = true; - hasSharedObjects = true; - - preConfigure = "./bootstrap"; - - meta = with stdenv.lib; { - description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml"; - homepage = http://code.google.com/p/bitstring/; - license = licenses.lgpl21Plus; - maintainers = [ maintainers.maurer ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6c76d75c7fd..4a707de5717 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4974,13 +4974,7 @@ in bolt = callPackage ../development/ocaml-modules/bolt { }; - bitstring_2_0_4 = callPackage ../development/ocaml-modules/bitstring/2.0.4.nix { }; - bitstring_git = callPackage ../development/ocaml-modules/bitstring { }; - - bitstring = - if lib.versionOlder "4.02" ocaml_version - then bitstring_git - else bitstring_2_0_4; + bitstring = callPackage ../development/ocaml-modules/bitstring/2.0.4.nix { }; camlidl = callPackage ../development/tools/ocaml/camlidl { }; From 3530f3f20a934ed1d3df35fe3c8041d197f8b41e Mon Sep 17 00:00:00 2001 From: Christian Kauhaus Date: Tue, 19 Jul 2016 09:42:53 +0200 Subject: [PATCH 203/222] systemd: make ctrl-alt-del target configurable. (#16911) We currently only allow upstream's default of "reboot.target" due to the way the symlinks are initialized. I made this configurable similar to the default unit. --- nixos/modules/system/boot/systemd-lib.nix | 2 +- nixos/modules/system/boot/systemd.nix | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix index 8acaa5212f5..2e93693cbfc 100644 --- a/nixos/modules/system/boot/systemd-lib.nix +++ b/nixos/modules/system/boot/systemd-lib.nix @@ -176,7 +176,7 @@ rec { ${optionalString (type == "system") '' # Stupid misc. symlinks. ln -s ${cfg.defaultUnit} $out/default.target - + ln -s ${cfg.ctrlAltDelUnit} $out/ctrl-alt-del.target ln -s rescue.target $out/kbrequest.target mkdir -p $out/getty.target.wants/ diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 5c8cce5066a..df72be1b4be 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -120,7 +120,6 @@ let "systemd-poweroff.service" "halt.target" "systemd-halt.service" - "ctrl-alt-del.target" "shutdown.target" "umount.target" "final.target" @@ -162,7 +161,6 @@ let "systemd-hostnamed.service" "systemd-binfmt.service" ] - ++ cfg.additionalUpstreamSystemUnits; upstreamSystemWants = @@ -485,6 +483,15 @@ in description = "Default unit started when the system boots."; }; + systemd.ctrlAltDelUnit = mkOption { + default = "reboot.target"; + type = types.str; + example = "poweroff.target"; + description = '' + Target that should be started when Ctrl-Alt-Delete is pressed. + ''; + }; + systemd.globalEnvironment = mkOption { type = types.attrs; default = {}; From e54ec2f907e8980027ba040f11375adac478cc84 Mon Sep 17 00:00:00 2001 From: Renzo Carbonara Date: Tue, 19 Jul 2016 04:48:36 -0300 Subject: [PATCH 204/222] fetchMavenArtifact: init (#16825) fetchMavenArtifact downloads a Maven artifact given a group id, an artifact id, and a version. Example usage: org_apache_httpcomponents_httpclient_4_5_2 = fetchMavenArtifact { groupId = "org.apache.httpcomponents"; artifactId = "httpclient"; version = "4.5.2"; sha256 = "0ms00zc28pwqk83nwwbafhq6p8zci9mrjzbqalpn6v0d80hwdzqd"; # Optionally: repos = [ ... urls to some Maven repos to use ... ]; # Optionally: url, urls - pointing directly to a specific jar url. }; Now `org_apache_httpcomponents_httpclient_4_5_2.jar` points to the downloaded JAR file, while `org_apache_httpcomponents_httpclient_4_5_2` refers to a derivation that when used used in `buildInputs` will be automatically added to the Java classpath. --- .../fetchmavenartifact/default.nix | 75 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 77 insertions(+) create mode 100644 pkgs/build-support/fetchmavenartifact/default.nix diff --git a/pkgs/build-support/fetchmavenartifact/default.nix b/pkgs/build-support/fetchmavenartifact/default.nix new file mode 100644 index 00000000000..a9c53249ae8 --- /dev/null +++ b/pkgs/build-support/fetchmavenartifact/default.nix @@ -0,0 +1,75 @@ +# Adaptation of the MIT-licensed work on `sbt2nix` done by Charles O'Farrell + +{ fetchurl, stdenv }: +let + defaultRepos = [ + http://central.maven.org/maven2 + http://oss.sonatype.org/content/repositories/releases + http://oss.sonatype.org/content/repositories/public + http://repo.typesafe.com/typesafe/releases + ]; +in + +args@ +{ # Example: "org.apache.httpcomponents" + groupId +, # Example: "httpclient" + artifactId +, # Example: "4.3.6" + version +, # List of maven repositories from where to fetch the artifact. + # Example: [ http://oss.sonatype.org/content/repositories/public ]. + repos ? defaultRepos + # The `url` and `urls` parameters, if specified should point to the JAR + # file and will take precedence over the `repos` parameter. Only one of `url` + # and `urls` can be specified, not both. +, url ? "" +, urls ? [] +, # The rest of the arguments are just forwarded to `fetchurl`. + ... +}: + +# only one of url and urls can be specified at a time. +assert (url == "") || (urls == []); +# if repos is empty, then url or urls must be specified. +assert (repos != []) || (url != "") || (urls != []); + + +let + name_ = + with stdenv.lib; concatStrings [ + (replaceChars ["."] ["_"] groupId) "_" + (replaceChars ["."] ["_"] artifactId) "-" + version + ]; + mkJarUrl = repoUrl: + with stdenv.lib; concatStringsSep "/" [ + (removeSuffix "/" repoUrl) + (replaceChars ["."] ["/"] groupId) + artifactId + version + "${artifactId}-${version}.jar" + ]; + urls_ = + if url != "" then [url] + else if urls != [] then urls + else map mkJarUrl repos; + jar = + fetchurl ( + builtins.removeAttrs args ["groupId" "artifactId" "version" "repos" "url" ] + // { urls = urls_; name = "${name_}.jar"; } + ); +in + stdenv.mkDerivation { + name = name_; + phases = "installPhase fixupPhase"; + # By moving the jar to $out/share/java we make it discoverable by java + # packages packages that mention this derivation in their buildInputs. + installPhase = '' + mkdir -p $out/share/java + ln -s ${jar} $out/share/java + ''; + # We also add a `jar` attribute that can be used to easily obtain the path + # to the downloaded jar file. + passthru.jar = jar; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4a707de5717..f694349f9a3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -167,6 +167,8 @@ in fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {}); + fetchMavenArtifact = callPackage ../build-support/fetchmavenartifact { }; + packer = callPackage ../development/tools/packer { }; fetchpatch = callPackage ../build-support/fetchpatch { }; From 9a8e0d1c2ef11a2ae0b7b5669ff28059db1dde4f Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Tue, 19 Jul 2016 08:57:13 +0100 Subject: [PATCH 205/222] zfs: Force sync on shutdown (#16903) --- nixos/modules/tasks/filesystems/zfs.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 19292bd1ef7..80aec1bba0f 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -270,7 +270,23 @@ in ("$zpool_cmd" list "${pool}" >/dev/null) || "$zpool_cmd" import -d ${cfgZfs.devNodes} -N ${optionalString cfgZfs.forceImportAll "-f"} "${pool}" ''; }; - in listToAttrs (map createImportService dataPools) // { + + # This forces a sync of any ZFS pools prior to poweroff, even if they're set + # to sync=disabled. + createSyncService = pool: + nameValuePair "zfs-sync-${pool}" { + description = "Sync ZFS pool \"${pool}\""; + wantedBy = [ "shutdown.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + script = '' + ${zfsUserPkg}/sbin/zfs set nixos:shutdown-time="$(date)" "${pool}" + ''; + }; + + in listToAttrs (map createImportService dataPools ++ map createSyncService allPools) // { "zfs-mount" = { after = [ "systemd-modules-load.service" ]; }; "zfs-share" = { after = [ "systemd-modules-load.service" ]; }; "zed" = { after = [ "systemd-modules-load.service" ]; }; From afa69e14dbc63792f541e2b6b2a8eca8e429c342 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 19 Jul 2016 10:04:32 +0200 Subject: [PATCH 206/222] Revert "ocaml-bitstring: git -> 2.0.4 (#17002)" This reverts commit a6e3a53229ae8e4e4008feb04eeb91be6852d436. See #17002. --- .../ocaml-modules/bitstring/camlp4-git.patch | 44 +++++++++++++++++++ .../ocaml-modules/bitstring/default.nix | 28 ++++++++++++ pkgs/top-level/all-packages.nix | 8 +++- 3 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/ocaml-modules/bitstring/camlp4-git.patch create mode 100644 pkgs/development/ocaml-modules/bitstring/default.nix diff --git a/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch b/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch new file mode 100644 index 00000000000..24d2e362dfa --- /dev/null +++ b/pkgs/development/ocaml-modules/bitstring/camlp4-git.patch @@ -0,0 +1,44 @@ +diff --git a/Makefile.in b/Makefile.in +index d040f4c..cc1a8f5 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -40,7 +40,7 @@ pkg_extlib = @OCAML_PKG_extlib@ + enable_coverage = @enable_coverage@ + + OCAMLCFLAGS = -g +-OCAMLCPACKAGES = ++OCAMLCPACKAGES = -package camlp4 + OCAMLCLIBS = -linkpkg + OCAMLOPTFLAGS = $(OCAMLCFLAGS) + OCAMLOPTPACKAGES = $(OCAMLCPACKAGES) +@@ -110,12 +110,13 @@ bitstring_persistent.cmi: bitstring_persistent.mli + -I +camlp4 -pp camlp4of -c $< + + pa_bitstring.cmo: pa_bitstring.ml bitstring.cma bitstring_persistent.cma +- $(OCAMLFIND) ocamlc bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \ ++ $(OCAMLFIND) ocamlc $(OCAMLCPACKAGES) \ ++ bitstring.cma -I +camlp4 dynlink.cma camlp4lib.cma \ + -pp camlp4of -c $< -o $@ + + bitstring-objinfo: bitstring_objinfo.cmo bitstring.cma bitstring_persistent.cma + $(OCAMLFIND) ocamlc -I +camlp4 unix.cma dynlink.cma camlp4lib.cma \ +- $(OCAMLCFLAGS) $(OCAMLCLIBS) \ ++ $(OCAMLCFLAGS) $(OCAMLCLIBS) $(OCAMLCPACKAGES) \ + bitstring.cma bitstring_persistent.cma \ + $< -o $@ + +@@ -158,12 +159,13 @@ tests/test.bmpp: create_test_pattern + + create_test_pattern: create_test_pattern.cmo + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \ +- unix.cma -I +camlp4 dynlink.cma camlp4lib.cma \ ++ unix.cma -I `ocamlfind query camlp4` dynlink.cma camlp4lib.cma \ + $(OCAMLCLIBS) \ + -I . bitstring.cma bitstring_persistent.cma $< -o $@ + + create_test_pattern.cmo: create_test_pattern.ml + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \ ++ $(OCAMLCPACKAGES) \ + unix.cma -I +camlp4 \ + -I . -c $< -o $@ + diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix new file mode 100644 index 00000000000..2dc1b515c03 --- /dev/null +++ b/pkgs/development/ocaml-modules/bitstring/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchgit, buildOcaml, time, autoconf, automake}: + +buildOcaml rec { + name = "bitstring"; + version = "f1673f8"; + src = fetchgit { + url = "https://code.google.com/p/bitstring/"; + rev = "f1673f8"; + sha256 = "1lh97qf1b7mq64pxkphr2w91ri5hfwg58cpjb2xd8a453c9jylw4"; + }; + + patches = [ ./camlp4-git.patch ./meta.patch ./srcdir.patch ]; + + buildInputs = [time autoconf automake]; + doCheck = true; + + createFindlibDestdir = true; + hasSharedObjects = true; + + preConfigure = "./bootstrap"; + + meta = with stdenv.lib; { + description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml"; + homepage = http://code.google.com/p/bitstring/; + license = licenses.lgpl21Plus; + maintainers = [ maintainers.maurer ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f694349f9a3..11f2783eabf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4976,7 +4976,13 @@ in bolt = callPackage ../development/ocaml-modules/bolt { }; - bitstring = callPackage ../development/ocaml-modules/bitstring/2.0.4.nix { }; + bitstring_2_0_4 = callPackage ../development/ocaml-modules/bitstring/2.0.4.nix { }; + bitstring_git = callPackage ../development/ocaml-modules/bitstring { }; + + bitstring = + if lib.versionOlder "4.02" ocaml_version + then bitstring_git + else bitstring_2_0_4; camlidl = callPackage ../development/tools/ocaml/camlidl { }; From 7c75fa4bc20492ac52c0b978a777d55e5844c9a2 Mon Sep 17 00:00:00 2001 From: Louis Taylor Date: Sat, 16 Jul 2016 08:15:24 +0100 Subject: [PATCH 207/222] python: add alpha release of 3.6 This might be jumping the gun a little, but I needed to use 3.6 locally and thought I may as well push it upstream. --- .../interpreters/python/3.6/default.nix | 138 ++++++++++++++++++ .../interpreters/python/3.6/setup-hook.sh | 15 ++ pkgs/top-level/all-packages.nix | 9 ++ pkgs/top-level/python-packages.nix | 4 +- 4 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/interpreters/python/3.6/default.nix create mode 100644 pkgs/development/interpreters/python/3.6/setup-hook.sh diff --git a/pkgs/development/interpreters/python/3.6/default.nix b/pkgs/development/interpreters/python/3.6/default.nix new file mode 100644 index 00000000000..4af46f2533b --- /dev/null +++ b/pkgs/development/interpreters/python/3.6/default.nix @@ -0,0 +1,138 @@ +{ stdenv, fetchurl +, glibc +, bzip2 +, db +, gdbm +, libX11, xproto +, lzma +, ncurses +, openssl +, readline +, sqlite +, tcl, tk +, zlib +, callPackage +, self +, python36Packages + +, CF, configd +}: + +assert readline != null -> ncurses != null; + +with stdenv.lib; + +let + majorVersion = "3.6"; + pythonVersion = majorVersion; + version = "${majorVersion}.0a3"; + fullVersion = "${version}"; + + buildInputs = filter (p: p != null) [ + glibc + zlib + bzip2 + lzma + gdbm + sqlite + db + readline + ncurses + openssl + tcl + tk + libX11 + xproto + ] ++ optionals stdenv.isDarwin [ CF configd ]; +in +stdenv.mkDerivation { + name = "python3-${fullVersion}"; + pythonVersion = majorVersion; + inherit majorVersion version; + + inherit buildInputs; + + src = fetchurl { + url = "https://www.python.org/ftp/python/${majorVersion}.0/Python-${fullVersion}.tar.xz"; + sha256 = "08c3598bwihibwca9lwxq923sjq9shvgv3wxv4vkga2n6hf63l1c"; + }; + + NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; + + prePatch = optionalString stdenv.isDarwin '' + substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"' + ''; + + preConfigure = '' + for i in /usr /sw /opt /pkg; do # improve purity + substituteInPlace ./setup.py --replace $i /no-such-path + done + ${optionalString stdenv.isDarwin '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2" + export MACOSX_DEPLOYMENT_TARGET=10.6 + ''} + + substituteInPlace ./Lib/plat-generic/regen --replace "/usr/include" ${glibc}/include + + configureFlagsArray=( --enable-shared --with-threads + CPPFLAGS="${concatStringsSep " " (map (p: "-I${getDev p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${getLib p}/lib") buildInputs)}" + LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" + ) + ''; + + setupHook = ./setup-hook.sh; + + postInstall = '' + # needed for some packages, especially packages that backport functionality + # to 2.x from 3.x + for item in $out/lib/python${majorVersion}/test/*; do + if [[ "$item" != */test_support.py* ]]; then + rm -rf "$item" + else + echo $item + fi + done + touch $out/lib/python${majorVersion}/test/__init__.py + + ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}" + paxmark E $out/bin/python${majorVersion} + ''; + + passthru = rec { + zlibSupport = zlib != null; + sqliteSupport = sqlite != null; + dbSupport = db != null; + readlineSupport = readline != null; + opensslSupport = openssl != null; + tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null); + libPrefix = "python${majorVersion}"; + executable = "python${majorVersion}m"; + buildEnv = callPackage ../wrapper.nix { python = self; }; + withPackages = import ../with-packages.nix { inherit buildEnv; pythonPackages = python36Packages; }; + isPy3 = true; + isPy35 = true; + is_py3k = true; # deprecated + sitePackages = "lib/${libPrefix}/site-packages"; + interpreter = "${self}/bin/${executable}"; + }; + + enableParallelBuilding = true; + + meta = { + homepage = http://python.org; + description = "A high-level dynamically-typed programming language"; + longDescription = '' + Python is a remarkably powerful dynamic programming language that + is used in a wide variety of application domains. Some of its key + distinguishing features include: clear, readable syntax; strong + introspection capabilities; intuitive object orientation; natural + expression of procedural code; full modularity, supporting + hierarchical packages; exception-based error handling; and very + high level dynamic data types. + ''; + license = licenses.psfl; + platforms = with platforms; linux ++ darwin; + maintainers = with maintainers; [ chaoflow domenkozar cstrahan kragniz ]; + }; +} diff --git a/pkgs/development/interpreters/python/3.6/setup-hook.sh b/pkgs/development/interpreters/python/3.6/setup-hook.sh new file mode 100644 index 00000000000..26a0d57bc87 --- /dev/null +++ b/pkgs/development/interpreters/python/3.6/setup-hook.sh @@ -0,0 +1,15 @@ +addPythonPath() { + addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.6/site-packages +} + +toPythonPath() { + local paths="$1" + local result= + for i in $paths; do + p="$i/lib/python3.6/site-packages" + result="${result}${result:+:}$p" + done + echo $result +} + +envHooks+=(addPythonPath) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 11f2783eabf..0da2c025201 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5850,6 +5850,10 @@ in inherit (darwin) CF configd; self = python35; }); + python36 = callPackage ../development/interpreters/python/3.6 { + inherit (darwin) CF configd; + self = python36; + }; pypy = callPackage ../development/interpreters/pypy { self = pypy; }; @@ -9899,6 +9903,11 @@ in self = python35Packages; }); + python36Packages = (callPackage ./python-packages.nix { + python = python36; + self = python36Packages; + }); + pypyPackages = callPackage ./python-packages.nix { python = pypy; self = pypyPackages; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7bdf5491746..f8ca093b1bf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10,6 +10,7 @@ let isPy33 = python.majorVersion == "3.3"; isPy34 = python.majorVersion == "3.4"; isPy35 = python.majorVersion == "3.5"; + isPy36 = python.majorVersion == "3.6"; isPyPy = python.executable == "pypy"; isPy3k = strings.substring 0 1 python.majorVersion == "3"; @@ -30,6 +31,7 @@ let if isPy33 then "python33" else if isPy34 then "python34" else if isPy35 then "python35" else + if isPy36 then "python36" else if isPyPy then "pypy" else ""; modules = python.modules or { @@ -42,7 +44,7 @@ let in modules // { - inherit python bootstrapped-pip isPy26 isPy27 isPy33 isPy34 isPy35 isPyPy isPy3k pythonName buildPythonPackage buildPythonApplication; + inherit python bootstrapped-pip isPy26 isPy27 isPy33 isPy34 isPy35 isPy36 isPyPy isPy3k pythonName buildPythonPackage buildPythonApplication; # helpers From 773f6225cbcb33cacd729d5308b8813d6618674d Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 19 Jul 2016 10:13:21 +0200 Subject: [PATCH 208/222] Python 3.6: add less --- pkgs/development/interpreters/python/3.6/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/interpreters/python/3.6/default.nix b/pkgs/development/interpreters/python/3.6/default.nix index 4af46f2533b..9515e1587d7 100644 --- a/pkgs/development/interpreters/python/3.6/default.nix +++ b/pkgs/development/interpreters/python/3.6/default.nix @@ -3,6 +3,7 @@ , bzip2 , db , gdbm +, less , libX11, xproto , lzma , ncurses @@ -44,6 +45,11 @@ let libX11 xproto ] ++ optionals stdenv.isDarwin [ CF configd ]; + + propagatedBuildInputs = [ + less + ]; + in stdenv.mkDerivation { name = "python3-${fullVersion}"; @@ -51,6 +57,7 @@ stdenv.mkDerivation { inherit majorVersion version; inherit buildInputs; + inherit propagatedBuildInputs; src = fetchurl { url = "https://www.python.org/ftp/python/${majorVersion}.0/Python-${fullVersion}.tar.xz"; From e261818c687af3fee9caa77b349d6f74a9e6aa93 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 19 Jul 2016 10:13:43 +0200 Subject: [PATCH 209/222] Python 3.5: add less --- pkgs/development/interpreters/python/3.5/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/interpreters/python/3.5/default.nix b/pkgs/development/interpreters/python/3.5/default.nix index e0adad2bae2..21716c87386 100644 --- a/pkgs/development/interpreters/python/3.5/default.nix +++ b/pkgs/development/interpreters/python/3.5/default.nix @@ -2,6 +2,7 @@ , bzip2 , db , gdbm +, less , libX11, xproto , lzma , ncurses @@ -42,6 +43,11 @@ let libX11 xproto ] ++ optionals stdenv.isDarwin [ CF configd ]; + + propagatedBuildInputs = [ + less + ]; + in stdenv.mkDerivation { name = "python3-${fullVersion}"; @@ -49,6 +55,7 @@ stdenv.mkDerivation { inherit majorVersion version; inherit buildInputs; + inherit propagatedBuildInputs; src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz"; From b410631d6ddc455b5652abafa63d2f77c895d0ef Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 19 Jul 2016 10:13:51 +0200 Subject: [PATCH 210/222] Python 3.4: add less --- pkgs/development/interpreters/python/3.4/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix index 1cd7f58e95e..7ea6adc4370 100644 --- a/pkgs/development/interpreters/python/3.4/default.nix +++ b/pkgs/development/interpreters/python/3.4/default.nix @@ -2,6 +2,7 @@ , bzip2 , db , gdbm +, less , libX11, xproto , lzma , ncurses @@ -42,6 +43,11 @@ let libX11 xproto ] ++ optionals stdenv.isDarwin [ CF configd ]; + + propagatedBuildInputs = [ + less + ]; + in stdenv.mkDerivation { name = "python3-${fullVersion}"; @@ -49,6 +55,7 @@ stdenv.mkDerivation { inherit majorVersion version; inherit buildInputs; + inherit propagatedBuildInputs; src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz"; From c59d211b4b528ff17f422b564382225adde917e8 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 19 Jul 2016 10:13:57 +0200 Subject: [PATCH 211/222] Python 3.3: add less --- pkgs/development/interpreters/python/3.3/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix index 8c16995d5cc..8a36e03c784 100644 --- a/pkgs/development/interpreters/python/3.3/default.nix +++ b/pkgs/development/interpreters/python/3.3/default.nix @@ -2,6 +2,7 @@ , bzip2 , db , gdbm +, less , libX11, xproto , lzma , ncurses @@ -27,6 +28,11 @@ let buildInputs = filter (p: p != null) [ zlib bzip2 lzma gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto ]; + + propagatedBuildInputs = [ + less + ]; + in stdenv.mkDerivation { name = "python3-${version}"; @@ -34,6 +40,7 @@ stdenv.mkDerivation { inherit majorVersion version; inherit buildInputs; + inherit propagatedBuildInputs; src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"; From bce5a51a9f33a16bf91e7d72a927c3382f333442 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 19 Jul 2016 10:14:03 +0200 Subject: [PATCH 212/222] Python 2.7: add less --- pkgs/development/interpreters/python/2.7/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix index e47fc82f4e8..db9135ea2ab 100644 --- a/pkgs/development/interpreters/python/2.7/default.nix +++ b/pkgs/development/interpreters/python/2.7/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, self, callPackage, python27Packages , bzip2, openssl, gettext +, less , includeModules ? false @@ -108,7 +109,7 @@ let ++ optional zlibSupport zlib ++ optional stdenv.isDarwin CF; - propagatedBuildInputs = optional stdenv.isDarwin configd; + propagatedBuildInputs = [ less ] ++ optional stdenv.isDarwin configd; mkPaths = paths: { C_INCLUDE_PATH = makeSearchPathOutput "dev" "include" paths; From 6bcf1944494973029071411bb378d4262ce2a678 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 19 Jul 2016 10:48:39 +0200 Subject: [PATCH 213/222] tarball: Only check nix files for nixpkgs references Fixes travis build failure. --- pkgs/top-level/make-tarball.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix index da3579a6595..b664dceaa95 100644 --- a/pkgs/top-level/make-tarball.nix +++ b/pkgs/top-level/make-tarball.nix @@ -40,7 +40,7 @@ releaseTools.sourceTarball rec { echo 'abort "Illegal use of in Nixpkgs."' > $TMPDIR/barf.nix # Make sure that Nixpkgs does not use - if grep -r ' to refer to itself." exit 1 fi From 4463f9f3d461615601b0280740f550e96026d129 Mon Sep 17 00:00:00 2001 From: schneefux Date: Fri, 17 Jun 2016 17:38:40 +0200 Subject: [PATCH 214/222] hugo: init at 0.16 Closes #16299. --- pkgs/applications/misc/hugo/default.nix | 18 +++ pkgs/applications/misc/hugo/deps.json | 44 ++++++ pkgs/development/go-modules/libs.json | 198 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 262 insertions(+) create mode 100644 pkgs/applications/misc/hugo/default.nix create mode 100644 pkgs/applications/misc/hugo/deps.json diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix new file mode 100644 index 00000000000..c183f70a289 --- /dev/null +++ b/pkgs/applications/misc/hugo/default.nix @@ -0,0 +1,18 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "hugo-${version}"; + version = "v0.16"; + rev = "8b54843a0db694facbaf368af4e777d0ae5fb992"; + + goPackagePath = "github.com/spf13/hugo"; + + src = fetchFromGitHub { + inherit rev; + owner = "spf13"; + repo = "hugo"; + sha256 = "135mrdi8i56z9m2sihjrdfab6lrczbfgavwvfrngvi1zxnx7scmv"; + }; + + goDeps = ./deps.json; +} diff --git a/pkgs/applications/misc/hugo/deps.json b/pkgs/applications/misc/hugo/deps.json new file mode 100644 index 00000000000..47f67d4269c --- /dev/null +++ b/pkgs/applications/misc/hugo/deps.json @@ -0,0 +1,44 @@ +[ + { + "include": "../../libs.json", + "packages": [ + "gopkg.in/yaml.v2", + "github.com/hashicorp/hcl", + "github.com/pkg/sftp", + "golang.org/x/sys", + "github.com/hashicorp/go-multierror", + "golang.org/x/crypto", + "github.com/pkg/errors", + "github.com/kr/fs", + "github.com/kyokomi/emoji", + "github.com/bep/inflect", + "github.com/BurntSushi/toml", + "github.com/PuerkitoBio/purell", + "github.com/PuerkitoBio/urlesc", + "github.com/dchest/cssmin", + "github.com/eknkc/amber", + "github.com/gorilla/websocket", + "github.com/kardianos/osext", + "github.com/miekg/mmark", + "github.com/mitchellh/mapstructure", + "github.com/russross/blackfriday", + "github.com/shurcooL/sanitized_anchor_name", + "github.com/spf13/afero", + "github.com/spf13/cast", + "github.com/spf13/jwalterweatherman", + "github.com/spf13/cobra", + "github.com/cpuguy83/go-md2man", + "github.com/inconshreveable/mousetrap", + "github.com/spf13/pflag", + "github.com/spf13/fsync", + "github.com/spf13/viper", + "github.com/kr/pretty", + "github.com/kr/text", + "github.com/magiconair/properties", + "golang.org/x/text", + "github.com/yosssi/ace", + "github.com/spf13/nitro", + "github.com/fsnotify/fsnotify" + ] + } +] diff --git a/pkgs/development/go-modules/libs.json b/pkgs/development/go-modules/libs.json index 98a9374c4e4..9e1b4369136 100644 --- a/pkgs/development/go-modules/libs.json +++ b/pkgs/development/go-modules/libs.json @@ -1601,6 +1601,42 @@ "sha256": "0dmc8iar9685ks1ba3vnycjsx8qxwyqv51jb7677dvwnzbqhgw6f" } }, + { + "goPackagePath": "github.com/yosssi/ace", + "fetch": { + "type": "git", + "url": "https://github.com/yosssi/ace", + "rev": "71afeb714739f9d5f7e1849bcd4a0a5938e1a70d", + "sha256": "15k7ji8m3nqbwhnsvp82j4qa45sgvwv2giliw2xkdwi2g7mfrn8k" + } + }, + { + "goPackagePath": "github.com/spf13/viper", + "fetch": { + "type": "git", + "url": "https://github.com/spf13/viper", + "rev": "c1ccc378a054ea8d4e38d8c67f6938d4760b53dd", + "sha256": "0lpdzalqhqp9pwsg63inkxwjji7m0pp42ryw1499bqbjp97hriq0" + } + }, + { + "goPackagePath": "github.com/spf13/pflag", + "fetch": { + "type": "git", + "url": "https://github.com/spf13/pflag", + "rev": "367864438f1b1a3c7db4da06a2f55b144e6784e0", + "sha256": "03c6654hv4v1fj79i5sri3p9q2afqgicka4nicb6fr4kcfkkgbfp" + } + }, + { + "goPackagePath": "github.com/spf13/jwalterweatherman", + "fetch": { + "type": "git", + "url": "https://github.com/spf13/jwalterweatherman", + "rev": "33c24e77fb80341fe7130ee7c594256ff08ccc46", + "sha256": "1knvzspqzc2bh58q16zggzc8gcabjp5gr7zk4k7nx5ij4092cg0z" + } + }, { "goPackagePath": "github.com/fsnotify/fsnotify", "fetch": { @@ -1618,5 +1654,167 @@ "rev": "45c278ab3607870051a2ea9040bb85fcb8557481", "sha256": "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l" } + }, + { + "goPackagePath": "github.com/magiconair/properties", + "fetch": { + "type": "git", + "url": "https://github.com/magiconair/properties", + "rev": "c265cfa48dda6474e208715ca93e987829f572f8", + "sha256": "1ab9ywwsrdq5mvrcwl7m3276y1q4dfwinbv88vgpqwcqai9wkpp3" + } + }, + { + "goPackagePath": "github.com/bep/inflect", + "fetch": { + "type": "git", + "url": "https://github.com/bep/inflect", + "rev": "b896c45f5af983b1f416bdf3bb89c4f1f0926f69", + "sha256": "0drv6in94n7lmap4ajvgqlvdcbpn8alinfdzywzpihvzbx21b3h3" + } + }, + { + "goPackagePath": "github.com/eknkc/amber", + "fetch": { + "type": "git", + "url": "https://github.com/eknkc/amber", + "rev": "91774f050c1453128146169b626489e60108ec03", + "sha256": "1rb8bm35h8a77q4py6r3818cpwh7kpq1kh2ib2rb4i5s7z75ciis" + } + }, + { + "goPackagePath": "github.com/spf13/afero", + "fetch": { + "type": "git", + "url": "https://github.com/spf13/afero", + "rev": "1a8ecf8b9da1fb5306e149e83128fc447957d2a8", + "sha256": "1nrg0gmqnl4h6zjmi4mdhrwnl3l34nzxpq2hsr3nizfvrx5gqbzw" + } + }, + { + "goPackagePath": "github.com/spf13/cast", + "fetch": { + "type": "git", + "url": "https://github.com/spf13/cast", + "rev": "27b586b42e29bec072fe7379259cc719e1289da6", + "sha256": "1y73pfxdvm1bfpghwsfxj8gl4miv6fpzi9azxcknp6rcjn1gmq0x" + } + }, + { + "goPackagePath": "github.com/spf13/cobra", + "fetch": { + "type": "git", + "url": "https://github.com/spf13/cobra", + "rev": "bc81c21bd0d8be5ba2d6630a505d79d4467566e7", + "sha256": "1sp8gl25cjx0yibh6q1i8d5rbxpwaal3z8vz372wfmbz002say8r" + } + }, + { + "goPackagePath": "github.com/dchest/cssmin", + "fetch": { + "type": "git", + "url": "https://github.com/dchest/cssmin", + "rev": "fb8d9b44afdc258bfff6052d3667521babcb2239", + "sha256": "09sdijfx5d05z4cd5k6lhl7k3kbpdf2amzlngv15h5v0fff9qw4s" + } + }, + { + "goPackagePath": "github.com/spf13/fsync", + "fetch": { + "type": "git", + "url": "https://github.com/spf13/fsync", + "rev": "eefee59ad7de621617d4ff085cf768aab4b919b1", + "sha256": "0d56xdczawikyczc12i661qc79dbv4q8ihlj4p20zsjkyxxym59p" + } + }, + { + "goPackagePath": "github.com/cpuguy83/go-md2man", + "fetch": { + "type": "git", + "url": "https://github.com/cpuguy83/go-md2man", + "rev": "2724a9c9051aa62e9cca11304e7dd518e9e41599", + "sha256": "1j2bigs7ixy20cdqd246nxr417md2qcyvkfk3x94992cr88d0vyj" + } + }, + { + "goPackagePath": "github.com/miekg/mmark", + "fetch": { + "type": "git", + "url": "https://github.com/miekg/mmark", + "rev": "adb5c3e2e9f3e7da9bd25291edda8e66c0045a2a", + "sha256": "0fycz17fj37fh95lfshdrfwrgkzi3hl1kgnily0cxc9zwfbap3qa" + } + }, + { + "goPackagePath": "github.com/spf13/nitro", + "fetch": { + "type": "git", + "url": "https://github.com/spf13/nitro", + "rev": "24d7ef30a12da0bdc5e2eb370a79c659ddccf0e8", + "sha256": "143sbpx0jdgf8f8ayv51x6l4jg6cnv6nps6n60qxhx4vd90s6mib" + } + }, + { + "goPackagePath": "github.com/PuerkitoBio/purell", + "fetch": { + "type": "git", + "url": "https://github.com/PuerkitoBio/purell", + "rev": "1d5d1cfad45d42ec5f81fa8ef23de09cebc6dcc3", + "sha256": "12k82576ka21c6572yy2v81kxpjrgf9mffjlz469g3vs0g3nkwlb" + } + }, + { + "goPackagePath": "github.com/opennota/urlesc", + "fetch": { + "type": "git", + "url": "https://github.com/opennota/urlesc", + "rev": "5fa9ff0392746aeae1c4b37fcc42c65afa7a9587", + "sha256": "0dppkmfs0hb5vcqli191x9yss5vvlx29qxjcywhdfirc89rn0sni" + } + }, + { + "goPackagePath": "github.com/pkg/sftp", + "fetch": { + "type": "git", + "url": "https://github.com/pkg/sftp", + "rev": "d4c18e7ffdc496a38de67dde6e29b2f364afc472", + "sha256": "0cnl83k317gxskayfj3xwr4bl0vcbjvlwi3q0vjwvircynb6xscj" + } + }, + { + "goPackagePath": "github.com/kr/fs", + "fetch": { + "type": "git", + "url": "https://github.com/kr/fs", + "rev": "2788f0dbd16903de03cb8186e5c7d97b69ad387b", + "sha256": "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly" + } + }, + { + "goPackagePath": "github.com/kyokomi/emoji", + "fetch": { + "type": "git", + "url": "https://github.com/kyokomi/emoji", + "rev": "17c5e7085c9d59630aa578df67f4469481fbe7a9", + "sha256": "0qs4mi7z1lghiyiw7s2bz5y959wj9ifmhyqh39xwqk69d690jwlp" + } + }, + { + "goPackagePath": "github.com/pkg/errors", + "fetch": { + "type": "git", + "url": "https://github.com/pkg/errors", + "rev": "494e70f7620561491c2ca11e185bbef4b70060da", + "sha256": "0a0961ixl67vryhnzyzhai357c9n9a7v3vpkpqrh32spn033gjd9" + } + }, + { + "goPackagePath": "github.com/PuerkitoBio/urlesc", + "fetch": { + "type": "git", + "url": "https://github.com/PuerkitoBio/urlesc", + "rev": "5fa9ff0392746aeae1c4b37fcc42c65afa7a9587", + "sha256": "0dppkmfs0hb5vcqli191x9yss5vvlx29qxjcywhdfirc89rn0sni" + } } ] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0da2c025201..6037ba3f6e3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13279,6 +13279,8 @@ in hugin = callPackage ../applications/graphics/hugin { }; + hugo = callPackage ../applications/misc/hugo { }; + hydrogen = callPackage ../applications/audio/hydrogen { }; slack = callPackage ../applications/networking/instant-messengers/slack { }; From ae3896061b7d86223652250c46991df57d0698e5 Mon Sep 17 00:00:00 2001 From: Renzo Carbonara Date: Tue, 19 Jul 2016 06:09:20 -0300 Subject: [PATCH 215/222] gpg-mpd: init at 0.7.4 (#16527) --- pkgs/applications/misc/gpg-mdp/default.nix | 34 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/applications/misc/gpg-mdp/default.nix diff --git a/pkgs/applications/misc/gpg-mdp/default.nix b/pkgs/applications/misc/gpg-mdp/default.nix new file mode 100644 index 00000000000..fe58fa92d07 --- /dev/null +++ b/pkgs/applications/misc/gpg-mdp/default.nix @@ -0,0 +1,34 @@ +{ fetchurl, stdenv, ncurses, gnupg }: + +let version = "0.7.4"; +in stdenv.mkDerivation { + # mdp renamed to gpg-mdp because there is a mdp package already. + name = "gpg-mdp-${version}"; + meta = { + homepage = https://tamentis.com/projects/mdp/; + license = [stdenv.lib.licenses.isc]; + description = "Manage your passwords with GnuPG and a text editor"; + }; + src = fetchurl { + url = "https://tamentis.com/projects/mdp/files/mdp-${version}.tar.gz"; + sha256 = "04mdnx4ccpxf9m2myy9nvpl9ma4jgzmv9bkrzv2b9affzss3r34g"; + }; + buildInputs = [ ncurses ]; + prePatch = '' + substituteInPlace ./configure \ + --replace "alias echo=/bin/echo" "" + + substituteInPlace ./src/config.c \ + --replace "/usr/bin/gpg" "${gnupg}/bin/gpg2" \ + --replace "/usr/bin/vi" "vi" + + substituteInPlace ./mdp.1 \ + --replace "/usr/bin/gpg" "${gnupg}/bin/gpg2" + ''; + # we add symlinks to the binary and man page with the name 'gpg-mdp', in case + # the completely unrelated program also named 'mdp' is already installed. + postFixup = '' + ln -s $out/bin/mdp $out/bin/gpg-mdp + ln -s $out/share/man/man1/mdp.1.gz $out/share/man/man1/gpg-mdp.1.gz + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6037ba3f6e3..72901ffc8bc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12831,6 +12831,8 @@ in evopedia = callPackage ../applications/misc/evopedia { }; + gpg-mdp = callPackage ../applications/misc/gpg-mdp { }; + keepassx = callPackage ../applications/misc/keepassx { }; keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { }; From 6b11c96c86e907e9c2e107cf54133223c32dc009 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 19 Jul 2016 11:02:33 +0200 Subject: [PATCH 216/222] Python 2.6: add less --- pkgs/development/interpreters/python/2.6/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix index 48712cc21b9..6641eb24b24 100644 --- a/pkgs/development/interpreters/python/2.6/default.nix +++ b/pkgs/development/interpreters/python/2.6/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, includeModules ? false +{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, less, includeModules ? false , sqlite, tcl, tk, xlibsWrapper, openssl, readline, db, ncurses, gdbm, self, callPackage , python26Packages }: @@ -53,6 +53,8 @@ let [ bzip2 openssl ]++ optionals includeModules [ db openssl ncurses gdbm readline xlibsWrapper tcl tk sqlite ] ++ optional zlibSupport zlib; + propagatedBuildInputs = [ less ]; + mkPaths = paths: { C_INCLUDE_PATH = makeSearchPathOutput "dev" "include" paths; LIBRARY_PATH = makeLibraryPath paths; @@ -64,8 +66,8 @@ let name = "python${if includeModules then "" else "-minimal"}-${version}"; pythonVersion = majorVersion; - inherit majorVersion version src patches buildInputs preConfigure - configureFlags; + inherit majorVersion version src patches buildInputs propagatedBuildInputs + preConfigure configureFlags; inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; From 2e8c21e4dd9e6720f7add945d179808f233437ad Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Tue, 19 Jul 2016 12:27:17 +0300 Subject: [PATCH 217/222] libjpeg-drop: init at 9b (#16671) --- .../libraries/libjpeg-drop/default.nix | 36 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/libraries/libjpeg-drop/default.nix diff --git a/pkgs/development/libraries/libjpeg-drop/default.nix b/pkgs/development/libraries/libjpeg-drop/default.nix new file mode 100644 index 00000000000..ed1b5f5bdb0 --- /dev/null +++ b/pkgs/development/libraries/libjpeg-drop/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, static ? true }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "libjpeg-drop-9b"; + + srcs = [ + (fetchurl { + url = http://www.ijg.org/files/jpegsrc.v9b.tar.gz; + sha256 = "0lnhpahgdwlrkd41lx6cr90r199f8mc6ydlh7jznj5klvacd63r4"; + }) + (fetchurl { + url = http://jpegclub.org/droppatch.v9b.tar.gz; + sha256 = "022bnvpird7w5pwbfqpq7j7pwja5kp6x9k3sdypcy3g2nwwy2wwk"; + }) + ]; + + postUnpack = '' + rm jpegtran + mv jpegtran.c jpeg-9b/jpegtran.c + mv transupp.c jpeg-9b/transupp.c + mv transupp.h jpeg-9b/transupp.h + ''; + + configureFlags = [] + ++ optional static [ "--enable-static" "--disable-shared" ]; + + outputs = [ "dev" "out" "man" "bin" ]; + + meta = { + homepage = http://jpegclub.org/jpegtran/; + description = "Experimental lossless crop 'n' drop (cut & paste) patches for libjpeg"; + license = stdenv.lib.licenses.free; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 72901ffc8bc..ff3e31623fe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8186,6 +8186,7 @@ in libjpeg_original = callPackage ../development/libraries/libjpeg { }; libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; + libjpeg_drop = callPackage ../development/libraries/libjpeg-drop { }; 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 { From 1c39145bc2703689063abe0ce2016ab3064e15f5 Mon Sep 17 00:00:00 2001 From: Christine Koppelt Date: Tue, 19 Jul 2016 11:34:39 +0200 Subject: [PATCH 218/222] nodejs-5_x: 5.11.1 -> 5.12.0 (#16657) --- pkgs/development/web/nodejs/nodejs.nix | 2 +- pkgs/development/web/nodejs/v5.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index cae7648e6e9..debc571ea41 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -52,7 +52,7 @@ in stdenv.mkDerivation { description = "Event-driven I/O framework for the V8 JavaScript engine"; homepage = http://nodejs.org; license = licenses.mit; - maintainers = [ maintainers.goibhniu maintainers.havvy maintainers.gilligan ]; + maintainers = [ maintainers.goibhniu maintainers.havvy maintainers.gilligan maintainers.cko ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/development/web/nodejs/v5.nix b/pkgs/development/web/nodejs/v5.nix index 12d0dca4503..2398ae4e739 100644 --- a/pkgs/development/web/nodejs/v5.nix +++ b/pkgs/development/web/nodejs/v5.nix @@ -4,9 +4,9 @@ }@args: import ./nodejs.nix (args // rec { - version = "5.11.1"; + version = "5.12.0"; src = fetchurl { url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.xz"; - sha256 = "07v60mhswj77m7516zakj3p1py7ixa5jbgj0m7zlr9vygrrc66zi"; + sha256 = "4f926373f11f2a25156eee1804ec012eb912c42e5d34fc2909889da22efdadfe"; }; }) From b49bedd75b39f732600f96210120cc3fa098155f Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 19 Jul 2016 11:46:11 +0200 Subject: [PATCH 219/222] Python 2.7.11 -> 2.7.12 --- .../interpreters/python/2.7/default.nix | 4 ++-- .../interpreters/python/2.7/no-ldconfig.patch | 20 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix index db9135ea2ab..aca88f504a0 100644 --- a/pkgs/development/interpreters/python/2.7/default.nix +++ b/pkgs/development/interpreters/python/2.7/default.nix @@ -23,11 +23,11 @@ with stdenv.lib; let majorVersion = "2.7"; - version = "${majorVersion}.11"; + version = "${majorVersion}.12"; src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"; - sha256 = "0iiz844riiznsyhhyy962710pz228gmhv8qi3yk4w4jhmx2lqawn"; + sha256 = "0y7rl603vmwlxm6ilkhc51rx2mfj14ckcz40xxgs0ljnvlhp30yp"; }; patches = diff --git a/pkgs/development/interpreters/python/2.7/no-ldconfig.patch b/pkgs/development/interpreters/python/2.7/no-ldconfig.patch index 10284c7b374..44c38fb2953 100644 --- a/pkgs/development/interpreters/python/2.7/no-ldconfig.patch +++ b/pkgs/development/interpreters/python/2.7/no-ldconfig.patch @@ -1,7 +1,8 @@ -diff -ru -x '*~' Python-2.7.11-orig/Lib/ctypes/util.py Python-2.7.11/Lib/ctypes/util.py ---- Python-2.7.11-orig/Lib/ctypes/util.py 2015-12-05 20:46:56.000000000 +0100 -+++ Python-2.7.11/Lib/ctypes/util.py 2016-07-01 14:24:50.714223450 +0200 -@@ -212,31 +212,7 @@ +diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py +index b2c514d..a6eca81 100644 +--- a/Lib/ctypes/util.py ++++ b/Lib/ctypes/util.py +@@ -207,31 +207,7 @@ elif os.name == "posix": else: def _findSoname_ldconfig(name): @@ -21,7 +22,7 @@ diff -ru -x '*~' Python-2.7.11-orig/Lib/ctypes/util.py Python-2.7.11/Lib/ctypes/ - - # XXX assuming GLIBC's ldconfig (with option -p) - expr = r'\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type) -- f = os.popen('/sbin/ldconfig -p 2>/dev/null') +- f = os.popen('LC_ALL=C LANG=C /sbin/ldconfig -p 2>/dev/null') - try: - data = f.read() - finally: @@ -34,10 +35,11 @@ diff -ru -x '*~' Python-2.7.11-orig/Lib/ctypes/util.py Python-2.7.11/Lib/ctypes/ def find_library(name): return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) -diff -ru -x '*~' Python-2.7.11-orig/Lib/uuid.py Python-2.7.11/Lib/uuid.py ---- Python-2.7.11-orig/Lib/uuid.py 2015-12-05 20:47:09.000000000 +0100 -+++ Python-2.7.11/Lib/uuid.py 2016-07-01 14:33:14.360446897 +0200 -@@ -437,57 +437,7 @@ +diff --git a/Lib/uuid.py b/Lib/uuid.py +index 7432032..9829d18 100644 +--- a/Lib/uuid.py ++++ b/Lib/uuid.py +@@ -437,57 +437,7 @@ def _netbios_getnode(): return ((bytes[0]<<40L) + (bytes[1]<<32L) + (bytes[2]<<24L) + (bytes[3]<<16L) + (bytes[4]<<8L) + bytes[5]) From 4aea0ba917cf4b6f86c31183f395db8f5a692c98 Mon Sep 17 00:00:00 2001 From: leenaars Date: Tue, 19 Jul 2016 12:23:09 +0200 Subject: [PATCH 220/222] liberationsansnarrow: init at 1.07.3 (#17080) --- .../fonts/liberationsansnarrow/binary.nix | 22 +++++++++++ .../fonts/liberationsansnarrow/default.nix | 39 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 ++ 3 files changed, 64 insertions(+) create mode 100644 pkgs/data/fonts/liberationsansnarrow/binary.nix create mode 100644 pkgs/data/fonts/liberationsansnarrow/default.nix diff --git a/pkgs/data/fonts/liberationsansnarrow/binary.nix b/pkgs/data/fonts/liberationsansnarrow/binary.nix new file mode 100644 index 00000000000..c7afc91af84 --- /dev/null +++ b/pkgs/data/fonts/liberationsansnarrow/binary.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, liberationsansnarrow }: + +stdenv.mkDerivation rec { + version = "1.07.3"; + name = "liberationsansnarrow-${version}"; + src = fetchurl { + url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz"; + sha256 = "0qkr7n97jmj4q85jr20nsf6n5b48j118l9hr88vijn22ikad4wsp"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/share/fonts/truetype + cp -v $(find . -name '*Narrow*.ttf') $out/share/fonts/truetype + + mkdir -p "$out/doc/${name}" + cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true + ''; + + inherit (liberationsansnarrow) meta; +} diff --git a/pkgs/data/fonts/liberationsansnarrow/default.nix b/pkgs/data/fonts/liberationsansnarrow/default.nix new file mode 100644 index 00000000000..6a5e81cd3c7 --- /dev/null +++ b/pkgs/data/fonts/liberationsansnarrow/default.nix @@ -0,0 +1,39 @@ +{stdenv, fetchurl, fontforge, pythonPackages, python}: + +stdenv.mkDerivation rec { + pname = "liberationsansnarrow"; + version = "1.07.3"; + name = "${pname}"; + + src = fetchurl { + url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz"; + sha256 = "0qkr7n97jmj4q85jr20nsf6n5b48j118l9hr88vijn22ikad4wsp"; + }; + + buildInputs = [ fontforge pythonPackages.fonttools python ]; + + installPhase = '' + mkdir -p $out/share/fonts/truetype + cp -v $(find . -name '*Narrow*.ttf') $out/share/fonts/truetype + + mkdir -p "$out/doc/${name}" + cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true + ''; + + meta = with stdenv.lib; { + description = "Liberation Sans Narrow Font Family is a replacement for Arial Narrow"; + longDescription = '' + Liberation Sans Narrow is a font originally created by Ascender + Inc and licensed to Oracle Corporation under a GPLv2 license. It is + metrically compatible with the commonly used Arial Narrow fonts + on Microsoft systems. It is no longer distributed with the + latest versions of the Liberation Fonts, as Red Hat has changed the + license to the Open Font License. + ''; + + license = licenses.gpl2; + homepage = https://fedorahosted.org/liberation-fonts/; + maintainers = [ maintainers.leenaars + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ff3e31623fe..86e4d949292 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11892,6 +11892,9 @@ in liberation_ttf_binary = callPackage ../data/fonts/redhat-liberation-fonts/binary.nix { }; liberation_ttf = self.liberation_ttf_binary; + liberationsansnarrow = callPackage ../data/fonts/liberationsansnarrow { }; + liberationsansnarrow_binary = callPackage ../data/fonts/liberationsansnarrow/binary.nix { }; + libertine = callPackage ../data/fonts/libertine { }; lmmath = callPackage ../data/fonts/lmodern/lmmath.nix {}; From c40a0b50f759be0160eb7e16931f6de394c4939b Mon Sep 17 00:00:00 2001 From: Langston Barrett Date: Tue, 19 Jul 2016 12:30:35 +0200 Subject: [PATCH 221/222] doctl: init at 1.3.1 (#17066) --- lib/maintainers.nix | 1 + pkgs/development/tools/doctl/default.nix | 23 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 26 insertions(+) create mode 100644 pkgs/development/tools/doctl/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index a3540deb407..56816bb206c 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -357,6 +357,7 @@ sheganinans = "Aistis Raulinaitis "; shell = "Shell Turner "; shlevy = "Shea Levy "; + siddharthist = "Langston Barrett "; simonvandel = "Simon Vandel Sillesen "; sjagoe = "Simon Jagoe "; sjmackenzie = "Stewart Mackenzie "; diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix new file mode 100644 index 00000000000..4a7d1bf87e3 --- /dev/null +++ b/pkgs/development/tools/doctl/default.nix @@ -0,0 +1,23 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "doctl-${version}"; + version = "1.3.1"; + rev = "a57555c195d06bc7aa5037af77fde0665ad1231f"; + goPackagePath = "github.com/digitalocean/doctl"; + + src = fetchFromGitHub { + owner = "digitalocean"; + repo = "doctl"; + rev = "${rev}"; + sha256 = "03z652fw0a628gv666w8vpi05a4sdilvs1j5scjhcbi82zsbkvma"; + }; + + meta = { + description = "A command line tool for DigitalOcean services"; + homepage = "https://github.com/digitalocean/doctl"; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.siddharthist ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 86e4d949292..685c4200991 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6286,6 +6286,8 @@ in docutils = pythonPackages.docutils; + doctl = callPackage ../development/tools/doctl { }; + dot2tex = pythonPackages.dot2tex; doxygen = callPackage ../development/tools/documentation/doxygen { From b54009fdfb7951bb5423c4fabcb28b70581b5ba8 Mon Sep 17 00:00:00 2001 From: Carl Sverre Date: Tue, 19 Jul 2016 03:34:51 -0700 Subject: [PATCH 222/222] keybase-go: init at 1.0.16 (#17094) Build the official keybase go client from source. The client includes both a CLI for performing keybase operations and a service which will start automatically when needed. Keybase is a service which combines social proof with encryption. Learn more at their site: http://keybase.io --- pkgs/tools/security/keybase/default.nix | 28 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/tools/security/keybase/default.nix diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix new file mode 100644 index 00000000000..87a0596f6f0 --- /dev/null +++ b/pkgs/tools/security/keybase/default.nix @@ -0,0 +1,28 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "keybase-${version}"; + version = "1.0.16"; + rev = "v${version}"; + + goPackagePath = "github.com/keybase/client"; + subPackages = [ "go/keybase" ]; + + dontRenameImports = true; + + src = fetchFromGitHub { + owner = "keybase"; + repo = "client"; + inherit rev; + sha256 = "0p62cqpfgx9b5kfnviqpig27i20yv9bg5mq61am5xrmkp68jk35b"; + }; + + buildFlags = [ "-tags production" ]; + + meta = with stdenv.lib; { + homepage = https://www.keybase.io/; + description = "The Keybase official command-line utility and service."; + platforms = platforms.linux; + maintainers = with maintainers; [ carlsverre ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 685c4200991..91f0e2f07e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2172,6 +2172,8 @@ in keybase = callPackage ../applications/misc/keybase { }; + keybase-go = callPackage ../tools/security/keybase { }; + keychain = callPackage ../tools/misc/keychain { }; keyfuzz = callPackage ../tools/inputmethods/keyfuzz { };