aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/python-modules/pygtk/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/pygtk/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygtk/default.nix60
1 files changed, 60 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/pygtk/default.nix b/nixpkgs/pkgs/development/python-modules/pygtk/default.nix
new file mode 100644
index 00000000000..09ccb5c3d95
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pygtk/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchurl, python, pkgconfig, gtk2, pygobject2, pycairo
+, buildPythonPackage, libglade ? null, isPy3k }:
+
+buildPythonPackage rec {
+ pname = "pygtk";
+ version = "2.24.0";
+
+ disabled = isPy3k;
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
+ sha256 = "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = stdenv.lib.optional (libglade != null) libglade;
+
+ propagatedBuildInputs = [ gtk2 pygobject2 pycairo ];
+
+ configurePhase = "configurePhase";
+
+ buildPhase = "buildPhase";
+
+ NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-ObjC";
+
+ installPhase = "installPhase";
+
+ checkPhase = stdenv.lib.optionalString (libglade == null)
+ ''
+ sed -i -e "s/glade = importModule('gtk.glade', buildDir)//" \
+ tests/common.py
+ sed -i -e "s/, glade$//" \
+ -e "s/.*testGlade.*//" \
+ -e "s/.*(glade.*//" \
+ tests/test_api.py
+ '' + ''
+ sed -i -e "s/sys.path.insert(0, os.path.join(buildDir, 'gtk'))//" \
+ -e "s/sys.path.insert(0, buildDir)//" \
+ tests/common.py
+ make check
+ '';
+ # XXX: TypeError: Unsupported type: <class 'gtk._gtk.WindowType'>
+ # The check phase was not executed in the previous
+ # non-buildPythonPackage setup - not sure why not.
+ doCheck = false;
+
+ postInstall = ''
+ rm $out/bin/pygtk-codegen-2.0
+ ln -s ${pygobject2}/bin/pygobject-codegen-2.0 $out/bin/pygtk-codegen-2.0
+ ln -s ${pygobject2}/lib/${python.libPrefix}/site-packages/pygobject-${pygobject2.version}.pth \
+ $out/lib/${python.libPrefix}/site-packages/${pname}-${version}.pth
+ '';
+
+ meta = with stdenv.lib; {
+ description = "GTK 2 Python bindings";
+ homepage = "https://gitlab.gnome.org/Archive/pygtk";
+ platforms = platforms.all;
+ license = with licenses; [ lgpl21Plus ];
+ };
+}