From a5cb00e884d3a2f7a8c0976cd0152c1c1ea1cca0 Mon Sep 17 00:00:00 2001 From: obadz Date: Fri, 21 Apr 2017 23:35:34 +0100 Subject: [PATCH 1/2] pythonPackages.wxPython: inject Cairo, Pango and GDK library paths --- pkgs/development/python-modules/wxPython/3.0.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/development/python-modules/wxPython/3.0.nix b/pkgs/development/python-modules/wxPython/3.0.nix index defdc920d6e..14f6f802ba2 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"; From c8788f4e7b1394268dfc6f38e513c1d182355144 Mon Sep 17 00:00:00 2001 From: obadz Date: Fri, 21 Apr 2017 23:36:37 +0100 Subject: [PATCH 2/2] python2Packages.pyspread: init at 1.1 --- .../python-modules/pyspread/default.nix | 57 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 59 insertions(+) create mode 100644 pkgs/development/python-modules/pyspread/default.nix diff --git a/pkgs/development/python-modules/pyspread/default.nix b/pkgs/development/python-modules/pyspread/default.nix new file mode 100644 index 00000000000..2f275005c19 --- /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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e2a615e7a0f..355d470ca5d 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";