diff options
author | Robin Gloster <mail@glob.in> | 2016-02-19 21:16:14 +0000 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2016-02-19 21:16:14 +0000 |
commit | bc21db36925af6b79b070d6259c942b5b51239de (patch) | |
tree | 5489c46ac6a1f101cff9e9b46febcf7bead80404 /pkgs/misc | |
parent | ea84b3a915987edea0fca8545b0136867da16844 (diff) | |
parent | 5ea21d69f5312db17f9a9d98e439ad1f22d80f73 (diff) | |
download | nixlib-bc21db36925af6b79b070d6259c942b5b51239de.tar nixlib-bc21db36925af6b79b070d6259c942b5b51239de.tar.gz nixlib-bc21db36925af6b79b070d6259c942b5b51239de.tar.bz2 nixlib-bc21db36925af6b79b070d6259c942b5b51239de.tar.lz nixlib-bc21db36925af6b79b070d6259c942b5b51239de.tar.xz nixlib-bc21db36925af6b79b070d6259c942b5b51239de.tar.zst nixlib-bc21db36925af6b79b070d6259c942b5b51239de.zip |
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
Diffstat (limited to 'pkgs/misc')
-rw-r--r-- | pkgs/misc/cups/default.nix | 7 | ||||
-rw-r--r-- | pkgs/misc/cups/filters.nix | 35 | ||||
-rw-r--r-- | pkgs/misc/cups/longer-shell-path.patch | 13 | ||||
-rw-r--r-- | pkgs/misc/drivers/gutenprint/default.nix | 91 | ||||
-rw-r--r-- | pkgs/misc/drivers/m3d-linux/default.nix | 25 | ||||
-rw-r--r-- | pkgs/misc/drivers/xboxdrv/default.nix | 6 | ||||
-rw-r--r-- | pkgs/misc/ghostscript/CVE-2015-3228.patch | 20 | ||||
-rw-r--r-- | pkgs/misc/ghostscript/default.nix | 73 | ||||
-rw-r--r-- | pkgs/misc/mxt-app/default.nix | 24 |
9 files changed, 152 insertions, 142 deletions
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 8fa111ecc023..7dedf26096df 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -3,7 +3,7 @@ , libusb ? null, gnutls ? null, avahi ? null, libpaper ? null }: -let version = "2.0.4"; in +let version = "2.1.2"; in with stdenv.lib; stdenv.mkDerivation { @@ -13,7 +13,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.cups.org/software/${version}/cups-${version}-source.tar.bz2"; - sha256 = "1gaakz24k6x5nc09rmpiq0xq20j1qdjc3szag8qwmyi4ky6ydmg1"; + sha256 = "1bc1y8fjgh54ryh520gk63i5rbagn6jijsrskcqlibhfm0xwmc5s"; }; buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb gnutls libpaper ] @@ -51,7 +51,6 @@ stdenv.mkDerivation { # Idem for /etc. "PAMDIR=$(out)/etc/pam.d" "DBUSDIR=$(out)/etc/dbus-1" - "INITDIR=$(out)/etc/rc.d" "XINETD=$(out)/etc/xinetd.d" "SERVERROOT=$(out)/etc/cups" # Idem for /usr. @@ -61,6 +60,8 @@ stdenv.mkDerivation { "CUPS_PRIMARY_SYSTEM_GROUP=root" ]; + enableParallelBuilding = true; + postInstall = '' # Delete obsolete stuff that conflicts with cups-filters. rm -rf $out/share/cups/banners $out/share/cups/data/testprint diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix index b4b3a5a06247..7118511f16d3 100644 --- a/pkgs/misc/cups/filters.nix +++ b/pkgs/misc/cups/filters.nix @@ -1,26 +1,24 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, cups, poppler, poppler_utils, fontconfig -, libjpeg, libpng, perl, ijs, qpdf, dbus, substituteAll, bash, avahi }: +{ stdenv, fetchurl, pkgconfig, cups, poppler, poppler_utils, fontconfig +, libjpeg, libpng, perl, ijs, qpdf, dbus, substituteAll, bash, avahi +, makeWrapper, coreutils, gnused, bc, gawk, gnugrep, which +}: -stdenv.mkDerivation rec { +let + binPath = stdenv.lib.makeSearchPath "bin" [ coreutils gnused bc gawk gnugrep which ]; + +in stdenv.mkDerivation rec { name = "cups-filters-${version}"; - version = "1.0.71"; + version = "1.5.0"; src = fetchurl { url = "http://openprinting.org/download/cups-filters/${name}.tar.xz"; - sha256 = "07wwlqcykfjfqcwj1bxk60ggahyaw7wcx32n5s104d1qkhham01i"; + sha256 = "0cjrh4wpdhkvmahfkg8f2a2qzilcq12i78q5arwr7dnmx1j8hapj"; }; - patches = [ - ./longer-shell-path.patch - (fetchpatch { # drop on update - name = "poppler-0.34.patch"; - url = "https://bugs.linuxfoundation.org/attachment.cgi?id=493"; - sha256 = "18za83q0b0n4hpvvw76jsv0hm89zmijvps2z5kg1srickqlxj891"; - }) - ]; + nativeBuildInputs = [ pkgconfig makeWrapper ]; buildInputs = [ - pkgconfig cups poppler poppler_utils fontconfig libjpeg libpng perl + cups poppler poppler_utils fontconfig libjpeg libpng perl ijs qpdf dbus avahi ]; @@ -29,9 +27,10 @@ stdenv.mkDerivation rec { "--enable-imagefilters" "--with-rcdir=no" "--with-shell=${stdenv.shell}" + "--with-test-font-path=/path-does-not-exist" ]; - makeFlags = "CUPS_SERVERBIN=$(out)/lib/cups CUPS_DATADIR=$(out)/share/cups CUPS_SERVERROOT=$(out)/etc/cups"; + makeFlags = [ "CUPS_SERVERBIN=$(out)/lib/cups" "CUPS_DATADIR=$(out)/share/cups" "CUPS_SERVERROOT=$(out)/etc/cups" ]; postConfigure = '' @@ -46,11 +45,13 @@ stdenv.mkDerivation rec { postInstall = '' - for i in $out/lib/cups/filter/{pstopdf,texttops,imagetops}; do - substituteInPlace $i --replace 'which ' 'type -p ' + for i in $out/lib/cups/filter/*; do + wrapProgram "$i" --prefix PATH ':' ${binPath} done ''; + enableParallelBuilding = true; + meta = { homepage = http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters; description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc"; diff --git a/pkgs/misc/cups/longer-shell-path.patch b/pkgs/misc/cups/longer-shell-path.patch deleted file mode 100644 index 397cc681732b..000000000000 --- a/pkgs/misc/cups/longer-shell-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/filter/foomatic-rip/foomaticrip.c b/filter/foomatic-rip/foomaticrip.c -index 90a851c..689a2bd 100644 ---- a/filter/foomatic-rip/foomaticrip.c -+++ b/filter/foomatic-rip/foomaticrip.c -@@ -174,7 +174,7 @@ char cupsfilterpath[PATH_MAX] = "/usr/local/lib/cups/filter:" - "/opt/cups/filter:" - "/usr/lib/cups/filter"; - --char modern_shell[64] = SHELL; -+char modern_shell[] = SHELL; - - void config_set_option(const char *key, const char *value) - { diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix index 98776c0c42b0..5be7f5ecff4d 100644 --- a/pkgs/misc/drivers/gutenprint/default.nix +++ b/pkgs/misc/drivers/gutenprint/default.nix @@ -1,78 +1,41 @@ # this package was called gimp-print in the past -{ fetchurl, stdenv, pkgconfig, composableDerivation, cups -, libtiff, libpng, makeWrapper, openssl, gimp }: +{ stdenv, lib, fetchurl, pkgconfig +, ijs, makeWrapper +, gimp2Support ? true, gimp +, cupsSupport ? true, cups, libusb, perl +}: -let - version = "5.2.10"; - inherit (composableDerivation) edf wwf; -in - -composableDerivation.composableDerivation {} { - name = "gutenprint-${version}"; +stdenv.mkDerivation rec { + name = "gutenprint-5.2.11"; src = fetchurl { - url = "mirror://sourceforge/gimp-print/gutenprint-${version}.tar.bz2"; - sha256 = "0n8f6vpadnagrp6yib3mca1c3lgwl4vmma16s44riyrd84mka7s3"; + url = "mirror://sourceforge/gimp-print/${name}.tar.bz2"; + sha256 = "1yadw96rgp1z0jv1wxrz6cds36nb693w3xlv596xw9r5w394r8y1"; }; - # gimp, gui is still not working (TODO) - buildInputs = [ makeWrapper openssl pkgconfig ]; + nativeBuildInputs = [ makeWrapper pkgconfig ]; + buildInputs = + [ ijs ] + ++ lib.optionals gimp2Support [ gimp.gtk gimp ] + ++ lib.optionals cupsSupport [ cups libusb perl ]; + + configureFlags = lib.optionals cupsSupport [ + "--disable-static-genppd" # should be harmless on NixOS + ]; - configureFlags = ["--enable-static-genppd"]; - NIX_CFLAGS_COMPILE="-include stdio.h"; - - #preConfigure = '' - # configureFlags="--with-cups=$out/usr-cups $configureFlags" - #''; - - /* - is this recommended? without it this warning is printed: + enableParallelBuilding = true; - ***WARNING: Use of --disable-static-genppd or --disable-static - when building CUPS is very dangerous. The build may - fail when building the PPD files, or may *SILENTLY* - build incorrect PPD files or cause other problems. - Please review the README and release notes carefully! - */ + # Testing is very, very long. + # doCheck = true; - installPhase = '' - eval "make install $installArgs" - mkdir -p $out/lib/cups - ln -s $out/filter $out/lib/cups/ - wrapProgram $out/filter/rastertogutenprint.5.2 --prefix LD_LIBRARY_PATH : $out/lib - wrapProgram $out/sbin/cups-genppd.5.2 --prefix LD_LIBRARY_PATH : $out/lib - ''; + installFlags = + lib.optionals cupsSupport [ "cups_conf_datadir=$(out)/share/cups" "cups_conf_serverbin=$(out)/lib/cups" "cups_conf_serverroot=$(out)/etc/cups" ] + ++ lib.optionals gimp2Support [ "gimp2_plug_indir=$(out)/${gimp.name}-plugins" ]; - meta = { + meta = with stdenv.lib; { description = "Ghostscript and cups printer drivers"; homepage = http://sourceforge.net/projects/gimp-print/; - license = "GPL"; + license = licenses.gpl2; + platforms = platforms.linux; }; - - mergeAttrBy = { installArgs = stdenv.lib.concat; }; - - # most interpreters aren't tested yet.. (see python for example how to do it) - flags = - wwf { - name = "gimp2"; - enable = { - buildInputs = [gimp gimp.gtk]; - installArgs = [ "gimp2_plug_indir=$out/${gimp.name}-plugins" ]; - }; - } - // { - cups = { - set = { - buildInputs = [cups libtiff libpng ]; - installArgs = [ "cups_conf_datadir=$out cups_conf_serverbin=$out cups_conf_serverroot=$out"]; - }; - }; - } - ; - - cfg = { - gimp2Support = true; - cupsSupport = true; - }; - } diff --git a/pkgs/misc/drivers/m3d-linux/default.nix b/pkgs/misc/drivers/m3d-linux/default.nix new file mode 100644 index 000000000000..0e970e30d589 --- /dev/null +++ b/pkgs/misc/drivers/m3d-linux/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + name = "M3D-Linux-2016-01-20"; + + src = fetchFromGitHub { + owner = "donovan6000"; + repo = "M3D-Linux"; + rev = "d0bbb0379c52a88af55740a937edc92af162cdf6"; + sha256 = "0fwzb9mf04bw5wxabh3js7nir60kfq8iz7kcigw6c233aadwg03i"; + }; + + installPhase = '' + install -Dm755 m3d-linux $out/bin/m3d-linux + install -Dm755 90-m3d-local.rules $out/lib/udev/rules.d/90-m3d-local.rules + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/donovan6000/M3D-Linux; + description = "A Linux program that can communicate with the Micro 3D printer"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/misc/drivers/xboxdrv/default.nix b/pkgs/misc/drivers/xboxdrv/default.nix index a40dd0bd31dc..a6f99cca8ccd 100644 --- a/pkgs/misc/drivers/xboxdrv/default.nix +++ b/pkgs/misc/drivers/xboxdrv/default.nix @@ -2,13 +2,13 @@ , libusb1, boost, glib, dbus_glib }: let - version = "0.8.5"; + version = "0.8.8"; in stdenv.mkDerivation { name = "xboxdrv-${version}"; src = fetchurl { - url = "https://github.com/Grumbel/xboxdrv/archive/v${version}.tar.gz"; - sha256 = "0xg2dhfsk3i693rgwr1pr532b3hk3zmjxlx55g6bplslr94bibi2"; + url = "https://github.com/xboxdrv/xboxdrv/archive/v${version}.tar.gz"; + sha256 = "0jx2wqmc7602dxyj19n3h8x0cpy929h7c0h39vcc5rf0q74fh3id"; }; patchPhase = '' diff --git a/pkgs/misc/ghostscript/CVE-2015-3228.patch b/pkgs/misc/ghostscript/CVE-2015-3228.patch deleted file mode 100644 index 7be18b0a7302..000000000000 --- a/pkgs/misc/ghostscript/CVE-2015-3228.patch +++ /dev/null @@ -1,20 +0,0 @@ -Description: Sanity check for memory allocation. - In gs_heap_alloc_bytes(), add a sanity check to ensure we don't overflow the - variable holding the actual number of bytes we allocate. -Origin: upstream, http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=0c0b085 -Author: Chris Liddell <chris.liddell@artifex.com> -Forwarded: yes -Bug-Debian: http://bugs.debian.org/793489 -Last-Update: 2015-07-26 - ---- a/base/gsmalloc.c -+++ b/base/gsmalloc.c -@@ -178,7 +178,7 @@ - } else { - uint added = size + sizeof(gs_malloc_block_t); - -- if (mmem->limit - added < mmem->used) -+ if (added <= size || mmem->limit - added < mmem->used) - set_msg("exceeded limit"); - else if ((ptr = (byte *) Memento_label(malloc(added), cname)) == 0) - set_msg("failed"); diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix index 53b5caf93122..06ffc45cecf3 100644 --- a/pkgs/misc/ghostscript/default.nix +++ b/pkgs/misc/ghostscript/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, pkgconfig, zlib, expat, openssl +{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, zlib, expat, openssl, autoconf , libjpeg, libpng, libtiff, freetype, fontconfig, lcms2, libpaper, jbig2dec -, libiconv +, libiconv, ijs , x11Support ? false, xlibsWrapper ? null , cupsSupport ? false, cups ? null }: @@ -8,8 +8,8 @@ assert x11Support -> xlibsWrapper != null; assert cupsSupport -> cups != null; let - version = "9.15"; - sha256 = "0p1isp6ssfay141klirn7n9s8b546vcz6paksfmksbwy0ljsypg6"; + version = "9.18"; + sha256 = "18ad90za28dxybajqwf3y3dld87cgkx1ljllmcnc7ysspfxzbnl3"; fonts = stdenv.mkDerivation { name = "ghostscript-fonts"; @@ -45,55 +45,84 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + nativeBuildInputs = [ pkgconfig autoconf ]; buildInputs = - [ pkgconfig zlib expat openssl + [ zlib expat openssl libjpeg libpng libtiff freetype fontconfig lcms2 libpaper jbig2dec - libiconv + libiconv ijs ] - ++ stdenv.lib.optional x11Support xlibsWrapper - ++ stdenv.lib.optional cupsSupport cups - # [] # maybe sometimes jpeg2000 support + ++ lib.optional x11Support xlibsWrapper + ++ lib.optional cupsSupport cups ; patches = [ ./urw-font-files.patch - # fetched from debian's ghostscript 9.15_dfsg-1 (called 020150707~0c0b085.patch there) - ./CVE-2015-3228.patch + # http://bugs.ghostscript.com/show_bug.cgi?id=696281 + (fetchpatch { + name = "fix-check-for-using-shared-freetype-lib.patch"; + url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285"; + sha256 = "1f0k043rng7f0rfl9hhb89qzvvksqmkrikmm38p61yfx51l325xr"; + }) + # http://bugs.ghostscript.com/show_bug.cgi?id=696301 + (fetchpatch { + name = "add-gserrors.h-to-the-installed-files.patch"; + url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=feafe5e5"; + sha256 = "0s4ayzakjv809dkn7vilxwvs4dw35p3pw942ml91bk9z4kkaxyz7"; + }) + # http://bugs.ghostscript.com/show_bug.cgi?id=696246 + (fetchpatch { + name = "guard-against-NULL-base-for-non-clist-devices.patch"; + url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=007bd77d08d800e6b07274d62e3c91be7c4a3f47"; + sha256 = "1la53273agl92lpy7qd0qhgzynx8b90hrk8g9jsj3055ssn6rqwh"; + }) + (fetchpatch { + name = "ensure-plib-devices-always-use-the-clist.patch"; + url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=1bdbe4f87dc57648821e613ebcc591b84e8b35b3"; + sha256 = "1cq83fgyvrycapxm69v4r9f9qhzsr40ygrc3bkp8pk15wsmvq0k7"; + }) + (fetchpatch { + name = "prevent-rinkj-device-crash-when-misconfigured.patch"; + url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=5571ddfa377c5d7d98f55af40e693814ac287ae4"; + sha256 = "08iqdlrngi6k0ml2b71dj5q136fyp1s9g0rr87ayyshn0k0lxwkv"; + }) ]; - makeFlags = [ "cups_serverroot=$(out)" "cups_serverbin=$(out)/lib/cups" ]; - preConfigure = '' - rm -rf jpeg libpng zlib jasper expat tiff lcms{,2} jbig2dec openjpeg freetype cups/libs + # requires in-tree (heavily patched) openjpeg + rm -rf jpeg libpng zlib jasper expat tiff lcms{,2} jbig2dec freetype cups/libs ijs sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@; s@INCLUDE=/usr/include@INCLUDE=/no-such-path@" -i base/unix-aux.mak + sed "s@^ZLIBDIR=.*@ZLIBDIR=${zlib}/include@" -i configure.ac + + autoconf + '' + lib.optionalString cupsSupport '' + configureFlags="$configureFlags --with-cups-serverbin=$out/lib/cups --with-cups-serverroot=$out/etc/cups --with-cups-datadir=$out/share/cups" ''; configureFlags = [ "--with-system-libtiff" "--enable-dynamic" - (if x11Support then "--with-x" else "--without-x") - (if cupsSupport then "--enable-cups" else "--disable-cups") - ]; + ] ++ lib.optional x11Support "--with-x" + ++ lib.optional cupsSupport "--enable-cups"; doCheck = true; - preCheck = "mkdir ./obj"; - # parallel check sometimes gave: Fatal error: can't create ./obj/whitelst.o # don't build/install statically linked bin/gs - buildFlags = "so"; - installTargets="soinstall"; + buildFlags = [ "so" ]; + installTargets = [ "soinstall" ]; postInstall = '' ln -s gsc "$out"/bin/gs + cp -r Resource "$out/share/ghostscript/${version}" + mkdir -p "$doc/share/ghostscript/${version}" mv "$out/share/ghostscript/${version}"/{doc,examples} "$doc/share/ghostscript/${version}/" ln -s "${fonts}" "$out/share/ghostscript/fonts" ''; - preFixup = stdenv.lib.strings.optionalString stdenv.isDarwin '' + preFixup = lib.optionalString stdenv.isDarwin '' install_name_tool -change libgs.dylib.${version} $out/lib/libgs.dylib.${version} $out/bin/gs ''; diff --git a/pkgs/misc/mxt-app/default.nix b/pkgs/misc/mxt-app/default.nix new file mode 100644 index 000000000000..cfcba8a3a8ba --- /dev/null +++ b/pkgs/misc/mxt-app/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, makeWrapper, autoconf, automake, libtool }: + +stdenv.mkDerivation rec{ + version="1.26"; + name = "mxt-app-${version}"; + + src = fetchFromGitHub { + owner = "atmel-maxtouch"; + repo = "mxt-app"; + rev = "v${version}"; + sha256 = "07afdgh8pnhgh2372cf5pqy6p7l6w3ing2hwnvz6db8wxw59n48h"; + }; + + buildInputs = [ autoconf automake libtool ]; + preConfigure = "./autogen.sh"; + + meta = with stdenv.lib; { + description = "Command line utility for Atmel maXTouch devices"; + homepage = http://github.com/atmel-maxtouch/mxt-app; + license = licenses.bsd2; + maintainers = [ maintainers.colemickens ]; + platforms = platforms.unix; + }; +} |