summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2017-05-24 13:56:28 +0200
committerVladimír Čunát <vcunat@gmail.com>2017-05-24 13:56:28 +0200
commit78ea189a6b1c59e7c331fe57d1eb035b8977bdac (patch)
tree67f04910c45d8bdd1a4540f7777791bd04e7dc26
parent8004e794153b34507f81a26f88174bdfee975aa8 (diff)
parent760248360c1d3b2a0a648a76803180e7a6c13275 (diff)
downloadnixlib-78ea189a6b1c59e7c331fe57d1eb035b8977bdac.tar
nixlib-78ea189a6b1c59e7c331fe57d1eb035b8977bdac.tar.gz
nixlib-78ea189a6b1c59e7c331fe57d1eb035b8977bdac.tar.bz2
nixlib-78ea189a6b1c59e7c331fe57d1eb035b8977bdac.tar.lz
nixlib-78ea189a6b1c59e7c331fe57d1eb035b8977bdac.tar.xz
nixlib-78ea189a6b1c59e7c331fe57d1eb035b8977bdac.tar.zst
nixlib-78ea189a6b1c59e7c331fe57d1eb035b8977bdac.zip
Merge branch 'master' into staging
... to fix *some* of the evaluation problems.
-rw-r--r--pkgs/applications/video/kodi/default.nix12
-rw-r--r--pkgs/applications/video/vlc/default.nix10
-rw-r--r--pkgs/applications/virtualization/lkl/default.nix30
-rw-r--r--pkgs/development/compilers/go/1.7.nix4
-rw-r--r--pkgs/development/compilers/go/1.8.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg/3.3.nix2
-rw-r--r--pkgs/development/python-modules/feedgenerator/default.nix22
-rw-r--r--pkgs/development/tools/build-managers/pants/default.nix50
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix14
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch25
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/v1-fix-shell-path.patch13
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix10
-rw-r--r--pkgs/misc/cups/filters.nix13
14 files changed, 152 insertions, 59 deletions
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index 649dad0bb57f..4d3474a1db21 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -54,17 +54,16 @@ let
   };
 in stdenv.mkDerivation rec {
     name = "kodi-${version}";
-    version = "17.1";
+    version = "17.2";
 
     src = fetchurl {
       url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz";
-      sha256 = "1vmvrq0qdjnphw34yils2b5jnm05cmsg777hc4lwqz5mrc1kjgrh";
+      sha256 = "1zmgw65dbdpv72xfimrh02m8sdg4cb9i3hbmqzgs8x00b9n27ndf";
     };
 
     buildInputs = [
-      makeWrapper libxml2 gnutls
-      pkgconfig cmake gnumake yasm python2
-      boost libmicrohttpd autoreconfHook
+      libxml2 gnutls yasm python2
+      boost libmicrohttpd
       gettext pcre-cpp yajl fribidi libva
       openssl gperf tinyxml2 taglib libssh swig jre
       libX11 xproto inputproto which
@@ -91,6 +90,9 @@ in stdenv.mkDerivation rec {
     ++ lib.optional rtmpSupport rtmpdump
     ++ lib.optional joystickSupport SDL2;
 
+    nativeBuildInputs = [
+      autoreconfHook cmake gnumake makeWrapper pkgconfig
+    ];
 
     dontUseCmakeConfigure = true;
 
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index c52d14390125..48e5af7162d0 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -20,19 +20,13 @@ assert (!withQt5 -> qt4 != null);
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "2.2.4";
+  version = "2.2.5.1";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz";
-    sha256 = "1gjkrwlg8ab3skzl67cxb9qzg4187ifckd1z9kpy11q058fyjchn";
+    sha256 = "1k51vm6piqlrnld7sxyg0s4kdkd3lan97lmy3v5wdh3qyll8m2xj";
   };
 
-  patches = optional withQt5 (fetchurl {
-    name = "Fix-build-using-old-GCC-intrinsics.patch";
-    url = "https://patches.videolan.org/patch/14061/raw/";
-    sha256 = "16v4k7378a590diz11bdvdaqi9cpf6333hp5wr6v5sfrsma8qvpx";
-  });
-
   # Comment-out the Qt 5.5 version check, as we do apply the relevant patch.
   # https://trac.videolan.org/vlc/ticket/16497
   postPatch = if (!withQt5) then null else
diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/applications/virtualization/lkl/default.nix
index 134df59159b4..e40d054520f7 100644
--- a/pkgs/applications/virtualization/lkl/default.nix
+++ b/pkgs/applications/virtualization/lkl/default.nix
@@ -1,31 +1,35 @@
 { stdenv, fetchFromGitHub, bc, python, fuse, libarchive }:
 
 stdenv.mkDerivation rec {
-  name = "lkl-${stdenv.lib.substring 0 7 rev}";
-  rev  = "d74707304d4e4614081ae2a612a833aeb46622b5";
+  name = "lkl-2017-03-24";
+  rev  = "a063e1631db5e2b9b04f184c5e6d185c1cd645cb";
 
-  buildInputs = [ bc python fuse libarchive ];
+  outputs = [ "dev" "lib" "out" ];
+
+  nativeBuildInputs = [ bc python ];
+
+  buildInputs = [ fuse libarchive ];
 
   src = fetchFromGitHub {
     inherit rev;
     owner  = "lkl";
     repo   = "linux";
-    sha256 = "0x1hdjsrj6hfk1sgfw11ihm00fmp6g158sr2q3cgjy2b6jnsr4hp";
+    sha256 = "07dmira76i0ki577sra4fdl1wvzfzxzd75252lza0sc6jdzrrwvj";
   };
 
   # Fix a /usr/bin/env reference in here that breaks sandboxed builds
   prePatch = "patchShebangs arch/lkl/scripts";
 
   installPhase = ''
-    mkdir -p $out/{bin,lib}
+    mkdir -p $out/bin $lib/lib $dev
 
-    # This tool assumes a different directory structure so let's point it at the right location
     cp tools/lkl/bin/lkl-hijack.sh $out/bin
-    substituteInPlace $out/bin/lkl-hijack.sh --replace '/../' '/../lib'
+    sed -i $out/bin/lkl-hijack.sh \
+        -e "s,LD_LIBRARY_PATH=.*,LD_LIBRARY_PATH=$lib/lib,"
 
     cp tools/lkl/{cptofs,cpfromfs,fs2tar,lklfuse} $out/bin
-    cp -r tools/lkl/include $out
-    cp tools/lkl/liblkl*.{a,so} $out/lib
+    cp -r tools/lkl/include $dev/
+    cp tools/lkl/liblkl*.{a,so} $lib/lib
   '';
 
   # We turn off format and fortify because of these errors (fortify implies -O2, which breaks the jitter entropy code):
@@ -38,7 +42,13 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "LKL (Linux Kernel Library) aims to allow reusing the Linux kernel code as extensively as possible with minimal effort and reduced maintenance overhead";
+    description = "The Linux kernel as a library";
+    longDescription = ''
+      LKL (Linux Kernel Library) aims to allow reusing the Linux kernel code as
+      extensively as possible with minimal effort and reduced maintenance
+      overhead
+    '';
+    homepage    = https://github.com/lkl/linux/;
     platforms   = [ "x86_64-linux" ]; # Darwin probably works too but I haven't tested it
     license     = licenses.gpl2;
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/development/compilers/go/1.7.nix b/pkgs/development/compilers/go/1.7.nix
index 7ecae36a4d5a..d7a824239b84 100644
--- a/pkgs/development/compilers/go/1.7.nix
+++ b/pkgs/development/compilers/go/1.7.nix
@@ -24,13 +24,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "go-${version}";
-  version = "1.7.5";
+  version = "1.7.6";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "go";
     rev = "go${version}";
-    sha256 = "00radlwbrssn0x3naamb33cfx7ap2jv7s51bqr705nmn2j5yyblk";
+    sha256 = "1gacjwbs1qbx8x84746qdxx2xwylirvd31ybgagfglfsl77vi4m2";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/go/1.8.nix b/pkgs/development/compilers/go/1.8.nix
index 24a40ca0ba0c..99744d76cd03 100644
--- a/pkgs/development/compilers/go/1.8.nix
+++ b/pkgs/development/compilers/go/1.8.nix
@@ -25,13 +25,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "go-${version}";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "go";
     rev = "go${version}";
-    sha256 = "1157mmzjpk887cpcpn2qy9c69anc22c4p3cjpl84zl7an41x660j";
+    sha256 = "0haazh0sk1zys1gbmbi128rmcyrd6f32amp6a872jqhadjlvj9qv";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 848cae09ed47..47be28f51302 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -234,7 +234,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-    sha256 = "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp";
+    sha256 = "0c37bdqwmaziikr2d5pqp7504ail6i7a1mfcmc06mdpwfxxwvcpw";
   };
 
   patchPhase = ''patchShebangs .
diff --git a/pkgs/development/libraries/ffmpeg/3.3.nix b/pkgs/development/libraries/ffmpeg/3.3.nix
index 0227d7489ba9..d6380b795af8 100644
--- a/pkgs/development/libraries/ffmpeg/3.3.nix
+++ b/pkgs/development/libraries/ffmpeg/3.3.nix
@@ -7,6 +7,6 @@
 callPackage ./generic.nix (args // rec {
   version = "${branch}";
   branch = "3.3.1";
-  sha256 = "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp";
+  sha256 = "0c37bdqwmaziikr2d5pqp7504ail6i7a1mfcmc06mdpwfxxwvcpw";
   darwinFrameworks = [ Cocoa CoreMedia ];
 })
diff --git a/pkgs/development/python-modules/feedgenerator/default.nix b/pkgs/development/python-modules/feedgenerator/default.nix
new file mode 100644
index 000000000000..4a10b088d987
--- /dev/null
+++ b/pkgs/development/python-modules/feedgenerator/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, glibcLocales, fetchurl, six, pytz }:
+
+buildPythonPackage rec {
+  name = "feedgenerator-1.9";
+
+  src = fetchurl {
+    url = "mirror://pypi/f/feedgenerator/${name}.tar.gz";
+    sha256 = "01mirwkm7xfx539hmvj7g9da1j51gw5lsx74dr0glizskjm5vq2s";
+  };
+
+  buildInputs = [ glibcLocales ];
+
+  LC_ALL="en_US.UTF-8";
+
+  propagatedBuildInputs = [ six pytz ];
+
+  meta = with stdenv.lib; {
+    description = "Standalone version of django.utils.feedgenerator, compatible with Py3k";
+    homepage = https://github.com/dmdm/feedgenerator-py3k.git;
+    maintainers = with maintainers; [ garbas ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/pants/default.nix b/pkgs/development/tools/build-managers/pants/default.nix
index 624e273cc905..66d99c7fd938 100644
--- a/pkgs/development/tools/build-managers/pants/default.nix
+++ b/pkgs/development/tools/build-managers/pants/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pythonPackages }:
+{ stdenv, pythonPackages, runCommand, curl }:
 
 with stdenv.lib;
 with pythonPackages;
@@ -22,6 +22,38 @@ let
      maintainers = with maintainers; [ copumpkin ];
     };
   };
+
+  pants13-version = "1.3.0rc2";
+
+  # TODO: compile the rust native engine ourselves so we don't need to do this shit. We don't use
+  # fetchurl because we don't know the URL ahead of time, even though it's deterministic. So we have
+  # this downloader figure out the URL on the fly and then produce the deterministic result, so we
+  # can still be a fixed-output derivation.
+  pants13-native-engine-prefix = {
+    "x86_64-darwin" = "mac/10.11";
+    "x86_64-linux"  = "linux/x86_64";
+    "i686-linux"    = "linux/i386";
+  }.${stdenv.system} or (throw "Unsupported system ${stdenv.system}!");
+
+  pants13-native-engine = runCommand "pants-native-${pants13-version}" {
+    buildInputs    = [ curl ];
+    outputHashMode = "recursive";
+    outputHashAlgo = "sha256";
+    outputHash     = "0n8z7rg0yfpxplvcw88lwv733zkhbzhc4w4zd4aznbcmfqdiz5br";
+  } ''
+    native_version=$(curl -k -L https://raw.githubusercontent.com/pantsbuild/pants/release_${pants13-version}/src/python/pants/engine/subsystem/native_engine_version)
+    curl -kLO "https://dl.bintray.com/pantsbuild/bin/build-support/bin/native-engine/${pants13-native-engine-prefix}/$native_version/native_engine.so"
+
+    # Ugh it tries to "download" from this prefix so let's just replicate their directory structure for now...
+    mkdir -p $out/bin/native-engine/${pants13-native-engine-prefix}/$native_version/
+
+    # These should behave the same way in Nix land and we try not to differentiate between OS revisions...
+    mkdir -p $out/bin/native-engine/mac/
+    ln -s 10.11 $out/bin/native-engine/mac/10.10
+    ln -s 10.11 $out/bin/native-engine/mac/10.12
+
+    cp native_engine.so $out/bin/native-engine/${pants13-native-engine-prefix}/$native_version/
+  '';
 in {
   pants =
     pythonPackages.buildPythonPackage rec {
@@ -61,7 +93,7 @@ in {
 
   pants13-pre = buildPythonApplication rec {
     pname   = "pantsbuild.pants";
-    version = "1.3.0rc2";
+    version = pants13-version;
     name    = "${pname}-${version}";
 
     src = fetchPypi {
@@ -71,6 +103,9 @@ in {
 
     prePatch = ''
       sed -E -i "s/'([[:alnum:].-]+)[=><][[:digit:]=><.,]*'/'\\1'/g" setup.py
+
+      substituteInPlace src/pants/option/global_options.py \
+        --replace "'/etc/pantsrc'" "'$out/etc/pantsrc', '/etc/pantsrc'"
     '';
 
     # Unnecessary, and causes some really weird behavior around .class files, which
@@ -84,6 +119,17 @@ in {
       fasteners coverage pywatchman futures cffi
     ];
 
+    # Teach pants about where its native engine lives.
+    # TODO: there's probably a better way to teach it this without having it "download"
+    # from a local file: URL to its cache, but I don't know how and this seems to work.
+    postFixup = ''
+      mkdir -p $out/etc
+      cat >$out/etc/pantsrc <<EOF
+      [binaries]
+      baseurls: [ 'file://${pants13-native-engine}' ]
+      EOF
+    '';
+
     meta = {
       description = "A build system for software projects in a variety of languages";
       homepage    = "http://www.pantsbuild.org/";
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index d7f13de1d26b..e3f6e3c623ca 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "9.1.0";
+  version = "9.2.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
-    sha256 = "1mdcw755fygnf30v0gr13mx20zjqmxg5w2kj3k2jgcsh3gyrvymr";
+    sha256 = "0x6pwh3wjq2czvzb8rl8npa8a58snwf1f9dwr6rbbxijaf886jfc";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "1m5p6mlhy3xf0chrjlfpdyp24pv32b61s8iryh6a617i91vpzjg6";
+    sha256 = "1y6i5dn1l1qlwyg95qw4sff2y9zypxwmvsw4mb0555vf157h88kg";
   };
 in
 buildGoPackage rec {
@@ -29,9 +29,11 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-ci-multi-runner";
     rev = "v${version}";
-    sha256 = "0n8hcj2b1pb95x4bd7fb9ri43vgc4h2dj2v3iiziw2imqjyphfx4";
+    sha256 = "0gz6byjnnfn9acy40hcbyzdql4199xn0yvjx2cfjjjzd9kryjrxp";
   };
 
+  patches = [ ./fix-shell-path.patch ];
+
   buildInputs = [ go-bindata ];
 
   preBuild = ''
@@ -60,7 +62,7 @@ buildGoPackage rec {
     description = "GitLab Runner the continuous integration executor of GitLab";
     license = licenses.mit;
     homepage = "https://about.gitlab.com/gitlab-ci/";
-    platforms = platforms.unix;
-    maintainers = [ lib.maintainers.bachp ];
+    platforms = platforms.unix ++ platforms.darwin;
+    maintainers = with maintainers; [ bachp zimbatm ];
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch b/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch
new file mode 100644
index 000000000000..8f71f9ed630c
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch
@@ -0,0 +1,25 @@
+diff --git a/shells/bash.go b/shells/bash.go
+index 839b7781..2b478e1e 100644
+--- a/shells/bash.go
++++ b/shells/bash.go
+@@ -7,6 +7,7 @@ import (
+ 	"gitlab.com/gitlab-org/gitlab-ci-multi-runner/common"
+ 	"gitlab.com/gitlab-org/gitlab-ci-multi-runner/helpers"
+ 	"io"
++	"os/exec"
+ 	"path"
+ 	"runtime"
+ 	"strconv"
+@@ -208,7 +209,11 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
+ 	if info.User != "" {
+ 		script.Command = "su"
+ 		if runtime.GOOS == "linux" {
+-			script.Arguments = append(script.Arguments, "-s", "/bin/"+b.Shell)
++			shellPath, err := exec.LookPath(b.Shell)
++			if err != nil {
++				shellPath = "/bin/"+b.Shell
++			}
++			script.Arguments = append(script.Arguments, "-s", shellPath)
+ 		}
+ 		script.Arguments = append(script.Arguments, info.User)
+ 		script.Arguments = append(script.Arguments, "-c", shellCommand)
\ No newline at end of file
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/v1-fix-shell-path.patch b/pkgs/development/tools/continuous-integration/gitlab-runner/v1-fix-shell-path.patch
deleted file mode 100644
index 612c9a51f281..000000000000
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/v1-fix-shell-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/shells/bash.go b/shells/bash.go
-index c9c8b68..c97dbb5 100644
---- a/shells/bash.go
-+++ b/shells/bash.go
-@@ -208,7 +208,7 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
- 	if info.User != "" {
- 		script.Command = "su"
- 		if runtime.GOOS == "linux" {
--			script.Arguments = append(script.Arguments, "-s", "/bin/"+b.Shell)
-+			script.Arguments = append(script.Arguments, "-s", "/run/current-system/sw/bin/"+b.Shell)
- 		}
- 		script.Arguments = append(script.Arguments, info.User)
- 		script.Arguments = append(script.Arguments, "-c", shellCommand)
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
index e0c3854740ab..d51a32705923 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "1.11.2";
+  version = "1.11.4";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
-    sha256 = "08lacd2p7915y7yjnwkj2k0b0x4qj9kc53p7qgvmq8kdi31xnh4z";
+    sha256 = "1ijkzn8jkzx1dzxhkf17987ligyf758xzas6ysix5b781jnkdm8z";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "0lzvx3jfy8493q8zkbs7kgm5a3jgsi3f2x25jwg4lx7agcwwsygw";
+    sha256 = "0sq2nndnkzqv2yjljg08xwa3ppddn6vqcivhfh43zwwmansvb9ha";
   };
 in
 buildGoPackage rec {
@@ -29,10 +29,10 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-ci-multi-runner";
     rev = "v${version}";
-    sha256 = "1sjvlb5981ykc8hr4kp1ibh9jw2wdjjp9zs2nqs9lpsav4nda5fr";
+    sha256 = "1pm88546cijmrrcvvrajp2g6rsrzxhy83cwwwky8jjkl5w4hhmz4";
   };
 
-  patches = [ ./v1-fix-shell-path.patch ];
+  patches = [ ./fix-shell-path.patch ];
 
   buildInputs = [ go-bindata ];
 
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index e4c70e2fe988..6d6fab265b13 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, pkgconfig, cups, poppler, poppler_utils, fontconfig
 , libjpeg, libpng, perl, ijs, qpdf, dbus, substituteAll, bash, avahi
-, makeWrapper, coreutils, gnused, bc, gawk, gnugrep, which
+, makeWrapper, coreutils, gnused, bc, gawk, gnugrep, which, ghostscript
+, mupdf
 }:
 
 let
@@ -8,18 +9,18 @@ let
 
 in stdenv.mkDerivation rec {
   name = "cups-filters-${version}";
-  version = "1.11.1";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "http://openprinting.org/download/cups-filters/${name}.tar.xz";
-    sha256 = "0x0jxn1hnif92m7dyqrqh015gpsf79dviarb7dfl0zya2drlk1m8";
+    sha256 = "1v553wvr8qdwb1g04if7cw1mfm42vs6xfyg0cvzvbng6yr6jg93s";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
 
   buildInputs = [
     cups poppler poppler_utils fontconfig libjpeg libpng perl
-    ijs qpdf dbus avahi
+    ijs qpdf dbus avahi ghostscript mupdf
   ];
 
   configureFlags = [
@@ -41,6 +42,9 @@ in stdenv.mkDerivation rec {
 
       # Ensure that gstoraster can find gs in $PATH.
       substituteInPlace filter/gstoraster.c --replace execve execvpe
+
+      # Patch shebangs of generated build scripts
+      patchShebangs filter
     '';
 
   postInstall =
@@ -57,5 +61,6 @@ in stdenv.mkDerivation rec {
     description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ layus ];
   };
 }