about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/display-managers/slim/default.nix4
-rw-r--r--pkgs/applications/display-managers/slim/no-logfile.patch80
-rw-r--r--pkgs/applications/networking/ipfs/default.nix8
-rw-r--r--pkgs/applications/science/electronics/fritzing/default.nix41
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix3
-rw-r--r--pkgs/development/libraries/qtstyleplugins/default.nix7
-rw-r--r--pkgs/development/python-modules/pyspread/default.nix57
-rw-r--r--pkgs/development/python-modules/wxPython/3.0.nix11
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix52
-rw-r--r--pkgs/top-level/python-packages.nix2
10 files changed, 215 insertions, 50 deletions
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
index fca84199e5112..c75a8976b3fa0 100644
--- a/pkgs/applications/display-managers/slim/default.nix
+++ b/pkgs/applications/display-managers/slim/default.nix
@@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
       # Ensure that sessions appear in sort order, rather than in
       # directory order.
       ./sort-sessions.patch
+
+      # Allow to set logfile to a special "/dev/stderr" in order to continue
+      # logging to stderr and thus to the journal.
+      ./no-logfile.patch
     ];
 
   preConfigure = "substituteInPlace CMakeLists.txt --replace /lib $out/lib";
diff --git a/pkgs/applications/display-managers/slim/no-logfile.patch b/pkgs/applications/display-managers/slim/no-logfile.patch
new file mode 100644
index 0000000000000..f2f5f15499307
--- /dev/null
+++ b/pkgs/applications/display-managers/slim/no-logfile.patch
@@ -0,0 +1,80 @@
+diff --git a/log.cpp b/log.cpp
+index b44677a..7c89dda 100644
+--- a/log.cpp
++++ b/log.cpp
+@@ -1,23 +1,31 @@
+ #include "log.h"
+ #include <iostream>
++#include <cstring>
+ 
+ bool
+ LogUnit::openLog(const char * filename)
+ {
+-	if (logFile.is_open()) {
++	if (isFile && logFile.is_open()) {
+ 		cerr << APPNAME
+ 			<< ": opening a new Log file, while another is already open"
+ 			<< endl;
+-		logFile.close();
++		closeLog();
+ 	}
+-	logFile.open(filename, ios_base::app);
+ 
+-	return !(logFile.fail());
++	if (strcmp(filename, "/dev/stderr") == 0) {
++		isFile = false;
++		return true;
++	} else {
++		logFile.open(filename, ios_base::app);
++		isFile = true;
++		return !(logFile.fail());
++	}
+ }
+ 
+ void
+ LogUnit::closeLog()
+ {
++	if (!isFile) return;
+ 	if (logFile.is_open())
+ 		logFile.close();
+ }
+diff --git a/log.h b/log.h
+index b7810be..ad548a2 100644
+--- a/log.h
++++ b/log.h
+@@ -9,11 +9,14 @@
+ #endif
+ #include "const.h"
+ #include <fstream>
++#include <iostream>
+ 
+ using namespace std;
+ 
+ static class LogUnit {
+ 	ofstream logFile;
++	bool isFile;
++	inline ostream &getStream() { return isFile ? logFile : cerr; }
+ public:
+ 	bool openLog(const char * filename);
+ 	void closeLog();
+@@ -22,17 +25,17 @@ public:
+ 
+ 	template<typename Type>
+ 	LogUnit & operator<<(const Type & text) {
+-		logFile << text; logFile.flush();
++		getStream() << text; getStream().flush();
+ 		return *this;
+ 	}
+ 
+ 	LogUnit & operator<<(ostream & (*fp)(ostream&)) {
+-		logFile << fp; logFile.flush();
++		getStream() << fp; getStream().flush();
+ 		return *this;
+ 	}
+ 
+ 	LogUnit & operator<<(ios_base & (*fp)(ios_base&)) {
+-		logFile << fp; logFile.flush();
++		getStream() << fp; getStream().flush();
+ 		return *this;
+ 	}
+ } logStream;
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index 2be39df61472a..a00aebef29694 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -2,15 +2,15 @@
 
 buildGoPackage rec {
   name = "ipfs-${version}";
-  version = "0.4.8";
-  rev = "8e7484ed794d1aecb3e773e9003ae64c7b78bb87";
+  version = "0.4.6";
+  rev = "ed729423ce548785834cdcaa21aab11ebc3a1b1a";
 
   goPackagePath = "github.com/ipfs/go-ipfs";
 
   extraSrcPaths = [
     (fetchgx {
       inherit name src;
-      sha256 = "1h4n74n65z4sw3fqz8nfcrwisbvvwwfq69909w3kgrjsxs7505s5";
+      sha256 = "1wwzbps3ry3vlrr0iqhvxd44x0wi99dcp5hlxvh79dc0g9r7myfk";
     })
   ];
 
@@ -18,7 +18,7 @@ buildGoPackage rec {
     owner = "ipfs";
     repo = "go-ipfs";
     inherit rev;
-    sha256 = "15jcg0wbm7g82fsmhc1vxrsszbxcghls3rsyv35n1hv5k5r5d5nh";
+    sha256 = "1b262k1lhb1g68l8hghly4pdrxx1c6wbv6ij6dg399zdwqzczl13";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix
index 0f817a71a7011..838697f1394f5 100644
--- a/pkgs/applications/science/electronics/fritzing/default.nix
+++ b/pkgs/applications/science/electronics/fritzing/default.nix
@@ -1,24 +1,45 @@
-{ stdenv, fetchurl, qtbase, qtsvg, qmakeHook, boost }:
+{ stdenv, fetchpatch, fetchFromGitHub, makeQtWrapper, qmakeHook, pkgconfig
+, qtbase, qtsvg, qtserialport, boost, libgit2
+}:
 
 stdenv.mkDerivation rec {
-  version = "0.9.0b";
   name = "fritzing-${version}";
+  version = "0.9.3b";
 
-  src = fetchurl {
-    url = "http://fritzing.org/download/${version}/source-tarball/fritzing-${version}.source.tar_1.bz2";
-    sha256 = "181qnknq1j5x075icpw2qk0sc4wcj9f2hym533vs936is0wxp2gk";
+  src = fetchFromGitHub {
+    owner = "fritzing";
+    repo = "fritzing-app";
+    rev = version;
+    sha256 = "0hpyc550xfhr6gmnc85nq60w00rm0ljm0y744dp0z88ikl04f4s3";
   };
 
-  unpackPhase = ''
-    tar xjf ${src}
-  '';
+  parts = fetchFromGitHub {
+    owner = "fritzing";
+    repo = "fritzing-parts";
+    rev = version;
+    sha256 = "1d2v8k7p176j0lczx4vx9n9gbg3vw09n2c4b6w0wj5wqmifywhc1";
+  };
+
+  patches = [(fetchpatch {
+    name = "0001-Squashed-commit-of-the-following.patch";
+    url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-Squashed-commit-of-the-following.patch?h=fritzing";
+    sha256 = "1cv6myidxhy28i8m8v13ghzkvx5978p9dcd8v7885y0l1h3108mf";
+  })];
+
+  buildInputs = [ qtbase qtsvg qtserialport boost libgit2 ];
 
-  buildInputs = [ qtbase qtsvg boost qmakeHook ];
+  nativeBuildInputs = [ qmakeHook makeQtWrapper pkgconfig ];
 
   qmakeFlags = [ "phoenix.pro" ];
 
+  enableParallelBuilding = true;
+
   preConfigure = ''
-    cd fritzing-${version}.source
+    ln -s "$parts" parts
+  '';
+
+  postInstall = ''
+    wrapQtProgram $out/bin/Fritzing
   '';
 
   meta = {
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index fc3c679d414d5..608ae594a2e93 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -9,10 +9,11 @@ let
   else
     throw "Unsupported architecture";
 
+  version = (builtins.parseDrvName edk2.name).version;
 in
 
 stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
-  name = "OVMF-2014-12-10";
+  name = "OVMF-${version}";
 
   # TODO: properly include openssl for secureBoot
   buildInputs = [nasm iasl] ++ stdenv.lib.optionals (secureBoot == true) [ openssl ];
diff --git a/pkgs/development/libraries/qtstyleplugins/default.nix b/pkgs/development/libraries/qtstyleplugins/default.nix
index 215a038adbe10..dc27e2034f1cc 100644
--- a/pkgs/development/libraries/qtstyleplugins/default.nix
+++ b/pkgs/development/libraries/qtstyleplugins/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, qmakeHook, qtbase, pkgconfig, gtk2 }:
 
 stdenv.mkDerivation rec {
-  name = "qtstyleplugins-2016-12-01";
+  name = "qtstyleplugins-2017-03-11";
 
   src = fetchFromGitHub {
     owner = "qt";
     repo = "qtstyleplugins";
-    rev = "7aa47640c202cc4a9c16aa7df98191236743c8ba";
-    sha256 = "0pysgn5yhbh85rv7syvf2w9g1gj1z1nwspjri39dc95vj108lin5";
+    rev = "335dbece103e2cbf6c7cf819ab6672c2956b17b3";
+    sha256 = "085wyn85nrmzr8nv5zv7fi2kqf8rp1gnd30h72s30j55xvhmxvmy";
   };
 
   buildInputs = [ qmakeHook pkgconfig gtk2 ];
@@ -23,6 +23,5 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     maintainers = [ maintainers.gnidorah ];
     platforms = platforms.linux;
-    broken = builtins.compareVersions qtbase.version "5.7.0" > 0;
   };
 }
diff --git a/pkgs/development/python-modules/pyspread/default.nix b/pkgs/development/python-modules/pyspread/default.nix
new file mode 100644
index 0000000000000..2f275005c1994
--- /dev/null
+++ b/pkgs/development/python-modules/pyspread/default.nix
@@ -0,0 +1,57 @@
+{ buildPythonPackage
+, fetchPypi
+, isPy3k
+, stdenv
+, numpy
+, wxPython
+, matplotlib
+, pycairo
+, python-gnupg
+, xlrd
+, xlwt
+, jedi
+, pyenchant
+, basemap
+, pygtk
+, makeDesktopItem
+}:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "pyspread";
+  version = "1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0m1a4zvzrfrnc42j8mrbm7747w03nzyl9z02wjagccmlhi6nd9hx";
+  };
+
+  propagatedBuildInputs = [ numpy wxPython matplotlib pycairo python-gnupg xlrd xlwt jedi pyenchant basemap pygtk ];
+  # Could also (optionally) add pyrsvg and python bindings for libvlc
+
+  # Tests try to access X Display
+  doCheck = false;
+
+  disabled = isPy3k;
+
+  desktopItem = makeDesktopItem rec {
+    name = pname;
+    exec = name;
+    icon = name;
+    desktopName = "Pyspread";
+    genericName = "Spreadsheet";
+    comment = meta.description;
+    categories = "Development;Spreadsheet;";
+  };
+
+  postInstall = ''
+    mkdir -p $out/share/applications
+    cp $desktopItem/share/applications/* $out/share/applications
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pyspread is a non-traditional spreadsheet application that is based on and written in the programming language Python";
+    homepage = https://manns.github.io/pyspread/;
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/development/python-modules/wxPython/3.0.nix b/pkgs/development/python-modules/wxPython/3.0.nix
index defdc920d6e52..14f6f802ba2ac 100644
--- a/pkgs/development/python-modules/wxPython/3.0.nix
+++ b/pkgs/development/python-modules/wxPython/3.0.nix
@@ -12,6 +12,8 @@
 , isPy3k
 , isPyPy
 , python
+, cairo
+, pango
 }:
 
 assert wxGTK.unicode;
@@ -43,6 +45,15 @@ buildPythonPackage rec {
     # this check is supposed to only return false on older systems running non-framework python
     substituteInPlace src/osx_cocoa/_core_wrap.cpp \
       --replace "return wxPyTestDisplayAvailable();" "return true;"
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    substituteInPlace wx/lib/wxcairo.py \
+      --replace 'cairoLib = None' 'cairoLib = ctypes.CDLL("${cairo}/lib/libcairo.so")'
+    substituteInPlace wx/lib/wxcairo.py \
+      --replace '_dlls = dict()' '_dlls = {k: ctypes.CDLL(v) for k, v in [
+        ("gdk",        "${wxGTK.gtk}/lib/libgtk-x11-2.0.so"),
+        ("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"),
+        ("appsvc",     None)
+      ]}'
   '';
 
   NIX_LDFLAGS = lib.optionalString (!stdenv.isDarwin) "-lX11 -lgdk-x11-2.0";
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index f1a9c4b4640a4..0d66ef66b4859 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto
+{ stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto, wrapGAppsHook
 , makeWrapper, gtk3, docbook_xml_dtd_412, docbook_xsl
 , libxml2, desktop_file_utils, libusb1, cups, gdk_pixbuf, pango, atk, libnotify
+, gobjectIntrospection, libgnome_keyring3
 , cups-filters
 , pythonPackages
 , withGUI ? true
 }:
 
-let majorVersion = "1.5";
-
-in stdenv.mkDerivation rec {
-  name = "system-config-printer-${majorVersion}.7";
+stdenv.mkDerivation rec {
+  name = "system-config-printer-${version}";
+  version = "1.5.9";
 
   src = fetchurl {
-    url = "http://cyberelk.net/tim/data/system-config-printer/${majorVersion}/${name}.tar.xz";
-    sha256 = "1vxczk22f58nbikvj47s2x1gzh6q4mbgwnf091p00h3b6nxppdgn";
+    url = "https://github.com/zdohnal/system-config-printer/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "03bwlpsiqpxzcwd78a7rmwiww4jnqd7kl7il4kx78l1r57lasd2r";
   };
 
   patches = [ ./detect_serverbindir.patch ];
@@ -22,8 +22,12 @@ in stdenv.mkDerivation rec {
     [ intltool pkgconfig glib udev libusb1 cups xmlto
       libxml2 docbook_xml_dtd_412 docbook_xsl desktop_file_utils
       pythonPackages.python pythonPackages.wrapPython
+      libnotify gobjectIntrospection gdk_pixbuf pango atk
+      libgnome_keyring3
     ];
 
+  nativeBuildInputs = [ wrapGAppsHook ];
+
   pythonPath = with pythonPackages;
     [ pycups pycurl dbus-python pygobject3 requests2 pycairo pythonPackages.pycurl ];
 
@@ -33,36 +37,22 @@ in stdenv.mkDerivation rec {
       "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     ];
 
-  stripDebugList = "bin lib etc/udev";
+  stripDebugList = [ "bin" "lib" "etc/udev" ];
 
   postInstall =
-    let
-      giTypelibPath = stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gdk_pixbuf.out gtk3.out pango.out atk.out libnotify.out ];
-    in
     ''
-      export makeWrapperArgs="--set prefix $out \
-          --set GI_TYPELIB_PATH ${giTypelibPath} \
-          --set CUPS_DATADIR ${cups-filters}/share/cups"
-      wrapPythonPrograms
-
-      # The program imports itself, so we need to move shell wrappers to a proper place.
-      fixupWrapper() {
-        mv "$out/share/system-config-printer/$2.py" \
-           "$out/bin/$1"
-        sed -i "s/.$2.py-wrapped/$2.py/g" "$out/bin/$1"
-        mv "$out/share/system-config-printer/.$2.py-wrapped" \
-           "$out/share/system-config-printer/$2.py"
-      }
-      fixupWrapper scp-dbus-service scp-dbus-service
-      fixupWrapper system-config-printer system-config-printer
-      fixupWrapper system-config-printer-applet applet
-      # This __init__.py is both executed and imported.
-      ( cd $out/share/system-config-printer/troubleshoot
-        mv .__init__.py-wrapped __init__.py
+      buildPythonPath "$out $pythonPath"
+      gappsWrapperArgs+=(
+        --prefix PATH "$program_PATH"
+        --set CUPS_DATADIR "${cups-filters}/share/cups"
       )
 
+      find $out/share/system-config-printer -name \*.py -type f -perm -0100 -print0 | while read -d "" f; do
+        patchPythonScript "$f"
+      done
+
       # The below line will be unneeded when the next upstream release arrives.
-      sed -i -e "s|/usr/bin|$out/bin|" "$out/share/dbus-1/services/org.fedoraproject.Config.Printing.service"
+      sed -i -e "s|/usr/local/bin|$out/bin|" "$out/share/dbus-1/services/org.fedoraproject.Config.Printing.service"
 
       # Manually expand literal "$(out)", which have failed to expand
       sed -e "s|ExecStart=\$(out)|ExecStart=$out|" \
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index e2a615e7a0fb7..355d470ca5d35 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -20558,6 +20558,8 @@ in {
     };
   };
 
+  pyspread = callPackage ../development/python-modules/pyspread { };
+
   pyx = buildPythonPackage rec {
     name = "pyx-${version}";
     version = "0.14.1";